Struct polkadot_node_subsystem::gen::futures::channel::mpsc::UnboundedSender
pub struct UnboundedSender<T>(/* private fields */);
Expand description
The transmission end of an unbounded mpsc channel.
This value is created by the unbounded
function.
Implementations§
§impl<T> UnboundedSender<T>
impl<T> UnboundedSender<T>
pub fn poll_ready(&self, _: &mut Context<'_>) -> Poll<Result<(), SendError>>
pub fn poll_ready(&self, _: &mut Context<'_>) -> Poll<Result<(), SendError>>
Check if the channel is ready to receive a message.
pub fn close_channel(&self)
pub fn close_channel(&self)
Closes this channel from the sender side, preventing any new messages.
pub fn disconnect(&mut self)
pub fn disconnect(&mut self)
Disconnects this sender from the channel, closing it if there are no more senders left.
pub fn start_send(&mut self, msg: T) -> Result<(), SendError>
pub fn start_send(&mut self, msg: T) -> Result<(), SendError>
Send a message on the channel.
This method should only be called after poll_ready
has been used to
verify that the channel is ready to receive a message.
pub fn unbounded_send(&self, msg: T) -> Result<(), TrySendError<T>>
pub fn unbounded_send(&self, msg: T) -> Result<(), TrySendError<T>>
Sends a message along this channel.
This is an unbounded sender, so this function differs from Sink::send
by ensuring the return type reflects that the channel is always ready to
receive messages.
pub fn same_receiver(&self, other: &UnboundedSender<T>) -> bool
pub fn same_receiver(&self, other: &UnboundedSender<T>) -> bool
Returns whether the senders send to the same receiver.
pub fn is_connected_to(&self, receiver: &UnboundedReceiver<T>) -> bool
pub fn is_connected_to(&self, receiver: &UnboundedReceiver<T>) -> bool
Returns whether the sender send to this receiver.
pub fn hash_receiver<H>(&self, hasher: &mut H)where
H: Hasher,
pub fn hash_receiver<H>(&self, hasher: &mut H)where
H: Hasher,
Hashes the receiver into the provided hasher
Trait Implementations§
§impl<T> Clone for UnboundedSender<T>
impl<T> Clone for UnboundedSender<T>
§fn clone(&self) -> UnboundedSender<T>
fn clone(&self) -> UnboundedSender<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl<T> Debug for UnboundedSender<T>
impl<T> Debug for UnboundedSender<T>
§impl<T> Sink<T> for &UnboundedSender<T>
impl<T> Sink<T> for &UnboundedSender<T>
§fn poll_ready(
self: Pin<&mut &UnboundedSender<T>>,
cx: &mut Context<'_>,
) -> Poll<Result<(), <&UnboundedSender<T> as Sink<T>>::Error>>
fn poll_ready( self: Pin<&mut &UnboundedSender<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), <&UnboundedSender<T> as Sink<T>>::Error>>
Sink
to receive a value. Read more§fn start_send(
self: Pin<&mut &UnboundedSender<T>>,
msg: T,
) -> Result<(), <&UnboundedSender<T> as Sink<T>>::Error>
fn start_send( self: Pin<&mut &UnboundedSender<T>>, msg: T, ) -> Result<(), <&UnboundedSender<T> as Sink<T>>::Error>
poll_ready
which returned Poll::Ready(Ok(()))
. Read more§fn poll_flush(
self: Pin<&mut &UnboundedSender<T>>,
_: &mut Context<'_>,
) -> Poll<Result<(), <&UnboundedSender<T> as Sink<T>>::Error>>
fn poll_flush( self: Pin<&mut &UnboundedSender<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), <&UnboundedSender<T> as Sink<T>>::Error>>
§fn poll_close(
self: Pin<&mut &UnboundedSender<T>>,
_: &mut Context<'_>,
) -> Poll<Result<(), <&UnboundedSender<T> as Sink<T>>::Error>>
fn poll_close( self: Pin<&mut &UnboundedSender<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), <&UnboundedSender<T> as Sink<T>>::Error>>
§impl<T> Sink<T> for UnboundedSender<T>
impl<T> Sink<T> for UnboundedSender<T>
§fn poll_ready(
self: Pin<&mut UnboundedSender<T>>,
cx: &mut Context<'_>,
) -> Poll<Result<(), <UnboundedSender<T> as Sink<T>>::Error>>
fn poll_ready( self: Pin<&mut UnboundedSender<T>>, cx: &mut Context<'_>, ) -> Poll<Result<(), <UnboundedSender<T> as Sink<T>>::Error>>
Sink
to receive a value. Read more§fn start_send(
self: Pin<&mut UnboundedSender<T>>,
msg: T,
) -> Result<(), <UnboundedSender<T> as Sink<T>>::Error>
fn start_send( self: Pin<&mut UnboundedSender<T>>, msg: T, ) -> Result<(), <UnboundedSender<T> as Sink<T>>::Error>
poll_ready
which returned Poll::Ready(Ok(()))
. Read more§fn poll_flush(
self: Pin<&mut UnboundedSender<T>>,
_: &mut Context<'_>,
) -> Poll<Result<(), <UnboundedSender<T> as Sink<T>>::Error>>
fn poll_flush( self: Pin<&mut UnboundedSender<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), <UnboundedSender<T> as Sink<T>>::Error>>
§fn poll_close(
self: Pin<&mut UnboundedSender<T>>,
_: &mut Context<'_>,
) -> Poll<Result<(), <UnboundedSender<T> as Sink<T>>::Error>>
fn poll_close( self: Pin<&mut UnboundedSender<T>>, _: &mut Context<'_>, ) -> Poll<Result<(), <UnboundedSender<T> as Sink<T>>::Error>>
Auto Trait Implementations§
impl<T> Freeze for UnboundedSender<T>
impl<T> !RefUnwindSafe for UnboundedSender<T>
impl<T> Send for UnboundedSender<T>where
T: Send,
impl<T> Sync for UnboundedSender<T>where
T: Send,
impl<T> Unpin for UnboundedSender<T>
impl<T> !UnwindSafe for UnboundedSender<T>
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read more§impl<T, Item> SinkExt<Item> for T
impl<T, Item> SinkExt<Item> for T
§fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>
§fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F>
fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F>
§fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>
§fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>
Into
trait. Read more§fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
§fn flush(&mut self) -> Flush<'_, Self, Item> ⓘwhere
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self, Item> ⓘwhere
Self: Unpin,
§fn send(&mut self, item: Item) -> Send<'_, Self, Item> ⓘwhere
Self: Unpin,
fn send(&mut self, item: Item) -> Send<'_, Self, Item> ⓘwhere
Self: Unpin,
§fn feed(&mut self, item: Item) -> Feed<'_, Self, Item> ⓘwhere
Self: Unpin,
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item> ⓘwhere
Self: Unpin,
§fn send_all<'a, St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> ⓘ
fn send_all<'a, St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> ⓘ
§fn right_sink<Si1>(self) -> Either<Si1, Self> ⓘ
fn right_sink<Si1>(self) -> Either<Si1, Self> ⓘ
§fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
Sink::poll_ready
on Unpin
sink types.§fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
Self: Unpin,
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
Self: Unpin,
Sink::start_send
on Unpin
sink types.§fn poll_flush_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
fn poll_flush_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
Sink::poll_flush
on Unpin
sink types.§fn poll_close_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
fn poll_close_unpin(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
Sink::poll_close
on Unpin
sink types.§impl<Item, S> SinkRateLimitExt<Item, S> for Swhere
S: Sink<Item>,
impl<Item, S> SinkRateLimitExt<Item, S> for Swhere
S: Sink<Item>,
§fn ratelimit_sink<D, C, MW>(
self,
limiter: &RateLimiter<NotKeyed, D, C, MW>,
) -> RatelimitedSink<'_, Item, S, D, C, MW>where
D: DirectStateStore,
C: ReasonablyRealtime,
MW: RateLimitingMiddleware<<C as Clock>::Instant, NegativeOutcome = NotUntil<<C as Clock>::Instant>>,
fn ratelimit_sink<D, C, MW>(
self,
limiter: &RateLimiter<NotKeyed, D, C, MW>,
) -> RatelimitedSink<'_, Item, S, D, C, MW>where
D: DirectStateStore,
C: ReasonablyRealtime,
MW: RateLimitingMiddleware<<C as Clock>::Instant, NegativeOutcome = NotUntil<<C as Clock>::Instant>>,
§fn ratelimit_sink_with_jitter<D, C, MW>(
self,
limiter: &RateLimiter<NotKeyed, D, C, MW>,
jitter: Jitter,
) -> RatelimitedSink<'_, Item, S, D, C, MW>where
D: DirectStateStore,
C: ReasonablyRealtime,
MW: RateLimitingMiddleware<<C as Clock>::Instant, NegativeOutcome = NotUntil<<C as Clock>::Instant>>,
fn ratelimit_sink_with_jitter<D, C, MW>(
self,
limiter: &RateLimiter<NotKeyed, D, C, MW>,
jitter: Jitter,
) -> RatelimitedSink<'_, Item, S, D, C, MW>where
D: DirectStateStore,
C: ReasonablyRealtime,
MW: RateLimitingMiddleware<<C as Clock>::Instant, NegativeOutcome = NotUntil<<C as Clock>::Instant>>,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.