From 252be07ec5eac30a154e9ec170d397493e0ee6c7 Mon Sep 17 00:00:00 2001
From: Brian Tiger Chow <brian.holderchow@gmail.com>
Date: Thu, 18 Sep 2014 19:26:27 -0700
Subject: [PATCH] refac(bitswap) let adapter be created with nil delegate

yay deleting code.
---
 exchange/bitswap/bitswap.go                |  7 +++---
 exchange/bitswap/network/forwarder.go      | 28 ----------------------
 exchange/bitswap/network/forwarder_test.go | 26 --------------------
 3 files changed, 3 insertions(+), 58 deletions(-)
 delete mode 100644 exchange/bitswap/network/forwarder.go
 delete mode 100644 exchange/bitswap/network/forwarder_test.go

diff --git a/exchange/bitswap/bitswap.go b/exchange/bitswap/bitswap.go
index 9cd59af8..d47c9614 100644
--- a/exchange/bitswap/bitswap.go
+++ b/exchange/bitswap/bitswap.go
@@ -31,16 +31,15 @@ type Routing interface {
 // NewSession initializes a bitswap session.
 func NewSession(parent context.Context, s bsnet.NetworkService, p *peer.Peer, d ds.Datastore, directory Routing) exchange.Interface {
 
-	// FIXME(brian): instantiate a concrete Strategist
-	receiver := bsnet.Forwarder{}
+	adapter := bsnet.NewNetworkAdapter(s, nil)
 	bs := &bitswap{
 		blockstore:    blockstore.NewBlockstore(d),
 		notifications: notifications.New(),
 		strategy:      strategy.New(),
 		routing:       directory,
-		sender:        bsnet.NewNetworkAdapter(s, &receiver),
+		sender:        adapter,
 	}
-	receiver.Delegate(bs)
+	adapter.SetDelegate(bs)
 
 	return bs
 }
diff --git a/exchange/bitswap/network/forwarder.go b/exchange/bitswap/network/forwarder.go
deleted file mode 100644
index 603cd012..00000000
--- a/exchange/bitswap/network/forwarder.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package network
-
-import (
-	context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
-	bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
-	peer "github.com/jbenet/go-ipfs/peer"
-)
-
-// Forwarder receives messages and forwards them to the delegate.
-//
-// Forwarder breaks the circular dependency between the BitSwap Session and the
-// Network Service.
-type Forwarder struct {
-	delegate Receiver
-}
-
-func (r *Forwarder) ReceiveMessage(
-	ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
-	*peer.Peer, bsmsg.BitSwapMessage, error) {
-	if r.delegate == nil {
-		return nil, nil, nil
-	}
-	return r.delegate.ReceiveMessage(ctx, sender, incoming)
-}
-
-func (r *Forwarder) Delegate(delegate Receiver) {
-	r.delegate = delegate
-}
diff --git a/exchange/bitswap/network/forwarder_test.go b/exchange/bitswap/network/forwarder_test.go
deleted file mode 100644
index 73604e11..00000000
--- a/exchange/bitswap/network/forwarder_test.go
+++ /dev/null
@@ -1,26 +0,0 @@
-package network
-
-import (
-	"testing"
-
-	context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
-	bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
-	peer "github.com/jbenet/go-ipfs/peer"
-)
-
-func TestDoesntPanicIfDelegateNotPresent(t *testing.T) {
-	fwdr := Forwarder{}
-	fwdr.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New())
-}
-
-func TestForwardsMessageToDelegate(t *testing.T) {
-	fwdr := Forwarder{delegate: &EchoDelegate{}}
-	fwdr.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New())
-}
-
-type EchoDelegate struct{}
-
-func (d *EchoDelegate) ReceiveMessage(ctx context.Context, p *peer.Peer,
-	incoming bsmsg.BitSwapMessage) (*peer.Peer, bsmsg.BitSwapMessage, error) {
-	return p, incoming, nil
-}
-- 
GitLab