save the RTT along the session ticket and use it on resumed connections

This commit is contained in:
Marten Seemann
2020-02-01 16:58:09 +07:00
parent 8ad95ce2d3
commit 69ab66ba82
7 changed files with 177 additions and 35 deletions

View File

@@ -129,7 +129,7 @@ var _ = Describe("RTT stats", func() {
})
It("ResetAfterConnectionMigrations", func() {
rttStats.UpdateRTT((200 * time.Millisecond), 0, time.Time{})
rttStats.UpdateRTT(200*time.Millisecond, 0, time.Time{})
Expect(rttStats.LatestRTT()).To(Equal((200 * time.Millisecond)))
Expect(rttStats.SmoothedRTT()).To(Equal((200 * time.Millisecond)))
Expect(rttStats.MinRTT()).To(Equal((200 * time.Millisecond)))
@@ -145,4 +145,15 @@ var _ = Describe("RTT stats", func() {
Expect(rttStats.MinRTT()).To(Equal(time.Duration(0)))
})
It("restores the RTT", func() {
rttStats.SetInitialRTT(10 * time.Second)
Expect(rttStats.LatestRTT()).To(Equal(10 * time.Second))
Expect(rttStats.SmoothedRTT()).To(Equal(10 * time.Second))
Expect(rttStats.MeanDeviation()).To(BeZero())
// update the RTT and make sure that the initial value is immediately forgotten
rttStats.UpdateRTT(200*time.Millisecond, 0, time.Time{})
Expect(rttStats.LatestRTT()).To(Equal(200 * time.Millisecond))
Expect(rttStats.SmoothedRTT()).To(Equal(200 * time.Millisecond))
Expect(rttStats.MeanDeviation()).To(Equal(100 * time.Millisecond))
})
})