session add API support get/set closing reasion

This commit is contained in:
luwenpeng
2024-01-16 14:10:13 +08:00
parent 8f685bc018
commit 1d4736ac88
3 changed files with 51 additions and 6 deletions

View File

@@ -20,12 +20,6 @@ enum session_state
SESSION_STATE_CLOSED,
};
enum session_action
{
SESSION_ACTION_DISCARD,
SESSION_ACTION_FASTFORWARD,
};
enum session_type
{
SESSION_TYPE_TCP = 0x1,
@@ -39,6 +33,16 @@ enum session_dir
SESSION_DIR_S2C = 2,
};
enum closing_reasion
{
CLOSING_BY_TIMEOUT = 1,
CLOSING_BY_EVICTED = 2,
CLOSING_BY_CLIENT_FIN = 3,
CLOSING_BY_CLIENT_RST = 4,
CLOSING_BY_SERVER_FIN = 5,
CLOSING_BY_SERVER_RST = 6,
};
struct session;
/******************************************************************************
@@ -65,6 +69,10 @@ enum session_state session_get_state(const struct session *sess);
void session_set_type(struct session *sess, enum session_type type);
enum session_type session_get_type(const struct session *sess);
// closing reasion
void session_set_closing_reasion(struct session *sess, enum closing_reasion reasion);
enum closing_reasion session_get_closing_reasion(const struct session *sess);
// session metrics
void session_inc_c2s_metrics(struct session *sess, uint64_t packets, uint64_t bytes);
void session_inc_s2c_metrics(struct session *sess, uint64_t packets, uint64_t bytes);
@@ -140,6 +148,7 @@ void session_run_expirecb(struct session *sess);
* session dump
******************************************************************************/
const char *session_closing_reasion_tostring(enum closing_reasion reasion);
const char *session_state_tostring(enum session_state state);
const char *session_type_tostring(enum session_type type);
const char *session_dir_tostring(enum session_dir dir);