diff --git a/bitswap/bitswap.go b/bitswap/bitswap.go index 5882d7c0b..734b26ed1 100644 --- a/bitswap/bitswap.go +++ b/bitswap/bitswap.go @@ -283,8 +283,8 @@ func (bs *BitSwap) SetStrategy(sf StrategyFunc) { } } -func (r *BitSwap) ReceiveMessage( - ctx context.Context, incoming bsmsg.BitSwapMessage) ( +func (bs *BitSwap) ReceiveMessage( + ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) ( bsmsg.BitSwapMessage, *peer.Peer, error) { return nil, nil, errors.New("TODO implement") } diff --git a/bitswap/network/interface.go b/bitswap/network/interface.go index 99f63e29b..3d0828898 100644 --- a/bitswap/network/interface.go +++ b/bitswap/network/interface.go @@ -15,6 +15,7 @@ type Sender interface { // TODO(brian): consider returning a NetMessage type Receiver interface { - ReceiveMessage(ctx context.Context, incoming bsmsg.BitSwapMessage) ( + ReceiveMessage( + ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) ( outgoing bsmsg.BitSwapMessage, destination *peer.Peer, err error) } diff --git a/bitswap/network/service_wrapper.go b/bitswap/network/service_wrapper.go index a9e1c3684..b28f8f71d 100644 --- a/bitswap/network/service_wrapper.go +++ b/bitswap/network/service_wrapper.go @@ -31,7 +31,7 @@ func (wrapper *handlerWrapper) HandleMessage( return nil, err } - bsmsg, p, err := wrapper.bitswapDelegate.ReceiveMessage(ctx, received) + bsmsg, p, err := wrapper.bitswapDelegate.ReceiveMessage(ctx, incoming.Peer(), received) if err != nil { return nil, err } diff --git a/bitswap/receiver.go b/bitswap/receiver.go index 94a53dd76..386f3778c 100644 --- a/bitswap/receiver.go +++ b/bitswap/receiver.go @@ -16,12 +16,12 @@ type receiver struct { } func (r *receiver) ReceiveMessage( - ctx context.Context, incoming bsmsg.BitSwapMessage) ( + ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) ( bsmsg.BitSwapMessage, *peer.Peer, error) { if r.delegate == nil { return nil, nil, nil } - return r.delegate.ReceiveMessage(ctx, incoming) + return r.delegate.ReceiveMessage(ctx, sender, incoming) } func (r *receiver) Delegate(delegate bsnet.Receiver) { diff --git a/bitswap/receiver_test.go b/bitswap/receiver_test.go index c82eacd51..d15c96ed5 100644 --- a/bitswap/receiver_test.go +++ b/bitswap/receiver_test.go @@ -5,9 +5,10 @@ import ( context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" bsmsg "github.com/jbenet/go-ipfs/bitswap/message" + peer "github.com/jbenet/go-ipfs/peer" ) func TestDoesntPanicIfDelegateNotPresent(t *testing.T) { r := receiver{} - r.ReceiveMessage(context.Background(), bsmsg.New()) + r.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New()) }