Fiber

trait Fiber[F[_], E, A]

A datatype that represents a handle to a fiber and allows for waiting and cancelation against that fiber.

See also:

GenSpawn documentation for more detailed information on the concurrency of fibers.

class Object
trait Matchable
class Any

Value members

Abstract methods

def cancel: F[Unit]

Requests the cancelation of the fiber bound to this Fiber handle and awaits its finalization.

Requests the cancelation of the fiber bound to this Fiber handle and awaits its finalization.

cancel semantically blocks the caller until finalization of the cancellee has completed. This means that if the cancellee is currently masked, cancel will block until it is unmasked and finalized.

Cancelation is idempotent, so repeated calls to cancel simply block until finalization is complete. If cancel is called after finalization is complete, it will return immediately.

cancel is uncancelable; a fiber that is canceling another fiber is masked from cancelation.

See also:

GenSpawn documentation for more details on cancelation

def join: F[Outcome[F, E, A]]

Awaits the completion of the fiber bound to this Fiber and returns its Outcome once it completes.

Awaits the completion of the fiber bound to this Fiber and returns its Outcome once it completes.

Concrete methods

def joinWith(onCancel: F[A])(implicit F: MonadCancel[F, E]): F[A]

Awaits the completion of the bound fiber and returns its result once it completes.

Awaits the completion of the bound fiber and returns its result once it completes.

If the fiber completes with Outcome.Succeeded, the successful value is returned. If the fiber completes with Outcome.Errored, the error is raised. If the fiber completes with Outcome.Canceled, onCancel is run.

def joinWithNever(implicit F: GenSpawn[F, E]): F[A]

Awaits the completion of the bound fiber and returns its result once it completes.

Awaits the completion of the bound fiber and returns its result once it completes.

If the fiber completes with Outcome.Succeeded, the successful value is returned. If the fiber completes with Outcome.Errored, the error is raised. If the fiber completes with Outcome.Canceled, the caller is indefinitely suspended without termination.