[][src]Enum bp7::eid::EndpointID

pub enum EndpointID {
    DtnNone(u8u8),
    Dtn(u8String),
    Ipn(u8IpnAddress),
}

Examples

use bp7::eid::*;

let cbor_eid = [130, 1, 106, 110, 111, 100, 101, 49, 47, 116, 101, 115, 116];
let deserialized: EndpointID = serde_cbor::from_slice(&cbor_eid).unwrap();
assert_eq!(deserialized, EndpointID::Dtn(ENDPOINT_URI_SCHEME_DTN, "node1/test".to_string()))

Variants

DtnNone(u8u8)Dtn(u8String)Ipn(u8IpnAddress)

Methods

impl EndpointID[src]

pub fn new() -> EndpointID[src]

pub fn with_dtn(addr: String) -> EndpointID[src]

Examples

use bp7::eid::*;

assert_eq!(EndpointID::with_dtn("node1".to_string()),EndpointID::Dtn(ENDPOINT_URI_SCHEME_DTN,"node1".to_string()));

assert_eq!(EndpointID::with_dtn("node1/endpoint1".to_string()),EndpointID::Dtn(ENDPOINT_URI_SCHEME_DTN,"node1/endpoint1".to_string()));

pub fn with_dtn_none() -> EndpointID[src]

Examples

use bp7::eid::*;

assert_eq!(EndpointID::with_dtn_none(), EndpointID::DtnNone(ENDPOINT_URI_SCHEME_DTN,0));

pub fn with_ipn(addr: IpnAddress) -> EndpointID[src]

Examples

use bp7::eid::*;

assert_eq!(EndpointID::with_ipn( IpnAddress(23, 42) ), EndpointID::Ipn(ENDPOINT_URI_SCHEME_IPN, IpnAddress(23, 42)) );

pub fn get_scheme(&self) -> String[src]

pub fn get_scheme_specific_part_dtn(&self) -> Option<String>[src]

pub fn to_string(&self) -> String[src]

impl EndpointID[src]

pub fn validation_error(&self) -> Option<Bp7Error>[src]

Examples

use bp7::eid::*;

let eid = EndpointID::DtnNone(1, 0);
assert_eq!(eid.validation_error().is_none(), true); // should not fail

let eid = EndpointID::DtnNone(0, 0);
assert_eq!(eid.validation_error().is_some(), true); // should fail   
let eid = EndpointID::DtnNone(1, 1);
assert_eq!(eid.validation_error().is_some(), true); // should fail   

let eid = EndpointID::Ipn(2, IpnAddress(23, 42));
assert_eq!(eid.validation_error().is_none(), true); // should not fail
let eid = EndpointID::Ipn(1, IpnAddress(23, 42));
assert_eq!(eid.validation_error().is_some(), true); // should fail   
let eid = EndpointID::Ipn(2, IpnAddress(0, 0));
assert_eq!(eid.validation_error().is_some(), true); // should fail   

Trait Implementations

impl PartialEq<EndpointID> for EndpointID[src]

impl Clone for EndpointID[src]

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

Performs copy-assignment from source. Read more

impl From<String> for EndpointID[src]

Load EndpointID from URL string. Support for IPN and dtn schemes.

Examples

use bp7::eid::*;

let eid = EndpointID::from("dtn://none".to_string());
assert_eq!(eid, EndpointID::DtnNone(ENDPOINT_URI_SCHEME_DTN, 0));

let eid = EndpointID::from("dtn:none".to_string());
assert_eq!(eid, EndpointID::DtnNone(ENDPOINT_URI_SCHEME_DTN, 0));

let eid = EndpointID::from("dtn://node1/endpoint1".to_string());
assert_eq!(eid, EndpointID::Dtn(ENDPOINT_URI_SCHEME_DTN, "node1/endpoint1".to_string()));

let eid = EndpointID::from("dtn:node1/endpoint1".to_string());
assert_eq!(eid, EndpointID::Dtn(ENDPOINT_URI_SCHEME_DTN, "node1/endpoint1".to_string()));
   

impl Default for EndpointID[src]

impl Debug for EndpointID[src]

impl Display for EndpointID[src]

impl Serialize for EndpointID[src]

impl<'de> Deserialize<'de> for EndpointID[src]

Auto Trait Implementations

impl Send for EndpointID

impl Sync for EndpointID

Blanket Implementations

impl<T> From for T[src]

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

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

type Owned = T

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

impl<T, U> TryInto 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> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]