session manager not trigger event

This commit is contained in:
luwenpeng
2024-01-15 11:21:11 +08:00
parent 84bdd92534
commit a045c04f8d
8 changed files with 95 additions and 265 deletions

View File

@@ -25,52 +25,6 @@ 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
******************************************************************************/
static void event_queue_init(struct event_queue *queue)
{
queue->head_idx = 0;
queue->tail_idx = 0;
}
static bool event_queue_is_empty(struct event_queue *queue)
{
return queue->head_idx == queue->tail_idx;
}
static bool event_queue_is_full(struct event_queue *queue)
{
return (queue->tail_idx + 1) % SESSION_EVENT_QUEUE_SIZE == queue->head_idx;
}
static bool event_queue_push(struct event_queue *queue, uint32_t event)
{
if (event_queue_is_full(queue))
{
return false;
}
queue->events[queue->tail_idx] = event;
queue->tail_idx = (queue->tail_idx + 1) % SESSION_EVENT_QUEUE_SIZE;
return true;
}
static bool event_queue_pop(struct event_queue *queue, uint32_t *event)
{
if (event_queue_is_empty(queue))
{
return false;
}
*event = queue->events[queue->head_idx];
queue->head_idx = (queue->head_idx + 1) % SESSION_EVENT_QUEUE_SIZE;
return true;
}
/******************************************************************************
* session
******************************************************************************/
@@ -78,7 +32,6 @@ static bool event_queue_pop(struct event_queue *queue, uint32_t *event)
void session_init(struct session *sess)
{
memset(sess, 0, sizeof(struct session));
event_queue_init(&sess->events);
}
// session id
@@ -238,21 +191,6 @@ enum session_dir session_get_cur_dir(const struct session *sess)
return sess->cur_dir;
}
/******************************************************************************
* session event
******************************************************************************/
// session event
bool session_push_event(struct session *sess, uint32_t event)
{
return event_queue_push(&sess->events, event);
}
bool session_pop_event(struct session *sess, uint32_t *event)
{
return event_queue_pop(&sess->events, event);
}
/******************************************************************************
* session ex data
******************************************************************************/
@@ -450,23 +388,6 @@ static void udp_ex_data_tostring(uint64_t ex_data, char *buffer, size_t buffer_l
}
}
const char *session_event_tostring(enum session_event event)
{
switch (event)
{
case SESSION_EVENT_NONE:
return "none";
case SESSION_EVENT_OPENING:
return "opening";
case SESSION_EVENT_PACKET:
return "packet";
case SESSION_EVENT_CLOSING:
return "closing";
default:
return "unknown";
}
}
const char *session_state_tostring(enum session_state state)
{
switch (state)