mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-28 17:03:58 +08:00
fix(bs:net) add peer to receiver interface
This commit is contained in:
@ -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())
|
||||
}
|
||||
|
Reference in New Issue
Block a user