pub struct NoiseStream<TSocket> { /* private fields */ }Expand description
A Noise stream with a remote peer.
Encrypts data to be written to and decrypts data that is read from the underlying socket using the noise protocol. This is done by prefixing noise payloads with a u16 (big endian) length field.
Implementations
sourceimpl<TSocket> NoiseStream<TSocket>
impl<TSocket> NoiseStream<TSocket>
sourcepub fn new(socket: TSocket, session: NoiseSession) -> Self
pub fn new(socket: TSocket, session: NoiseSession) -> Self
Create a NoiseStream from a socket and a noise post-handshake session
sourcepub fn get_remote_static(&self) -> PublicKey
pub fn get_remote_static(&self) -> PublicKey
Pull out the static public key of the remote
Trait Implementations
sourceimpl<TSocket> AsyncRead for NoiseStream<TSocket> where
TSocket: AsyncRead + Unpin,
impl<TSocket> AsyncRead for NoiseStream<TSocket> where
TSocket: AsyncRead + Unpin,
sourcefn poll_read(
self: Pin<&mut Self>,
context: &mut Context<'_>,
buf: &mut [u8]
) -> Poll<Result<usize>>
fn poll_read(
self: Pin<&mut Self>,
context: &mut Context<'_>,
buf: &mut [u8]
) -> Poll<Result<usize>>
Attempt to read from the AsyncRead into buf. Read more
fn poll_read_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &mut [IoSliceMut<'_>]
) -> Poll<Result<usize, Error>>
fn poll_read_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &mut [IoSliceMut<'_>]
) -> Poll<Result<usize, Error>>
Attempt to read from the AsyncRead into bufs using vectored
IO operations. Read more
sourceimpl<TSocket> AsyncWrite for NoiseStream<TSocket> where
TSocket: AsyncWrite + Unpin,
impl<TSocket> AsyncWrite for NoiseStream<TSocket> where
TSocket: AsyncWrite + Unpin,
sourcefn poll_write(
self: Pin<&mut Self>,
context: &mut Context<'_>,
buf: &[u8]
) -> Poll<Result<usize>>
fn poll_write(
self: Pin<&mut Self>,
context: &mut Context<'_>,
buf: &[u8]
) -> Poll<Result<usize>>
Attempt to write bytes from buf into the object. Read more
sourcefn poll_flush(
self: Pin<&mut Self>,
context: &mut Context<'_>
) -> Poll<Result<()>>
fn poll_flush(
self: Pin<&mut Self>,
context: &mut Context<'_>
) -> Poll<Result<()>>
Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
Auto Trait Implementations
impl<TSocket> RefUnwindSafe for NoiseStream<TSocket> where
TSocket: RefUnwindSafe,
impl<TSocket> Send for NoiseStream<TSocket> where
TSocket: Send,
impl<TSocket> Sync for NoiseStream<TSocket> where
TSocket: Sync,
impl<TSocket> Unpin for NoiseStream<TSocket> where
TSocket: Unpin,
impl<TSocket> UnwindSafe for NoiseStream<TSocket> where
TSocket: UnwindSafe,
Blanket Implementations
sourceimpl<R> AsyncReadExt for R where
R: AsyncRead + ?Sized,
impl<R> AsyncReadExt for R where
R: AsyncRead + ?Sized,
sourcefn chain<R>(self, next: R) -> Chain<Self, R> where
R: AsyncRead,
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: AsyncRead,
Creates an adaptor which will chain this stream with another. Read more
sourcefn read(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self> where
Self: Unpin,
fn read(&'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
sourcefn read_vectored(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>]
) -> ReadVectored<'a, Self> where
Self: Unpin,
fn read_vectored(
&'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
sourcefn read_exact(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self> where
Self: Unpin,
fn read_exact(&'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
sourcefn read_to_end(&'a mut self, buf: &'a mut Vec<u8, Global>) -> ReadToEnd<'a, Self> where
Self: Unpin,
fn read_to_end(&'a mut self, buf: &'a mut Vec<u8, Global>) -> ReadToEnd<'a, Self> where
Self: Unpin,
Creates a future which will read all the bytes from this AsyncRead. Read more
sourcefn read_to_string(&'a mut self, buf: &'a mut String) -> ReadToString<'a, Self> where
Self: Unpin,
fn read_to_string(&'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
sourceimpl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
sourcefn 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
sourcefn 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.
sourcefn write(&'a mut self, buf: &'a [u8]) -> Write<'a, Self> where
Self: Unpin,
fn write(&'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
sourcefn write_vectored(
&'a mut self,
bufs: &'a [IoSlice<'a>]
) -> WriteVectored<'a, Self> where
Self: Unpin,
fn write_vectored(
&'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 more
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FuturesAsyncReadCompatExt for T where
T: AsyncRead,
impl<T> FuturesAsyncReadCompatExt for T where
T: AsyncRead,
sourceimpl<T> FuturesAsyncWriteCompatExt for T where
T: AsyncWrite,
impl<T> FuturesAsyncWriteCompatExt for T where
T: AsyncWrite,
sourcefn compat_write(self) -> Compat<Self>
fn compat_write(self) -> Compat<Self>
Wraps self with a compatibility layer that implements
tokio::io::AsyncWrite. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more