An asynchronous, concurrent mutable reference.
Creates a bounded asynchronous queue.
Creates a bounded asynchronous queue. Calls to enqueue1
will wait until the
queue's size is less than maxSize
. See mutable.Queue for more documentation.
Creates a queue that functions as a circular buffer.
Creates a queue that functions as a circular buffer. Up to size
elements of
type A
will accumulate on the queue and then it will begin overwriting
the oldest elements. Thus an enqueue process will never wait.
The size of the circular buffer (must be > 0)
Begins asynchronous evaluation of f
when the returned F[Unit]
is
bound.
Begins asynchronous evaluation of f
when the returned F[Unit]
is
bound. Like start
but is more efficient.
Converts a discrete stream to a signal.
Converts a discrete stream to a signal. Returns a single-element stream.
Resulting signal is initially initial
, and is updated with latest value
produced by source
. If source
is empty, the resulting signal will always
be initial
.
discrete stream publishing values to this signal
Defined as hold(None, source.map(Some(_)))
Provides types which allow asynchronous reading (but not writing).
Provides types which allow asynchronous reading and writing.
Like sequence
but each G[A]
is evaluated in parallel.
Like traverse
but each G[B]
computed from an A
is evaluated in parallel.
Returns an effect that, when run, races evaluation of fa
and fb
,
and returns the result of whichever completes first.
Returns an effect that, when run, races evaluation of fa
and fb
,
and returns the result of whichever completes first. The losing effect
continues to execute in the background though its result will be sent
nowhere.
Creates an asynchronous, concurrent mutable reference.
Creates an asynchronous, concurrent mutable reference, initialized to a
.
Creates a mutable.Semaphore
, initialized to the given count.
Creates a new continuous signal which may be controlled asynchronously,
and immediately sets the value to initialValue
.
Begins asynchronous evaluation of f
when the returned F[F[A]]
is
bound.
Begins asynchronous evaluation of f
when the returned F[F[A]]
is
bound. The inner F[A]
will block until the result is available.
Creates a synchronous queue, which always has size 0.
Creates a synchronous queue, which always has size 0. Any calls to enqueue1
block until there is an offsetting call to dequeue1
. Any calls to dequeue1
block until there is an offsetting call to enqueue1
.
Creates an asynchronous topic, which distributes each published A
to
an arbitrary number of subscribers.
Creates an asynchronous topic, which distributes each published A
to
an arbitrary number of subscribers. Each subscriber is guaranteed to
receive at least the initial A
or last value published by any publisher.
Creates an unbounded asynchronous queue.
Creates an unbounded asynchronous queue. See mutable.Queue for more documentation.
Like unsafeRunSync
but execution is shifted to the supplied execution context.
Like unsafeRunSync
but execution is shifted to the supplied execution context.
This method returns immediately after submitting execution to the execution context.
Provides utilities for asynchronous computations.