fs2.concurrent

Type members

Classlikes

object Balance

Provides mechanisms for balancing the distribution of chunks across multiple streams.

Provides mechanisms for balancing the distribution of chunks across multiple streams.

object Broadcast

Provides mechanisms for broadcast distribution of elements to multiple streams.

Provides mechanisms for broadcast distribution of elements to multiple streams.

trait Dequeue[F[_], A]

Provides the ability to dequeue chunks of elements from a Queue as streams.

Provides the ability to dequeue chunks of elements from a Queue as streams.

trait Dequeue1[F[_], A]

Provides the ability to dequeue individual elements from a Queue.

Provides the ability to dequeue individual elements from a Queue.

trait DequeueChunk1[F[_], G[_], A]

Provides the ability to dequeue individual chunks from a Queue.

Provides the ability to dequeue individual chunks from a Queue.

trait Enqueue[F[_], A]

Provides the ability to enqueue elements to a Queue.

Provides the ability to enqueue elements to a Queue.

trait InspectableQueue[F[_], A] extends Queue[F, A]

Extension of Queue that allows peeking and inspection of the current size.

Extension of Queue that allows peeking and inspection of the current size.

Companion
object
Companion
class
trait NoneTerminatedQueue[F[_], A] extends Enqueue[F, Option[A]] with Dequeue1[F, Option[A]] with DequeueChunk1[F, [A] =>> Option[A], A] with Dequeue[F, A]

Like Queue, but allows allows signalling of no further enqueues by enqueueing None. Optimizes dequeue to minimum possible boxing.

Like Queue, but allows allows signalling of no further enqueues by enqueueing None. Optimizes dequeue to minimum possible boxing.

trait Queue[F[_], A] extends Enqueue[F, A] with Dequeue1[F, A] with DequeueChunk1[F, Id, A] with Dequeue[F, A]

A queue of elements. Operations are all nonblocking in their implementations, but may be 'semantically' blocking. For instance, a queue may have a bound on its size, in which case enqueuing may block (be delayed asynchronously) until there is an offsetting dequeue.

A queue of elements. Operations are all nonblocking in their implementations, but may be 'semantically' blocking. For instance, a queue may have a bound on its size, in which case enqueuing may block (be delayed asynchronously) until there is an offsetting dequeue.

Companion
object
object Queue
Companion
class
trait Signal[F[_], A]

Pure holder of a single value of type A that can be read in the effect F.

Pure holder of a single value of type A that can be read in the effect F.

Companion
object
object Signal extends SignalLowPriorityImplicits
Companion
class
abstract class SignallingRef[F[_], A] extends Ref[F, A] with Signal[F, A]

Pure holder of a single value of type A that can be both read and updated in the effect F.

Pure holder of a single value of type A that can be both read and updated in the effect F.

Companion
object
Companion
class
abstract class Topic[F[_], A]

Asynchronous Topic.

Asynchronous Topic.

Topic allows you to distribute A published by arbitrary number of publishers to arbitrary number of subscribers.

Topic has built-in back-pressure support implemented as maximum bound (maxQueued) that a subscriber is allowed to enqueue. Once that bound is hit, publishing may semantically block until the lagging subscriber consumes some of its queued elements.

Additionally the subscriber has possibility to terminate whenever size of enqueued elements is over certain size by using subscribeSize.

Companion
object
object Topic
Companion
class