Struct calloop::channel::SyncSender [−][src]
pub struct SyncSender<T> { /* fields omitted */ }
The sender end of a synchronous channel
It can be cloned and sent accross threads (if T
is).
Implementations
impl<T> SyncSender<T>
[src][−]
pub fn send(&self, t: T) -> Result<(), SendError<T>>
[src][−]
Send a message to the synchronous channel
This will wake the event loop and deliver an Event::Msg
to
it containing the provided value. If the channel is full, this
function will block until the event loop empties it and it can
deliver the message.
Due to the blocking behavior, this method should not be used on the same thread as the one running the event loop, as it could cause deadlocks.
pub fn try_send(&self, t: T) -> Result<(), TrySendError<T>>
[src][−]
Send a message to the synchronous channel
This will wake the event loop and deliver an Event::Msg
to
it containing the provided value. If the channel is full, this
function will return an error, but the event loop will still be
signaled for readiness.
Trait Implementations
impl<T> Clone for SyncSender<T>
[src][+]
Auto Trait Implementations
impl<T> RefUnwindSafe for SyncSender<T>
impl<T> Send for SyncSender<T> where
T: Send,
T: Send,
impl<T> Sync for SyncSender<T> where
T: Send,
T: Send,
impl<T> Unpin for SyncSender<T>
impl<T> UnwindSafe for SyncSender<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,