summaryrefslogtreecommitdiff
path: root/src/session/session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/session/session.cpp')
-rw-r--r--src/session/session.cpp42
1 files changed, 7 insertions, 35 deletions
diff --git a/src/session/session.cpp b/src/session/session.cpp
index 8cdfcc6..ea3bf89 100644
--- a/src/session/session.cpp
+++ b/src/session/session.cpp
@@ -20,6 +20,10 @@ struct ex_manager
static struct ex_manager g_ex_manager = {0};
uint8_t tcp_builtin_ex = 0; // built-in ex_data index
uint8_t udp_builtin_ex = 0; // built-in ex_data index
+uint8_t c2s_1st_md_ex = 0; // built-in ex_data index
+uint8_t s2c_1st_md_ex = 0; // built-in ex_data index
+uint8_t c2s_1st_pkt_ex = 0; // built-in ex_data index
+uint8_t s2c_1st_pkt_ex = 0; // built-in ex_data index
/******************************************************************************
* ev queue
@@ -164,35 +168,6 @@ uint64_t session_get_s2c_packets(const struct session *sess)
return sess->s2c_packets;
}
-// session metadata
-void session_set_c2s_1st_md(struct session *sess, struct metadata *md)
-{
- memcpy(&sess->c2s_1st_md, md, sizeof(struct metadata));
-}
-
-void session_set_s2c_1st_md(struct session *sess, struct metadata *md)
-{
- memcpy(&sess->s2c_1st_md, md, sizeof(struct metadata));
-}
-
-const struct metadata *session_get0_c2s_1st_md(const struct session *sess)
-{
- if (sess->c2s_1st_md.len == 0)
- {
- return NULL;
- }
- return &sess->c2s_1st_md;
-}
-
-const struct metadata *session_get0_s2c_1st_md(const struct session *sess)
-{
- if (sess->s2c_1st_md.len == 0)
- {
- return NULL;
- }
- return &sess->s2c_1st_md;
-}
-
// session timestamp
void session_set_create_time(struct session *sess, uint64_t timestamp)
{
@@ -337,6 +312,7 @@ void session_free_ex_data(struct session *sess, uint8_t idx)
}
struct ex_schema *schema = &g_ex_manager.schemas[idx];
+ printf("free ex_data, idx: %d, key: %s, val: %p\n", idx, schema->key, sess->ex_data[idx]);
if (schema->free_cb != NULL && sess->ex_data[idx] != NULL)
{
schema->free_cb(sess, idx, sess->ex_data[idx], schema->args);
@@ -459,8 +435,8 @@ const char *session_event_tostring(enum session_event event)
return "none";
case SESSION_EVENT_OPENING:
return "opening";
- case SESSION_EVENT_ACTIVE:
- return "active";
+ case SESSION_EVENT_PACKET:
+ return "packet";
case SESSION_EVENT_CLOSING:
return "closing";
default:
@@ -478,8 +454,6 @@ const char *session_state_tostring(enum session_state state)
return "opening";
case SESSION_STATE_ACTIVE:
return "active";
- case SESSION_STATE_DISCARD:
- return "discard";
case SESSION_STATE_CLOSING:
return "closing";
case SESSION_STATE_CLOSED:
@@ -535,8 +509,6 @@ void session_dump(struct session *sess)
printf("session c2s bytes : %" PRIu64 "\n", session_get_c2s_bytes(sess));
printf("session s2c packets : %" PRIu64 "\n", session_get_s2c_packets(sess));
printf("session s2c bytes : %" PRIu64 "\n", session_get_s2c_bytes(sess));
- printf("session c2s 1st metadata : %p\n", (void *)session_get0_c2s_1st_md(sess));
- printf("session s2c 1st metadata : %p\n", (void *)session_get0_s2c_1st_md(sess));
printf("session create time : %" PRIu64 "\n", session_get_create_time(sess));
printf("session last time : %" PRIu64 "\n", session_get_last_time(sess));
printf("session current packet ptr : %p\n", (void *)session_get0_cur_pkt(sess));