1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-29 17:36:38 +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( 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")
} }

View File

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

View File

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

View File

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

View File

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