@@ -26,7 +26,8 @@ using erizo::SequenceNumberType;
26
26
enum class PacketState {
27
27
Forward = 0 ,
28
28
Skip = 1 ,
29
- Generate = 2
29
+ Generate = 2 ,
30
+ Reset = 3
30
31
};
31
32
32
33
struct Packet {
@@ -56,7 +57,10 @@ TEST_P(SequenceNumberTranslatorTest, shouldReturnRightOutputSequenceNumbers) {
56
57
for (Packet packet : queue) {
57
58
bool skip = packet.state == PacketState::Skip;
58
59
SequenceNumber output;
59
- if (packet.state == PacketState::Generate) {
60
+ if (packet.state == PacketState::Reset) {
61
+ translator.reset ();
62
+ return ;
63
+ } else if (packet.state == PacketState::Generate) {
60
64
output = translator.generate ();
61
65
} else {
62
66
output = translator.get (packet.sequence_number , skip);
@@ -144,13 +148,74 @@ INSTANTIATE_TEST_CASE_P(
144
148
{ 0 , PacketState::Skip, 0 , SequenceNumberType::Discard},
145
149
{ 2 , PacketState::Forward, 2 , SequenceNumberType::Valid}}),
146
150
151
+ // Reset after having received skipped packets
152
+ std::vector<Packet>({{ 5059 , PacketState::Skip, 5059 , SequenceNumberType::Skip},
153
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
154
+ { 1032 , PacketState::Skip, 1032 , SequenceNumberType::Skip},
155
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
156
+ { 23537 , PacketState::Forward, 23537 , SequenceNumberType::Valid}}),
157
+
158
+
159
+ // Reset after having received skipped packets
160
+ std::vector<Packet>({{ 5059 , PacketState::Skip, 5059 , SequenceNumberType::Skip},
161
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
162
+ { 23537 , PacketState::Forward, 23537 , SequenceNumberType::Valid}}),
163
+
164
+ // Reset after having received skipped packets
165
+ std::vector<Packet>({{ 5058 , PacketState::Forward, 5058 , SequenceNumberType::Valid},
166
+ { 5059 , PacketState::Skip, 5059 , SequenceNumberType::Skip},
167
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
168
+ { 23537 , PacketState::Forward, 5059 , SequenceNumberType::Valid}}),
169
+
170
+ // input expected_output
171
+ std::vector<Packet>({{ 0 , PacketState::Generate, 1 , SequenceNumberType::Generated},
172
+ { 6 , PacketState::Forward, 2 , SequenceNumberType::Valid},
173
+ { 7 , PacketState::Forward, 3 , SequenceNumberType::Valid},
174
+ { 8 , PacketState::Forward, 4 , SequenceNumberType::Valid}}),
175
+
176
+ // input expected_output
177
+ std::vector<Packet>({{ 6 , PacketState::Forward, 6 , SequenceNumberType::Valid},
178
+ { 10 , PacketState::Skip, 10 , SequenceNumberType::Skip},
179
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
180
+ { 301 , PacketState::Skip, 301 , SequenceNumberType::Skip},
181
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
182
+ { 901 , PacketState::Forward, 7 , SequenceNumberType::Valid}}),
147
183
148
184
// input expected_output
149
- std::vector<Packet>({{ 0 , PacketState::Generate, 0 , SequenceNumberType::Generated},
150
- { 6 , PacketState::Forward, 1 , SequenceNumberType::Valid},
151
- { 7 , PacketState::Forward, 2 , SequenceNumberType::Valid},
152
- { 8 , PacketState::Forward, 3 , SequenceNumberType::Valid}}),
185
+ std::vector<Packet>({{ 6 , PacketState::Forward, 6 , SequenceNumberType::Valid},
186
+ { 10 , PacketState::Skip, 10 , SequenceNumberType::Skip},
187
+ { 9 , PacketState::Forward, 9 , SequenceNumberType::Valid},
188
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
189
+ { 301 , PacketState::Skip, 301 , SequenceNumberType::Skip},
190
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
191
+ { 901 , PacketState::Forward, 10 , SequenceNumberType::Valid}}),
153
192
193
+ // input expected_output
194
+ std::vector<Packet>({{ 6 , PacketState::Forward, 6 , SequenceNumberType::Valid},
195
+ { 10 , PacketState::Skip, 10 , SequenceNumberType::Skip},
196
+ { 0 , PacketState::Generate, 7 , SequenceNumberType::Generated},
197
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
198
+ { 301 , PacketState::Skip, 301 , SequenceNumberType::Skip},
199
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
200
+ { 901 , PacketState::Forward, 8 , SequenceNumberType::Valid}}),
201
+
202
+ // input expected_output
203
+ std::vector<Packet>({{ 5059 , PacketState::Skip, 5059 , SequenceNumberType::Skip},
204
+ { 30 , PacketState::Forward, 30 , SequenceNumberType::Valid},
205
+ { 0 , PacketState::Generate, 31 , SequenceNumberType::Generated},
206
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
207
+ { 0 , PacketState::Generate, 32 , SequenceNumberType::Generated},
208
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
209
+ { 6 , PacketState::Forward, 34 , SequenceNumberType::Valid}}),
210
+
211
+ // input expected_output
212
+ std::vector<Packet>({{ 5059 , PacketState::Skip, 5059 , SequenceNumberType::Skip},
213
+ { 30 , PacketState::Forward, 30 , SequenceNumberType::Valid},
214
+ { 0 , PacketState::Generate, 31 , SequenceNumberType::Generated},
215
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
216
+ { 0 , PacketState::Generate, 32 , SequenceNumberType::Generated},
217
+ { 0 , PacketState::Reset, 0 , SequenceNumberType::Skip},
218
+ { 6 , PacketState::Forward, 34 , SequenceNumberType::Valid}}),
154
219
155
220
// input expected_output
156
221
std::vector<Packet>({{ 5 , PacketState::Forward, 5 , SequenceNumberType::Valid},
0 commit comments