@@ -313,13 +313,34 @@ func TestServer(t *testing.T) {
313
313
)
314
314
assert .Nil (t , err , "NewServer error: %v" , err )
315
315
316
- conn , err := s .createConnection (context .Background ())
316
+ var now time.Time
317
+ conn , err := s .createConnection (context .Background (), & now )
317
318
assert .Nil (t , err , "createConnection error: %v" , err )
318
319
319
320
assert .Equal (t , s .cfg .heartbeatTimeout , 10 * time .Second , "expected heartbeatTimeout to be: %v, got: %v" , 10 * time .Second , s .cfg .heartbeatTimeout )
320
321
assert .Equal (t , s .cfg .heartbeatTimeout , conn .readTimeout , "expected readTimeout to be: %v, got: %v" , s .cfg .heartbeatTimeout , conn .readTimeout )
321
322
assert .Equal (t , s .cfg .heartbeatTimeout , conn .writeTimeout , "expected writeTimeout to be: %v, got: %v" , s .cfg .heartbeatTimeout , conn .writeTimeout )
322
323
})
324
+ t .Run ("heartbeat connection RTT is accurately measured" , func (t * testing.T ) {
325
+ dialer := & channelNetConnDialer {}
326
+
327
+ s , err := NewServer (
328
+ address .Address ("localhost" ),
329
+ WithConnectionOptions (func (connOpts ... ConnectionOption ) []ConnectionOption {
330
+ return append (
331
+ connOpts ,
332
+ WithDialer (func (Dialer ) Dialer {
333
+ return dialer
334
+ }),
335
+ )
336
+ }),
337
+ )
338
+ assert .Nil (t , err , "NewServer error: %v" , err )
339
+
340
+ _ , _ = s .heartbeat (nil )
341
+ assert .True (t , s .averageRTTSet , "expected averageRTTSet to be true but was not" )
342
+ assert .True (t , s .averageRTT < time .Second , "expected average RTT to be less than 1s, got %v" , s .averageRTT )
343
+ })
323
344
}
324
345
325
346
func includesMetadata (t * testing.T , wm []byte ) bool {
0 commit comments