pub struct AcceptFuture<'ring> { /* private fields */ }Expand description
Future for socket accept operations.
This future waits for an incoming connection on a listening socket and returns the new client file descriptor when a connection is accepted. Unlike read/write operations, accept operations don’t require buffer management, so this future has a simpler interface.
§Type Parameters
'ring- Lifetime of the io_uring Ring instance
§Returns
Returns the raw file descriptor (RawFd) of the accepted client connection
on success. The caller is responsible for managing the returned file descriptor.
§Examples
ⓘ
let mut ring = Ring::new(32)?;
let listener = TcpListener::bind("127.0.0.1:8080")?;
listener.set_nonblocking(true)?;
let accept_future = ring.accept(listener.as_raw_fd())?;
let client_fd = accept_future.await?;
println!("Accepted client connection: fd {}", client_fd);Trait Implementations§
Source§impl<'ring> Drop for AcceptFuture<'ring>
impl<'ring> Drop for AcceptFuture<'ring>
Source§impl<'ring> Future for AcceptFuture<'ring>
impl<'ring> Future for AcceptFuture<'ring>
Auto Trait Implementations§
impl<'ring> !RefUnwindSafe for AcceptFuture<'ring>
impl<'ring> !UnwindSafe for AcceptFuture<'ring>
impl<'ring> Freeze for AcceptFuture<'ring>
impl<'ring> Send for AcceptFuture<'ring>
impl<'ring> Sync for AcceptFuture<'ring>
impl<'ring> Unpin for AcceptFuture<'ring>
impl<'ring> UnsafeUnpin for AcceptFuture<'ring>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more