pub trait AsyncIO {
type AsyncFd<T: AsRawFd + AsFd + Send + Sync + 'static>: AsyncFd<T>;
// Required methods
fn connect_tcp(
addr: &SocketAddr,
) -> impl Future<Output = Result<Self::AsyncFd<TcpStream>>> + Send;
fn connect_unix(
addr: &Path,
) -> impl Future<Output = Result<Self::AsyncFd<UnixStream>>> + Send;
fn to_async_fd_rd<T: AsRawFd + AsFd + Send + Sync + 'static>(
fd: T,
) -> Result<Self::AsyncFd<T>>;
fn to_async_fd_rw<T: AsRawFd + AsFd + Send + Sync + 'static>(
fd: T,
) -> Result<Self::AsyncFd<T>>;
}Expand description
Trait for async I/O operations.
This trait defines the interface for performing asynchronous I/O operations such as connecting to network services and converting file descriptors to async handles.
§Associated Types
AsyncFd- The type used to represent async file descriptors
Required Associated Types§
Required Methods§
Sourcefn connect_tcp(
addr: &SocketAddr,
) -> impl Future<Output = Result<Self::AsyncFd<TcpStream>>> + Send
fn connect_tcp( addr: &SocketAddr, ) -> impl Future<Output = Result<Self::AsyncFd<TcpStream>>> + Send
Connect to a TCP address asynchronously.
§NOTE
This is for runtime implementation, for user should use TcpStream::<IO>::connect() instead**.
This method attempts to establish a TCP connection to the specified address, returning an async file descriptor that can be used for communication.
§Parameters
addr- The socket address to connect to
§Returns
A future that resolves to a Result containing either the connected
async file descriptor or an I/O error.
Sourcefn connect_unix(
addr: &Path,
) -> impl Future<Output = Result<Self::AsyncFd<UnixStream>>> + Send
fn connect_unix( addr: &Path, ) -> impl Future<Output = Result<Self::AsyncFd<UnixStream>>> + Send
Connect to a Unix socket address asynchronously.
§NOTE
This is for runtime implementation, for user should use UnixStream::<IO>::connect() instead**.
This method attempts to establish a Unix socket connection to the specified path, returning an async file descriptor that can be used for communication.
§Parameters
addr- The path to the Unix socket
§Returns
A future that resolves to a Result containing either the connected
async file descriptor or an I/O error.
Sourcefn to_async_fd_rd<T: AsRawFd + AsFd + Send + Sync + 'static>(
fd: T,
) -> Result<Self::AsyncFd<T>>
fn to_async_fd_rd<T: AsRawFd + AsFd + Send + Sync + 'static>( fd: T, ) -> Result<Self::AsyncFd<T>>
Wrap a readable file object as an async handle
The file descriptor will subscribe for read to the runtime poller
§Parameters
fd- The file descriptor to wrap
§Returns
A Result containing either the async file descriptor handle or
an I/O error.
§Safety
The file descriptor must be set to non-blocking mode before calling this method.
Sourcefn to_async_fd_rw<T: AsRawFd + AsFd + Send + Sync + 'static>(
fd: T,
) -> Result<Self::AsyncFd<T>>
fn to_async_fd_rw<T: AsRawFd + AsFd + Send + Sync + 'static>( fd: T, ) -> Result<Self::AsyncFd<T>>
Wrap a readable/writable file object as an async handle.
The file descriptor will subscribe for read + write to the runtime poller
§Parameters
fd- The file descriptor to wrap
§Returns
A Result containing either the async file descriptor handle or
an I/O error.
§Safety
The file descriptor must be set to non-blocking mode before calling this method.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".