session add API support get/set closing reasion
This commit is contained in:
@@ -88,6 +88,17 @@ enum session_type session_get_type(const struct session *sess)
|
||||
return sess->type;
|
||||
}
|
||||
|
||||
// closing reasion
|
||||
void session_set_closing_reasion(struct session *sess, enum closing_reasion reasion)
|
||||
{
|
||||
sess->closing_reasion = reasion;
|
||||
}
|
||||
|
||||
enum closing_reasion session_get_closing_reasion(const struct session *sess)
|
||||
{
|
||||
return sess->closing_reasion;
|
||||
}
|
||||
|
||||
// session metrics
|
||||
void session_inc_c2s_metrics(struct session *sess, uint64_t packets, uint64_t bytes)
|
||||
{
|
||||
@@ -388,6 +399,27 @@ static void udp_ex_data_tostring(uint64_t ex_data, char *buffer, size_t buffer_l
|
||||
}
|
||||
}
|
||||
|
||||
const char *session_closing_reasion_tostring(enum closing_reasion reasion)
|
||||
{
|
||||
switch (reasion)
|
||||
{
|
||||
case CLOSING_BY_TIMEOUT:
|
||||
return "CLOSING_BY_TIMEOUT";
|
||||
case CLOSING_BY_EVICTED:
|
||||
return "CLOSING_BY_EVICTED";
|
||||
case CLOSING_BY_CLIENT_FIN:
|
||||
return "CLOSING_BY_CLIENT_FIN";
|
||||
case CLOSING_BY_CLIENT_RST:
|
||||
return "CLOSING_BY_CLIENT_RST";
|
||||
case CLOSING_BY_SERVER_FIN:
|
||||
return "CLOSING_BY_SERVER_FIN";
|
||||
case CLOSING_BY_SERVER_RST:
|
||||
return "CLOSING_BY_SERVER_RST";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
const char *session_state_tostring(enum session_state state)
|
||||
{
|
||||
switch (state)
|
||||
@@ -445,6 +477,7 @@ void session_dump(struct session *sess)
|
||||
printf("session tuple6 dir : %s\n", session_dir_tostring(session_get_tuple6_dir(sess)));
|
||||
printf("session state : %s\n", session_state_tostring(session_get_state(sess)));
|
||||
printf("session type : %s\n", session_type_tostring(session_get_type(sess)));
|
||||
printf("session closing reasion : %s\n", session_closing_reasion_tostring(session_get_closing_reasion(sess)));
|
||||
printf("session c2s packets : %" PRIu64 "\n", session_get_c2s_packets(sess));
|
||||
printf("session c2s bytes : %" PRIu64 "\n", session_get_c2s_bytes(sess));
|
||||
printf("session s2c packets : %" PRIu64 "\n", session_get_s2c_packets(sess));
|
||||
|
||||
Reference in New Issue
Block a user