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)
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.
Lazily memoize f
.
Lazily memoize f
. For every time the returned F[F[A]]
is
bound, the effect f
will be performed at most once (when the
inner F[A]
is bound the first time).
start
for eager memoization.
Creates a new continuous signal which may be controlled asynchronously,
and immediately sets the value to initialValue
.
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.
Shifts f
to the supplied execution context and then starts it, returning the spawned fiber.
Shifts f
to the supplied execution context and then starts it, returning the spawned fiber.
(Since version 1.0.0) Use F.start(f).void instead.
Like sequence
but each G[A]
is evaluated in parallel.
Like sequence
but each G[A]
is evaluated in parallel.
(Since version 1.0.0) Use fa.parSequence(f) instead.
Like traverse
but each G[B]
computed from an A
is evaluated in parallel.
Like traverse
but each G[B]
computed from an A
is evaluated in parallel.
(Since version 1.0.0) Use fa.parTraverse(f) instead.
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.
(Since version 1.0.0) Use F.start(f).map(_.join) instead.
Provides utilities for asynchronous computations.