refac(bitswap) let adapter be created with nil delegate
yay deleting code.
Brian Tiger Chow committed
Sep 18, 2014 at 19:26 UTC
252be07ec5eac30a154e9ec170d397493e0ee6c7
3 files changed
+3
-58
exchange/bitswap/bitswap.go
+3
-4
@@ -31,16 +31,15 @@ type Routing interface {
31
// NewSession initializes a bitswap session.
32
func NewSession(parent context.Context, s bsnet.NetworkService, p *peer.Peer, d ds.Datastore, directory Routing) exchange.Interface {
33
34
- // FIXME(brian): instantiate a concrete Strategist
35
- receiver := bsnet.Forwarder{}
34
+ adapter := bsnet.NewNetworkAdapter(s, nil)
35
bs := &bitswap{
36
blockstore: blockstore.NewBlockstore(d),
37
notifications: notifications.New(),
38
strategy: strategy.New(),
39
routing: directory,
41
- sender: bsnet.NewNetworkAdapter(s, &receiver),
40
+ sender: adapter,
41
}
43
- receiver.Delegate(bs)
42
+ adapter.SetDelegate(bs)
43
44
return bs
45
}
exchange/bitswap/network/forwarder.go
deleted
-28
@@ -1,28 +0,0 @@
1
-package network
2
-
3
-import (
4
- context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
5
- bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
6
- peer "github.com/jbenet/go-ipfs/peer"
7
-)
8
-
9
-// Forwarder receives messages and forwards them to the delegate.
10
-//
11
-// Forwarder breaks the circular dependency between the BitSwap Session and the
12
-// Network Service.
13
-type Forwarder struct {
14
- delegate Receiver
15
-}
16
-
17
-func (r *Forwarder) ReceiveMessage(
18
- ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
19
- *peer.Peer, bsmsg.BitSwapMessage, error) {
20
- if r.delegate == nil {
21
- return nil, nil, nil
22
- }
23
- return r.delegate.ReceiveMessage(ctx, sender, incoming)
24
-}
25
-
26
-func (r *Forwarder) Delegate(delegate Receiver) {
27
- r.delegate = delegate
28
-}
exchange/bitswap/network/forwarder_test.go
deleted
-26
@@ -1,26 +0,0 @@
1
-package network
2
-
3
-import (
4
- "testing"
5
-
6
- context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
7
- bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
8
- peer "github.com/jbenet/go-ipfs/peer"
9
-)
10
-
11
-func TestDoesntPanicIfDelegateNotPresent(t *testing.T) {
12
- fwdr := Forwarder{}
13
- fwdr.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New())
14
-}
15
-
16
-func TestForwardsMessageToDelegate(t *testing.T) {
17
- fwdr := Forwarder{delegate: &EchoDelegate{}}
18
- fwdr.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New())
19
-}
20
-
21
-type EchoDelegate struct{}
22
-
23
-func (d *EchoDelegate) ReceiveMessage(ctx context.Context, p *peer.Peer,
24
- incoming bsmsg.BitSwapMessage) (*peer.Peer, bsmsg.BitSwapMessage, error) {
25
- return p, incoming, nil
26
-}