Struct std::os::unix::net::SocketAddr
pub struct SocketAddr { /* fields omitted */ }
An address associated with a Unix socket.
Examples
use std::os::unix::net::UnixListener; let socket = match UnixListener::bind("/tmp/sock") { Ok(sock) => sock, Err(e) => { println!("Couldn't bind: {:?}", e); return } }; let addr = socket.local_addr().expect("Couldn't get local address");
Implementations
impl SocketAddr
pub fn is_unnamed(&self) -> bool
Returns true
if the address is unnamed.
Examples
A named address:
use std::os::unix::net::UnixListener; fn main() -> std::io::Result<()> { let socket = UnixListener::bind("/tmp/sock")?; let addr = socket.local_addr().expect("Couldn't get local address"); assert_eq!(addr.is_unnamed(), false); Ok(()) }
An unnamed address:
use std::os::unix::net::UnixDatagram; fn main() -> std::io::Result<()> { let socket = UnixDatagram::unbound()?; let addr = socket.local_addr().expect("Couldn't get local address"); assert_eq!(addr.is_unnamed(), true); Ok(()) }
pub fn as_pathname(&self) -> Option<&Path>
Returns the contents of this address if it is a pathname
address.
Examples
With a pathname:
use std::os::unix::net::UnixListener; use std::path::Path; fn main() -> std::io::Result<()> { let socket = UnixListener::bind("/tmp/sock")?; let addr = socket.local_addr().expect("Couldn't get local address"); assert_eq!(addr.as_pathname(), Some(Path::new("/tmp/sock"))); Ok(()) }
Without a pathname:
use std::os::unix::net::UnixDatagram; fn main() -> std::io::Result<()> { let socket = UnixDatagram::unbound()?; let addr = socket.local_addr().expect("Couldn't get local address"); assert_eq!(addr.as_pathname(), None); Ok(()) }
Trait Implementations
impl Clone for SocketAddr
fn clone(&self) -> SocketAddr
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for SocketAddr
Auto Trait Implementations
impl RefUnwindSafe for SocketAddr
impl Send for SocketAddr
impl Sync for SocketAddr
impl Unpin for SocketAddr
impl UnwindSafe for SocketAddr
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
#41263)recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 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/unix/net/struct.SocketAddr.html