pub struct BorrowedSocket<'socket> { /* private fields */ }
A borrowed socket.
This has a lifetime parameter to tie it to the lifetime of something that owns the socket.
This uses repr(transparent) and has the representation of a host socket, so it can be used in FFI in places where a socket is passed as an argument, it is not captured or consumed, and it never has the value INVALID_SOCKET.
This type’s .to_owned() implementation returns another BorrowedSocket rather than an OwnedSocket. It just makes a trivial copy of the raw socket, which is then borrowed under the same lifetime.
impl BorrowedSocket<'_>
pub const unsafe fn borrow_raw(socket: RawSocket) -> Self
Returns a BorrowedSocket holding the given raw socket.
The resource pointed to by socket must remain open for the duration of the returned BorrowedSocket, and it must not have the value INVALID_SOCKET.
impl BorrowedSocket<'_>
pub fn try_clone_to_owned(&self) -> Result<OwnedSocket>
Creates a new OwnedSocket instance that shares the same underlying object as the existing BorrowedSocket instance.
impl AsRawSocket for BorrowedSocket<'_>
impl AsSocket for BorrowedSocket<'_>
fn as_socket(&self) -> BorrowedSocket<'_>
impl<'socket> Clone for BorrowedSocket<'socket>
fn clone(&self) -> BorrowedSocket<'socket>
fn clone_from(&mut self, source: &Self)
source. Read more
impl Debug for BorrowedSocket<'_>
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'socket> Copy for BorrowedSocket<'socket>
impl<'socket> Freeze for BorrowedSocket<'socket>
impl<'socket> RefUnwindSafe for BorrowedSocket<'socket>
impl<'socket> Send for BorrowedSocket<'socket>
impl<'socket> Sync for BorrowedSocket<'socket>
impl<'socket> Unpin for BorrowedSocket<'socket>
impl<'socket> UnwindSafe for BorrowedSocket<'socket>
impl<T> Any for Twhere
T: 'static + ?Sized,impl<T> Borrow<T> for Twhere
T: ?Sized,impl<T> BorrowMut<T> for Twhere
T: ?Sized,impl<T> CloneToUninit for Twhere
T: Clone,unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit #126799)
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for Twhere
U: From<T>,fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of From<T> for U chooses to do.
impl<T> ToOwned for Twhere
T: Clone,type Owned = T
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/windows/io/struct.BorrowedSocket.html