Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Moonpool.Chan
SourceChannels.
Channels are pipelines of values where threads can push into one end, and pull from the other end.
Unlike Moonpool.Blocking_queue
, channels are designed so that pushing never blocks, and pop'ing values returns a future.
Channel carrying values of type 'a
.
Pop an element. This returns a future that will be fulfilled when an element is available.
try_pop chan
pops and return an element if one is available immediately. Otherwise it returns None
.
Like pop
, but blocks if an element is not available immediately. The precautions around blocking from inside a thread pool are the same as explained in Fut.wait_block
.
Close the channel. Further push and pop calls will fail. This is idempotent.