Crate sod_mpsc

Crate sod_mpsc 

Source
Expand description

sod::Service implementations to interact with std::sync::mpsc queues.

§Service Impls

§Example

use sod::Service;
use sod_mpsc::{MpscSender, MpscReceiver};
use std::sync::mpsc;

let (tx, rx) = mpsc::channel();
let pusher = MpscSender::new(tx);
let poller = MpscReceiver::new(rx);

pusher.process(1).unwrap();
pusher.process(2).unwrap();

assert_eq!(poller.process(()).unwrap(), 1);
assert_eq!(poller.process(()).unwrap(), 2);

Structs§

MpscReceiver
A blocking sod::Service that receives from an underlying std::sync::mpsc::Receiver, blocking per the rules of Receiver::recv
MpscSender
A non-blocking sod::Service that sends to an underlying std::sync::mpsc::Sender.
MpscSyncSender
A blocking sod::Service that sends to an underlying std::sync::mpsc::SyncSender using the send function.
MpscSyncTrySender
A non-blocking sod::Service that is sod::Retryable and sends to an underlying std::sync::mpsc::SyncSender using the try_send function.
MpscTryReceiver
A non-blocking sod::Service that is sod::Retryable and receives from an underlying std::sync::mpsc::Receiver, blocking per the rules of Receiver::recv