pub enum Protocol<'a> {
Dns4(Cow<'a, str>),
Dns6(Cow<'a, str>),
Ip4(Ipv4Addr),
Ip6(Ipv6Addr),
P2P(Cow<'a, [u8]>),
Tcp(u16),
Tls(Cow<'a, str>),
Ws,
Wss,
Memory(u64),
Onion3(Onion3Addr<'a>),
}
Expand description
Protocol
describes all possible multiaddress protocols.
Variants§
Dns4(Cow<'a, str>)
Dns6(Cow<'a, str>)
Ip4(Ipv4Addr)
Ip6(Ipv6Addr)
P2P(Cow<'a, [u8]>)
Tcp(u16)
Tls(Cow<'a, str>)
Ws
Wss
Memory(u64)
Contains the “port” to contact. Similar to TCP or UDP, 0 means “assign me a port”.
Onion3(Onion3Addr<'a>)
Implementations§
Source§impl<'a> Protocol<'a>
impl<'a> Protocol<'a>
Sourcepub fn from_str_peek<T>(iter: T) -> Result<Self, Error>
pub fn from_str_peek<T>(iter: T) -> Result<Self, Error>
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.
Sourcepub fn from_bytes(input: &'a [u8]) -> Result<(Self, &'a [u8]), Error>
pub fn from_bytes(input: &'a [u8]) -> Result<(Self, &'a [u8]), Error>
Parse a single Protocol
value from its byte slice representation,
returning the protocol as well as the remaining byte slice.
Sourcepub fn write_to_bytes<W: BufMut>(&self, w: &mut W)
pub fn write_to_bytes<W: BufMut>(&self, w: &mut W)
Encode this protocol by writing its binary representation into
the given BufMut
impl.
Trait Implementations§
Source§impl<'a> FromIterator<Protocol<'a>> for Multiaddr
impl<'a> FromIterator<Protocol<'a>> for Multiaddr
impl<'a> Eq for Protocol<'a>
impl<'a> StructuralPartialEq for Protocol<'a>
Auto Trait Implementations§
impl<'a> Freeze for Protocol<'a>
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§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more