package async
- Alphabetic
- By Inheritance
- async
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
def
boundedQueue[F[_], A](maxSize: Int)(implicit arg0: Concurrent[F]): F[Queue[F, A]]
Creates a bounded asynchronous queue.
Creates a bounded asynchronous queue. Calls to
enqueue1
will wait until the queue's size is less thanmaxSize
. See mutable.Queue for more documentation. -
def
circularBuffer[F[_], A](maxSize: Int)(implicit F: Concurrent[F]): F[Queue[F, A]]
Creates a queue that functions as a circular buffer.
Creates a queue that functions as a circular buffer. Up to
size
elements of typeA
will accumulate on the queue and then it will begin overwriting the oldest elements. Thus an enqueue process will never wait.- maxSize
The size of the circular buffer (must be > 0)
-
def
hold[F[_], A](initial: A, source: Stream[F, A])(implicit F: Concurrent[F]): Stream[F, Signal[F, A]]
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 bysource
. Ifsource
is empty, the resulting signal will always beinitial
.- source
discrete stream publishing values to this signal
-
def
holdOption[F[_], A](source: Stream[F, A])(implicit arg0: Concurrent[F]): Stream[F, Signal[F, Option[A]]]
Defined as
hold(None, source.map(Some(_)))
-
def
once[F[_], A](f: F[A])(implicit F: Concurrent[F]): F[F[A]]
Lazily memoize
f
.Lazily memoize
f
. For every time the returnedF[F[A]]
is bound, the effectf
will be performed at most once (when the innerF[A]
is bound the first time).- See also
start
for eager memoization.
-
def
signalOf[F[_], A](initialValue: A)(implicit arg0: Concurrent[F]): F[Signal[F, A]]
Creates a new continuous signal which may be controlled asynchronously, and immediately sets the value to
initialValue
. -
def
synchronousQueue[F[_], A](implicit F: Concurrent[F]): F[Queue[F, A]]
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 todequeue1
. Any calls todequeue1
block until there is an offsetting call toenqueue1
. -
def
topic[F[_], A](initial: A)(implicit arg0: Concurrent[F]): F[Topic[F, A]]
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 initialA
or last value published by any publisher. -
def
unboundedQueue[F[_], A](implicit arg0: Concurrent[F]): F[Queue[F, A]]
Creates an unbounded asynchronous queue.
Creates an unbounded asynchronous queue. See mutable.Queue for more documentation.
-
def
unsafeRunAsync[F[_], A](fa: F[A])(f: (Either[Throwable, A]) ⇒ IO[Unit])(implicit F: Effect[F], timer: Timer[F]): Unit
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.
Deprecated Value Members
-
def
fork[F[_], A](f: F[A])(implicit F: Concurrent[F], ec: ExecutionContext): F[Unit]
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.- Annotations
- @deprecated
- Deprecated
(Since version 1.0.0) Use F.start(f).void instead.
-
def
parallelSequence[F[_], G[_], A](fga: F[G[A]])(implicit F: Traverse[F], G: Concurrent[G], ec: ExecutionContext): G[F[A]]
Like
sequence
but eachG[A]
is evaluated in parallel.Like
sequence
but eachG[A]
is evaluated in parallel.- Annotations
- @deprecated
- Deprecated
(Since version 1.0.0) Use fa.parSequence(f) instead.
-
def
parallelTraverse[F[_], G[_], A, B](fa: F[A])(f: (A) ⇒ G[B])(implicit F: Traverse[F], G: Concurrent[G], ec: ExecutionContext): G[F[B]]
Like
traverse
but eachG[B]
computed from anA
is evaluated in parallel.Like
traverse
but eachG[B]
computed from anA
is evaluated in parallel.- Annotations
- @deprecated
- Deprecated
(Since version 1.0.0) Use fa.parTraverse(f) instead.
-
def
start[F[_], A](f: F[A])(implicit F: Concurrent[F], ec: ExecutionContext): F[F[A]]
Begins asynchronous evaluation of
f
when the returnedF[F[A]]
is bound.Begins asynchronous evaluation of
f
when the returnedF[F[A]]
is bound. The innerF[A]
will block until the result is available.- Annotations
- @deprecated
- Deprecated
(Since version 1.0.0) Use F.start(f).map(_.join) instead.