pub struct PollFd<T: AsFd>(/* private fields */);Expand description
Providing functionalities to wait for readiness.
Implementations§
Source§impl<T: AsFd + 'static> PollFd<T>
impl<T: AsFd + 'static> PollFd<T>
Sourcepub async fn accept_ready(&self) -> Result<()>
pub async fn accept_ready(&self) -> Result<()>
Wait for accept readiness, before calling accept, or after accept
returns WouldBlock.
Sourcepub async fn connect_ready(&self) -> Result<()>
pub async fn connect_ready(&self) -> Result<()>
Wait for connect readiness.
Sourcepub async fn read_ready(&self) -> Result<()>
pub async fn read_ready(&self) -> Result<()>
Wait for read readiness.
Sourcepub async fn write_ready(&self) -> Result<()>
pub async fn write_ready(&self) -> Result<()>
Wait for write readiness.
Sourcepub fn poll_accept_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
pub fn poll_accept_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
Poll for accept readiness.
Sourcepub fn poll_connect_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
pub fn poll_connect_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
Poll for connect readiness.
Sourcepub fn poll_read_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
pub fn poll_read_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
Poll for read readiness.
Sourcepub fn poll_write_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
pub fn poll_write_ready(&self, cx: &mut Context<'_>) -> Poll<Result<()>>
Poll for write readiness.
Sourcepub fn poll_accept_with<R>(
&self,
cx: &mut Context<'_>,
f: impl FnMut(&T) -> Result<R>,
) -> Poll<Result<R>>
pub fn poll_accept_with<R>( &self, cx: &mut Context<'_>, f: impl FnMut(&T) -> Result<R>, ) -> Poll<Result<R>>
Poll for accept readiness and call the provided function.
Source§impl<T: AsFd + 'static> PollFd<T>
impl<T: AsFd + 'static> PollFd<T>
Sourcepub fn poll_read(
&self,
cx: &mut Context<'_>,
buf: &mut [u8],
) -> Poll<Result<usize>>
pub fn poll_read( &self, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>
Poll for read readiness and read data.
Sourcepub fn poll_read_buf(
&self,
cx: &mut Context<'_>,
buf: BorrowedCursor<'_, u8>,
) -> Poll<Result<()>>
Available on crate feature read_buf only.
pub fn poll_read_buf( &self, cx: &mut Context<'_>, buf: BorrowedCursor<'_, u8>, ) -> Poll<Result<()>>
read_buf only.Poll for read readiness and read data into an uninitialized buffer.
Source§impl<T: AsFd + 'static> PollFd<T>
impl<T: AsFd + 'static> PollFd<T>
Sourcepub fn poll_write(
&self,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
pub fn poll_write( &self, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
Poll for write readiness and write data.
Sourcepub fn poll_write_vectored(
&self,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize>>
pub fn poll_write_vectored( &self, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>
Poll for write readiness and write data from a slice of buffers.
Whether this is more efficient than poll_write depends on the
source: it is a single writev for sockets and files, while other
sources may fall back to writing the first non-empty buffer.
Trait Implementations§
Source§impl<T: AsFd> AsFd for PollFd<T>
impl<T: AsFd> AsFd for PollFd<T>
Source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Source§impl<T: AsFd + 'static> AsyncRead for &PollFd<T>
impl<T: AsFd + 'static> AsyncRead for &PollFd<T>
Source§impl<T: AsFd + 'static> AsyncRead for PollFd<T>
impl<T: AsFd + 'static> AsyncRead for PollFd<T>
Source§impl<T: AsFd + 'static> AsyncWrite for &PollFd<T>
impl<T: AsFd + 'static> AsyncWrite for &PollFd<T>
Source§fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
buf into the object. Read moreSource§fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize>>
fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>
bufs into the object using vectored
IO operations. Read moreSource§impl<T: AsFd + 'static> AsyncWrite for PollFd<T>
impl<T: AsFd + 'static> AsyncWrite for PollFd<T>
Source§fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
buf into the object. Read moreSource§fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize>>
fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize>>
bufs into the object using vectored
IO operations. Read moreSharedFd.Auto Trait Implementations§
impl<T> !Freeze for PollFd<T>
impl<T> !RefUnwindSafe for PollFd<T>
impl<T> !Send for PollFd<T>
impl<T> !Sync for PollFd<T>
impl<T> !UnwindSafe for PollFd<T>
impl<T> Unpin for PollFd<T>
impl<T> UnsafeUnpin for PollFd<T>
Blanket Implementations§
Source§impl<R> AsyncReadExt for R
impl<R> AsyncReadExt for R
Source§fn chain<R>(self, next: R) -> Chain<Self, R>
fn chain<R>(self, next: R) -> Chain<Self, R>
Source§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,
buf in asynchronous
manner, returning a future type. Read moreSource§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,
AsyncRead into bufs using vectored
IO operations. Read moreSource§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,
buf,
returning an error if end of file (EOF) is hit sooner. Read moreSource§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,
AsyncRead. Read moreSource§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,
AsyncRead. Read moreSource§impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
impl<W> AsyncWriteExt for Wwhere
W: AsyncWrite + ?Sized,
Source§fn flush(&mut self) -> Flush<'_, Self>where
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self>where
Self: Unpin,
AsyncWrite. Read moreSource§fn close(&mut self) -> Close<'_, Self>where
Self: Unpin,
fn close(&mut self) -> Close<'_, Self>where
Self: Unpin,
AsyncWrite.Source§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,
buf into the object. Read moreSource§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,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<C, T> CoordTranslate for Twhere
C: CoordTranslate,
T: Deref<Target = C>,
impl<C, T> CoordTranslate for Twhere
C: CoordTranslate,
T: Deref<Target = C>,
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