m) optimize new conn logic

1) on_new_conn only be called after handshake_ok
2) on_conn_closed only be called by ietf_full_conn_ci_destroy
This commit is contained in:
wangfuyu 2022-12-12 12:00:52 +08:00 committed by ivanfywang
parent 850b0a3d10
commit fff8900d04
1 changed files with 3 additions and 4 deletions

View File

@ -1681,14 +1681,14 @@ lsquic_ietf_full_conn_server_new (struct lsquic_engine_public *enpub,
conn->ifc_last_live_update = now;
if (0 != handshake_ok(&conn->ifc_conn))
goto err3;
LSQ_DEBUG("Calling on_new_conn callback");
conn->ifc_conn.cn_conn_ctx = conn->ifc_enpub->enp_stream_if->on_new_conn(
conn->ifc_enpub->enp_stream_if_ctx, &conn->ifc_conn);
conn->ifc_idle_to = conn->ifc_settings->es_idle_timeout * 1000000;
if (0 != handshake_ok(&conn->ifc_conn))
goto err3;
conn->ifc_created = imc->imc_created;
if (conn->ifc_idle_to)
lsquic_alarmset_set(&conn->ifc_alset, AL_IDLE,
@ -1708,7 +1708,6 @@ lsquic_ietf_full_conn_server_new (struct lsquic_engine_public *enpub,
return &conn->ifc_conn;
err3:
conn->ifc_enpub->enp_stream_if->on_conn_closed(&conn->ifc_conn);
ietf_full_conn_ci_destroy(&conn->ifc_conn);
return NULL;