tosc-rs / mgnp

MnemOS Global Networking Protocol
Creative Commons Attribution Share Alike 4.0 International
14 stars 1 forks source link

feat(tricky-pipe): add `oneshot` channel #16

Closed hawkw closed 8 months ago

hawkw commented 8 months ago

This branch adds a reusable, optionally deserializing oneshot channel to tricky-pipe. The oneshot design is based loosely on the Reusable oneshot from kernel::comms, designed by @jamesmunns, but with fixes for some bugs that came up during loom testing, and support for a type-erased deserializing sender. The oneshot may be stored either in a static or in an Arc, and the user is responsible for providing either to tricky-pipe, allowing the channel itself to be agnostic over the storage approach.

Closes #11