Commit a3487eb4 authored by Brian Tiger Chow's avatar Brian Tiger Chow

fix(bs:net) add peer to receiver interface

parent baafc6fd
......@@ -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")
}
......@@ -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)
}
......@@ -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
}
......
......@@ -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) {
......
......@@ -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())
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment