pub fn channel<T>() -> Result<(IpcSender<T>, IpcReceiver<T>), Error> where
    T: for<'de> Deserialize<'de> + Serialize
Expand description

Create a connected IpcSender and IpcReceiver that transfer messages of a given type provided by type T or inferred by the types of messages sent by the sender.

Messages sent by the sender will be available to the receiver even if the sender or receiver has been moved to a different process. In addition, receivers and senders may be sent over an existing channel.

Examples


let payload = "Hello, World!".to_owned();

// Create a channel
let (tx, rx) = ipc::channel().unwrap();

// Send data
tx.send(payload).unwrap();

// Receive the data
let response = rx.recv().unwrap();

assert_eq!(response, "Hello, World!".to_owned());