fs2.concurrent

Provides several concurrency primitives. *

Type members

Classlikes

sealed trait Channel[F[_], A]

Stream aware, multiple producer, single consumer closeable channel.

Stream aware, multiple producer, single consumer closeable channel.

Companion:
object
object Channel
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 SignalInstances
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.

The update methods have the same semantics as Ref, as well as propagating changes to discrete (with a last-update-wins policy in case of very fast updates).

The access method differs slightly from Ref in that the update function, in the presence of discrete, can return false and need looping even without any other writers.

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

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

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

Topic has built-in back-pressure support implemented as the maximum number of elements (maxQueued) that a subscriber is allowed to enqueue.

Once that bound is hit, any publishing action will semantically block until the lagging subscriber consumes some of its queued elements.

Companion:
object
object Topic
Companion:
class