Enum multiaddr::Protocol [−][src]
pub enum Protocol<'a> {
Show 26 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)
Tuple Fields of Dccp
0: u16
Ip4(Ipv4Addr)
Tuple Fields of Ip4
0: Ipv4Addr
Ip6(Ipv6Addr)
Tuple Fields of Ip6
0: Ipv6Addr
Memory(u64)
Contains the “port” to contact. Similar to TCP or UDP, 0 means “assign me a port”.
Tuple Fields of Memory
0: u64
Onion3(Onion3Addr<'a>)
Tuple Fields of Onion3
0: Onion3Addr<'a>
P2p(Multihash)
Tuple Fields of P2p
0: Multihash
Sctp(u16)
Tuple Fields of Sctp
0: u16
Tcp(u16)
Tuple Fields of Tcp
0: u16
Udp(u16)
Tuple Fields of Udp
0: 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