| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
LibP2P.Multiaddr
Description
A multiaddr is a binary-encoded, composable network address that describes the entire protocol stack needed to reach a peer.
Synopsis
- newtype Multiaddr = Multiaddr [Protocol]
- fromText :: Text -> Either String Multiaddr
- toText :: Multiaddr -> Text
- fromBytes :: ByteString -> Either String Multiaddr
- toBytes :: Multiaddr -> ByteString
- encapsulate :: Multiaddr -> Multiaddr -> Multiaddr
- decapsulate :: Multiaddr -> Multiaddr -> Multiaddr
- protocols :: Multiaddr -> [Protocol]
- splitP2P :: Multiaddr -> Maybe (Multiaddr, PeerId)
Documentation
A multiaddr is a list of protocol components.
fromText :: Text -> Either String Multiaddr Source #
Parse a multiaddr from its text representation (e.g. "ip4127.0.0.1tcp4001").
toBytes :: Multiaddr -> ByteString Source #
Encode a multiaddr to binary format.
encapsulate :: Multiaddr -> Multiaddr -> Multiaddr Source #
Encapsulate: append another multiaddr's protocols.
decapsulate :: Multiaddr -> Multiaddr -> Multiaddr Source #
Decapsulate: remove the last occurrence of the given suffix multiaddr
and everything after it (specs/addressing). Returns the original
multiaddr unchanged when the suffix does not occur. Decapsulating the
empty multiaddr is a no-op, making decapsulate a left inverse of
encapsulate: decapsulate (encapsulate a b) b == a for non-empty b.