Add state to the on_session_message parameter.

* When state is closed, it implies that packet is null and the session will be destroyed
This commit is contained in:
luwenpeng
2024-10-25 19:15:28 +08:00
parent 4061d5a942
commit 03864c9731
9 changed files with 168 additions and 128 deletions

View File

@@ -286,9 +286,13 @@ static int lpi_plus_detect(struct lpi_plus_detect_context *ctx, struct lpi_plus_
return new_appid;
}
static void lpi_plus_on_session(struct session *sess, struct packet *pkt, void *args)
static void lpi_plus_on_session(struct session *sess, enum session_state state, struct packet *pkt, void *args)
{
if(pkt==NULL)return;
if (state == SESSION_STATE_CLOSED)
{
assert(pkt == NULL);
return;
}
struct lpi_plus_env *env=(struct lpi_plus_env *)args;
struct lpi_plus_exdata *exdata = (struct lpi_plus_exdata *)session_get_exdata(sess, env->lpip_session_exdata_idx);
if(exdata==NULL)