TPubSub
Constructors
Creates a bounded TPubSub with the back pressure strategy. The TPubSub will retain
messages until they have been taken by all subscribers, applying back
pressure to publishers if the TPubSub is at capacity.
Signature
declare const bounded: <A>(requestedCapacity: number) => STM.STM<TPubSub<A>>Creates a bounded TPubSub with the dropping strategy. The TPubSub will drop new
messages if the TPubSub is at capacity.
Signature
declare const dropping: <A>(requestedCapacity: number) => STM.STM<TPubSub<A>>Creates a bounded TPubSub with the sliding strategy. The TPubSub will add new
messages and drop old messages if the TPubSub is at capacity.
For best performance use capacities that are powers of two.
Signature
declare const sliding: <A>(requestedCapacity: number) => STM.STM<TPubSub<A>>Creates an unbounded TPubSub.
Signature
declare const unbounded: <A>() => STM.STM<TPubSub<A>>Getters
Returns the number of elements the TPubSub can hold.
Signature
declare const capacity: <A>(self: TPubSub<A>) => numberReturns true if the TPubSub contains zero elements, false otherwise.
Signature
declare const isEmpty: <A>(self: TPubSub<A>) => STM.STM<boolean>Returns true if the TPubSub contains at least one element, false
otherwise.
Signature
declare const isFull: <A>(self: TPubSub<A>) => STM.STM<boolean>isShutdown
Returns true if shutdown has been called, otherwise returns false.
Signature
declare const isShutdown: <A>(self: TPubSub<A>) => STM.STM<boolean>Retrieves the size of the TPubSub, which is equal to the number of elements
in the TPubSub. This may be negative if fibers are suspended waiting for
elements to be added to the TPubSub.
Signature
declare const size: <A>(self: TPubSub<A>) => STM.STM<number>Models
Mutations
awaitShutdown
Waits until the TPubSub is shutdown. The STM returned by this method will
not resume until the queue has been shutdown. If the TPubSub is already
shutdown, the STM will resume right away.
Signature
declare const awaitShutdown: <A>(self: TPubSub<A>) => STM.STM<void>Publishes a message to the TPubSub, returning whether the message was published
to the TPubSub.
Signature
declare const publish: { <A>(value: A): (self: TPubSub<A>) => STM<boolean>; <A>(self: TPubSub<A>, value: A): STM<boolean>;}publishAll
Publishes all of the specified messages to the TPubSub, returning whether they
were published to the TPubSub.
Signature
declare const publishAll: { <A>(iterable: Iterable<A>): (self: TPubSub<A>) => STM<boolean>; <A>(self: TPubSub<A>, iterable: Iterable<A>): STM<boolean>;}Subscribes to receive messages from the TPubSub. The resulting subscription can
be evaluated multiple times to take a message from the TPubSub each time. The
caller is responsible for unsubscribing from the TPubSub by shutting down the
queue.
Signature
declare const subscribe: <A>(self: TPubSub<A>) => STM.STM<TQueue.TDequeue<A>>subscribeScoped
Subscribes to receive messages from the TPubSub. The resulting subscription can
be evaluated multiple times within the scope to take a message from the TPubSub
each time.
Signature
declare const subscribeScoped: <A>(self: TPubSub<A>) => Effect.Effect<TQueue.TDequeue<A>, never, Scope.Scope>Symbols
TPubSubTypeId
Signature
declare const TPubSubTypeId: unique symbolTPubSubTypeId type
Signature
type TPubSubTypeId = typeof TPubSubTypeId