api
channel.ch
Declarations in channel.ch
1 declarationsasync
Declarations
Public only
async#
Publicnamespace
namespace async
a composite generic (`FutureTable
ChannelNode#
Publicstruct
channel_node_take#
Publicfunction
func channel_node_take<T>(n : *ChannelNode<T>) : T
Move a `T` out of a heap node without running a destructor. The node is then
option_take#
Publicfunction
func option_take<T>(o : *Option<T>) : T
Move the payload out of an `Option` through a pointer, leaving `None`.
channel_wake_locked#
Publicfunction
func channel_wake_locked<T>(s : *ChannelShared<T>) : void
channel_push#
Publicfunction
func channel_push<T>(s : *ChannelShared<T>, value : T) : bool
channel_pop_opt#
Publicfunction
Sender#
Publicstruct
---- sender ----------------------------------------------------------------
clone_sender#
Publicfunction
A new handle to the same channel. The channel closes once every handle
Receiver#
Publicstruct
---- receiver --------------------------------------------------------------
RecvState#
Publicstruct
struct RecvState<T> {
var shared : *ChannelShared<T>
var fallback : Option<T>
var vtbl : *FutureTable<T>
}
recv_drop#
Publicfunction
func recv_drop<T>(frame : *void) : void
Channel#
Publicstruct
---- channel ---------------------------------------------------------------
clone_sender#
Publicfunction
Clone the sender into a value the caller owns (e.g. to capture in a lambda).