Struct asio::ip::IpAddrV6 [] [src]

pub struct IpAddrV6 {
    // some fields omitted
}

Implements IP version 6 style addresses.

Methods

impl IpAddrV6
[src]

fn new(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16) -> IpAddrV6

Constructs a IP-v6 address.

The result will represent the IP address a:b:c:d:e:f:g:h

Examples

use asio::ip::IpAddrV6;

let ip = IpAddrV6::new(0,0,0,0,0,0,0,1);

fn with_scope_id(a: u16, b: u16, c: u16, d: u16, e: u16, f: u16, g: u16, h: u16, scope_id: u32) -> IpAddrV6

Constructs a IP-v6 address with set a scope-id.

The result will represent the IP address a:b:c:d:e:f:g:h%[scope-id]

Examples

use asio::ip::IpAddrV6;

let ip = IpAddrV6::with_scope_id(0,0,0,0,0,0,0,1,0x01);

fn any() -> IpAddrV6

Constructs a unspecified IP-v6 address.

Examples

use asio::ip::IpAddrV6;

let ip = IpAddrV6::any();
assert_eq!(ip, IpAddrV6::new(0,0,0,0,0,0,0,0));

fn loopback() -> IpAddrV6

Constructs a loopback IP-v6 address.

Examples

use asio::ip::IpAddrV6;

let ip = IpAddrV6::loopback();
assert_eq!(ip, IpAddrV6::new(0,0,0,0,0,0,0,1));

fn from_bytes(bytes: [u8; 16], scope_id: u32) -> IpAddrV6

Constructs a IP-v6 address from 16-octet bytes.

Examples

use asio::ip::IpAddrV6;

let ip = IpAddrV6::from_bytes([0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14,15], 0);
assert_eq!(ip, IpAddrV6::new(0x0001, 0x0203,0x0405,0x0607,0x0809,0x0A0B, 0x0C0D, 0x0E0F));

fn get_scope_id(&self) -> u32

Returns a scope-id.

Examples

use asio::ip::IpAddrV6;

let ip = IpAddrV6::with_scope_id(0,0,0,0,0,0,0,0,0x10);
assert_eq!(ip.get_scope_id(), 16);

fn set_scope_id(&mut self, scope_id: u32)

Sets a scope-id.

Examples

use asio::ip::IpAddrV6;

let mut ip = IpAddrV6::loopback();
assert_eq!(ip.get_scope_id(), 0);

ip.set_scope_id(0x10);
assert_eq!(ip.get_scope_id(), 16);

fn is_unspecified(&self) -> bool

Returns true if this is a unspecified address.

fn is_loopback(&self) -> bool

Returns true if this is a loopback address.

Returns true if this is a link-local address.

fn is_site_local(&self) -> bool

Returns true if this is a site-local address.

fn is_multicast(&self) -> bool

Returns true if this is a some multicast address.

fn is_multicast_global(&self) -> bool

Returns true if this is a multicast address for global.

Returns true if this is a multicast address for link-local.

fn is_multicast_node_local(&self) -> bool

Returns true if this is a multicast address for node-local.

fn is_multicast_org_local(&self) -> bool

Returns true if this is a multicast address for org-local.

fn is_multicast_site_local(&self) -> bool

Returns true if this is a multicast address for site-local.

fn is_v4_mapped(&self) -> bool

Returns true if this is a mapped IP-v4 address.

fn is_v4_compatible(&self) -> bool

Returns true if this is a IP-v4 compatible address.

fn as_bytes(&self) -> &[u8; 16]

Retruns a 16 octets array.

fn to_v4(&self) -> Option<IpAddrV4>

Retruns a IP-v4 address if this is a convertable address.

fn v4_mapped(addr: &IpAddrV4) -> Self

Constructs a mapped IP-v4 address.

Ex. 192.168.0.1 => ::ffff:192.168.0.1

fn v4_compatible(addr: &IpAddrV4) -> Option<Self>

Constructs a IP-v4 compatible address if the addr isn't in 0.0.0.0, 0.0.0.1.

Ex. 192.168.0.1 => ::192.168.0.1

Trait Implementations

impl Hash for IpAddrV6
[src]

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl PartialOrd for IpAddrV6
[src]

fn partial_cmp(&self, __arg_0: &IpAddrV6) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more

fn lt(&self, __arg_0: &IpAddrV6) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more

fn le(&self, __arg_0: &IpAddrV6) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

fn gt(&self, __arg_0: &IpAddrV6) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more

fn ge(&self, __arg_0: &IpAddrV6) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for IpAddrV6
[src]

fn cmp(&self, __arg_0: &IpAddrV6) -> Ordering

This method returns an Ordering between self and other. Read more

impl PartialEq for IpAddrV6
[src]

fn eq(&self, __arg_0: &IpAddrV6) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &IpAddrV6) -> bool

This method tests for !=.

impl Eq for IpAddrV6
[src]

impl Clone for IpAddrV6
[src]

fn clone(&self) -> IpAddrV6

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

impl Default for IpAddrV6
[src]

fn default() -> IpAddrV6

Returns the "default value" for a type. Read more

impl AddAssign<i64> for IpAddrV6
[src]

fn add_assign(&mut self, rhs: i64)

The method for the += operator

impl SubAssign<i64> for IpAddrV6
[src]

fn sub_assign(&mut self, rhs: i64)

The method for the -= operator

impl Display for IpAddrV6
[src]

fn fmt(&self, f: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Debug for IpAddrV6
[src]

fn fmt(&self, f: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<P> ToEndpoint<P> for IpAddrV6
[src]

fn to_endpoint(self, port: u16) -> IpEndpoint<P>

impl<'a, P> ToEndpoint<P> for &'a IpAddrV6
[src]

fn to_endpoint(self, port: u16) -> IpEndpoint<P>

impl FromStr for IpAddrV6
[src]

type Err = Error

The associated error which can be returned from parsing.

fn from_str(s: &str) -> Result<IpAddrV6>

Parses a string s to return a value of this type. Read more