Enum multiaddr::Protocol [−][src]
pub enum Protocol<'a> {}Show variants
Dccp(u16), Dns(Cow<'a, str>), Dns4(Cow<'a, str>), Dns6(Cow<'a, str>), Dnsaddr(Cow<'a, str>), Http, Https, Ip4(Ipv4Addr), Ip6(Ipv6Addr), P2pWebRtcDirect, P2pWebRtcStar, P2pWebSocketStar, Memory(u64), Onion(Cow<'a, [u8; 10]>, u16), Onion3(Onion3Addr<'a>), P2p(Multihash), P2pCircuit, Quic, Sctp(u16), Tcp(u16), Udp(u16), Udt, Unix(Cow<'a, str>), Utp, Ws(Cow<'a, str>), Wss(Cow<'a, str>),
Expand description
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
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.
Parse a single Protocol
value from its byte slice representation,
returning the protocol as well as the remaining byte slice.
Encode this protocol by writing its binary representation into
the given Write
impl.
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for Protocol<'a>
impl<'a> UnwindSafe for Protocol<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self