fix(rpc): return integers for speed limits (#8406)

This commit is contained in:
Yat Ho
2026-02-10 11:01:54 +08:00
committed by GitHub
parent 182c8ce12c
commit a583f8e789

View File

@@ -1907,9 +1907,9 @@ void add_strings_from_var(std::set<std::string_view>& strings, tr_variant const&
auto group_map = tr_variant::Map{ 6U };
group_map.try_emplace(TR_KEY_honors_session_limits, group->are_parent_limits_honored(tr_direction::Up));
group_map.try_emplace(TR_KEY_name, name.sv());
group_map.try_emplace(TR_KEY_speed_limit_down, limits.down_limit.count(Speed::Units::KByps));
group_map.try_emplace(TR_KEY_speed_limit_down, static_cast<int64_t>(limits.down_limit.count(Speed::Units::KByps)));
group_map.try_emplace(TR_KEY_speed_limit_down_enabled, limits.down_limited);
group_map.try_emplace(TR_KEY_speed_limit_up, limits.up_limit.count(Speed::Units::KByps));
group_map.try_emplace(TR_KEY_speed_limit_up, static_cast<int64_t>(limits.up_limit.count(Speed::Units::KByps)));
group_map.try_emplace(TR_KEY_speed_limit_up_enabled, limits.up_limited);
groups_vec.emplace_back(std::move(group_map));
}
@@ -2524,7 +2524,8 @@ using SessionAccessors = std::pair<SessionGetter, SessionSetter>;
map.try_emplace(
TR_KEY_speed_limit_down,
[](tr_session const& src) -> tr_variant { return src.speed_limit(tr_direction::Down).count(Speed::Units::KByps); },
[](tr_session const& src) -> tr_variant
{ return static_cast<int64_t>(src.speed_limit(tr_direction::Down).count(Speed::Units::KByps)); },
[](tr_session& tgt, tr_variant const& src, ErrorInfo& /*err*/)
{
if (auto const val = src.value_if<int64_t>())
@@ -2546,7 +2547,8 @@ using SessionAccessors = std::pair<SessionGetter, SessionSetter>;
map.try_emplace(
TR_KEY_speed_limit_up,
[](tr_session const& src) -> tr_variant { return src.speed_limit(tr_direction::Up).count(Speed::Units::KByps); },
[](tr_session const& src) -> tr_variant
{ return static_cast<int64_t>(src.speed_limit(tr_direction::Up).count(Speed::Units::KByps)); },
[](tr_session& tgt, tr_variant const& src, ErrorInfo& /*err*/)
{
if (auto const val = src.value_if<int64_t>())