Returned by the apply builder.
Builds an ConcurrentQueue value for F
data types that are either
Async
.
Builds an ConcurrentQueue value for F
data types that are either
Async
.
This builder uses the Partially-Applied Type technique.
Builds a limited capacity and back-pressured ConcurrentQueue.
Builds a limited capacity and back-pressured ConcurrentQueue.
is the maximum capacity of the internal buffer; note that due to performance optimizations, the capacity of the internal buffer can get rounded to a power of 2, so the actual capacity may be slightly different than the one specified
is a cats.effect.Async
type class restriction; this
queue is built to work with any Async
data type
is a Timer
, needed for asynchronous waiting on poll
when the queue is empty or for back-pressuring offer
when the
queue is full
unbounded for building an unbounded queue that can use the entire memory available to the process.
Builds an ConcurrentQueue with fined tuned config parameters.
Builds an ConcurrentQueue with fined tuned config parameters.
UNSAFE PROTOCOL: This is unsafe due to problems that can happen via selecting the wrong ChannelType, so use with care.
specifies the BufferCapacity
, which can be
either "bounded" (with a maximum capacity), or "unbounded"
(UNSAFE) specifies the concurrency scenario, for fine tuning the performance
is a cats.effect.Async
type class restriction; this
queue is built to work with any Async
data type
is a Timer
, needed for asynchronous waiting on poll
when the queue is empty or for back-pressuring offer
when the
queue is full
Builds an unlimited ConcurrentQueue that can use the entire memory available to the process.
Builds an unlimited ConcurrentQueue that can use the entire memory available to the process.
is an optimization parameter — the underlying implementation may use an internal buffer that uses linked arrays, in which case the "chunk size" represents the size of a chunk; providing it is just a hint, it may or may not be used
is a cats.effect.Async
type class restriction; this
queue is built to work with any Async
data type
is a Timer
, needed for asynchronous waiting on poll
when the queue is empty or for back-pressuring offer
when the
queue is full
bounded for building a limited capacity queue.
The unsafe version of the ConcurrentQueue.bounded builder.
The unsafe version of the ConcurrentQueue.bounded 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 ConcurrentQueue.custom or ConcurrentQueue.bounded.
specifies the BufferCapacity
, which can be
either "bounded" (with a maximum capacity), or "unbounded"
(UNSAFE) specifies the concurrency scenario, for fine tuning the performance
is a cats.effect.Async
type class restriction; this
queue is built to work with any Async
data type
is a Timer
, needed for asynchronous waiting on poll
when the queue is empty or for back-pressuring offer
when the
queue is full