From ba866fef10cdbfd94618e4364756ac76f91fe43f Mon Sep 17 00:00:00 2001 From: yangwei Date: Sun, 24 Jul 2022 23:22:52 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(session=5Fmanager):=20init=20r?= =?UTF-8?q?eturn=20with=20handle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk/include/event.h | 6 ------ src/main.cpp | 9 +++++---- src/session_manager/session_manager.cpp | 10 ++++++++-- src/session_manager/session_manager.h | 7 +++++-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/sdk/include/event.h b/sdk/include/event.h index 9f374db..0653f69 100644 --- a/sdk/include/event.h +++ b/sdk/include/event.h @@ -1,14 +1,8 @@ -enum stellar_event_type -{ - STELLAR_SESSION_EVENT, -}; - struct stellar_session_event_data; struct stellar_event { - stellar_event_type type; union { struct stellar_session_event_data *session_event_data; diff --git a/src/main.cpp b/src/main.cpp index 3031933..184abbe 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,6 +6,7 @@ struct stellar_event_base_loop_arg { struct packet_io_device *dev; + struct session_manager_handle *s_mgr; int thread_id; }; @@ -18,11 +19,11 @@ void stellar_event_base_loop(struct stellar_event_base_loop_arg *arg) int fetch_num = packet_io_rx(arg->dev, arg->thread_id, &rx_pkt, 1); if(fetch_num > 0) { - event = session_manager_commit(rx_pkt); + event = session_manager_commit(arg->s_mgr, rx_pkt); while(event) { plugin_manager_dispatch(event); - event = session_manager_fetch_event(); + event = session_manager_fetch_event(arg->s_mgr); } //clean session_manager event queue @@ -48,8 +49,8 @@ struct packet_io_device *packet_io_init(int worker_thread_num, const char *insta int main(int argc, char ** argv) { - //config_manager_init - + //config_init + struct session_manager_handle *h = session_manager_init(); plugin_session_event_register("HTTP", http_decoder, nullptr); //packet_io_init diff --git a/src/session_manager/session_manager.cpp b/src/session_manager/session_manager.cpp index 10d41bd..b374920 100644 --- a/src/session_manager/session_manager.cpp +++ b/src/session_manager/session_manager.cpp @@ -5,6 +5,12 @@ struct session_manager struct stellar_session **tcp_table, **udp_table; }; +struct session_manager_handle *session_manager_init() +{ + return nullptr; +} + + void session_manager_trigger_event(struct stellar_session *s, stellar_session_event_type type, struct stellar_session_event_extras *info) @@ -18,13 +24,13 @@ struct stellar_session *session_manager_session_derive(const struct stellar_sess return nullptr; } -struct stellar_event *session_manager_commit(struct stellar_packet *p) +struct stellar_event *session_manager_commit(struct session_manager_handle *h, struct stellar_packet *p) { return nullptr; }; -struct stellar_event *session_manager_fetch_event() +struct stellar_event *session_manager_fetch_event(struct session_manager_handle *h) { return nullptr; } diff --git a/src/session_manager/session_manager.h b/src/session_manager/session_manager.h index 3bac9f0..93c13da 100644 --- a/src/session_manager/session_manager.h +++ b/src/session_manager/session_manager.h @@ -12,8 +12,11 @@ struct stellar_session_event_data struct stellar_plugin_data *plugin_data; }; -struct stellar_event *session_manager_commit(struct stellar_packet *pkt); -struct stellar_event *session_manager_fetch_event(); +struct session_manager_handle; +struct session_manager_handle *session_manager_init(); + +struct stellar_event *session_manager_commit(struct session_manager_handle *s_mgr, struct stellar_packet *pkt); +struct stellar_event *session_manager_fetch_event(struct session_manager_handle *s_mgr); struct stellar_session {