ffdc72da4f
- updates the quicly version to 0.1.0-vpp - adds workaround for quicly_send()/assert_consistency() failure Type: feature Change-Id: I4c7e0ffc720ad9a685b89046a83646d59febd6cd Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
22 lines
888 B
Diff
22 lines
888 B
Diff
diff --git a/lib/quicly.c b/lib/quicly.c
|
|
index 71fa149..668677f 100644
|
|
--- a/lib/quicly.c
|
|
+++ b/lib/quicly.c
|
|
@@ -3631,10 +3631,14 @@ int quicly_send(quicly_conn_t *conn, quicly_datagram_t **packets, size_t *num_pa
|
|
* progress (i.e. due to the payload of lost packet being cancelled), then PTO for the previously sent packet. To accomodate
|
|
* that, we allow to rerun the do_send function just once.
|
|
*/
|
|
- if (s.num_packets == 0 && conn->egress.loss.alarm_at <= now) {
|
|
+ if (conn->egress.loss.alarm_at <= now) {
|
|
assert(conn->egress.loss.alarm_at == now);
|
|
- if ((ret = do_send(conn, &s)) != 0)
|
|
- return ret;
|
|
+ if (s.num_packets == 0) {
|
|
+ if ((ret = do_send(conn, &s)) != 0)
|
|
+ return ret;
|
|
+ } else {
|
|
+ conn->egress.loss.alarm_at = now + 1;
|
|
+ }
|
|
}
|
|
assert_consistency(conn, 1);
|