Contents
- Inbox
- Contramap <A, B> (K<Inbox, B> fb, Func<A, B> f)
- Divide <A, B, C> (Func<A, (B Left, C Right)> f, K<Inbox, B> fb, K<Inbox, C> fc)
- Conquer <A> ()
- Lose <A> (Func<A, Void> f)
- Route <A, B, C> (Func<A, Either<B, C>> f, K<Inbox, B> fb, K<Inbox, C> fc)
- Inbox <A>
- Post (A value)
- Complete ()
- Fail (Error Error)
- Contramap <B> (Func<B, A> f)
- Combine (Inbox<A> rhs)
- Combine <X, B> (Func<X, (A Left, B Right)> f, Inbox<B> rhs)
- + (Inbox<A> lhs, Inbox<A> rhs)
- Empty
- Void
- ToConsumerT <M> ()
- ToConsumer <RT> ()
- InboxExtensions
Entry point to a channel. Inboxes receive values and propagate them through the
channel they're attached to. The behaviour depends on the Buffer
type they
were created with.
Parameters
type | A | Value type |
Properties
Methods
method IO<Unit> Post (A value) Source #
Post a value to the inbox
Raises Errors.NoSpaceInInbox
if the inbox is full or closed.
Parameters
param | value | Value to post |
returns | IO computation that represents the posting |
method Inbox<A> Combine (Inbox<A> rhs) Source #
Combine two Inboxes: lhs
and rhs
into a single inbox that takes incoming
values and then posts the to the lhs
and rhs
inboxes.
method Inbox<X> Combine <X, B> (Func<X, (A Left, B Right)> f, Inbox<B> rhs) Source #
Combine two Inboxes: lhs
and rhs
into a single inbox that takes incoming
values, maps them to an (A, B)
tuple, and the posts the first and second
elements to the lhs
and rhs
inboxes.
method ConsumerT<A, M, Unit> ToConsumerT <M> () Source #
Convert the Inbox
to a ConsumerT
pipe component
Parameters
type | M | Monad to lift (must support |
returns |
|
method Consumer<RT, A, Unit> ToConsumer <RT> () Source #
Convert the Inbox
to a Consumer
pipe component
Parameters
returns |
|