Trait io_lifetimes::AsSocketlike
source · pub trait AsSocketlike: AsFd {
// Required methods
fn as_socketlike(&self) -> BorrowedSocketlike<'_>;
fn as_socketlike_view<Target: SocketlikeViewType>(
&self
) -> SocketlikeView<'_, Target>;
}Expand description
A portable trait to borrow a reference from an underlying socketlike object.
This is a portability abstraction over Unix-like AsFd and Windows’
AsSocket. It also provides the as_socketlike_view convenience
function providing typed views.
Required Methods§
sourcefn as_socketlike(&self) -> BorrowedSocketlike<'_>
fn as_socketlike(&self) -> BorrowedSocketlike<'_>
Borrows the reference.
sourcefn as_socketlike_view<Target: SocketlikeViewType>(
&self
) -> SocketlikeView<'_, Target>
fn as_socketlike_view<Target: SocketlikeViewType>( &self ) -> SocketlikeView<'_, Target>
Return a borrowing view of a resource which dereferences to a
&Target.
Note that Read or Write require &mut Target, but in some
cases, such as TcpStream, Read and Write are implemented
for &Target in addition to Target, and you can get a &mut &Target by doing &* on the resuting view, like this:
ⓘ
let v = s.as_socketlike_view::<std::net::TcpStream>();
(&*v).read(&mut buf).unwrap();