-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A network address format -- -- Multiaddr is a self-describing network address format supporting a -- variety of protocols, with both string and binary representations. @package multiaddr @version 0.3.0 -- | Multiaddr is a self-describing network address format supporting a -- variety of protocols, with both string and binary representations. module Network.Multiaddr -- | A network address. data Multiaddr -- | Try to read a multiaddr in the standard text format (e.g. -- "/ip4/8.8.8.8/tcp/80") readMultiaddr :: Text -> Maybe Multiaddr -- | Encode a multiaddr using the standard binary represenation. encode :: Multiaddr -> ByteString -- | Try to decode a binary-encoded multiaddr. decode :: ByteString -> Maybe Multiaddr -- | Render an address to its standard text representation. class TextAddr a toText :: TextAddr a => a -> Text -- | Append two multiaddrs (alias for (<>)) encapsulate :: Multiaddr -> Multiaddr -> Multiaddr -- | Get the individual parts of the multiaddr, in order (e.g. -- ["/ip4/8.8.8.8", "/tcp/80"]) parts :: Multiaddr -> [MultiaddrPart] -- | Get an ordered list of the protocols specified by the multiaddr. -- Protocols can appear more than once if they are repeated in the -- multiaddr. protocolNames :: Multiaddr -> [Text] -- | Does the multiaddr contain an IPv4 part? hasIPv4 :: Multiaddr -> Bool -- | Does the multiaddr contain an IPv6 part? hasIPv6 :: Multiaddr -> Bool -- | Does the multiaddr contain a UDP part? hasUDP :: Multiaddr -> Bool -- | Does the multiaddr contain a TCP part? hasTCP :: Multiaddr -> Bool -- | Does the multiaddr contain a UDT part? hasUDT :: Multiaddr -> Bool -- | Does the multiaddr contain a UTP part? hasUTP :: Multiaddr -> Bool -- | Does the multiaddr contain a DCCP part? hasDCCP :: Multiaddr -> Bool -- | Does the multiaddr contain an SCTP part? hasSCTP :: Multiaddr -> Bool -- | Does the multiaddr contain an IPFS part? hasIPFS :: Multiaddr -> Bool -- | An individual component of a multiaddr. data MultiaddrPart IPv4 :: !IPv4Addr -> MultiaddrPart IPv6 :: !IPv6Addr -> MultiaddrPart UDP :: !Word16 -> MultiaddrPart TCP :: !Word16 -> MultiaddrPart DCCP :: !Word16 -> MultiaddrPart SCTP :: !Word16 -> MultiaddrPart IPFS :: !ByteString -> MultiaddrPart UDT :: MultiaddrPart UTP :: MultiaddrPart HTTP :: MultiaddrPart HTTPS :: MultiaddrPart -- | An IPv4 address. data IPv4Addr IPv4Addr :: {-# UNPACK #-} !Word32 -> IPv4Addr -- | Try to read an IPv4 address (e.g. "192.168.1.2") readIPv4Addr :: Text -> Maybe IPv4Addr -- | An IPv6 address. data IPv6Addr IPv6Addr :: {-# UNPACK #-} !Word32 -> {-# UNPACK #-} !Word32 -> {-# UNPACK #-} !Word32 -> {-# UNPACK #-} !Word32 -> IPv6Addr -- | Try to read an IPv6 address (e.g. -- "2001:db8:85a3:8d3:1319:8a2e:370:7348") readIPv6Addr :: Text -> Maybe IPv6Addr instance GHC.Generics.Selector Network.Multiaddr.S1_0_0Multiaddr instance GHC.Generics.Constructor Network.Multiaddr.C1_0Multiaddr instance GHC.Generics.Datatype Network.Multiaddr.D1Multiaddr instance GHC.Generics.Constructor Network.Multiaddr.C1_10MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_9MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_8MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_7MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_6MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_5MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_4MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_3MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_2MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_1MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_0MultiaddrPart instance GHC.Generics.Datatype Network.Multiaddr.D1MultiaddrPart instance GHC.Generics.Constructor Network.Multiaddr.C1_0IPv6Addr instance GHC.Generics.Datatype Network.Multiaddr.D1IPv6Addr instance GHC.Generics.Constructor Network.Multiaddr.C1_0IPv4Addr instance GHC.Generics.Datatype Network.Multiaddr.D1IPv4Addr instance GHC.Generics.Generic Network.Multiaddr.Multiaddr instance GHC.Base.Monoid Network.Multiaddr.Multiaddr instance GHC.Classes.Eq Network.Multiaddr.Multiaddr instance GHC.Generics.Generic Network.Multiaddr.MultiaddrPart instance GHC.Classes.Eq Network.Multiaddr.MultiaddrPart instance GHC.Generics.Generic Network.Multiaddr.IPv6Addr instance GHC.Enum.Bounded Network.Multiaddr.IPv6Addr instance GHC.Classes.Ord Network.Multiaddr.IPv6Addr instance GHC.Classes.Eq Network.Multiaddr.IPv6Addr instance GHC.Generics.Generic Network.Multiaddr.IPv4Addr instance GHC.Enum.Bounded Network.Multiaddr.IPv4Addr instance GHC.Classes.Ord Network.Multiaddr.IPv4Addr instance GHC.Classes.Eq Network.Multiaddr.IPv4Addr instance Data.Hashable.Class.Hashable Network.Multiaddr.IPv4Addr instance Data.Serialize.Serialize Network.Multiaddr.IPv4Addr instance Data.Hashable.Class.Hashable Network.Multiaddr.IPv6Addr instance Data.Serialize.Serialize Network.Multiaddr.IPv6Addr instance Network.Multiaddr.TextAddr Network.Multiaddr.IPv4Addr instance Network.Multiaddr.TextAddr Network.Multiaddr.IPv6Addr instance GHC.Show.Show Network.Multiaddr.IPv4Addr instance GHC.Show.Show Network.Multiaddr.IPv6Addr instance Data.Hashable.Class.Hashable Network.Multiaddr.MultiaddrPart instance Data.Serialize.Serialize Network.Multiaddr.MultiaddrPart instance Data.Hashable.Class.Hashable Network.Multiaddr.Multiaddr instance Data.Serialize.Serialize Network.Multiaddr.Multiaddr instance Network.Multiaddr.TextAddr Network.Multiaddr.MultiaddrPart instance GHC.Show.Show Network.Multiaddr.MultiaddrPart instance Network.Multiaddr.TextAddr Network.Multiaddr.Multiaddr instance GHC.Show.Show Network.Multiaddr.Multiaddr