src/liblsquic/lsquic_send_ctl.c
/* This mimics the logic in lsquic_send_ctl_next_packet_to_send(): we want
 * to check whether the first scheduled packet cannot be sent.
 */
This mimics the logic in lsquic_send_ctl_next_packet_to_send(): we want
to check whether the first scheduled packet cannot be sent.
This mimics the logic in lsquic_send_ctl_next_packet_to_send () : we want to check whether the first scheduled packet cannot be sent .
int
lsquic_send_ctl_sched_is_blocked (struct lsquic_send_ctl *ctl)
{
    const lsquic_packet_out_t *packet_out
                            = TAILQ_FIRST(&ctl->sc_scheduled_packets);
    return send_ctl_get_n_consec_rtos(ctl)
        && 0 == ctl->sc_next_limit
        && packet_out
        && !(packet_out->po_frame_types & (1 << QUIC_FRAME_ACK));
}
int lsquic_send_ctl_sched_is_blocked ( struct lsquic_send_ctl * ctl ) { const lsquic_packet_out_t * packet_out = TAILQ_FIRST ( & ctl -> sc_scheduled_packets ) ; return send_ctl_get_n_consec_rtos ( ctl ) && 0 == ctl -> sc_next_limit && packet_out && ! ( packet_out -> po_frame_types & ( 1 << QUIC_FRAME_ACK ) ) ; }
This mimics the logic in lsquic_send_ctl_next_packet_to_send(): we want
 to check whether the first scheduled packet cannot be sent.
This mimics the logic in lsquic_send_ctl_next_packet_to_send () : we want to check whether the first scheduled packet cannot be sent .