FEC: update set_next_wake_time_without_pacing by adding wake_now
@@ -197,6 +197,13 @@ protoop_arg_t set_next_wake_time(picoquic_cnx_t *cnx)
return 0;
}
+ int wake_now = get_cnx(cnx, CNX_AK_WAKE_NOW, 0);
+
+ if (wake_now) {
+ blocked = 0;
+ set_cnx(cnx, CNX_AK_WAKE_NOW, 0, 0);
+ }
+
if (cnx_state == picoquic_state_disconnecting || cnx_state == picoquic_state_handshake_failure || cnx_state == picoquic_state_closing_received) {
blocked = 0;
}
@@ -210,6 +217,9 @@ protoop_arg_t set_next_wake_time(picoquic_cnx_t *cnx)
if (cwin_x > bytes_in_transit_x && helper_is_mtu_probe_needed(cnx, path_x)) {
blocked = 0;
}
+ if (cwin_x > bytes_in_transit_x && picoquic_has_booked_plugin_frames(cnx)) {
+ blocked = 0;
+ }
}
picoquic_path_t * path_x = (picoquic_path_t *) get_cnx(cnx, CNX_AK_PATH, 0);
