session table support get oldest/newest session
This commit is contained in:
@@ -8,29 +8,31 @@ extern "C"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "session_address.h"
|
||||
|
||||
enum session_state
|
||||
{
|
||||
SESSION_STATE_NONE = 0,
|
||||
SESSION_STATE_OPENING,
|
||||
SESSION_STATE_ACTIVE,
|
||||
SESSION_STATE_DISCARD,
|
||||
SESSION_STATE_CLOSING,
|
||||
SESSION_STATE_CLOSED,
|
||||
SESSION_STATE_FREE,
|
||||
SESSION_STATE_DISCARD,
|
||||
};
|
||||
|
||||
enum session_type
|
||||
{
|
||||
SESSION_TYPE_NONE = 0,
|
||||
SESSION_TYPE_TCP,
|
||||
SESSION_TYPE_TCP_STREAM, // A TCP stream session is derived from the original TCP session
|
||||
SESSION_TYPE_UDP,
|
||||
};
|
||||
|
||||
enum session_event
|
||||
{
|
||||
SESSION_EVENT_NONE = 0,
|
||||
SESSION_EVENT_OPEN,
|
||||
SESSION_EVENT_DATA,
|
||||
SESSION_EVENT_CLOSE,
|
||||
SESSION_EVENT_OPENING,
|
||||
SESSION_EVENT_ACTIVE,
|
||||
SESSION_EVENT_CLOSING,
|
||||
SESSION_EVENT_DISCARD,
|
||||
SESSION_EVENT_TIMEOUT,
|
||||
|
||||
// Add new event before SESSION_EVENT_MAX
|
||||
@@ -46,7 +48,7 @@ struct metadata
|
||||
struct session;
|
||||
|
||||
/******************************************************************************
|
||||
* session
|
||||
* session base info
|
||||
******************************************************************************/
|
||||
|
||||
void session_init(struct session *sess);
|
||||
@@ -84,11 +86,14 @@ struct metadata *session_get0_s2c_1st_md(struct session *sess);
|
||||
// session timestamp
|
||||
void session_set_create_time(struct session *sess, uint64_t timestamp);
|
||||
void session_set_last_time(struct session *sess, uint64_t timestamp);
|
||||
void session_set_expire_time(struct session *sess, uint64_t timestamp);
|
||||
uint64_t session_get_create_time(struct session *sess);
|
||||
uint64_t session_get_last_time(struct session *sess);
|
||||
uint64_t session_get_expire_time(struct session *sess);
|
||||
|
||||
/******************************************************************************
|
||||
* session event
|
||||
******************************************************************************/
|
||||
|
||||
// session event
|
||||
bool session_push_event(struct session *sess, uint32_t event);
|
||||
bool session_pop_event(struct session *sess, uint32_t *event);
|
||||
|
||||
Reference in New Issue
Block a user