[COMMIT seastar master] shared_token_bucket: resolve FIXME

4 views
Skip to first unread message

Commit Bot

<bot@cloudius-systems.com>
unread,
Jun 28, 2024, 10:17:58 AM6/28/24
to seastar-dev@googlegroups.com, Patryk Wrobel
From: Patryk Wrobel <patryk...@scylladb.com>
Committer: Pavel Emelyanov <xe...@scylladb.com>
Branch: master

shared_token_bucket: resolve FIXME

The specialization of 'struct rovers' for 'capped_release::no'
does not support 'release()' member function. If it was called,
it would call abort().

This change resolves FIXME that demanded this member function to
not be compiled. Usage of '= delete' was introduced to break the
compilation if the user tries to use release().

Signed-off-by: Patryk Wrobel <patryk...@scylladb.com>

Closes scylladb/seastar#2308

---
diff --git a/include/seastar/util/shared_token_bucket.hh b/include/seastar/util/shared_token_bucket.hh
--- a/include/seastar/util/shared_token_bucket.hh
+++ b/include/seastar/util/shared_token_bucket.hh
@@ -83,9 +83,7 @@ struct rovers<T, capped_release::no> {
return wrapping_difference(tail.load(std::memory_order_relaxed) + limit, head.load(std::memory_order_relaxed));
}

- void release(T) {
- std::abort(); // FIXME shouldn't even be compiled
- }
+ void release(T) = delete;
};

template <typename T, typename Period, capped_release Capped, typename Clock = std::chrono::steady_clock>
Reply all
Reply to author
Forward
0 new messages