mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-30 01:52:26 +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(
|
func (bs *BitSwap) ReceiveMessage(
|
||||||
ctx context.Context, incoming bsmsg.BitSwapMessage) (
|
ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
|
||||||
bsmsg.BitSwapMessage, *peer.Peer, error) {
|
bsmsg.BitSwapMessage, *peer.Peer, error) {
|
||||||
return nil, nil, errors.New("TODO implement")
|
return nil, nil, errors.New("TODO implement")
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ type Sender interface {
|
|||||||
|
|
||||||
// TODO(brian): consider returning a NetMessage
|
// TODO(brian): consider returning a NetMessage
|
||||||
type Receiver interface {
|
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)
|
outgoing bsmsg.BitSwapMessage, destination *peer.Peer, err error)
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ func (wrapper *handlerWrapper) HandleMessage(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
bsmsg, p, err := wrapper.bitswapDelegate.ReceiveMessage(ctx, received)
|
bsmsg, p, err := wrapper.bitswapDelegate.ReceiveMessage(ctx, incoming.Peer(), received)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -16,12 +16,12 @@ type receiver struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *receiver) ReceiveMessage(
|
func (r *receiver) ReceiveMessage(
|
||||||
ctx context.Context, incoming bsmsg.BitSwapMessage) (
|
ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
|
||||||
bsmsg.BitSwapMessage, *peer.Peer, error) {
|
bsmsg.BitSwapMessage, *peer.Peer, error) {
|
||||||
if r.delegate == nil {
|
if r.delegate == nil {
|
||||||
return nil, nil, 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) {
|
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"
|
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
|
||||||
bsmsg "github.com/jbenet/go-ipfs/bitswap/message"
|
bsmsg "github.com/jbenet/go-ipfs/bitswap/message"
|
||||||
|
peer "github.com/jbenet/go-ipfs/peer"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDoesntPanicIfDelegateNotPresent(t *testing.T) {
|
func TestDoesntPanicIfDelegateNotPresent(t *testing.T) {
|
||||||
r := receiver{}
|
r := receiver{}
|
||||||
r.ReceiveMessage(context.Background(), bsmsg.New())
|
r.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New())
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user