@@ -14,57 +14,6 @@ import (
14
14
testutil "github.com/ipfs/go-ipfs/util/testutil"
15
15
)
16
16
17
- func TestSendRequestToCooperativePeer (t * testing.T ) {
18
- net := VirtualNetwork (mockrouting .NewServer (), delay .Fixed (0 ))
19
-
20
- recipientPeer := testutil .RandIdentityOrFatal (t )
21
-
22
- t .Log ("Get two network adapters" )
23
-
24
- initiator := net .Adapter (testutil .RandIdentityOrFatal (t ))
25
- recipient := net .Adapter (recipientPeer )
26
-
27
- expectedStr := "response from recipient"
28
- recipient .SetDelegate (lambda (func (
29
- ctx context.Context ,
30
- from peer.ID ,
31
- incoming bsmsg.BitSwapMessage ) (
32
- peer.ID , bsmsg.BitSwapMessage ) {
33
-
34
- t .Log ("Recipient received a message from the network" )
35
-
36
- // TODO test contents of incoming message
37
-
38
- m := bsmsg .New ()
39
- m .AddBlock (blocks .NewBlock ([]byte (expectedStr )))
40
-
41
- return from , m
42
- }))
43
-
44
- t .Log ("Build a message and send a synchronous request to recipient" )
45
-
46
- message := bsmsg .New ()
47
- message .AddBlock (blocks .NewBlock ([]byte ("data" )))
48
- response , err := initiator .SendRequest (
49
- context .Background (), recipientPeer .ID (), message )
50
- if err != nil {
51
- t .Fatal (err )
52
- }
53
-
54
- t .Log ("Check the contents of the response from recipient" )
55
-
56
- if response == nil {
57
- t .Fatal ("Should have received a response" )
58
- }
59
-
60
- for _ , blockFromRecipient := range response .Blocks () {
61
- if string (blockFromRecipient .Data ) == expectedStr {
62
- return
63
- }
64
- }
65
- t .Fatal ("Should have returned after finding expected block data" )
66
- }
67
-
68
17
func TestSendMessageAsyncButWaitForResponse (t * testing.T ) {
69
18
net := VirtualNetwork (mockrouting .NewServer (), delay .Fixed (0 ))
70
19
responderPeer := testutil .RandIdentityOrFatal (t )
@@ -80,20 +29,19 @@ func TestSendMessageAsyncButWaitForResponse(t *testing.T) {
80
29
responder .SetDelegate (lambda (func (
81
30
ctx context.Context ,
82
31
fromWaiter peer.ID ,
83
- msgFromWaiter bsmsg.BitSwapMessage ) (
84
- peer.ID , bsmsg.BitSwapMessage ) {
32
+ msgFromWaiter bsmsg.BitSwapMessage ) error {
85
33
86
34
msgToWaiter := bsmsg .New ()
87
35
msgToWaiter .AddBlock (blocks .NewBlock ([]byte (expectedStr )))
36
+ waiter .SendMessage (ctx , fromWaiter , msgToWaiter )
88
37
89
- return fromWaiter , msgToWaiter
38
+ return nil
90
39
}))
91
40
92
41
waiter .SetDelegate (lambda (func (
93
42
ctx context.Context ,
94
43
fromResponder peer.ID ,
95
- msgFromResponder bsmsg.BitSwapMessage ) (
96
- peer.ID , bsmsg.BitSwapMessage ) {
44
+ msgFromResponder bsmsg.BitSwapMessage ) error {
97
45
98
46
// TODO assert that this came from the correct peer and that the message contents are as expected
99
47
ok := false
@@ -108,7 +56,7 @@ func TestSendMessageAsyncButWaitForResponse(t *testing.T) {
108
56
t .Fatal ("Message not received from the responder" )
109
57
110
58
}
111
- return "" , nil
59
+ return nil
112
60
}))
113
61
114
62
messageSentAsync := bsmsg .New ()
@@ -123,7 +71,7 @@ func TestSendMessageAsyncButWaitForResponse(t *testing.T) {
123
71
}
124
72
125
73
type receiverFunc func (ctx context.Context , p peer.ID ,
126
- incoming bsmsg.BitSwapMessage ) (peer. ID , bsmsg. BitSwapMessage )
74
+ incoming bsmsg.BitSwapMessage ) error
127
75
128
76
// lambda returns a Receiver instance given a receiver function
129
77
func lambda (f receiverFunc ) bsnet.Receiver {
@@ -133,13 +81,11 @@ func lambda(f receiverFunc) bsnet.Receiver {
133
81
}
134
82
135
83
type lambdaImpl struct {
136
- f func (ctx context.Context , p peer.ID , incoming bsmsg.BitSwapMessage ) (
137
- peer.ID , bsmsg.BitSwapMessage )
84
+ f func (ctx context.Context , p peer.ID , incoming bsmsg.BitSwapMessage ) error
138
85
}
139
86
140
87
func (lam * lambdaImpl ) ReceiveMessage (ctx context.Context ,
141
- p peer.ID , incoming bsmsg.BitSwapMessage ) (
142
- peer.ID , bsmsg.BitSwapMessage ) {
88
+ p peer.ID , incoming bsmsg.BitSwapMessage ) error {
143
89
return lam .f (ctx , p , incoming )
144
90
}
145
91
0 commit comments