Returned by the apply builder.
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.
is a cats.effect.Concurrent
type class restriction;
this queue is built to work with Concurrent
data types
is a ContextShift
, needed for triggering async boundaries
for fairness reasons, in case there's a need to back-pressure on
the internal buffer
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.
is the default consumer configuration, for when using ConcurrentChannel.consume, see the documentation of ConsumerF.Config for details
(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
is a cats.effect.Concurrent
type class restriction;
this queue is built to work with Concurrent
data types
is a ContextShift
, needed for triggering async boundaries
for fairness reasons, in case there's a need to back-pressure on
the internal buffer
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.
is the default consumer configuration, for when using ConcurrentChannel.consume, see the documentation of ConsumerF.Config for details
(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
is a cats.effect.Concurrent
type class restriction;
this queue is built to work with Concurrent
data types
is a ContextShift
, needed for triggering async boundaries
for fairness reasons, in case there's a need to back-pressure on
the internal buffer