Enum parity_multiaddr::Protocol [−][src]
Protocol
describes all possible multiaddress protocols.
For Unix
, Ws
and Wss
we use &str
instead of Path
to allow
cross-platform usage of Protocol
since encoding Paths
to bytes is
platform-specific. This means that the actual validation of paths needs to
happen separately.
Variants
Dccp(u16)
Ip4(Ipv4Addr)
Ip6(Ipv6Addr)
Memory(u64)
Contains the “port” to contact. Similar to TCP or UDP, 0 means “assign me a port”.
Onion3(Onion3Addr<'a>)
P2p(Multihash)
Sctp(u16)
Tcp(u16)
Udp(u16)
Implementations
impl<'a> Protocol<'a>
[src]
pub fn from_str_parts<I>(iter: I) -> Result<Self> where
I: Iterator<Item = &'a str>,
[src]
I: Iterator<Item = &'a str>,
Parse a protocol value from the given iterator of string slices.
The parsing only consumes the minimum amount of string slices necessary to produce a well-formed protocol. The same iterator can thus be used to parse a sequence of protocols in succession. It is up to client code to check that iteration has finished whenever appropriate.
pub fn from_bytes(input: &'a [u8]) -> Result<(Self, &'a [u8])>
[src]
Parse a single Protocol
value from its byte slice representation,
returning the protocol as well as the remaining byte slice.
pub fn write_bytes<W: Write>(&self, w: &mut W) -> Result<()>
[src]
Encode this protocol by writing its binary representation into
the given Write
impl.
pub fn acquire<'b>(self) -> Protocol<'b>
[src]
Turn this Protocol
into one that owns its data, thus being valid for any lifetime.
Trait Implementations
impl<'a> Clone for Protocol<'a>
[src]
impl<'a> Debug for Protocol<'a>
[src]
impl<'a> Display for Protocol<'a>
[src]
impl<'a> Eq for Protocol<'a>
[src]
impl<'a> From<IpAddr> for Protocol<'a>
[src]
impl<'a> From<Ipv4Addr> for Protocol<'a>
[src]
impl<'a> From<Ipv6Addr> for Protocol<'a>
[src]
impl<'a> From<Protocol<'a>> for Multiaddr
[src]
impl<'a> FromIterator<Protocol<'a>> for Multiaddr
[src]
fn from_iter<T>(iter: T) -> Self where
T: IntoIterator<Item = Protocol<'a>>,
[src]
T: IntoIterator<Item = Protocol<'a>>,
impl<'a> PartialEq<Protocol<'a>> for Protocol<'a>
[src]
impl<'a> StructuralEq for Protocol<'a>
[src]
impl<'a> StructuralPartialEq for Protocol<'a>
[src]
Auto Trait Implementations
impl<'a> RefUnwindSafe for Protocol<'a>
impl<'a> Send for Protocol<'a>
impl<'a> Sync for Protocol<'a>
impl<'a> Unpin for Protocol<'a>
impl<'a> UnwindSafe for Protocol<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,