Versions in this module Expand all Collapse all v1 v1.1.0 Aug 5, 2025 v0 v0.1.0 Aug 5, 2025 Changes in this version + const LengthPrefixedVarSize + const P_CERTHASH + const P_CIRCUIT + const P_DCCP + const P_DNS + const P_DNS4 + const P_DNS6 + const P_DNSADDR + const P_GARLIC32 + const P_GARLIC64 + const P_HTTP + const P_HTTPS + const P_HTTP_PATH + const P_IP4 + const P_IP6 + const P_IP6ZONE + const P_IPCIDR + const P_IPFS + const P_MEMORY + const P_NOISE + const P_ONION + const P_ONION3 + const P_P2P + const P_P2P_WEBRTC_DIRECT + const P_PLAINTEXTV2 + const P_QUIC + const P_QUIC_V1 + const P_SCTP + const P_SNI + const P_TCP + const P_TLS + const P_UDP + const P_UDT + const P_UNIX + const P_UTP + const P_WEBRTC + const P_WEBRTC_DIRECT + const P_WEBTRANSPORT + const P_WS + const P_WSS + var ErrProtocolNotFound = fmt.Errorf("protocol not found in multiaddr") + var Protocols = []Protocol + var TranscoderCertHash = NewTranscoderFromFunctions(certHashStB, certHashBtS, validateCertHash) + var TranscoderDns = NewTranscoderFromFunctions(dnsStB, dnsBtS, dnsVal) + var TranscoderGarlic32 = NewTranscoderFromFunctions(garlic32StB, garlic32BtS, garlic32Validate) + var TranscoderGarlic64 = NewTranscoderFromFunctions(garlic64StB, garlic64BtS, garlic64Validate) + var TranscoderHTTPPath = NewTranscoderFromFunctions(httpPathStB, httpPathBtS, validateHTTPPath) + var TranscoderIP4 = NewTranscoderFromFunctions(ip4StB, ip4BtS, nil) + var TranscoderIP6 = NewTranscoderFromFunctions(ip6StB, ip6BtS, nil) + var TranscoderIP6Zone = NewTranscoderFromFunctions(ip6zoneStB, ip6zoneBtS, ip6zoneVal) + var TranscoderIPCIDR = NewTranscoderFromFunctions(ipcidrStB, ipcidrBtS, ipcidrValidate) + var TranscoderMemory = NewTranscoderFromFunctions(memoryStB, memoryBtS, memoryValidate) + var TranscoderOnion = NewTranscoderFromFunctions(onionStB, onionBtS, onionValidate) + var TranscoderOnion3 = NewTranscoderFromFunctions(onion3StB, onion3BtS, onion3Validate) + var TranscoderP2P = NewTranscoderFromFunctions(p2pStB, p2pBtS, p2pVal) + var TranscoderPort = NewTranscoderFromFunctions(portStB, portBtS, nil) + var TranscoderUnix = NewTranscoderFromFunctions(unixStB, unixBtS, unixValidate) + func AddProtocol(p Protocol) error + func CaptureAddrPort(network *string, ipPort *netip.AddrPort) (capturePattern meg.Pattern) + func CodeToVarint(num int) []byte + func Contains(addrs []Multiaddr, addr Multiaddr) bool + func ForEach(m Multiaddr, cb func(c Component) bool) + func ReadVarintCode(b []byte) (int, int, error) + func SplitFirst(m Multiaddr) (*Component, Multiaddr) + func SplitFunc(m Multiaddr, cb func(Component) bool) (Multiaddr, Multiaddr) + func SplitLast(m Multiaddr) (Multiaddr, *Component) + type Action int32 + const ActionAccept + const ActionDeny + const ActionNone + type Component struct + func NewComponent(protocol, value string) (*Component, error) + func Split(m Multiaddr) []Component + func (c *Component) Bytes() []byte + func (c *Component) Code() int + func (c *Component) Compare(o *Component) int + func (c *Component) Decapsulate(o Multiaddrer) Multiaddr + func (c *Component) Encapsulate(o Multiaddrer) Multiaddr + func (c *Component) Equal(o *Component) bool + func (c *Component) MarshalBinary() ([]byte, error) + func (c *Component) MarshalJSON() ([]byte, error) + func (c *Component) MarshalText() ([]byte, error) + func (c *Component) Multiaddr() Multiaddr + func (c *Component) Protocol() Protocol + func (c *Component) Protocols() []Protocol + func (c *Component) RawValue() []byte + func (c *Component) String() string + func (c *Component) UnmarshalBinary(data []byte) error + func (c *Component) UnmarshalJSON(data []byte) error + func (c *Component) UnmarshalText(data []byte) error + func (c *Component) Value() string + func (c *Component) ValueForProtocol(code int) (string, error) + type Filters struct + DefaultAction Action + func NewFilters() *Filters + func (fs *Filters) ActionForFilter(ipnet net.IPNet) (action Action, ok bool) + func (fs *Filters) AddFilter(ipnet net.IPNet, action Action) + func (fs *Filters) AddrBlocked(a Multiaddr) (deny bool) + func (fs *Filters) FiltersForAction(action Action) (result []net.IPNet) + func (fs *Filters) RemoveLiteral(ipnet net.IPNet) (removed bool) + type Multiaddr []Component + func Cast(b []byte) Multiaddr + func FilterAddrs(a []Multiaddr, filters ...func(Multiaddr) bool) []Multiaddr + func Join(msInterfaces ...Multiaddrer) Multiaddr + func NewMultiaddr(s string) (a Multiaddr, err error) + func NewMultiaddrBytes(b []byte) (a Multiaddr, err error) + func StringCast(s string) Multiaddr + func Unique(addrs []Multiaddr) []Multiaddr + func (m *Multiaddr) UnmarshalBinary(data []byte) error + func (m *Multiaddr) UnmarshalJSON(data []byte) error + func (m *Multiaddr) UnmarshalText(data []byte) error + func (m Multiaddr) AppendComponent(cs ...*Component) Multiaddr + func (m Multiaddr) Bytes() []byte + func (m Multiaddr) Compare(o Multiaddr) int + func (m Multiaddr) Decapsulate(rightPartsAny Multiaddrer) Multiaddr + func (m Multiaddr) Encapsulate(other Multiaddrer) Multiaddr + func (m Multiaddr) Equal(m2 Multiaddr) bool + func (m Multiaddr) MarshalBinary() ([]byte, error) + func (m Multiaddr) MarshalJSON() ([]byte, error) + func (m Multiaddr) MarshalText() ([]byte, error) + func (m Multiaddr) Match(p ...meg.Pattern) (bool, error) + func (m Multiaddr) Multiaddr() Multiaddr + func (m Multiaddr) Protocols() []Protocol + func (m Multiaddr) String() string + func (m Multiaddr) ValueForProtocol(code int) (value string, err error) + type Multiaddrer interface + Multiaddr func() Multiaddr + type Protocol struct + Code int + Name string + Path bool + Size int + Transcoder Transcoder + VCode []byte + func ProtocolWithCode(c int) Protocol + func ProtocolWithName(s string) Protocol + func ProtocolsWithString(s string) ([]Protocol, error) + type Transcoder interface + BytesToString func([]byte) (string, error) + StringToBytes func(string) ([]byte, error) + ValidateBytes func([]byte) error + func NewTranscoderFromFunctions(s2b func(string) ([]byte, error), b2s func([]byte) (string, error), ...) Transcoder