combined protocol and mux
Juan Batiz-Benet committed
Dec 29, 2014 at 19:38 UTC
0ef035ef08f15360db0950a6ee4a595b555e13e1
2 files changed
+11
-13
p2p/protocol/mux.go
renamed
+7
-8
@@ -1,4 +1,4 @@
1
-package mux
1
+package protocol
2
3
import (
4
"fmt"
@@ -8,14 +8,13 @@ import (
8
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
9
10
inet "github.com/jbenet/go-ipfs/p2p/net"
11
- protocol "github.com/jbenet/go-ipfs/p2p/protocol"
11
eventlog "github.com/jbenet/go-ipfs/util/eventlog"
12
lgbl "github.com/jbenet/go-ipfs/util/eventlog/loggables"
13
)
14
15
var log = eventlog.Logger("net/mux")
16
18
-type StreamHandlerMap map[protocol.ID]inet.StreamHandler
17
+type StreamHandlerMap map[ID]inet.StreamHandler
18
19
// Mux provides simple stream multixplexing.
20
// It helps you precisely when:
@@ -35,9 +34,9 @@ type Mux struct {
34
}
35
36
// Protocols returns the list of protocols this muxer has handlers for
38
-func (m *Mux) Protocols() []protocol.ID {
37
+func (m *Mux) Protocols() []ID {
38
m.RLock()
40
- l := make([]protocol.ID, 0, len(m.Handlers))
39
+ l := make([]ID, 0, len(m.Handlers))
40
for p := range m.Handlers {
41
l = append(l, p)
42
}
@@ -47,9 +46,9 @@ func (m *Mux) Protocols() []protocol.ID {
46
47
// readHeader reads the stream and returns the next Handler function
48
// according to the muxer encoding.
50
-func (m *Mux) readHeader(s io.Reader) (protocol.ID, inet.StreamHandler, error) {
49
+func (m *Mux) readHeader(s io.Reader) (ID, inet.StreamHandler, error) {
50
// log.Error("ReadProtocolHeader")
52
- p, err := protocol.ReadHeader(s)
51
+ p, err := ReadHeader(s)
52
if err != nil {
53
return "", nil, err
54
}
@@ -78,7 +77,7 @@ func (m *Mux) String() string {
77
78
// SetHandler sets the protocol handler on the Network's Muxer.
79
// This operation is threadsafe.
81
-func (m *Mux) SetHandler(p protocol.ID, h inet.StreamHandler) {
80
+func (m *Mux) SetHandler(p ID, h inet.StreamHandler) {
81
log.Debugf("%s setting handler for protocol: %s (%d)", m, p, len(p))
82
m.Lock()
83
m.Handlers[p] = h
p2p/protocol/mux_test.go
renamed
+4
-5
@@ -1,11 +1,10 @@
1
-package mux
1
+package protocol
2
3
import (
4
"bytes"
5
"testing"
6
7
inet "github.com/jbenet/go-ipfs/p2p/net"
8
- protocol "github.com/jbenet/go-ipfs/p2p/protocol"
8
)
9
10
var testCases = map[string]string{
@@ -18,7 +17,7 @@ var testCases = map[string]string{
17
func TestWrite(t *testing.T) {
18
for k, v := range testCases {
19
var buf bytes.Buffer
21
- if err := protocol.WriteHeader(&buf, protocol.ID(k)); err != nil {
20
+ if err := WriteHeader(&buf, ID(k)); err != nil {
21
t.Fatal(err)
22
}
23
@@ -53,13 +52,13 @@ func TestHandler(t *testing.T) {
52
continue
53
}
54
56
- name, err := protocol.ReadHeader(&buf)
55
+ name, err := ReadHeader(&buf)
56
if err != nil {
57
t.Error(err)
58
continue
59
}
60
62
- if name != protocol.ID(k) {
61
+ if name != ID(k) {
62
t.Errorf("name mismatch: %s != %s", k, name)
63
continue
64
}