@cryptotaxi247 / kubo / commits / 252be07ec

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 -}