From 361b65164cb14562474edc0fd6550f20fbcfeaba Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Thu, 9 Jul 2026 21:04:58 +0100 Subject: [PATCH 1/4] style: Unify style for all Doxygen comments --- src/app/CliArgs.hpp | 16 ++++-- src/cluster/Backend.hpp | 3 +- src/cluster/CacheLoaderDecider.hpp | 8 ++- src/cluster/Metrics.hpp | 8 ++- src/cluster/WriterDecider.hpp | 8 ++- src/data/BackendInterface.hpp | 4 +- src/data/CassandraBackend.hpp | 2 +- src/data/DBHelpers.hpp | 4 +- src/data/LedgerCache.hpp | 4 +- src/data/LedgerCacheLoadingState.hpp | 20 +++++-- src/data/Types.hpp | 12 +++- src/data/cassandra/CassandraBackendFamily.hpp | 2 +- src/data/cassandra/impl/Cluster.hpp | 56 ++++++++++++++----- src/data/cassandra/impl/ExecutionStrategy.hpp | 16 +++--- src/data/cassandra/impl/Future.hpp | 4 +- src/etl/CacheLoaderSettings.hpp | 22 ++++++-- src/etl/NFTHelpers.hpp | 4 +- src/etl/Source.hpp | 4 +- src/etl/SystemState.hpp | 8 ++- src/etl/WriterState.hpp | 16 ++++-- src/etl/impl/SourceImpl.hpp | 4 +- src/rpc/Counters.hpp | 28 +++++++--- src/rpc/Errors.hpp | 36 +++++++++--- src/rpc/JS.hpp | 12 +++- src/rpc/RPCHelpers.hpp | 4 +- src/rpc/handlers/GetAggregatePrice.hpp | 4 +- src/util/Concepts.hpp | 4 +- src/util/UnsupportedType.hpp | 4 +- src/util/async/AnyExecutionContext.hpp | 10 ++-- src/util/async/AnyStopToken.hpp | 6 +- src/util/async/Operation.hpp | 4 +- .../async/context/BasicExecutionContext.hpp | 4 +- src/util/config/ConfigDescription.hpp | 4 +- src/util/config/ConfigFileJson.hpp | 4 +- src/util/config/Error.hpp | 4 +- src/util/config/Types.hpp | 8 ++- src/web/HttpSession.hpp | 16 ++++-- src/web/PlainWsSession.hpp | 8 ++- src/web/Resolver.hpp | 4 +- src/web/Server.hpp | 16 ++++-- src/web/SslHttpSession.hpp | 16 ++++-- src/web/SslWsSession.hpp | 8 ++- .../dosguard/WhitelistHandlerInterface.hpp | 4 +- .../util/config/ClioConfigDefinitionTests.cpp | 4 +- tests/unit/util/log/LoggerTests.cpp | 4 +- 45 files changed, 317 insertions(+), 124 deletions(-) diff --git a/src/app/CliArgs.hpp b/src/app/CliArgs.hpp index 5873447fb0..d748c301d0 100644 --- a/src/app/CliArgs.hpp +++ b/src/app/CliArgs.hpp @@ -23,24 +23,32 @@ class CliArgs { */ class Action { public: - /** @brief Run action. */ + /** + * @brief Run action. + */ struct Run { std::string configPath; ///< Configuration file path. bool useNgWebServer; ///< Whether to use a ng web server }; - /** @brief Exit action. */ + /** + * @brief Exit action. + */ struct Exit { int exitCode; ///< Exit code. }; - /** @brief Migration action. */ + /** + * @brief Migration action. + */ struct Migrate { std::string configPath; MigrateSubCmd subCmd; }; - /** @brief Verify Config action. */ + /** + * @brief Verify Config action. + */ struct VerifyConfig { std::string configPath; }; diff --git a/src/cluster/Backend.hpp b/src/cluster/Backend.hpp index d82d3a3b92..ff04388a40 100644 --- a/src/cluster/Backend.hpp +++ b/src/cluster/Backend.hpp @@ -36,7 +36,8 @@ namespace cluster { */ class Backend { public: - /** @brief Type representing cluster data result - either a vector of nodes or an error message + /** + * @brief Type representing cluster data result - either a vector of nodes or an error message */ using ClusterData = std::expected, std::string>; diff --git a/src/cluster/CacheLoaderDecider.hpp b/src/cluster/CacheLoaderDecider.hpp index 1a2780e65b..45482ad1ed 100644 --- a/src/cluster/CacheLoaderDecider.hpp +++ b/src/cluster/CacheLoaderDecider.hpp @@ -23,10 +23,14 @@ namespace cluster { * This ensures at most one node in the cluster loads the cache at a time. */ class CacheLoaderDecider { - /** @brief Thread pool for spawning asynchronous tasks */ + /** + * @brief Thread pool for spawning asynchronous tasks + */ boost::asio::thread_pool& ctx_; - /** @brief Interface for controlling cache loading permission of this node */ + /** + * @brief Interface for controlling cache loading permission of this node + */ std::unique_ptr cacheLoadingState_; public: diff --git a/src/cluster/Metrics.hpp b/src/cluster/Metrics.hpp index aa4237afcd..93673d2e31 100644 --- a/src/cluster/Metrics.hpp +++ b/src/cluster/Metrics.hpp @@ -18,14 +18,18 @@ namespace cluster { * - Health status of cluster communication */ class Metrics { - /** @brief Gauge tracking the total number of nodes visible in the cluster */ + /** + * @brief Gauge tracking the total number of nodes visible in the cluster + */ util::prometheus::GaugeInt& nodesInClusterMetric_ = PrometheusService::gaugeInt( "cluster_nodes_total_number", {}, "Total number of nodes this node can detect in the cluster." ); - /** @brief Boolean metric indicating whether cluster communication is healthy */ + /** + * @brief Boolean metric indicating whether cluster communication is healthy + */ util::prometheus::Bool isHealthy_ = PrometheusService::boolMetric( "cluster_communication_is_healthy", {}, diff --git a/src/cluster/WriterDecider.hpp b/src/cluster/WriterDecider.hpp index e65d7e18e9..616c09a058 100644 --- a/src/cluster/WriterDecider.hpp +++ b/src/cluster/WriterDecider.hpp @@ -66,10 +66,14 @@ class WriterDecider { static constexpr std::chrono::steady_clock::duration kRecoveryTime = std::chrono::hours{1}; private: - /** @brief Thread pool for spawning asynchronous tasks */ + /** + * @brief Thread pool for spawning asynchronous tasks + */ boost::asio::thread_pool& ctx_; - /** @brief Interface for controlling the writer state of this node */ + /** + * @brief Interface for controlling the writer state of this node + */ std::unique_ptr writerState_; /** diff --git a/src/data/BackendInterface.hpp b/src/data/BackendInterface.hpp index 52b28cd130..7d32f1220d 100644 --- a/src/data/BackendInterface.hpp +++ b/src/data/BackendInterface.hpp @@ -669,7 +669,9 @@ class BackendInterface { boost::asio::yield_context yield ) const = 0; - /** @brief Return type for fetchClioNodesData() method */ + /** + * @brief Return type for fetchClioNodesData() method + */ using ClioNodesDataFetchResult = std::expected>, std::string>; diff --git a/src/data/CassandraBackend.hpp b/src/data/CassandraBackend.hpp index 9e3fc941b7..bfad3a8f42 100644 --- a/src/data/CassandraBackend.hpp +++ b/src/data/CassandraBackend.hpp @@ -72,7 +72,7 @@ class BasicCassandraBackend : public CassandraBackendFamily< */ using DefaultCassandraFamily::DefaultCassandraFamily; - /* + /** * @brief Move constructor is deleted because handle_ is shared by reference with executor */ BasicCassandraBackend(BasicCassandraBackend&&) = delete; diff --git a/src/data/DBHelpers.hpp b/src/data/DBHelpers.hpp index 1fe40e637b..3b65e9eebc 100644 --- a/src/data/DBHelpers.hpp +++ b/src/data/DBHelpers.hpp @@ -286,5 +286,7 @@ uint256ToString(xrpl::uint256 const& input) return {reinterpret_cast(input.data()), xrpl::uint256::size()}; } -/** @brief The ripple epoch start timestamp. Midnight on 1st January 2000. */ +/** + * @brief The ripple epoch start timestamp. Midnight on 1st January 2000. + */ static constexpr std::uint32_t kRippleEpochStart = 946684800; diff --git a/src/data/LedgerCache.hpp b/src/data/LedgerCache.hpp index 468834c6e0..f6cf764fbb 100644 --- a/src/data/LedgerCache.hpp +++ b/src/data/LedgerCache.hpp @@ -29,7 +29,9 @@ namespace data { */ class LedgerCache : public LedgerCacheInterface { public: - /** @brief An entry of the cache */ + /** + * @brief An entry of the cache + */ struct CacheEntry { uint32_t seq = 0; Blob blob; diff --git a/src/data/LedgerCacheLoadingState.hpp b/src/data/LedgerCacheLoadingState.hpp index c77ce974ff..49e6d0af52 100644 --- a/src/data/LedgerCacheLoadingState.hpp +++ b/src/data/LedgerCacheLoadingState.hpp @@ -73,23 +73,33 @@ class LedgerCacheLoadingState : public LedgerCacheLoadingStateInterface { */ explicit LedgerCacheLoadingState(LedgerCacheInterface const& cache); - /** @copydoc LedgerCacheLoadingStateInterface::allowLoading() */ + /** + * @copydoc LedgerCacheLoadingStateInterface::allowLoading() + */ void allowLoading() override; - /** @copydoc LedgerCacheLoadingStateInterface::isLoadingAllowed() */ + /** + * @copydoc LedgerCacheLoadingStateInterface::isLoadingAllowed() + */ [[nodiscard]] bool isLoadingAllowed() const override; - /** @copydoc LedgerCacheLoadingStateInterface::waitForLoadingAllowed() */ + /** + * @copydoc LedgerCacheLoadingStateInterface::waitForLoadingAllowed() + */ void waitForLoadingAllowed() const override; - /** @copydoc LedgerCacheLoadingStateInterface::isCurrentlyLoading() */ + /** + * @copydoc LedgerCacheLoadingStateInterface::isCurrentlyLoading() + */ [[nodiscard]] bool isCurrentlyLoading() const override; - /** @copydoc LedgerCacheLoadingStateInterface::clone() */ + /** + * @copydoc LedgerCacheLoadingStateInterface::clone() + */ [[nodiscard]] std::unique_ptr clone() const override; }; diff --git a/src/data/Types.hpp b/src/data/Types.hpp index d01a3c323a..90a37094ef 100644 --- a/src/data/Types.hpp +++ b/src/data/Types.hpp @@ -294,13 +294,19 @@ struct AmendmentKey { { } - /** @brief Conversion to string */ + /** + * @brief Conversion to string + */ operator std::string const&() const; - /** @brief Conversion to string_view */ + /** + * @brief Conversion to string_view + */ operator std::string_view() const; - /** @brief Conversion to uint256 */ + /** + * @brief Conversion to uint256 + */ operator xrpl::uint256() const; /** diff --git a/src/data/cassandra/CassandraBackendFamily.hpp b/src/data/cassandra/CassandraBackendFamily.hpp index 27385514b8..3d0aa01f3a 100644 --- a/src/data/cassandra/CassandraBackendFamily.hpp +++ b/src/data/cassandra/CassandraBackendFamily.hpp @@ -134,7 +134,7 @@ class CassandraBackendFamily : public BackendInterface { LOG(log_.info()) << "Created (revamped) CassandraBackend"; } - /* + /** * @brief Move constructor is deleted because handle_ is shared by reference with executor */ CassandraBackendFamily(CassandraBackendFamily&&) = delete; diff --git a/src/data/cassandra/impl/Cluster.hpp b/src/data/cassandra/impl/Cluster.hpp index e0d0155321..cf6bd9668c 100644 --- a/src/data/cassandra/impl/Cluster.hpp +++ b/src/data/cassandra/impl/Cluster.hpp @@ -56,50 +56,78 @@ struct Settings { std::string bundle; // no meaningful default }; - /** @brief Enables or disables cassandra driver logger */ + /** + * @brief Enables or disables cassandra driver logger + */ bool enableLog = false; - /** @brief Connect timeout specified in milliseconds */ + /** + * @brief Connect timeout specified in milliseconds + */ std::chrono::milliseconds connectionTimeout = std::chrono::milliseconds{kDefaultConnectionTimeout}; - /** @brief Request timeout specified in milliseconds */ + /** + * @brief Request timeout specified in milliseconds + */ std::chrono::milliseconds requestTimeout = std::chrono::milliseconds{0}; // no timeout at all - /** @brief Connection information; either ContactPoints or SecureConnectionBundle */ + /** + * @brief Connection information; either ContactPoints or SecureConnectionBundle + */ std::variant connectionInfo = ContactPoints{}; - /** @brief The number of threads for the driver to pool */ + /** + * @brief The number of threads for the driver to pool + */ uint32_t threads = std::thread::hardware_concurrency(); - /** @brief The maximum number of outstanding write requests at any given moment */ + /** + * @brief The maximum number of outstanding write requests at any given moment + */ uint32_t maxWriteRequestsOutstanding = kDefaultMaxWriteRequestsOutstanding; - /** @brief The maximum number of outstanding read requests at any given moment */ + /** + * @brief The maximum number of outstanding read requests at any given moment + */ uint32_t maxReadRequestsOutstanding = kDefaultMaxReadRequestsOutstanding; - /** @brief The number of connection per host to always have active */ + /** + * @brief The number of connection per host to always have active + */ uint32_t coreConnectionsPerHost = 3u; - /** @brief Size of batches when writing */ + /** + * @brief Size of batches when writing + */ std::size_t writeBatchSize = kDefaultBatchSize; - /** @brief Provider to know if we are using scylladb or keyspace */ + /** + * @brief Provider to know if we are using scylladb or keyspace + */ Provider provider = kDefaultProvider; - /** @brief Size of the IO queue */ + /** + * @brief Size of the IO queue + */ std::optional queueSizeIO = std::nullopt; // NOLINT(readability-redundant-member-init) - /** @brief SSL certificate */ + /** + * @brief SSL certificate + */ std::optional certificate = std::nullopt; // NOLINT(readability-redundant-member-init) - /** @brief Username/login */ + /** + * @brief Username/login + */ std::optional username = std::nullopt; // NOLINT(readability-redundant-member-init) - /** @brief Password to match the `username` */ + /** + * @brief Password to match the `username` + */ std::optional password = std::nullopt; // NOLINT(readability-redundant-member-init) diff --git a/src/data/cassandra/impl/ExecutionStrategy.hpp b/src/data/cassandra/impl/ExecutionStrategy.hpp index 0051674ea3..e8907a5f97 100644 --- a/src/data/cassandra/impl/ExecutionStrategy.hpp +++ b/src/data/cassandra/impl/ExecutionStrategy.hpp @@ -169,7 +169,7 @@ class DefaultExecutionStrategy { * * @param preparedStatement Statement to prepare and execute * @param args Args to bind to the prepared statement - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout */ template void @@ -185,7 +185,7 @@ class DefaultExecutionStrategy { * Retries forever with retry policy specified by @ref AsyncExecutor * * @param statement Statement to execute - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout */ void write(StatementType&& statement) @@ -215,7 +215,7 @@ class DefaultExecutionStrategy { * Retries forever with retry policy specified by @ref AsyncExecutor. * * @param statements Vector of statements to execute as a batch - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout */ void write(std::vector&& statements) @@ -254,7 +254,7 @@ class DefaultExecutionStrategy { * Retries forever with retry policy specified by @ref AsyncExecutor. * * @param statements Vector of statements to execute - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout */ void writeEach(std::vector&& statements) @@ -272,7 +272,7 @@ class DefaultExecutionStrategy { * @param token Completion token (yield_context) * @param preparedStatement Statement to prepare and execute * @param args Args to bind to the prepared statement - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout * @return ResultType or error wrapped in Expected */ template @@ -289,7 +289,7 @@ class DefaultExecutionStrategy { * * @param token Completion token (yield_context) * @param statements Statements to execute in a batch - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout * @return ResultType or error wrapped in Expected */ [[maybe_unused]] ResultOrErrorType @@ -346,7 +346,7 @@ class DefaultExecutionStrategy { * * @param token Completion token (yield_context) * @param statement Statement to execute - * @throw DatabaseTimeout on timeout + * @throws DatabaseTimeout on timeout * @return ResultType or error wrapped in Expected */ [[maybe_unused]] ResultOrErrorType @@ -402,7 +402,7 @@ class DefaultExecutionStrategy { * * @param token Completion token (yield_context) * @param statements Statements to execute - * @throw DatabaseTimeout on db error + * @throws DatabaseTimeout on db error * @return Vector of results */ std::vector diff --git a/src/data/cassandra/impl/Future.hpp b/src/data/cassandra/impl/Future.hpp index 4dbe1a5aac..4e42b95e3c 100644 --- a/src/data/cassandra/impl/Future.hpp +++ b/src/data/cassandra/impl/Future.hpp @@ -33,7 +33,9 @@ class FutureWithCallback : public Future { FutureWithCallback(FutureWithCallback&&) = default; private: - /** Wrapped in a unique_ptr so it can survive std::move :/ */ + /** + * Wrapped in a unique_ptr so it can survive std::move :/ + */ FnPtrType cb_; }; diff --git a/src/etl/CacheLoaderSettings.hpp b/src/etl/CacheLoaderSettings.hpp index 224d142a19..6f3a800f14 100644 --- a/src/etl/CacheLoaderSettings.hpp +++ b/src/etl/CacheLoaderSettings.hpp @@ -13,10 +13,14 @@ namespace etl { * @brief Settings for the cache loader */ struct CacheLoaderSettings { - /** @brief Ways to load the cache */ + /** + * @brief Ways to load the cache + */ enum class LoadStyle { ASYNC, SYNC, NONE }; - /** @brief Settings for cache file operations */ + /** + * @brief Settings for cache file operations + */ struct CacheFileSettings { std::string path; /**< path to the file to load cache from on start and save cache to on shutdown */ @@ -41,15 +45,21 @@ struct CacheLoaderSettings { auto operator<=>(CacheLoaderSettings const&) const = default; - /** @returns True if the load style is SYNC; false otherwise */ + /** + * @return True if the load style is SYNC; false otherwise + */ [[nodiscard]] bool isSync() const; - /** @returns True if the load style is ASYNC; false otherwise */ + /** + * @return True if the load style is ASYNC; false otherwise + */ [[nodiscard]] bool isAsync() const; - /** @returns True if the cache is disabled; false otherwise */ + /** + * @return True if the cache is disabled; false otherwise + */ [[nodiscard]] bool isDisabled() const; }; @@ -58,7 +68,7 @@ struct CacheLoaderSettings { * @brief Create a CacheLoaderSettings object from a Config object * * @param config The configuration object - * @returns The CacheLoaderSettings object + * @return The CacheLoaderSettings object */ [[nodiscard]] CacheLoaderSettings makeCacheLoaderSettings(util::config::ClioConfigDefinition const& config); diff --git a/src/etl/NFTHelpers.hpp b/src/etl/NFTHelpers.hpp index 85da5b56d2..9686c5a877 100644 --- a/src/etl/NFTHelpers.hpp +++ b/src/etl/NFTHelpers.hpp @@ -97,9 +97,9 @@ getNFTDataFromObj(std::uint32_t seq, std::string const& key, std::string const& /** * @brief Get the unique NFTs data from a vector of NFTsData happening in the same ledger. For - example, if a NFT has + * example, if a NFT has * both accept offer and burn happening in the same ledger,we only keep the final state of the NFT. - + * * @param nfts The NFTs data to filter, happening in the same ledger * @return The unique NFTs data */ diff --git a/src/etl/Source.hpp b/src/etl/Source.hpp index db0ed9f0e3..ca7acb9b80 100644 --- a/src/etl/Source.hpp +++ b/src/etl/Source.hpp @@ -77,7 +77,9 @@ class SourceBase { [[nodiscard]] virtual boost::json::object toJson() const = 0; - /** @return String representation of the source (for debug) */ + /** + * @return String representation of the source (for debug) + */ [[nodiscard]] virtual std::string toString() const = 0; diff --git a/src/etl/SystemState.hpp b/src/etl/SystemState.hpp index 7b82d26da5..9db626832d 100644 --- a/src/etl/SystemState.hpp +++ b/src/etl/SystemState.hpp @@ -44,14 +44,18 @@ struct SystemState { "Whether the process is in strict read-only mode" ); - /** @brief Whether the process is writing to the database. */ + /** + * @brief Whether the process is writing to the database. + */ util::prometheus::Bool isWriting = PrometheusService::boolMetric( "etl_writing", util::prometheus::Labels{}, "Whether the process is writing to the database" ); - /** @brief Shows whether ETL started monitor and ready to become a writer if needed */ + /** + * @brief Shows whether ETL started monitor and ready to become a writer if needed + */ std::atomic_bool etlStarted{false}; /** diff --git a/src/etl/WriterState.hpp b/src/etl/WriterState.hpp index 0cb8f083ee..26dd2e5996 100644 --- a/src/etl/WriterState.hpp +++ b/src/etl/WriterState.hpp @@ -216,19 +216,27 @@ class WriterState : public WriterStateInterface { [[nodiscard]] bool isFallback() const override; - /** @copydoc WriterStateInterface::isFallbackRecovery */ + /** + * @copydoc WriterStateInterface::isFallbackRecovery + */ [[nodiscard]] bool isFallbackRecovery() const override; - /** @copydoc WriterStateInterface::setFallbackRecovery */ + /** + * @copydoc WriterStateInterface::setFallbackRecovery + */ void setFallbackRecovery(bool newValue) override; - /** @copydoc WriterStateInterface::isEtlStarted */ + /** + * @copydoc WriterStateInterface::isEtlStarted + */ [[nodiscard]] bool isEtlStarted() const override; - /** @copydoc WriterStateInterface::isCacheFull */ + /** + * @copydoc WriterStateInterface::isCacheFull + */ [[nodiscard]] bool isCacheFull() const override; diff --git a/src/etl/impl/SourceImpl.hpp b/src/etl/impl/SourceImpl.hpp index 371e3784e9..211c65d118 100644 --- a/src/etl/impl/SourceImpl.hpp +++ b/src/etl/impl/SourceImpl.hpp @@ -143,7 +143,9 @@ class SourceImpl : public SourceBase { return res; } - /** @return String representation of the source (for debug) */ + /** + * @return String representation of the source (for debug) + */ [[nodiscard]] std::string toString() const final { diff --git a/src/rpc/Counters.hpp b/src/rpc/Counters.hpp index 641c6ecb34..c76d445972 100644 --- a/src/rpc/Counters.hpp +++ b/src/rpc/Counters.hpp @@ -116,23 +116,33 @@ class Counters { void rpcFailedToForward(std::string const& method); - /** @brief Increments the global too busy counter. */ + /** + * @brief Increments the global too busy counter. + */ void onTooBusy(); - /** @brief Increments the global not ready counter. */ + /** + * @brief Increments the global not ready counter. + */ void onNotReady(); - /** @brief Increments the global bad syntax counter. */ + /** + * @brief Increments the global bad syntax counter. + */ void onBadSyntax(); - /** @brief Increments the global unknown command/method counter. */ + /** + * @brief Increments the global unknown command/method counter. + */ void onUnknownCommand(); - /** @brief Increments the global internal error counter. */ + /** + * @brief Increments the global internal error counter. + */ void onInternalError(); @@ -145,11 +155,15 @@ class Counters { void recordLedgerRequest(boost::json::object const& params, std::uint32_t currentLedgerSequence); - /** @return Uptime of this instance in seconds. */ + /** + * @return Uptime of this instance in seconds. + */ std::chrono::seconds uptime() const; - /** @return A JSON report with current state of all counters for every method. */ + /** + * @return A JSON report with current state of all counters for every method. + */ boost::json::object report() const; }; diff --git a/src/rpc/Errors.hpp b/src/rpc/Errors.hpp index 89af5d40de..8f69d8157d 100644 --- a/src/rpc/Errors.hpp +++ b/src/rpc/Errors.hpp @@ -13,7 +13,9 @@ namespace rpc { -/** @brief Custom clio RPC Errors. */ +/** + * @brief Custom clio RPC Errors. + */ enum class ClioError { // normal clio errors start with 5000 RpcMalformedCurrency = 5000, @@ -43,14 +45,18 @@ enum class ClioError { EtlInvalidResponse = 7003, }; -/** @brief Holds info about a particular @ref ClioError. */ +/** + * @brief Holds info about a particular @ref ClioError. + */ struct ClioErrorInfo { ClioError const code; std::string_view const error; std::string_view const message; }; -/** @brief Clio uses compatible Rippled error codes for most RPC errors. */ +/** + * @brief Clio uses compatible Rippled error codes for most RPC errors. + */ using RippledError = xrpl::ErrorCodeI; /** @@ -61,7 +67,9 @@ using RippledError = xrpl::ErrorCodeI; */ using CombinedError = std::variant; -/** @brief A status returned from any RPC handler. */ +/** + * @brief A status returned from any RPC handler. + */ struct Status { CombinedError code = RippledError::RpcSuccess; std::string error; @@ -177,7 +185,9 @@ struct Status { operator<<(std::ostream& stream, Status const& status); }; -/** @brief Warning codes that can be returned by clio. */ +/** + * @brief Warning codes that can be returned by clio. + */ // NOLINTNEXTLINE(cppcoreguidelines-use-enum-class) enum WarningCode { WarnUnknown = -1, @@ -187,7 +197,9 @@ enum WarningCode { WarnRpcDeprecated = 2004 }; -/** @brief Holds information about a clio warning. */ +/** + * @brief Holds information about a clio warning. + */ struct WarningInfo { constexpr WarningInfo() = default; @@ -205,7 +217,9 @@ struct WarningInfo { std::string_view const message = "unknown warning"; }; -/** @brief Invalid parameters error. */ +/** + * @brief Invalid parameters error. + */ class InvalidParamsError : public std::exception { std::string msg_; @@ -231,7 +245,9 @@ class InvalidParamsError : public std::exception { } }; -/** @brief Account not found error. */ +/** + * @brief Account not found error. + */ class AccountNotFoundError : public std::exception { std::string account_; @@ -257,7 +273,9 @@ class AccountNotFoundError : public std::exception { } }; -/** @brief A globally available @ref rpc::Status that represents a successful state. */ +/** + * @brief A globally available @ref rpc::Status that represents a successful state. + */ static Status gOk; /** diff --git a/src/rpc/JS.hpp b/src/rpc/JS.hpp index 2147b45574..ec89f88cea 100644 --- a/src/rpc/JS.hpp +++ b/src/rpc/JS.hpp @@ -2,11 +2,17 @@ #include -/** @brief Helper macro for borrowing from xrpl::jss static (J)son (S)trings. */ +/** + * @brief Helper macro for borrowing from xrpl::jss static (J)son (S)trings. + */ #define JS(x) xrpl::jss::x.cStr() -/** @brief Access the lower case copy of a static (J)son (S)tring. */ +/** + * @brief Access the lower case copy of a static (J)son (S)tring. + */ #define JSL(x) util::toLower(JS(x)) -/** @brief Provides access to (SF)ield name (S)trings. */ +/** + * @brief Provides access to (SF)ield name (S)trings. + */ #define SFS(x) xrpl::x.jsonName.cStr() diff --git a/src/rpc/RPCHelpers.hpp b/src/rpc/RPCHelpers.hpp index b8d0c57673..5fbeac1c17 100644 --- a/src/rpc/RPCHelpers.hpp +++ b/src/rpc/RPCHelpers.hpp @@ -64,7 +64,9 @@ namespace rpc { -/** @brief Enum for NFT json manipulation */ +/** + * @brief Enum for NFT json manipulation + */ enum class NFTokenjson { ENABLE, DISABLE }; /** diff --git a/src/rpc/handlers/GetAggregatePrice.hpp b/src/rpc/handlers/GetAggregatePrice.hpp index 682e2ca56a..c7f57e4f79 100644 --- a/src/rpc/handlers/GetAggregatePrice.hpp +++ b/src/rpc/handlers/GetAggregatePrice.hpp @@ -181,8 +181,8 @@ class GetAggregatePriceHandler { private: /** * @brief Calls callback on the oracle ledger entry - If the oracle entry does not contains the price pair, search up to three previous metadata - objects. Stops early if the callback returns true. + * If the oracle entry does not contains the price pair, search up to three previous metadata + * objects. Stops early if the callback returns true. */ void tracebackOracleObject( diff --git a/src/util/Concepts.hpp b/src/util/Concepts.hpp index 8db6b99cf7..115ba522da 100644 --- a/src/util/Concepts.hpp +++ b/src/util/Concepts.hpp @@ -18,7 +18,7 @@ concept SomeNumberType = std::is_arithmetic_v && !std::is_same_v && * @brief Checks that the list of given values contains no duplicates * * @param values The list of values to check - * @returns true if no duplicates exist; false otherwise + * @return true if no duplicates exist; false otherwise */ static consteval auto hasNoDuplicates(auto&&... values) @@ -33,7 +33,7 @@ hasNoDuplicates(auto&&... values) * @brief Checks that the list of given type contains no duplicates * * @tparam Types The types to check - * @returns true if no duplicates exist; false otherwise + * @return true if no duplicates exist; false otherwise */ template constexpr bool diff --git a/src/util/UnsupportedType.hpp b/src/util/UnsupportedType.hpp index 6e9ef12062..7d8ad50822 100644 --- a/src/util/UnsupportedType.hpp +++ b/src/util/UnsupportedType.hpp @@ -2,7 +2,9 @@ namespace util { -/** @brief used for compile time checking of unsupported types */ +/** + * @brief used for compile time checking of unsupported types + */ template static constexpr bool Unsupported = false; // NOLINT(readability-identifier-naming) diff --git a/src/util/async/AnyExecutionContext.hpp b/src/util/async/AnyExecutionContext.hpp index 57bf9b58c0..92875a4395 100644 --- a/src/util/async/AnyExecutionContext.hpp +++ b/src/util/async/AnyExecutionContext.hpp @@ -63,7 +63,7 @@ class AnyExecutionContext { * @brief Execute a function on the execution context * * @param fn The function to execute - * @returns A unstoppable operation that can be used to wait for the result + * @return A unstoppable operation that can be used to wait for the result */ [[nodiscard]] auto execute(SomeHandlerWithoutStopToken auto&& fn) @@ -87,7 +87,7 @@ class AnyExecutionContext { * @brief Execute a function on the execution context * * @param fn The function to execute - * @returns A stoppable operation that can be used to wait for the result + * @return A stoppable operation that can be used to wait for the result * * @note The function is expected to take a stop token */ @@ -116,7 +116,7 @@ class AnyExecutionContext { * * @param fn The function to execute * @param timeout The timeout after which the function should be cancelled - * @returns A stoppable operation that can be used to wait for the result + * @return A stoppable operation that can be used to wait for the result * * @note The function is expected to take a stop token */ @@ -146,7 +146,7 @@ class AnyExecutionContext { * * @param delay The delay after which the function should be executed * @param fn The function to execute - * @returns A stoppable operation that can be used to wait for the result + * @return A stoppable operation that can be used to wait for the result * * @note The function is expected to take a stop token */ @@ -176,7 +176,7 @@ class AnyExecutionContext { * * @param delay The delay after which the function should be executed * @param fn The function to execute - * @returns A stoppable operation that can be used to wait for the result + * @return A stoppable operation that can be used to wait for the result * * @note The function is expected to take a stop token and a boolean representing whether the * scheduled operation got cancelled diff --git a/src/util/async/AnyStopToken.hpp b/src/util/async/AnyStopToken.hpp index 128e08d732..b52b7db47d 100644 --- a/src/util/async/AnyStopToken.hpp +++ b/src/util/async/AnyStopToken.hpp @@ -54,7 +54,7 @@ class AnyStopToken { /** * @brief Check if stop is requested * - * @returns true if stop is requested; false otherwise + * @return true if stop is requested; false otherwise */ [[nodiscard]] bool isStopRequested() const noexcept @@ -65,7 +65,7 @@ class AnyStopToken { /** * @brief Check if stop is requested * - * @returns true if stop is requested; false otherwise + * @return true if stop is requested; false otherwise */ [[nodiscard]] operator bool() const noexcept @@ -77,7 +77,7 @@ class AnyStopToken { * @brief Get the underlying boost::asio::yield_context * @note ASSERTs if the stop token is not convertible to boost::asio::yield_context * - * @returns The underlying boost::asio::yield_context + * @return The underlying boost::asio::yield_context */ [[nodiscard]] operator boost::asio::yield_context() const diff --git a/src/util/async/Operation.hpp b/src/util/async/Operation.hpp index a52499f701..efcfe2374f 100644 --- a/src/util/async/Operation.hpp +++ b/src/util/async/Operation.hpp @@ -177,7 +177,9 @@ class StoppableOperation : public impl::BasicOperation; /** diff --git a/src/web/HttpSession.hpp b/src/web/HttpSession.hpp index c7f0d93e62..dbbeeff23e 100644 --- a/src/web/HttpSession.hpp +++ b/src/web/HttpSession.hpp @@ -85,14 +85,18 @@ class HttpSession : public impl::HttpBase, ~HttpSession() override = default; - /** @return The TCP stream */ + /** + * @return The TCP stream + */ boost::beast::tcp_stream& stream() { return stream_; } - /** @brief Starts reading from the stream. */ + /** + * @brief Starts reading from the stream. + */ void run() { @@ -104,7 +108,9 @@ class HttpSession : public impl::HttpBase, ); } - /** @brief Closes the underlying socket. */ + /** + * @brief Closes the underlying socket. + */ void doClose() { @@ -112,7 +118,9 @@ class HttpSession : public impl::HttpBase, stream_.socket().shutdown(tcp::socket::shutdown_send, ec); } - /** @brief Upgrade to WebSocket connection. */ + /** + * @brief Upgrade to WebSocket connection. + */ void upgrade() { diff --git a/src/web/PlainWsSession.hpp b/src/web/PlainWsSession.hpp index a5cb7c8530..87c555c4d5 100644 --- a/src/web/PlainWsSession.hpp +++ b/src/web/PlainWsSession.hpp @@ -71,7 +71,9 @@ class PlainWsSession : public impl::WsBase { ~PlainWsSession() override = default; - /** @return The websocket stream. */ + /** + * @return The websocket stream. + */ StreamType& ws() { @@ -137,7 +139,9 @@ class WsUpgrader : public std::enable_shared_from_this> { } - /** @brief Initiate the upgrade. */ + /** + * @brief Initiate the upgrade. + */ void run() { diff --git a/src/web/Resolver.hpp b/src/web/Resolver.hpp index fae02bd098..4674ba2715 100644 --- a/src/web/Resolver.hpp +++ b/src/web/Resolver.hpp @@ -32,7 +32,7 @@ class Resolver { /** * @brief Resolve hostname to IP addresses. * - * @throw This method throws an exception when the hostname cannot be resolved. + * @throws This method throws an exception when the hostname cannot be resolved. * * @param hostname Hostname to resolve * @return IP addresses of the hostname @@ -43,7 +43,7 @@ class Resolver { /** * @brief Resolve to IP addresses with port. * - * @throw This method throws an exception when the hostname cannot be resolved. + * @throws This method throws an exception when the hostname cannot be resolved. * * @param hostname Hostname to resolve * @param service Service to resolve diff --git a/src/web/Server.hpp b/src/web/Server.hpp index a41b996af6..d923d10e30 100644 --- a/src/web/Server.hpp +++ b/src/web/Server.hpp @@ -129,7 +129,9 @@ class Detector LOG(log_.info()) << "Detector failed (" << message << "): " << ec.message(); } - /** @brief Initiate the detection. */ + /** + * @brief Initiate the detection. + */ void run() { @@ -305,14 +307,18 @@ class Server } } - /** @brief Start accepting incoming connections. */ + /** + * @brief Start accepting incoming connections. + */ void run() { doAccept(); } - /** @brief Stop accepting new connections */ + /** + * @brief Stop accepting new connections + */ void stop(boost::asio::yield_context) { @@ -359,7 +365,9 @@ class Server } }; -/** @brief The final type of the HttpServer used by Clio. */ +/** + * @brief The final type of the HttpServer used by Clio. + */ template using HttpServer = Server; diff --git a/src/web/SslHttpSession.hpp b/src/web/SslHttpSession.hpp index 57e21359e8..33168a41cb 100644 --- a/src/web/SslHttpSession.hpp +++ b/src/web/SslHttpSession.hpp @@ -93,14 +93,18 @@ class SslHttpSession : public impl::HttpBase, ~SslHttpSession() override = default; - /** @return The SSL stream. */ + /** + * @return The SSL stream. + */ boost::asio::ssl::stream& stream() { return stream_; } - /** @brief Initiates the handshake. */ + /** + * @brief Initiates the handshake. + */ void run() { @@ -135,7 +139,9 @@ class SslHttpSession : public impl::HttpBase, this->doRead(); } - /** @brief Closes the underlying connection. */ + /** + * @brief Closes the underlying connection. + */ void doClose() { @@ -158,7 +164,9 @@ class SslHttpSession : public impl::HttpBase, // At this point the connection is closed gracefully } - /** @brief Upgrades connection to secure websocket. */ + /** + * @brief Upgrades connection to secure websocket. + */ void upgrade() { diff --git a/src/web/SslWsSession.hpp b/src/web/SslWsSession.hpp index 608bca657f..74c4e580ff 100644 --- a/src/web/SslWsSession.hpp +++ b/src/web/SslWsSession.hpp @@ -72,7 +72,9 @@ class SslWsSession : public impl::WsBase { ConnectionBase::isAdmin_ = isAdmin; // NOLINT(cppcoreguidelines-prefer-member-initializer) } - /** @return The secure websocket stream. */ + /** + * @return The secure websocket stream. + */ StreamType& ws() { @@ -139,7 +141,9 @@ class SslWsUpgrader : public std::enable_shared_from_this Date: Fri, 10 Jul 2026 13:22:41 +0100 Subject: [PATCH 2/4] Unify member-after comments --- src/etl/CacheLoaderSettings.hpp | 21 +++++++++---------- src/etl/SystemState.hpp | 4 ++-- src/etl/WriterState.hpp | 3 +-- .../cassandra/impl/FullTableScanner.hpp | 8 +++---- src/util/Channel.hpp | 15 +++++++------ src/util/Taggable.hpp | 6 +++--- src/util/prometheus/MetricsFamily.hpp | 2 +- src/util/requests/RequestBuilder.hpp | 2 +- src/util/requests/WsConnection.hpp | 4 ++-- src/web/dosguard/DOSGuard.hpp | 4 ++-- 10 files changed, 33 insertions(+), 36 deletions(-) diff --git a/src/etl/CacheLoaderSettings.hpp b/src/etl/CacheLoaderSettings.hpp index 6f3a800f14..2207a0ae27 100644 --- a/src/etl/CacheLoaderSettings.hpp +++ b/src/etl/CacheLoaderSettings.hpp @@ -23,24 +23,23 @@ struct CacheLoaderSettings { */ struct CacheFileSettings { std::string - path; /**< path to the file to load cache from on start and save cache to on shutdown */ - uint32_t maxAge = 5000; /**< max difference between latest sequence in cache file and DB */ + path; ///< path to the file to load cache from on start and save cache to on shutdown + uint32_t maxAge = 5000; ///< max difference between latest sequence in cache file and DB auto operator<=>(CacheFileSettings const&) const = default; }; - size_t numCacheDiffs = 32; /**< number of diffs to use to generate cursors */ - size_t numCacheMarkers = 48; /**< number of markers to use at one time to traverse the ledger */ - size_t cachePageFetchSize = - 512; /**< number of ledger objects to fetch concurrently per marker */ - size_t numThreads = 2; /**< number of threads to use for loading cache */ - size_t numCacheCursorsFromDiff = 0; /**< number of cursors to fetch from diff */ - size_t numCacheCursorsFromAccount = 0; /**< number of cursors to fetch from account_tx */ + size_t numCacheDiffs = 32; ///< number of diffs to use to generate cursors + size_t numCacheMarkers = 48; ///< number of markers to use at one time to traverse the ledger + size_t cachePageFetchSize = 512; ///< number of ledger objects to fetch concurrently per marker + size_t numThreads = 2; ///< number of threads to use for loading cache + size_t numCacheCursorsFromDiff = 0; ///< number of cursors to fetch from diff + size_t numCacheCursorsFromAccount = 0; ///< number of cursors to fetch from account_tx - LoadStyle loadStyle = LoadStyle::ASYNC; /**< how to load the cache */ + LoadStyle loadStyle = LoadStyle::ASYNC; ///< how to load the cache std::optional - cacheFileSettings; /**< optional settings for cache file operations */ + cacheFileSettings; ///< optional settings for cache file operations auto operator<=>(CacheLoaderSettings const&) const = default; diff --git a/src/etl/SystemState.hpp b/src/etl/SystemState.hpp index 9db626832d..88e8f6a282 100644 --- a/src/etl/SystemState.hpp +++ b/src/etl/SystemState.hpp @@ -65,8 +65,8 @@ struct SystemState { * across components. */ enum class WriteCommand { - StartWriting, /**< Request to attempt taking over as the ETL writer */ - StopWriting /**< Request to give up the ETL writer role (e.g., due to write conflict) */ + StartWriting, ///< Request to attempt taking over as the ETL writer + StopWriting ///< Request to give up the ETL writer role (e.g., due to write conflict) }; /** diff --git a/src/etl/WriterState.hpp b/src/etl/WriterState.hpp index 26dd2e5996..6e90a5e416 100644 --- a/src/etl/WriterState.hpp +++ b/src/etl/WriterState.hpp @@ -144,8 +144,7 @@ class WriterStateInterface { */ class WriterState : public WriterStateInterface { private: - std::shared_ptr - systemState_; /**< @brief Shared system state for ETL coordination */ + std::shared_ptr systemState_; ///< @brief Shared system state for ETL coordination std::reference_wrapper cache_; /** diff --git a/src/migration/cassandra/impl/FullTableScanner.hpp b/src/migration/cassandra/impl/FullTableScanner.hpp index aba604f61c..9cb0e39af9 100644 --- a/src/migration/cassandra/impl/FullTableScanner.hpp +++ b/src/migration/cassandra/impl/FullTableScanner.hpp @@ -123,10 +123,10 @@ class FullTableScanner { * @brief The full table scanner settings. */ struct FullTableScannerSettings { - std::uint32_t ctxThreadsNum; /**< number of threads used in the execution context */ - std::uint32_t jobsNum; /**< number of coroutines to run, it is the number of concurrent - database reads */ - std::uint32_t cursorsPerJob; /**< number of cursors per coroutine */ + std::uint32_t ctxThreadsNum; ///< number of threads used in the execution context + std::uint32_t jobsNum; ///< number of coroutines to run, it is the number of concurrent + ///< database reads + std::uint32_t cursorsPerJob; ///< number of cursors per coroutine }; /** diff --git a/src/util/Channel.hpp b/src/util/Channel.hpp index 753c88ccec..8dc8e09c74 100644 --- a/src/util/Channel.hpp +++ b/src/util/Channel.hpp @@ -29,20 +29,19 @@ struct ChannelInstantiated; * @brief Specifies the producer concurrency model for a Channel. */ enum class ProducerType { - Single, /**< Only one Sender can exist (non-copyable). Uses direct Guard ownership for zero - overhead. */ - Multi /**< Multiple Senders can exist (copyable). Uses shared_ptr for shared ownership. - */ + Single, ///< Only one Sender can exist (non-copyable). Uses direct Guard ownership for zero + ///< overhead. + Multi ///< Multiple Senders can exist (copyable). Uses shared_ptr for shared ownership. }; /** * @brief Specifies the consumer concurrency model for a Channel. */ enum class ConsumerType { - Single, /**< Only one Receiver can exist (non-copyable). Uses direct Guard ownership for zero - overhead. */ - Multi /**< Multiple Receivers can exist (copyable). Uses shared_ptr for shared ownership. - */ + Single, ///< Only one Receiver can exist (non-copyable). Uses direct Guard ownership for zero + ///< overhead. + Multi ///< Multiple Receivers can exist (copyable). Uses shared_ptr for shared + ///< ownership. }; /** diff --git a/src/util/Taggable.hpp b/src/util/Taggable.hpp index 1402a66810..f0b08a69d0 100644 --- a/src/util/Taggable.hpp +++ b/src/util/Taggable.hpp @@ -169,9 +169,9 @@ class TagDecoratorFactory final { * @brief Represents the type of tag decorator. */ enum class Type { - NONE, /**< No decoration and no tag */ - UUID, /**< Tag based on `boost::uuids::uuid`, thread-safe via mutex */ - UINT /**< atomic_uint64_t tag, thread-safe, lock-free */ + NONE, ///< No decoration and no tag + UUID, ///< Tag based on `boost::uuids::uuid`, thread-safe via mutex + UINT ///< atomic_uint64_t tag, thread-safe, lock-free }; Type type_; /*< The type of TagDecorator this factory produces */ diff --git a/src/util/prometheus/MetricsFamily.hpp b/src/util/prometheus/MetricsFamily.hpp index 6d26652fbd..4e9142be51 100644 --- a/src/util/prometheus/MetricsFamily.hpp +++ b/src/util/prometheus/MetricsFamily.hpp @@ -20,7 +20,7 @@ namespace util::prometheus { class MetricsFamily { public: static std::unique_ptr - defaultMetricBuilder; /**< The default metric builder */ + defaultMetricBuilder; ///< The default metric builder /** * @brief Construct a new MetricsFamily object diff --git a/src/util/requests/RequestBuilder.hpp b/src/util/requests/RequestBuilder.hpp index 15773c168b..f701f7478c 100644 --- a/src/util/requests/RequestBuilder.hpp +++ b/src/util/requests/RequestBuilder.hpp @@ -170,7 +170,7 @@ class RequestBuilder { static constexpr std::chrono::milliseconds kDefaultTimeout{ 30000 - }; /**< Default timeout for requests */ + }; ///< Default timeout for requests private: std::expected diff --git a/src/util/requests/WsConnection.hpp b/src/util/requests/WsConnection.hpp index 6fa9c7b101..55f353ea17 100644 --- a/src/util/requests/WsConnection.hpp +++ b/src/util/requests/WsConnection.hpp @@ -72,7 +72,7 @@ class WsConnection { std::chrono::steady_clock::duration timeout = kDefaultTimeout ) = 0; - static constexpr std::chrono::seconds kDefaultTimeout{5}; /**< Default timeout for connecting */ + static constexpr std::chrono::seconds kDefaultTimeout{5}; ///< Default timeout for connecting }; using WsConnectionPtr = std::unique_ptr; @@ -169,7 +169,7 @@ class WsConnectionBuilder { [[nodiscard]] std::expected connect(boost::asio::yield_context yield) const; - static constexpr std::chrono::seconds kDefaultTimeout{5}; /**< Default timeout for connecting */ + static constexpr std::chrono::seconds kDefaultTimeout{5}; ///< Default timeout for connecting private: template diff --git a/src/web/dosguard/DOSGuard.hpp b/src/web/dosguard/DOSGuard.hpp index 176bb4a883..8dcf2d367f 100644 --- a/src/web/dosguard/DOSGuard.hpp +++ b/src/web/dosguard/DOSGuard.hpp @@ -31,8 +31,8 @@ class DOSGuard : public DOSGuardInterface { * @brief Accumulated state per IP, state will be reset accordingly */ struct ClientState { - std::uint32_t transferredByte = 0; /**< Accumulated transferred byte */ - std::uint32_t requestsCount = 0; /**< Accumulated served requests count */ + std::uint32_t transferredByte = 0; ///< Accumulated transferred byte + std::uint32_t requestsCount = 0; ///< Accumulated served requests count }; struct State { From 0469847c58868407b69b84e7d2af79490030e36c Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Sat, 11 Jul 2026 12:00:32 +0100 Subject: [PATCH 3/4] Leavy empty line after brief --- src/rpc/handlers/GetAggregatePrice.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rpc/handlers/GetAggregatePrice.hpp b/src/rpc/handlers/GetAggregatePrice.hpp index c7f57e4f79..fcadeb3e52 100644 --- a/src/rpc/handlers/GetAggregatePrice.hpp +++ b/src/rpc/handlers/GetAggregatePrice.hpp @@ -181,6 +181,7 @@ class GetAggregatePriceHandler { private: /** * @brief Calls callback on the oracle ledger entry + * * If the oracle entry does not contains the price pair, search up to three previous metadata * objects. Stops early if the callback returns true. */ From 23a08e7e8673645f12a41121e2236ae1183e1985 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Sat, 11 Jul 2026 12:06:09 +0100 Subject: [PATCH 4/4] Don't break alignment --- src/util/Channel.hpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/util/Channel.hpp b/src/util/Channel.hpp index 8dc8e09c74..de3729b981 100644 --- a/src/util/Channel.hpp +++ b/src/util/Channel.hpp @@ -29,19 +29,20 @@ struct ChannelInstantiated; * @brief Specifies the producer concurrency model for a Channel. */ enum class ProducerType { - Single, ///< Only one Sender can exist (non-copyable). Uses direct Guard ownership for zero - ///< overhead. - Multi ///< Multiple Senders can exist (copyable). Uses shared_ptr for shared ownership. + Single, ///< Only one Sender can exist (non-copyable). + ///< Uses direct Guard ownership for zero overhead. + Multi ///< Multiple Senders can exist (copyable). + ///< Uses shared_ptr for shared ownership. }; /** * @brief Specifies the consumer concurrency model for a Channel. */ enum class ConsumerType { - Single, ///< Only one Receiver can exist (non-copyable). Uses direct Guard ownership for zero - ///< overhead. - Multi ///< Multiple Receivers can exist (copyable). Uses shared_ptr for shared - ///< ownership. + Single, ///< Only one Receiver can exist (non-copyable). + ///< Uses direct Guard ownership for zero overhead. + Multi ///< Multiple Receivers can exist (copyable). + ///< Uses shared_ptr for shared ownership. }; /**