summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2024-01-03 15:11:14 +0800
committeryangwei <[email protected]>2024-01-03 15:20:13 +0800
commitc2b67707d67fbd90c56b7f100cde7236375bb86a (patch)
treec200609cc8eb50f70c401c39ad2a8ef677105d68
parentadc1d1a384a120d66e25db087553a5cc765598da (diff)
✨ feat(session_get_current_thread_id): adapter get thread_id from streaminfov1.0.10
-rw-r--r--CMakeLists.txt4
-rw-r--r--include/stellar/session.h3
-rw-r--r--src/adapter/adapter.c13
3 files changed, 18 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83042c1..90bef99 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,12 +78,12 @@ add_subdirectory(vendor)
add_subdirectory(deps/toml)
add_subdirectory(src/adapter)
add_subdirectory(src/stellar_on_sapp)
-#add_subdirectory(src/http_decoder)
+add_subdirectory(src/http_decoder)
add_subdirectory(examples/sapp_plugin)
add_subdirectory(examples/stellar_plugin)
enable_testing()
-#add_subdirectory(test)
+add_subdirectory(test)
install(FILES include/stellar/session_exdata.h DESTINATION ${CMAKE_INSTALL_PREFIX}/framework/include/stellar COMPONENT Headers)
install(FILES include/stellar/session_mq.h DESTINATION ${CMAKE_INSTALL_PREFIX}/framework/include/stellar COMPONENT Headers)
diff --git a/include/stellar/session.h b/include/stellar/session.h
index e8f51f5..1289c82 100644
--- a/include/stellar/session.h
+++ b/include/stellar/session.h
@@ -92,6 +92,9 @@ struct session_addr *session_get0_addr(struct session *sess, enum session_addr_t
const char *session_get0_readable_addr(struct session *sess);
const char *session_get0_current_payload(struct session *sess, size_t *payload_len);
enum session_state session_get_current_state(struct session *sess);
+
+int session_get_current_thread_id(struct session *sess);
+
/* ------------session------------------*/
/* |l2|l3|l4|session payload| */
const char *session_get0_current_l3_header(struct session *sess);
diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c
index e9703b9..fac7b1b 100644
--- a/src/adapter/adapter.c
+++ b/src/adapter/adapter.c
@@ -509,3 +509,16 @@ enum session_state session_get_current_state(struct session *sess)
assert(sess);
return sess->state;
}
+
+int session_get_current_thread_id(struct session *sess)
+{
+ int thread_id = -1;
+ if(sess)
+ {
+ if(sess->cur_pkt && sess->cur_pkt->a_stream)
+ {
+ thread_id = sess->cur_pkt->a_stream->threadnum;
+ }
+ }
+ return thread_id;
+} \ No newline at end of file