Struct pipe_channel::Sender [] [src]

pub struct Sender<T> { /* fields omitted */ }

The sending half of a channel.

Methods

impl<T> Sender<T>
[src]

[src]

Send data to the corresponding Receiver.

This may block if the underlying syscall blocks, namely if the pipe buffer is full.

Errors

If the corresponding Receiver is already dropped, this method will return Err(SendError(t)), transferring the ownership over t back to the caller.

Examples

Success:

use std::thread;
use pipe_channel::*;

let (mut tx, mut rx) = channel();
let handle = thread::spawn(move || {
    tx.send(35).unwrap();
    tx.send(42).unwrap();
});
assert_eq!(rx.recv().unwrap(), 35);
assert_eq!(rx.recv().unwrap(), 42);
handle.join().unwrap();

Failure:

use pipe_channel::*;
use std::sync::mpsc::SendError;
use std::mem::drop;

let (mut tx, rx) = channel();
drop(rx);
assert_eq!(tx.send(42), Err(SendError(42)));

Trait Implementations

impl<T> Drop for Sender<T>
[src]

[src]

Executes the destructor for this type. Read more

impl<T: Send> Send for Sender<T>
[src]

impl<T> AsRawFd for Sender<T>
[src]

[src]

Extracts the raw file descriptor. Read more

impl<T> IntoRawFd for Sender<T>
[src]

[src]

Consumes this object, returning the raw underlying file descriptor. Read more

impl<T> FromRawFd for Sender<T>
[src]

[src]

Constructs a new instance of Self from the given raw file descriptor. Read more

impl<T> Debug for Sender<T>
[src]

[src]

Formats the value using the given formatter.