Struct sc_service::config::Multiaddr [−][src]
pub struct Multiaddr { /* fields omitted */ }
Representation of a Multiaddr.
Implementations
impl Multiaddr
[src]
impl Multiaddr
[src]pub fn empty() -> Multiaddr
[src]
Create a new, empty multiaddress.
pub fn with_capacity(n: usize) -> Multiaddr
[src]
Create a new, empty multiaddress with the given capacity.
pub fn len(&self) -> usize
[src]
Return the length in bytes of this multiaddress.
pub fn is_empty(&self) -> bool
[src]
Returns true if the length of this multiaddress is 0.
pub fn to_vec(&self) -> Vec<u8, Global>
[src]
Return a copy of this Multiaddr
’s byte representation.
pub fn push(&mut self, p: Protocol<'_>)
[src]
Adds an already-parsed address component to the end of this multiaddr.
Examples
use parity_multiaddr::{Multiaddr, Protocol}; let mut address: Multiaddr = "/ip4/127.0.0.1".parse().unwrap(); address.push(Protocol::Tcp(10000)); assert_eq!(address, "/ip4/127.0.0.1/tcp/10000".parse().unwrap());
pub fn pop<'a>(&mut self) -> Option<Protocol<'a>>
[src]
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);
pub fn with(self, p: Protocol<'_>) -> Multiaddr
[src]
Like Multiaddr::push
but consumes self
.
pub fn iter(&self) -> Iter<'_>
[src]
Returns the components of this multiaddress.
Example
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 replace<'a, F>(&self, at: usize, by: F) -> Option<Multiaddr> where
F: FnOnce(&Protocol<'_>) -> Option<Protocol<'a>>,
[src]
F: FnOnce(&Protocol<'_>) -> Option<Protocol<'a>>,
Replace a Protocol
at some position in this Multiaddr
.
The parameter at
denotes the index of the protocol at which the function
by
will be applied to the current protocol, returning an optional replacement.
If at
is out of bounds or by
does not yield a replacement value,
None
will be returned. Otherwise a copy of this Multiaddr
with the
updated Protocol
at position at
will be returned.
pub fn ends_with(&self, other: &Multiaddr) -> bool
[src]
Checks whether the given Multiaddr
is a suffix of this Multiaddr
.
Trait Implementations
impl<'de> Deserialize<'de> for Multiaddr
[src]
impl<'de> Deserialize<'de> for Multiaddr
[src]pub fn deserialize<D>(
deserializer: D
) -> Result<Multiaddr, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
deserializer: D
) -> Result<Multiaddr, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl<'a> FromIterator<Protocol<'a>> for Multiaddr
[src]
impl<'a> FromIterator<Protocol<'a>> for Multiaddr
[src]pub fn from_iter<T>(iter: T) -> Multiaddr where
T: IntoIterator<Item = Protocol<'a>>,
[src]
T: IntoIterator<Item = Protocol<'a>>,
impl<'a> IntoIterator for &'a Multiaddr
[src]
impl<'a> IntoIterator for &'a Multiaddr
[src]impl PartialOrd<Multiaddr> for Multiaddr
[src]
impl PartialOrd<Multiaddr> for Multiaddr
[src]pub fn partial_cmp(&self, other: &Multiaddr) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Serialize for Multiaddr
[src]
impl Serialize for Multiaddr
[src]pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl Eq for Multiaddr
[src]
impl StructuralEq for Multiaddr
[src]
impl StructuralPartialEq for Multiaddr
[src]
Auto Trait Implementations
impl RefUnwindSafe for Multiaddr
impl Send for Multiaddr
impl Sync for Multiaddr
impl Unpin for Multiaddr
impl UnwindSafe for Multiaddr
Blanket Implementations
impl<T, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
[src]
impl<T, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
[src]pub fn as_byte_slice(&self) -> &[u8]
[src]
impl<U> AsSliceOf for U where
U: AsRef<[u8]> + ?Sized,
[src]
impl<U> AsSliceOf for U where
U: AsRef<[u8]> + ?Sized,
[src]pub fn as_slice_of<T>(&self) -> Result<&[T], Error> where
T: FromByteSlice,
[src]
T: FromByteSlice,
impl<T> CallHasher for T where
T: Hash,
[src]
impl<T> CallHasher for T where
T: Hash,
[src]impl<T> CheckedConversion for T
[src]
impl<T> CheckedConversion for T
[src]pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]impl<Ctx, T> MeasureWith<Ctx> for T where
T: AsRef<[u8]>,
[src]
impl<Ctx, T> MeasureWith<Ctx> for T where
T: AsRef<[u8]>,
[src]pub fn measure_with(&self, _ctx: &Ctx) -> usize
[src]
impl<T> SaturatedConversion for T
[src]
impl<T> SaturatedConversion for T
[src]pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T> ToHex for T where
T: AsRef<[u8]>,
[src]
impl<T> ToHex for T where
T: AsRef<[u8]>,
[src]pub fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
[src]
U: FromIterator<char>,
pub fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
[src]
U: FromIterator<char>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]pub fn unique_saturated_into(self) -> T
[src]
impl<T> WithSubscriber for T
[src]
impl<T> WithSubscriber for T
[src]pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,
pub fn with_current_subscriber(self) -> WithDispatch<Self>
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> Erased for T
[src]
impl<T> Error for T where
T: 'static + Debug + Display + Send + Sync,
[src]
T: 'static + Debug + Display + Send + Sync,
impl<T> ExHashT for T where
T: Hash + Eq + Debug + Clone + Send + Sync + 'static,
[src]
T: Hash + Eq + Debug + Clone + Send + Sync + 'static,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeDisplay for T where
T: Display,
[src]
T: Display,
impl<T> MaybeFromStr for T where
T: FromStr,
[src]
T: FromStr,
impl<T> MaybeHash for T where
T: Hash,
[src]
T: Hash,
impl<T> MaybeHash for T where
T: Hash,
[src]
T: Hash,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> MaybeSerialize for T where
T: Serialize,
[src]
T: Serialize,
impl<T> MaybeSerializeDeserialize for T where
T: DeserializeOwned + Serialize,
[src]
T: DeserializeOwned + Serialize,
impl<T> Member for T where
T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone,
[src]
T: 'static + Send + Sync + Debug + Eq + PartialEq<T> + Clone,