#[repr(transparent)]pub struct SockAddrStorage {
    storage: sockaddr_storage,
}Expand description
Rust version of the sockaddr_storage type.
This type is intended to be used with with direct calls to the getsockname syscall. See the
documentation of SockAddr::new for examples.
This crate defines its own sockaddr_storage type to avoid semver concerns with upgrading
windows-sys.
Fields§
§storage: sockaddr_storageImplementations§
Source§impl SockAddrStorage
 
impl SockAddrStorage
Sourcepub unsafe fn view_as<T>(&mut self) -> &mut T
 
pub unsafe fn view_as<T>(&mut self) -> &mut T
View this type as another type.
§Safety
The type T must be one of the sockaddr_* types defined by this platform.
§Examples
use libc::sockaddr_storage;
use socket2::{SockAddr, SockAddrStorage, socklen_t};
fn from_sockaddr_storage(recv_address: &sockaddr_storage) -> SockAddr {
    let mut storage = SockAddrStorage::zeroed();
    let libc_address = unsafe { storage.view_as::<sockaddr_storage>() };
    *libc_address = *recv_address;
    unsafe { SockAddr::new(storage, size_of::<sockaddr_storage>() as socklen_t) }
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for SockAddrStorage
impl RefUnwindSafe for SockAddrStorage
impl Send for SockAddrStorage
impl Sync for SockAddrStorage
impl Unpin for SockAddrStorage
impl UnwindSafe for SockAddrStorage
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