@@ -23,6 +23,7 @@ import (
23
23
"time"
24
24
25
25
"github.com/hyperledger/fabric/gossip/util"
26
+ "github.com/spf13/viper"
26
27
)
27
28
28
29
/* PullEngine is an object that performs pull-based gossip, and maintains an internal state of items
@@ -47,23 +48,25 @@ func init() {
47
48
rand .Seed (42 )
48
49
}
49
50
50
- var digestWaitTime = time .Duration (1 ) * time .Second
51
- var requestWaitTime = time .Duration (1 ) * time .Second
52
- var responseWaitTime = time .Duration (2 ) * time .Second
51
+ const (
52
+ defDigestWaitTime = time .Duration (1 ) * time .Second
53
+ defRequestWaitTime = time .Duration (1 ) * time .Second
54
+ defResponseWaitTime = time .Duration (2 ) * time .Second
55
+ )
53
56
54
57
// SetDigestWaitTime sets the digest wait time
55
58
func SetDigestWaitTime (time time.Duration ) {
56
- digestWaitTime = time
59
+ viper . Set ( "peer.gossip. digestWaitTime" , time )
57
60
}
58
61
59
62
// SetRequestWaitTime sets the request wait time
60
63
func SetRequestWaitTime (time time.Duration ) {
61
- requestWaitTime = time
64
+ viper . Set ( "peer.gossip. requestWaitTime" , time )
62
65
}
63
66
64
67
// SetResponseWaitTime sets the response wait time
65
68
func SetResponseWaitTime (time time.Duration ) {
66
- responseWaitTime = time
69
+ viper . Set ( "peer.gossip. responseWaitTime" , time )
67
70
}
68
71
69
72
// PullAdapter is needed by the PullEngine in order to
@@ -179,6 +182,7 @@ func (engine *PullEngine) initiatePull() {
179
182
engine .Hello (peer , nonce )
180
183
}
181
184
185
+ digestWaitTime := util .GetDurationOrDefault ("peer.gossip.digestWaitTime" , defDigestWaitTime )
182
186
time .AfterFunc (digestWaitTime , func () {
183
187
engine .processIncomingDigests ()
184
188
})
@@ -207,6 +211,7 @@ func (engine *PullEngine) processIncomingDigests() {
207
211
engine .SendReq (dest , seqsToReq , engine .peers2nonces [dest ])
208
212
}
209
213
214
+ responseWaitTime := util .GetDurationOrDefault ("peer.gossip.responseWaitTime" , defResponseWaitTime )
210
215
time .AfterFunc (responseWaitTime , engine .endPull )
211
216
212
217
}
@@ -262,6 +267,8 @@ func (engine *PullEngine) Remove(seqs ...string) {
262
267
// OnHello notifies the engine a hello has arrived
263
268
func (engine * PullEngine ) OnHello (nonce uint64 , context interface {}) {
264
269
engine .incomingNONCES .Add (nonce )
270
+
271
+ requestWaitTime := util .GetDurationOrDefault ("peer.gossip.requestWaitTime" , defRequestWaitTime )
265
272
time .AfterFunc (requestWaitTime , func () {
266
273
engine .incomingNONCES .Remove (nonce )
267
274
})
0 commit comments