summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author刘畅 <[email protected]>2023-05-18 13:05:40 +0000
committer刘畅 <[email protected]>2023-05-18 13:05:40 +0000
commit2fff2e3e8665cb04d73f032369b12e18b92bf575 (patch)
tree38a89cd2603774554b83056a9711d5fac89fc1ab
parent78836a03a4891cafeab4852b2a90af9a86fc5be2 (diff)
parent7ff35a38d7d4aaa0c0af0ca5bddff2363c905a02 (diff)
Merge branch 'bugfix_fix_swarmkv_hmget_api_use' into 'rel'v1.1.11
修正swarmkv hmget api使用方式 See merge request tango/shaping-engine!17
-rw-r--r--shaping/src/shaper.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/shaping/src/shaper.cpp b/shaping/src/shaper.cpp
index 6d1ec51..7c5afa2 100644
--- a/shaping/src/shaper.cpp
+++ b/shaping/src/shaper.cpp
@@ -258,6 +258,7 @@ int shaper_flow_push(struct shaping_thread_ctx *ctx, struct shaping_flow *sf, un
if (0 == avl_tree_node_insert(sp->priority_trees[priority], s_node->avl_node[priority])) {
ret = 0;
swarmkv_async_command(ctx->swarmkv_db, swarmkv_reply_cb_do_nothing, NULL, "HINCRBY tsg-shaping-%d priority-%d 1", s_rule_info->primary.id, priority);
+
shaper_stat_queueing_pkt_inc(ctx->stat, s_rule_info->vsys_id, s_rule_info->id, s_rule_info->primary.id,
priority, pkt_wrapper->direction, pkt_wrapper->length, SHAPING_PROFILE_TYPE_PRIMARY, ctx->thread_index);
shaper_stat_queueing_session_inc(ctx->stat, s_rule_info->vsys_id, s_rule_info->id, s_rule_info->primary.id, priority, SHAPING_PROFILE_TYPE_PRIMARY, ctx->thread_index);
@@ -480,9 +481,13 @@ static void shaper_queue_len_get_cb(const struct swarmkv_reply *reply, void * cb
}
for (unsigned int i = 0; i < reply->n_element; i++) {
- if (reply->elements[i] && reply->elements[i]->integer > 0) {
- s_pf_info->is_priority_blocked = 1;
- break;
+ if (reply->elements[i]->type == SWARMKV_REPLY_STRING) {
+ char tmp_str[32] = {0};
+ memcpy(tmp_str, reply->elements[i]->str, reply->elements[i]->len);
+ if (strtoll(tmp_str, NULL, 10) > 0) {
+ s_pf_info->is_priority_blocked = 1;
+ break;
+ }
}
}