From 5e9a3ae8cb66cd5c036dde777f0141e56c470f67 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 23 Jul 2021 11:31:01 +0200 Subject: [PATCH] remove deprecated NetCodec --- net/registry.go | 45 -------------------------------------------- net/registry_test.go | 44 ++++++++++++++++++------------------------- 2 files changed, 18 insertions(+), 71 deletions(-) diff --git a/net/registry.go b/net/registry.go index 2de8c9c..7883b95 100644 --- a/net/registry.go +++ b/net/registry.go @@ -44,39 +44,6 @@ func NewCodecMap() *CodecMap { } } -// NetCodec is used to identify a network codec, that is, a network type for -// which we are able to translate multiaddresses into standard Go net.Addr -// and back. -// -// Deprecated: Unfortunately, these mappings aren't one to one. This abstraction -// assumes that multiple "networks" can map to a single multiaddr protocol but -// not the reverse. For example, this abstraction supports `tcp6, tcp4, tcp -> -// /tcp/` really well but doesn't support `ip -> {/ip4/, /ip6/}`. -// -// Please use `RegisterFromNetAddr` and `RegisterToNetAddr` directly. -type NetCodec struct { - // NetAddrNetworks is an array of strings that may be returned - // by net.Addr.Network() calls on addresses belonging to this type - NetAddrNetworks []string - - // ProtocolName is the string value for Multiaddr address keys - ProtocolName string - - // ParseNetAddr parses a net.Addr belonging to this type into a multiaddr - ParseNetAddr FromNetAddrFunc - - // ConvertMultiaddr converts a multiaddr of this type back into a net.Addr - ConvertMultiaddr ToNetAddrFunc - - // Protocol returns the multiaddr protocol struct for this type - Protocol ma.Protocol -} - -// RegisterNetCodec adds a new NetCodec to the default codecs. -func RegisterNetCodec(a *NetCodec) { - defaultCodecs.RegisterNetCodec(a) -} - // RegisterFromNetAddr registers a conversion from net.Addr instances to multiaddrs. func RegisterFromNetAddr(from FromNetAddrFunc, networks ...string) { defaultCodecs.RegisterFromNetAddr(from, networks...) @@ -87,18 +54,6 @@ func RegisterToNetAddr(to ToNetAddrFunc, protocols ...string) { defaultCodecs.RegisterToNetAddr(to, protocols...) } -// RegisterNetCodec adds a new NetCodec to the CodecMap. This function is -// thread safe. -func (cm *CodecMap) RegisterNetCodec(a *NetCodec) { - cm.lk.Lock() - defer cm.lk.Unlock() - for _, n := range a.NetAddrNetworks { - cm.addrParsers[n] = a.ParseNetAddr - } - - cm.maddrParsers[a.ProtocolName] = a.ConvertMultiaddr -} - // RegisterFromNetAddr registers a conversion from net.Addr instances to multiaddrs func (cm *CodecMap) RegisterFromNetAddr(from FromNetAddrFunc, networks ...string) { cm.lk.Lock() diff --git a/net/registry_test.go b/net/registry_test.go index b3777ca..9aaf4de 100644 --- a/net/registry_test.go +++ b/net/registry_test.go @@ -7,44 +7,36 @@ import ( ma "github.com/multiformats/go-multiaddr" ) -func TestRegisterSpec(t *testing.T) { +func TestRegisterFrom(t *testing.T) { cm := NewCodecMap() - myproto := &NetCodec{ - ProtocolName: "test", - NetAddrNetworks: []string{"test", "iptest", "blahtest"}, - ConvertMultiaddr: func(a ma.Multiaddr) (net.Addr, error) { return nil, nil }, - ParseNetAddr: func(a net.Addr) (ma.Multiaddr, error) { return nil, nil }, - } - - cm.RegisterNetCodec(myproto) - - _, ok := cm.addrParsers["test"] - if !ok { + cm.RegisterFromNetAddr( + func(a net.Addr) (ma.Multiaddr, error) { return nil, nil }, + "test", "iptest", "blahtest", + ) + if _, ok := cm.addrParsers["test"]; !ok { t.Fatal("myproto not properly registered") } - - _, ok = cm.addrParsers["iptest"] - if !ok { + if _, ok := cm.addrParsers["iptest"]; !ok { t.Fatal("myproto not properly registered") } - - _, ok = cm.addrParsers["blahtest"] - if !ok { + if _, ok := cm.addrParsers["blahtest"]; !ok { t.Fatal("myproto not properly registered") } +} - _, ok = cm.maddrParsers["test"] - if !ok { +func TestRegisterTo(t *testing.T) { + cm := NewCodecMap() + cm.RegisterToNetAddr( + func(a ma.Multiaddr) (net.Addr, error) { return nil, nil }, + "test", "iptest", "blahtest", + ) + if _, ok := cm.maddrParsers["test"]; !ok { t.Fatal("myproto not properly registered") } - - _, ok = cm.maddrParsers["iptest"] - if ok { + if _, ok := cm.maddrParsers["iptest"]; !ok { t.Fatal("myproto not properly registered") } - - _, ok = cm.maddrParsers["blahtest"] - if ok { + if _, ok := cm.maddrParsers["blahtest"]; !ok { t.Fatal("myproto not properly registered") } }