fix(bs:net) add peer to receiver interface
Brian Tiger Chow committed
Sep 13, 2014 at 16:30 UTC
a3487eb4915d64ff2b8705d61f123cac3c4a55dd
5 files changed
+9
-7
bitswap/bitswap.go
+2
-2
@@ -283,8 +283,8 @@ func (bs *BitSwap) SetStrategy(sf StrategyFunc) {
283
}
284
}
285
286
-func (r *BitSwap) ReceiveMessage(
287
- ctx context.Context, incoming bsmsg.BitSwapMessage) (
286
+func (bs *BitSwap) ReceiveMessage(
287
+ ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
288
bsmsg.BitSwapMessage, *peer.Peer, error) {
289
return nil, nil, errors.New("TODO implement")
290
}
bitswap/network/interface.go
+2
-1
@@ -15,6 +15,7 @@ type Sender interface {
15
16
// TODO(brian): consider returning a NetMessage
17
type Receiver interface {
18
- ReceiveMessage(ctx context.Context, incoming bsmsg.BitSwapMessage) (
18
+ ReceiveMessage(
19
+ ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
20
outgoing bsmsg.BitSwapMessage, destination *peer.Peer, err error)
21
}
bitswap/network/service_wrapper.go
+1
-1
@@ -31,7 +31,7 @@ func (wrapper *handlerWrapper) HandleMessage(
31
return nil, err
32
}
33
34
- bsmsg, p, err := wrapper.bitswapDelegate.ReceiveMessage(ctx, received)
34
+ bsmsg, p, err := wrapper.bitswapDelegate.ReceiveMessage(ctx, incoming.Peer(), received)
35
if err != nil {
36
return nil, err
37
}
bitswap/receiver.go
+2
-2
@@ -16,12 +16,12 @@ type receiver struct {
16
}
17
18
func (r *receiver) ReceiveMessage(
19
- ctx context.Context, incoming bsmsg.BitSwapMessage) (
19
+ ctx context.Context, sender *peer.Peer, incoming bsmsg.BitSwapMessage) (
20
bsmsg.BitSwapMessage, *peer.Peer, error) {
21
if r.delegate == nil {
22
return nil, nil, nil
23
}
24
- return r.delegate.ReceiveMessage(ctx, incoming)
24
+ return r.delegate.ReceiveMessage(ctx, sender, incoming)
25
}
26
27
func (r *receiver) Delegate(delegate bsnet.Receiver) {
bitswap/receiver_test.go
+2
-1
@@ -5,9 +5,10 @@ import (
5
6
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
7
bsmsg "github.com/jbenet/go-ipfs/bitswap/message"
8
+ peer "github.com/jbenet/go-ipfs/peer"
9
)
10
11
func TestDoesntPanicIfDelegateNotPresent(t *testing.T) {
12
r := receiver{}
12
- r.ReceiveMessage(context.Background(), bsmsg.New())
13
+ r.ReceiveMessage(context.Background(), &peer.Peer{}, bsmsg.New())
14
}