Skip to content

Commit 87b2941

Browse files
authored
Merge pull request #159 from multiformats/remove-deprecated-netcodec
remove deprecated NetCodec
2 parents 80c8541 + 5e9a3ae commit 87b2941

File tree

2 files changed

+18
-71
lines changed

2 files changed

+18
-71
lines changed

net/registry.go

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -44,39 +44,6 @@ func NewCodecMap() *CodecMap {
4444
}
4545
}
4646

47-
// NetCodec is used to identify a network codec, that is, a network type for
48-
// which we are able to translate multiaddresses into standard Go net.Addr
49-
// and back.
50-
//
51-
// Deprecated: Unfortunately, these mappings aren't one to one. This abstraction
52-
// assumes that multiple "networks" can map to a single multiaddr protocol but
53-
// not the reverse. For example, this abstraction supports `tcp6, tcp4, tcp ->
54-
// /tcp/` really well but doesn't support `ip -> {/ip4/, /ip6/}`.
55-
//
56-
// Please use `RegisterFromNetAddr` and `RegisterToNetAddr` directly.
57-
type NetCodec struct {
58-
// NetAddrNetworks is an array of strings that may be returned
59-
// by net.Addr.Network() calls on addresses belonging to this type
60-
NetAddrNetworks []string
61-
62-
// ProtocolName is the string value for Multiaddr address keys
63-
ProtocolName string
64-
65-
// ParseNetAddr parses a net.Addr belonging to this type into a multiaddr
66-
ParseNetAddr FromNetAddrFunc
67-
68-
// ConvertMultiaddr converts a multiaddr of this type back into a net.Addr
69-
ConvertMultiaddr ToNetAddrFunc
70-
71-
// Protocol returns the multiaddr protocol struct for this type
72-
Protocol ma.Protocol
73-
}
74-
75-
// RegisterNetCodec adds a new NetCodec to the default codecs.
76-
func RegisterNetCodec(a *NetCodec) {
77-
defaultCodecs.RegisterNetCodec(a)
78-
}
79-
8047
// RegisterFromNetAddr registers a conversion from net.Addr instances to multiaddrs.
8148
func RegisterFromNetAddr(from FromNetAddrFunc, networks ...string) {
8249
defaultCodecs.RegisterFromNetAddr(from, networks...)
@@ -87,18 +54,6 @@ func RegisterToNetAddr(to ToNetAddrFunc, protocols ...string) {
8754
defaultCodecs.RegisterToNetAddr(to, protocols...)
8855
}
8956

90-
// RegisterNetCodec adds a new NetCodec to the CodecMap. This function is
91-
// thread safe.
92-
func (cm *CodecMap) RegisterNetCodec(a *NetCodec) {
93-
cm.lk.Lock()
94-
defer cm.lk.Unlock()
95-
for _, n := range a.NetAddrNetworks {
96-
cm.addrParsers[n] = a.ParseNetAddr
97-
}
98-
99-
cm.maddrParsers[a.ProtocolName] = a.ConvertMultiaddr
100-
}
101-
10257
// RegisterFromNetAddr registers a conversion from net.Addr instances to multiaddrs
10358
func (cm *CodecMap) RegisterFromNetAddr(from FromNetAddrFunc, networks ...string) {
10459
cm.lk.Lock()

net/registry_test.go

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,36 @@ import (
77
ma "github.com/multiformats/go-multiaddr"
88
)
99

10-
func TestRegisterSpec(t *testing.T) {
10+
func TestRegisterFrom(t *testing.T) {
1111
cm := NewCodecMap()
12-
myproto := &NetCodec{
13-
ProtocolName: "test",
14-
NetAddrNetworks: []string{"test", "iptest", "blahtest"},
15-
ConvertMultiaddr: func(a ma.Multiaddr) (net.Addr, error) { return nil, nil },
16-
ParseNetAddr: func(a net.Addr) (ma.Multiaddr, error) { return nil, nil },
17-
}
18-
19-
cm.RegisterNetCodec(myproto)
20-
21-
_, ok := cm.addrParsers["test"]
22-
if !ok {
12+
cm.RegisterFromNetAddr(
13+
func(a net.Addr) (ma.Multiaddr, error) { return nil, nil },
14+
"test", "iptest", "blahtest",
15+
)
16+
if _, ok := cm.addrParsers["test"]; !ok {
2317
t.Fatal("myproto not properly registered")
2418
}
25-
26-
_, ok = cm.addrParsers["iptest"]
27-
if !ok {
19+
if _, ok := cm.addrParsers["iptest"]; !ok {
2820
t.Fatal("myproto not properly registered")
2921
}
30-
31-
_, ok = cm.addrParsers["blahtest"]
32-
if !ok {
22+
if _, ok := cm.addrParsers["blahtest"]; !ok {
3323
t.Fatal("myproto not properly registered")
3424
}
25+
}
3526

36-
_, ok = cm.maddrParsers["test"]
37-
if !ok {
27+
func TestRegisterTo(t *testing.T) {
28+
cm := NewCodecMap()
29+
cm.RegisterToNetAddr(
30+
func(a ma.Multiaddr) (net.Addr, error) { return nil, nil },
31+
"test", "iptest", "blahtest",
32+
)
33+
if _, ok := cm.maddrParsers["test"]; !ok {
3834
t.Fatal("myproto not properly registered")
3935
}
40-
41-
_, ok = cm.maddrParsers["iptest"]
42-
if ok {
36+
if _, ok := cm.maddrParsers["iptest"]; !ok {
4337
t.Fatal("myproto not properly registered")
4438
}
45-
46-
_, ok = cm.maddrParsers["blahtest"]
47-
if ok {
39+
if _, ok := cm.maddrParsers["blahtest"]; !ok {
4840
t.Fatal("myproto not properly registered")
4941
}
5042
}

0 commit comments

Comments
 (0)