Package

fs2

async

Permalink

package async

Provides utilities for asynchronous computations.

Source
async.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. async
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. def boundedQueue[F[_], A](maxSize: Int)(implicit arg0: Concurrent[F]): F[Queue[F, A]]

    Permalink

    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.

  2. def circularBuffer[F[_], A](maxSize: Int)(implicit F: Concurrent[F]): F[Queue[F, A]]

    Permalink

    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.

    maxSize

    The size of the circular buffer (must be > 0)

  3. def hold[F[_], A](initial: A, source: Stream[F, A])(implicit F: Concurrent[F]): Stream[F, Signal[F, A]]

    Permalink

    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.

    source

    discrete stream publishing values to this signal

  4. def holdOption[F[_], A](source: Stream[F, A])(implicit arg0: Concurrent[F]): Stream[F, Signal[F, Option[A]]]

    Permalink

    Defined as hold(None, source.map(Some(_)))

  5. package immutable

    Permalink

    Provides types which allow asynchronous reading (but not writing).

  6. package mutable

    Permalink

    Provides types which allow asynchronous reading and writing.

  7. def once[F[_], A](f: F[A])(implicit F: Concurrent[F]): F[F[A]]

    Permalink

    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).

    See also

    start for eager memoization.

  8. def signalOf[F[_], A](initialValue: A)(implicit arg0: Concurrent[F]): F[Signal[F, A]]

    Permalink

    Creates a new continuous signal which may be controlled asynchronously, and immediately sets the value to initialValue.

  9. def synchronousQueue[F[_], A](implicit F: Concurrent[F]): F[Queue[F, A]]

    Permalink

    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.

  10. def topic[F[_], A](initial: A)(implicit arg0: Concurrent[F]): F[Topic[F, A]]

    Permalink

    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.

  11. def unboundedQueue[F[_], A](implicit arg0: Concurrent[F]): F[Queue[F, A]]

    Permalink

    Creates an unbounded asynchronous queue.

    Creates an unbounded asynchronous queue. See mutable.Queue for more documentation.

  12. def unsafeRunAsync[F[_], A](fa: F[A])(f: (Either[Throwable, A]) β‡’ IO[Unit])(implicit F: Effect[F], cs: ContextShift[F]): Unit

    Permalink

    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

  1. def fork[F[_], A](f: F[A])(implicit F: Concurrent[F], ec: ExecutionContext): F[Unit]

    Permalink

    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.

  2. def parallelSequence[F[_], G[_], A](fga: F[G[A]])(implicit F: Traverse[F], G: Concurrent[G], ec: ExecutionContext): G[F[A]]

    Permalink

    Like sequence but each G[A] is evaluated in parallel.

    Like sequence but each G[A] is evaluated in parallel.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.0) Use fa.parSequence(f) instead.

  3. 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]]

    Permalink

    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.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.0) Use fa.parTraverse(f) instead.

  4. def start[F[_], A](f: F[A])(implicit F: Concurrent[F], ec: ExecutionContext): F[F[A]]

    Permalink

    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.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.0) Use F.start(f).map(_.join) instead.

Inherited from AnyRef

Inherited from Any

Ungrouped