1.10.0[][src]Struct std::os::unix::net::SocketAddr

pub struct SocketAddr { /* fields omitted */ }
This is supported on Unix only.

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");Run

Methods

impl SocketAddr[src]

pub fn is_unnamed(&self) -> bool[src]

This is supported on Unix only.

Returns true if the address is unnamed.

Examples

A named address:

use std::os::unix::net::UnixListener;

let socket = UnixListener::bind("/tmp/sock").unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.is_unnamed(), false);Run

An unnamed address:

use std::os::unix::net::UnixDatagram;

let socket = UnixDatagram::unbound().unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.is_unnamed(), true);Run

pub fn as_pathname(&self) -> Option<&Path>[src]

This is supported on Unix only.

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;

let socket = UnixListener::bind("/tmp/sock").unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.as_pathname(), Some(Path::new("/tmp/sock")));Run

Without a pathname:

use std::os::unix::net::UnixDatagram;

let socket = UnixDatagram::unbound().unwrap();
let addr = socket.local_addr().expect("Couldn't get local address");
assert_eq!(addr.as_pathname(), None);Run

Trait Implementations

impl Debug for SocketAddr[src]

impl Clone for SocketAddr[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl UnwindSafe for SocketAddr

impl RefUnwindSafe for SocketAddr

impl Unpin for SocketAddr

impl Send for SocketAddr

impl Sync for SocketAddr

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.