Struct Stream
pub struct Stream { /* private fields */ }Implementations§
§impl Stream
impl Stream
pub fn ignore_for_keep_alive(&mut self)
pub fn ignore_for_keep_alive(&mut self)
Ignore this stream in the Swarm’s connection-keep-alive algorithm.
By default, any active stream keeps a connection alive. For most protocols, this is a good default as it ensures that the protocol is completed before a connection is shut down. Some protocols like libp2p’s ping for example never complete and are of an auxiliary nature. These protocols should opt-out of the keep alive algorithm using this method.
Trait Implementations§
§impl AsyncRead for Stream
impl AsyncRead for Stream
§impl AsyncWrite for Stream
impl AsyncWrite for Stream
§fn poll_write(
self: Pin<&mut Stream>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize, Error>>
fn poll_write( self: Pin<&mut Stream>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
Attempt to write bytes from
buf into the object. Read more§fn poll_write_vectored(
self: Pin<&mut Stream>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Stream>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
Attempt to write bytes from
bufs into the object using vectored
IO operations. Read more§impl<T> InboundUpgrade<Stream> for SendWrapper<T>where
T: InboundUpgradeSend,
impl<T> InboundUpgrade<Stream> for SendWrapper<T>where
T: InboundUpgradeSend,
§type Output = <T as InboundUpgradeSend>::Output
type Output = <T as InboundUpgradeSend>::Output
Output after the upgrade has been successfully negotiated and the handshake performed.
§type Error = <T as InboundUpgradeSend>::Error
type Error = <T as InboundUpgradeSend>::Error
Possible error during the handshake.
§type Future = <T as InboundUpgradeSend>::Future
type Future = <T as InboundUpgradeSend>::Future
Future that performs the handshake with the remote.
§fn upgrade_inbound(
self,
socket: Stream,
info: <T as UpgradeInfoSend>::Info,
) -> <SendWrapper<T> as InboundUpgrade<Stream>>::Future
fn upgrade_inbound( self, socket: Stream, info: <T as UpgradeInfoSend>::Info, ) -> <SendWrapper<T> as InboundUpgrade<Stream>>::Future
After we have determined that the remote supports one of the protocols we support, this
method is called to start the handshake. Read more
§impl<T> OutboundUpgrade<Stream> for SendWrapper<T>where
T: OutboundUpgradeSend,
impl<T> OutboundUpgrade<Stream> for SendWrapper<T>where
T: OutboundUpgradeSend,
§type Output = <T as OutboundUpgradeSend>::Output
type Output = <T as OutboundUpgradeSend>::Output
Output after the upgrade has been successfully negotiated and the handshake performed.
§type Error = <T as OutboundUpgradeSend>::Error
type Error = <T as OutboundUpgradeSend>::Error
Possible error during the handshake.
§type Future = <T as OutboundUpgradeSend>::Future
type Future = <T as OutboundUpgradeSend>::Future
Future that performs the handshake with the remote.
§fn upgrade_outbound(
self,
socket: Stream,
info: <T as UpgradeInfoSend>::Info,
) -> <SendWrapper<T> as OutboundUpgrade<Stream>>::Future
fn upgrade_outbound( self, socket: Stream, info: <T as UpgradeInfoSend>::Info, ) -> <SendWrapper<T> as OutboundUpgrade<Stream>>::Future
After we have determined that the remote supports one of the protocols we support, this
method is called to start the handshake. Read more
Auto Trait Implementations§
impl Freeze for Stream
impl !RefUnwindSafe for Stream
impl Send for Stream
impl !Sync for Stream
impl Unpin for Stream
impl !UnwindSafe for Stream
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<R> AsyncReadExt for Rwhere
R: AsyncRead + ?Sized,
impl<R> AsyncReadExt for Rwhere
R: AsyncRead + ?Sized,
§fn chain<R>(self, next: R) -> Chain<Self, R>where
Self: Sized,
R: AsyncRead,
fn chain<R>(self, next: R) -> Chain<Self, R>where
Self: Sized,
R: AsyncRead,
Creates an adaptor which will chain this stream with another. Read more
§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self> ⓘwhere
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self> ⓘwhere
Self: Unpin,
Tries to read some bytes directly into the given
buf in asynchronous
manner, returning a future type. Read more§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectored<'a, Self> ⓘwhere
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectored<'a, Self> ⓘwhere
Self: Unpin,
Creates a future which will read from the
AsyncRead into bufs using vectored
IO operations. Read more§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self> ⓘwhere
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self> ⓘwhere
Self: Unpin,
Creates a future which will read exactly enough bytes to fill
buf,
returning an error if end of file (EOF) is hit sooner. Read more§fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self> ⓘwhere
Self: Unpin,
fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self> ⓘwhere
Self: Unpin,
Creates a future which will read all the bytes from this
AsyncRead. Read more§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToString<'a, Self> ⓘwhere
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToString<'a, Self> ⓘwhere
Self: Unpin,
Creates a future which will read all the bytes from this
AsyncRead. Read more§impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
§fn flush(&mut self) -> Flush<'_, Self> ⓘwhere
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self> ⓘwhere
Self: Unpin,
Creates a future which will entirely flush this
AsyncWrite. Read more§fn close(&mut self) -> Close<'_, Self> ⓘwhere
Self: Unpin,
fn close(&mut self) -> Close<'_, Self> ⓘwhere
Self: Unpin,
Creates a future which will entirely close this
AsyncWrite.§fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self> ⓘwhere
Self: Unpin,
fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self> ⓘwhere
Self: Unpin,
Creates a future which will write bytes from
buf into the object. Read more§fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> WriteVectored<'a, Self> ⓘwhere
Self: Unpin,
fn write_vectored<'a>(
&'a mut self,
bufs: &'a [IoSlice<'a>],
) -> WriteVectored<'a, Self> ⓘwhere
Self: Unpin,
Creates a future which will write bytes from
bufs into the object using vectored
IO operations. Read moreSource§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
§impl<T> FuturesAsyncReadCompatExt for Twhere
T: AsyncRead,
impl<T> FuturesAsyncReadCompatExt for Twhere
T: AsyncRead,
§impl<T> FuturesAsyncWriteCompatExt for Twhere
T: AsyncWrite,
impl<T> FuturesAsyncWriteCompatExt for Twhere
T: AsyncWrite,
§fn compat_write(self) -> Compat<Self>where
Self: Sized,
fn compat_write(self) -> Compat<Self>where
Self: Sized,
Wraps
self with a compatibility layer that implements
tokio::io::AsyncWrite.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
Converts
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> ⓘ
Converts
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