summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2023-11-21 19:08:30 +0800
committerluwenpeng <[email protected]>2023-11-21 19:08:30 +0800
commitc3bd2fb9390931fdc20431cff192bbaa8b6b3a5d (patch)
treeccfc24a66de97985ba6a429220b7b5c98bad0915 /test
parent332fe52650778e31d797f8e4071b20d05b7544cc (diff)
perf: 将marsio_send_burst_with_options替换成marsio_send_burst和marsio_buff_set_metadata(MR_BUFF_REHASH_INDEX)以降低CPU
Diffstat (limited to 'test')
-rw-r--r--test/gmock_marsio.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/gmock_marsio.cpp b/test/gmock_marsio.cpp
index 40992eb..31127bc 100644
--- a/test/gmock_marsio.cpp
+++ b/test/gmock_marsio.cpp
@@ -55,6 +55,7 @@ struct mrb_metadata
uint16_t link_db_index;
uint16_t user_data_0;
+ uint32_t hash_usr;
};
struct mock_marsio_buff_t
@@ -154,6 +155,9 @@ int marsio_buff_set_metadata(marsio_buff_t *m, enum mr_buff_metadata_type type,
switch (type)
{
+ case MR_BUFF_REHASH_INDEX:
+ mrb_metadata->hash_usr = *(uint32_t *)data;
+ return 0;
case MR_BUFF_ROUTE_CTX:
route_ctx = (struct mrb_metadata_route_ctx *)data;
assert(route_ctx != NULL);
@@ -189,6 +193,13 @@ int marsio_buff_get_metadata(marsio_buff_t *m, enum mr_buff_metadata_type type,
switch (type)
{
+ case MR_BUFF_REHASH_INDEX:
+ if (sz_data < sizeof(uint32_t))
+ {
+ return -1;
+ }
+ *(uint32_t *)(data) = mrb_metadata->hash_usr;
+ return sizeof(uint32_t);
case MR_BUFF_ROUTE_CTX:
if (sz_data < sizeof(struct mrb_metadata_route_ctx))
{