result of CloseChannelRead, return number of elements left to read
this is message wich send to ChannelActor, when we know, that channel is closed.
this is message wich send to ChannelActor, when we know, that channel is closed. In such case, we don't konw: is actor stopped or not, So, we say this message (instead read) and wait for reply. If reply is not received within given timeout: think that channel is-dead.
read A and compute B as result.
write A and compute B as result
represent continuated computation from A to B.
Builder for 'forever' selector.
Builder for 'forever' selector. Can be obtained as gopherApi.select.forever
.
Entity, which can read (or generate, as you prefer) objects of type A, can be part of channel
Builder for 'once' selector.
Builder for 'once' selector. Can be obtained as gopherApi.select.once
.
Entity, which can 'eat' objects of type A, can be part of channel
Factory for select instantiation.
Factory for select instantiation. Can be obtained via gopherAPI
val selector = gopherApi.select.forever for(s <- selector) ...
skip (i.e.
skip (i.e. do some operation not related to reading or writing.)
this message is send, when all references to some instance of this channel are unreachable, so if we have no other instances (i.e.
this message is send, when all references to some instance of this channel are unreachable, so if we have no other instances (i.e. remote channel incarnation), than we must destroy channel.
this message is send, when we create new remote reference to channel, backed by this actor.
never means the end of conversation
Overview
Internals
Core entity is Continuated which provide iteratee-like structure for reading and writing. Instance of Continuated represent one step of computations and leave in queue inside ChannelProcessor or ChannelActor Selector transform Continuated to executed exclusive with each other within one selector. Also we have IdleDetector which determinate idle selectors and activer appropriative actions.