pub struct Multiaddr { /* fields omitted */ }
Representation of a Multiaddr.
Create a new, empty multiaddress.
Returns the raw bytes representation of the multiaddr.
Return a copy to disallow changing the bytes directly
Produces a Multiaddr
from its bytes representation.
Extracts a slice containing the entire underlying vector.
Wrap a given Multiaddr and return the combination.
use parity_multiaddr::Multiaddr;
let address: Multiaddr = "/ip4/127.0.0.1".parse().unwrap();
let nested = address.encapsulate("/udt").unwrap();
assert_eq!(nested, "/ip4/127.0.0.1/udt".parse().unwrap());
pub fn append(&mut self, p: Protocol) | |
Adds an already-parsed address component to the end of this multiaddr.
use parity_multiaddr::{Multiaddr, Protocol};
let mut address: Multiaddr = "/ip4/127.0.0.1".parse().unwrap();
address.append(Protocol::Tcp(10000));
assert_eq!(address, "/ip4/127.0.0.1/tcp/10000".parse().unwrap());
Remove the outermost address.
use parity_multiaddr::{Multiaddr, ToMultiaddr};
let address: Multiaddr = "/ip4/127.0.0.1/udt/sctp/5678".parse().unwrap();
let unwrapped = address.decapsulate("/udt").unwrap();
assert_eq!(unwrapped, "/ip4/127.0.0.1".parse().unwrap());
assert_eq!(
address.decapsulate("/udt").unwrap(),
"/ip4/127.0.0.1".to_multiaddr().unwrap()
);
Returns the original if the passed in address is not found
use parity_multiaddr::ToMultiaddr;
let address = "/ip4/127.0.0.1/udt/sctp/5678".to_multiaddr().unwrap();
let unwrapped = address.decapsulate("/ip4/127.0.1.1").unwrap();
assert_eq!(unwrapped, address);
pub fn iter(&self) -> Iter | |
Returns the components of this multiaddress.
use std::net::Ipv4Addr;
use parity_multiaddr::{Multiaddr, Protocol};
let address: Multiaddr = "/ip4/127.0.0.1/udt/sctp/5678".parse().unwrap();
let components = address.iter().collect::<Vec<_>>();
assert_eq!(components[0], Protocol::Ip4(Ipv4Addr::new(127, 0, 0, 1)));
assert_eq!(components[1], Protocol::Udt);
assert_eq!(components[2], Protocol::Sctp(5678));
pub fn pop<'a>(&mut self) -> Option<Protocol<'a>> | |
Pops the last Protocol
of this multiaddr, or None
if the multiaddr is empty.
use parity_multiaddr::{Multiaddr, Protocol};
let mut address: Multiaddr = "/ip4/127.0.0.1/udt/sctp/5678".parse().unwrap();
assert_eq!(address.pop().unwrap(), Protocol::Sctp(5678));
assert_eq!(address.pop().unwrap(), Protocol::Udt);
Feeds this value into the given [Hasher
]. Read more
Feeds a slice of this type into the given [Hasher
]. Read more
type Err = Error
The associated error which can be returned from parsing.
Parses a string s
to return a value of this type. Read more
Formats the value using the given formatter. Read more
type Item = Protocol<'a>
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Performs copy-assignment from source
. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more
Converts this object to a Multiaddr Read more
Convert a Multiaddr to a string
use parity_multiaddr::Multiaddr;
let address: Multiaddr = "/ip4/127.0.0.1/udt".parse().unwrap();
assert_eq!(address.to_string(), "/ip4/127.0.0.1/udt");
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String
. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static