1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-28 08:47:42 +08:00

fix(bs:net) add peer to receiver interface

This commit is contained in:
Brian Tiger Chow
2014-09-13 16:30:54 -07:00
parent baafc6fdf2
commit a3487eb491
5 changed files with 9 additions and 7 deletions

View File

@ -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")
}

View File

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

View File

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

View File

@ -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) {

View File

@ -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())
}