session manager not trigger event
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user