Struct calloop::channel::SyncSender
source · pub struct SyncSender<T> { /* private fields */ }
Expand description
The sender end of a synchronous channel
It can be cloned and sent accross threads (if T
is).
Implementations§
source§impl<T> SyncSender<T>
impl<T> SyncSender<T>
sourcepub fn send(&self, t: T) -> Result<(), SendError<T>>
pub fn send(&self, t: T) -> Result<(), SendError<T>>
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.
sourcepub fn try_send(&self, t: T) -> Result<(), TrySendError<T>>
pub fn try_send(&self, t: T) -> Result<(), TrySendError<T>>
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§
source§impl<T> Clone for SyncSender<T>
impl<T> Clone for SyncSender<T>
source§fn clone(&self) -> SyncSender<T>
fn clone(&self) -> SyncSender<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl<T> Freeze for SyncSender<T>
impl<T> RefUnwindSafe for SyncSender<T>
impl<T> Send for SyncSender<T>where
T: Send,
impl<T> Sync for SyncSender<T>where
T: Send,
impl<T> Unpin for SyncSender<T>
impl<T> UnwindSafe for SyncSender<T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)