mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Only force TICK_CLOSE flag when CONNECTION_CLOSE frame received.
This commit is contained in:
parent
d1628a5677
commit
47440e4eaf
2 changed files with 10 additions and 4 deletions
|
@ -3597,6 +3597,7 @@ full_conn_ci_tick (lsquic_conn_t *lconn, lsquic_time_t now)
|
||||||
* packets scheduled to send, or silent close flag is not set.
|
* packets scheduled to send, or silent close flag is not set.
|
||||||
*/
|
*/
|
||||||
conn->fc_flags |= FC_TICK_CLOSE;
|
conn->fc_flags |= FC_TICK_CLOSE;
|
||||||
|
if (conn->fc_flags & FC_RECV_CLOSE)
|
||||||
tick |= TICK_CLOSE;
|
tick |= TICK_CLOSE;
|
||||||
if ((conn->fc_flags & FC_RECV_CLOSE) ||
|
if ((conn->fc_flags & FC_RECV_CLOSE) ||
|
||||||
0 != lsquic_send_ctl_n_scheduled(&conn->fc_send_ctl) ||
|
0 != lsquic_send_ctl_n_scheduled(&conn->fc_send_ctl) ||
|
||||||
|
@ -3604,8 +3605,10 @@ full_conn_ci_tick (lsquic_conn_t *lconn, lsquic_time_t now)
|
||||||
{
|
{
|
||||||
RETURN_IF_OUT_OF_PACKETS();
|
RETURN_IF_OUT_OF_PACKETS();
|
||||||
generate_connection_close_packet(conn);
|
generate_connection_close_packet(conn);
|
||||||
tick |= TICK_SEND;
|
tick |= TICK_SEND|TICK_CLOSE;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
tick |= TICK_CLOSE;
|
||||||
|
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8354,6 +8354,7 @@ ietf_full_conn_ci_tick (struct lsquic_conn *lconn, lsquic_time_t now)
|
||||||
{
|
{
|
||||||
LSQ_DEBUG("connection is OK to close");
|
LSQ_DEBUG("connection is OK to close");
|
||||||
conn->ifc_flags |= IFC_TICK_CLOSE;
|
conn->ifc_flags |= IFC_TICK_CLOSE;
|
||||||
|
if (conn->ifc_flags & IFC_RECV_CLOSE)
|
||||||
tick |= TICK_CLOSE;
|
tick |= TICK_CLOSE;
|
||||||
if (!(conn->ifc_mflags & MF_CONN_CLOSE_PACK)
|
if (!(conn->ifc_mflags & MF_CONN_CLOSE_PACK)
|
||||||
/* Generate CONNECTION_CLOSE frame if:
|
/* Generate CONNECTION_CLOSE frame if:
|
||||||
|
@ -8379,8 +8380,10 @@ ietf_full_conn_ci_tick (struct lsquic_conn *lconn, lsquic_time_t now)
|
||||||
{
|
{
|
||||||
RETURN_IF_OUT_OF_PACKETS();
|
RETURN_IF_OUT_OF_PACKETS();
|
||||||
generate_connection_close_packet(conn);
|
generate_connection_close_packet(conn);
|
||||||
tick |= TICK_SEND;
|
tick |= TICK_SEND|TICK_CLOSE;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
tick |= TICK_CLOSE;
|
||||||
|
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue