Unverified Commit 5c39a316 authored by Steven Allen's avatar Steven Allen Committed by GitHub

Merge pull request #152 from multiformats/fix/export-register

fix(net): export new net.Addr conversion registration functions
parents 32974f6a 1617759f
...@@ -17,13 +17,13 @@ type ToNetAddrFunc func(ma ma.Multiaddr) (net.Addr, error) ...@@ -17,13 +17,13 @@ type ToNetAddrFunc func(ma ma.Multiaddr) (net.Addr, error)
var defaultCodecs = NewCodecMap() var defaultCodecs = NewCodecMap()
func init() { func init() {
defaultCodecs.RegisterFromNetAddr(parseTCPNetAddr, "tcp", "tcp4", "tcp6") RegisterFromNetAddr(parseTCPNetAddr, "tcp", "tcp4", "tcp6")
defaultCodecs.RegisterFromNetAddr(parseUDPNetAddr, "udp", "udp4", "udp6") RegisterFromNetAddr(parseUDPNetAddr, "udp", "udp4", "udp6")
defaultCodecs.RegisterFromNetAddr(parseIPNetAddr, "ip", "ip4", "ip6") RegisterFromNetAddr(parseIPNetAddr, "ip", "ip4", "ip6")
defaultCodecs.RegisterFromNetAddr(parseIPPlusNetAddr, "ip+net") RegisterFromNetAddr(parseIPPlusNetAddr, "ip+net")
defaultCodecs.RegisterFromNetAddr(parseUnixNetAddr, "unix") RegisterFromNetAddr(parseUnixNetAddr, "unix")
defaultCodecs.RegisterToNetAddr(parseBasicNetMaddr, "tcp", "udp", "ip6", "ip4", "unix") RegisterToNetAddr(parseBasicNetMaddr, "tcp", "udp", "ip6", "ip4", "unix")
} }
// CodecMap holds a map of NetCodecs indexed by their Protocol ID // CodecMap holds a map of NetCodecs indexed by their Protocol ID
...@@ -77,6 +77,16 @@ func RegisterNetCodec(a *NetCodec) { ...@@ -77,6 +77,16 @@ func RegisterNetCodec(a *NetCodec) {
defaultCodecs.RegisterNetCodec(a) defaultCodecs.RegisterNetCodec(a)
} }
// RegisterFromNetAddr registers a conversion from net.Addr instances to multiaddrs.
func RegisterFromNetAddr(from FromNetAddrFunc, networks ...string) {
defaultCodecs.RegisterFromNetAddr(from, networks...)
}
// RegisterToNetAddr registers a conversion from multiaddrs to net.Addr instances.
func RegisterToNetAddr(to ToNetAddrFunc, protocols ...string) {
defaultCodecs.RegisterToNetAddr(to, protocols...)
}
// RegisterNetCodec adds a new NetCodec to the CodecMap. This function is // RegisterNetCodec adds a new NetCodec to the CodecMap. This function is
// thread safe. // thread safe.
func (cm *CodecMap) RegisterNetCodec(a *NetCodec) { func (cm *CodecMap) RegisterNetCodec(a *NetCodec) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment