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 = TShould always be Self