[−][src]Struct jsonrpc_pubsub::oneshot::Sender
A sender part of the channel.
Methods
impl<T> Sender<T>
[src]
pub fn send(self, t: T) -> Result<(), T>
[src]
Consume the sender and queue up an item to send.
This method returns right away and never blocks, there is no guarantee though that the message is received by the other end.
pub fn send_and_wait(self, t: T) -> impl Future<Item = (), Error = ()>
[src]
Consume the sender and send an item.
The returned future will resolve when the message is received on the other end. Note that polling the future is actually not required to send the message as that happens synchronously. The future resolves to error in case the receiving end was dropped before being able to process the message.
Methods from Deref<Target = Sender<T>>
pub fn poll_cancel(&mut self) -> Result<Async<()>, ()>
[src]
Polls this Sender
half to detect whether the Receiver
this has
paired with has gone away.
This function can be used to learn about when the Receiver
(consumer)
half has gone away and nothing will be able to receive a message sent
from send
.
If Ready
is returned then it means that the Receiver
has disappeared
and the result this Sender
would otherwise produce should no longer
be produced.
If NotReady
is returned then the Receiver
is still alive and may be
able to receive a message if sent. The current task, however, is
scheduled to receive a notification if the corresponding Receiver
goes
away.
Panics
Like Future::poll
, this function will panic if it's not called from
within the context of a task. In other words, this should only ever be
called from inside another future.
If Ok(Ready)
is returned then the associated Receiver
has been
dropped, which means any work required for sending should be canceled.
If you're calling this function from a context that does not have a
task, then you can use the is_canceled
API instead.
pub fn is_canceled(&self) -> bool
[src]
Tests to see whether this Sender
's corresponding Receiver
has gone away.
This function can be used to learn about when the Receiver
(consumer)
half has gone away and nothing will be able to receive a message sent
from send
.
Note that this function is intended to not be used in the context of a
future. If you're implementing a future you probably want to call the
poll_cancel
function which will block the current task if the
cancellation hasn't happened yet. This can be useful when working on a
non-futures related thread, though, which would otherwise panic if
poll_cancel
were called.
Trait Implementations
impl<T: Debug> Debug for Sender<T>
[src]
impl<T> Deref for Sender<T>
[src]
type Target = Sender<T>
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
impl<T> DerefMut for Sender<T>
[src]
Auto Trait Implementations
impl<T> Unpin for Sender<T>
impl<T> Sync for Sender<T> where
T: Send,
T: Send,
impl<T> Send for Sender<T> where
T: Send,
T: Send,
impl<T> !UnwindSafe for Sender<T>
impl<T> !RefUnwindSafe for Sender<T>
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,