Cairn.Await (cairn v0.1.1)

Copy Markdown View Source

Mailbox helpers for awaiting Cairn messages by ref.

Summary

Types

all_result()

@type all_result() :: {:ok, [Cairn.Message.t()]} | {:error, :timeout}

message_stream()

@type message_stream() :: Enumerable.t()

ref()

@type ref() :: Cairn.Message.ref()

ref_set()

@type ref_set() :: MapSet.t(ref())

refs()

@type refs() :: [ref()]

result()

@type result() :: {:ok, Cairn.Message.t()} | {:error, :timeout}

wait()

@type wait() :: non_neg_integer() | :infinity

Functions

all(refs, timeout \\ 5000)

@spec all(refs(), wait()) :: all_result()

any(refs, timeout \\ 5000)

@spec any(refs(), wait()) :: result()

message(ref, timeout \\ 5000)

@spec message(ref(), wait()) :: result()

stream(refs, timeout \\ 5000)

@spec stream(refs(), wait()) :: message_stream()