PreviousUpNext

14.4.47  Maildrop

The standard library Maildrop api defines access to what are in essence concurrency-safe ref-cells.

The Maildrop api is implemented by the maildrop package.

The Maildrop api source code is in src/lib/src/lib/thread-kit/src/core-thread-kit/maildrop.api.

See also: Oneshot_Maildrop.

See also: Mailqueue.

See also: Mailcaster.

The above information is manually maintained and may contain errors.

api {
    Maildrop X;
    exception MAY_NOT_FILL_ALREADY_FULL_MAILDROP;
    make_empty_maildrop : Void -> Maildrop(X );
    make_full_maildrop : X -> Maildrop(X );
    put_in_maildrop : (Maildrop(X ) , X) -> Void;
    take_from_maildrop : Maildrop(X ) -> X;
    take_from_maildrop' : Maildrop(X ) -> Mailop(X );
    nonblocking_take_from_maildrop : Maildrop(X ) -> Null_Or(X );
    get_from_maildrop : Maildrop(X ) -> X;
    get_from_maildrop' : Maildrop(X ) -> Mailop(X );
    nonblocking_get_from_maildrop : Maildrop(X ) -> Null_Or(X );
    maildrop_swap : (Maildrop(X ) , X) -> X;
    maildrop_swap' : (Maildrop(X ) , X) -> Mailop(X );
    same_maildrop : (Maildrop(X ) , Maildrop(X )) -> Bool;
    make_run_gun : Void -> {fire_run_gun:Void -> Void, run_gun':Run_Gun};
    make_end_gun : Void -> {end_gun':End_Gun, fire_end_gun:Void -> Void};
    maildrop_to_string : (Maildrop(X ) , String) -> String;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext