The standard library Mailqueue api defines access to unbounded-length thread-to-thread message queues.
The Mailqueue api is implemented by the mailqueue package.
The Mailqueue api source code is in src/lib/src/lib/thread-kit/src/core-thread-kit/mailqueue.api.
See also: Maildrop.See also: Mailcaster.
The above information is manually maintained and may contain errors.
api { Mailqueue X; make_mailqueue : Microthread -> Mailqueue(X ); same_mailqueue : (Mailqueue(X ) , Mailqueue(X )) -> Bool; put_in_mailqueue : (Mailqueue(X ) , X) -> Void; take_from_mailqueue : Mailqueue(X ) -> X; take_from_mailqueue' : Mailqueue(X ) -> Mailop(X ); take_all_from_mailqueue : Mailqueue(X ) -> List(X ); take_all_from_mailqueue' : Mailqueue(X ) -> Mailop(List(X ) ); mailqueue_to_string : (Mailqueue(X ) , String) -> String; get_mailqueue_reader : Mailqueue(X ) -> Microthread; get_mailqueue_id : Mailqueue(X ) -> Int; get_mailqueue_length : Mailqueue(X ) -> Int; get_mailqueue_putcount : Mailqueue(X ) -> Int; drop_mailqueue_tap : (Mailqueue(X ) , Ref(Void )) -> Void; note_mailqueue_tap : (Mailqueue(X ) , (X -> Void)) -> Ref(Void );};