@@ -11,23 +11,28 @@ import (
1111)
1212
1313func TestArrivalGroupAccumulator (t * testing.T ) {
14- triggerNewGroupElement := Acknowledgment {
14+ type logItem struct {
15+ SequenceNumber uint64
16+ Departure time.Time
17+ Arrival time.Time
18+ }
19+ triggerNewGroupElement := logItem {
1520 Departure : time.Time {}.Add (time .Second ),
1621 Arrival : time.Time {}.Add (time .Second ),
1722 }
1823 cases := []struct {
1924 name string
20- log []Acknowledgment
25+ log []logItem
2126 exp []arrivalGroup
2227 }{
2328 {
2429 name : "emptyCreatesNoGroups" ,
25- log : []Acknowledgment {},
30+ log : []logItem {},
2631 exp : []arrivalGroup {},
2732 },
2833 {
2934 name : "createsSingleElementGroup" ,
30- log : []Acknowledgment {
35+ log : []logItem {
3136 {
3237 Departure : time.Time {},
3338 Arrival : time.Time {}.Add (time .Millisecond ),
@@ -45,7 +50,7 @@ func TestArrivalGroupAccumulator(t *testing.T) {
4550 },
4651 {
4752 name : "createsTwoElementGroup" ,
48- log : []Acknowledgment {
53+ log : []logItem {
4954 {
5055 Departure : time.Time {},
5156 Arrival : time.Time {}.Add (15 * time .Millisecond ),
@@ -69,7 +74,7 @@ func TestArrivalGroupAccumulator(t *testing.T) {
6974 },
7075 {
7176 name : "createsTwoArrivalGroups1" ,
72- log : []Acknowledgment {
77+ log : []logItem {
7378 {
7479 Departure : time.Time {},
7580 Arrival : time.Time {}.Add (15 * time .Millisecond ),
@@ -105,7 +110,7 @@ func TestArrivalGroupAccumulator(t *testing.T) {
105110 },
106111 {
107112 name : "ignoresOutOfOrderPackets" ,
108- log : []Acknowledgment {
113+ log : []logItem {
109114 {
110115 Departure : time.Time {},
111116 Arrival : time.Time {}.Add (15 * time .Millisecond ),
@@ -141,65 +146,64 @@ func TestArrivalGroupAccumulator(t *testing.T) {
141146 },
142147 {
143148 name : "newGroupBecauseOfInterDepartureTime" ,
144- log : []Acknowledgment {
149+ log : []logItem {
145150 {
146- SeqNr : 0 ,
147- Departure : time.Time {},
148- Arrival : time.Time {}.Add (4 * time .Millisecond ),
151+ SequenceNumber : 0 ,
152+ Departure : time.Time {},
153+ Arrival : time.Time {}.Add (4 * time .Millisecond ),
149154 },
150155 {
151- SeqNr : 1 ,
152- Departure : time.Time {}.Add (3 * time .Millisecond ),
153- Arrival : time.Time {}.Add (4 * time .Millisecond ),
156+ SequenceNumber : 1 ,
157+ Departure : time.Time {}.Add (3 * time .Millisecond ),
158+ Arrival : time.Time {}.Add (4 * time .Millisecond ),
154159 },
155160 {
156- SeqNr : 2 ,
157- Departure : time.Time {}.Add (6 * time .Millisecond ),
158- Arrival : time.Time {}.Add (10 * time .Millisecond ),
161+ SequenceNumber : 2 ,
162+ Departure : time.Time {}.Add (6 * time .Millisecond ),
163+ Arrival : time.Time {}.Add (10 * time .Millisecond ),
159164 },
160165 {
161- SeqNr : 3 ,
162- Departure : time.Time {}.Add (9 * time .Millisecond ),
163- Arrival : time.Time {}.Add (10 * time .Millisecond ),
166+ SequenceNumber : 3 ,
167+ Departure : time.Time {}.Add (9 * time .Millisecond ),
168+ Arrival : time.Time {}.Add (10 * time .Millisecond ),
164169 },
165170 triggerNewGroupElement ,
166171 },
167172 exp : []arrivalGroup {
168173 {
169174 {
170- SeqNr : 0 ,
171- Departure : time.Time {},
172- Arrival : time.Time {}.Add (4 * time .Millisecond ),
175+ SequenceNumber : 0 ,
176+ Departure : time.Time {},
177+ Arrival : time.Time {}.Add (4 * time .Millisecond ),
173178 },
174179 {
175- SeqNr : 1 ,
176- Departure : time.Time {}.Add (3 * time .Millisecond ),
177- Arrival : time.Time {}.Add (4 * time .Millisecond ),
180+ SequenceNumber : 1 ,
181+ Departure : time.Time {}.Add (3 * time .Millisecond ),
182+ Arrival : time.Time {}.Add (4 * time .Millisecond ),
178183 },
179184 },
180185 {
181186 {
182- SeqNr : 2 ,
183- Departure : time.Time {}.Add (6 * time .Millisecond ),
184- Arrival : time.Time {}.Add (10 * time .Millisecond ),
187+ SequenceNumber : 2 ,
188+ Departure : time.Time {}.Add (6 * time .Millisecond ),
189+ Arrival : time.Time {}.Add (10 * time .Millisecond ),
185190 },
186191 {
187- SeqNr : 3 ,
188- Departure : time.Time {}.Add (9 * time .Millisecond ),
189- Arrival : time.Time {}.Add (10 * time .Millisecond ),
192+ SequenceNumber : 3 ,
193+ Departure : time.Time {}.Add (9 * time .Millisecond ),
194+ Arrival : time.Time {}.Add (10 * time .Millisecond ),
190195 },
191196 },
192197 },
193198 },
194199 }
195200
196201 for _ , tc := range cases {
197- tc := tc
198202 t .Run (tc .name , func (t * testing.T ) {
199203 aga := newArrivalGroupAccumulator ()
200204 received := []arrivalGroup {}
201205 for _ , ack := range tc .log {
202- next := aga .onPacketAcked (ack )
206+ next := aga .onPacketAcked (ack . SequenceNumber , 0 , ack . Departure , ack . Arrival )
203207 if next != nil {
204208 received = append (received , next )
205209 }
0 commit comments