- Companion
- class
Value members
Concrete methods
Builds an ConcurrentQueue value for F
data types that implement
the Concurrent
type class.
Builds an ConcurrentQueue value for F
data types that implement
the Concurrent
type class.
This builder uses the Partially-Applied Type technique.
Builds a multi-producer channel.
Builds a multi-producer channel.
This is the safe constructor.
- Value Params
- F
is a
cats.effect.Concurrent
type class restriction; this queue is built to work withConcurrent
data types- cs
is a
ContextShift
, needed for triggering async boundaries for fairness reasons, in case there's a need to back-pressure on the internal buffer
- See also
withConfig for fine tuning for the created channel.
The unsafe version of the ConcurrentChannel.withConfig builder.
The unsafe version of the ConcurrentChannel.withConfig builder.
'''UNSAFE PROTOCOL:''' This is unsafe due to problems that can happen via selecting the wrong ChannelType, so use with care.
'''UNSAFE BECAUSE IMPURE:''' this builder violates referential transparency, as the queue keeps internal, shared state. Only use when you know what you're doing, otherwise prefer ConcurrentChannel.withConfig.
- Value Params
- F
is a
cats.effect.Concurrent
type class restriction; this queue is built to work withConcurrent
data types- cs
is a
ContextShift
, needed for triggering async boundaries for fairness reasons, in case there's a need to back-pressure on the internal buffer- defaultConsumerConfig
is the default consumer configuration, for when using ConcurrentChannel.consume, see the documentation of ConsumerF.Config for details
- producerType
(UNSAFE) specifies the concurrency scenario for the producer's side, for fine tuning that can lead to performance gains; the safe choice is MultiProducer and if in doubt, use it
Builds an ConcurrentChannel with fined tuned config parameters.
Builds an ConcurrentChannel with fined tuned config parameters.
'''UNSAFE PROTOCOL:''' This is unsafe due to problems that can happen via selecting the wrong ChannelType.ProducerSide, so use with care.
- Value Params
- F
is a
cats.effect.Concurrent
type class restriction; this queue is built to work withConcurrent
data types- cs
is a
ContextShift
, needed for triggering async boundaries for fairness reasons, in case there's a need to back-pressure on the internal buffer- defaultConsumerConfig
is the default consumer configuration, for when using ConcurrentChannel.consume, see the documentation of ConsumerF.Config for details
- producerType
(UNSAFE) specifies the concurrency scenario for the producer's side, for fine tuning that can lead to performance gains; the safe choice is MultiProducer and if in doubt, use it