Clio develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
data::cassandra::impl::AsyncExecutor< StatementType, HandleType, RetryPolicyType > Class Template Reference

A query executor with a changable retry policy. More...

#include <AsyncExecutor.hpp>

Inheritance diagram for data::cassandra::impl::AsyncExecutor< StatementType, HandleType, RetryPolicyType >:
Collaboration diagram for data::cassandra::impl::AsyncExecutor< StatementType, HandleType, RetryPolicyType >:

Static Public Member Functions

static void run (boost::asio::io_context &ioc, HandleType const &handle, StatementType &&data, CallbackType &&onComplete, RetryCallbackType &&onRetry)
 Create a new instance of the AsyncExecutor and execute it.
 

Detailed Description

template<typename StatementType, typename HandleType = Handle, SomeRetryPolicy RetryPolicyType = ExponentialBackoffRetryPolicy>
class data::cassandra::impl::AsyncExecutor< StatementType, HandleType, RetryPolicyType >

A query executor with a changable retry policy.

Note: this is a bit of an anti-pattern and should be done differently eventually.

Currently it's basically a saner implementation of the previous design that was used in production without much issue but was using raw new/delete and could leak easily. This version is slightly better but the overall design is flawed and should be reworked.


The documentation for this class was generated from the following file: