perf: 将marsio_send_burst_with_options替换成marsio_send_burst和marsio_buff_set_metadata(MR_BUFF_REHASH_INDEX)以降低CPU
This commit is contained in:
@@ -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))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user