|
OpenCBDC Transaction Processor
|
Thread-safe ticket machine implementation. More...
#include <impl.hpp>


Public Member Functions | |
| impl (std::shared_ptr< logging::log > logger, ticket_number_type range) | |
| Constructor. | |
| auto | get_ticket_number (get_ticket_number_callback_type result_callback) -> bool override |
| Returns a new range of ticket numbers via the provided callback function. | |
Public Member Functions inherited from cbdc::parsec::ticket_machine::interface | |
| virtual | ~interface ()=default |
| interface ()=default | |
| interface (const interface &)=delete | |
| auto | operator= (const interface &) -> interface &=delete |
| interface (interface &&)=delete | |
| auto | operator= (interface &&) -> interface &=delete |
Additional Inherited Members | |
Public Types inherited from cbdc::parsec::ticket_machine::interface | |
| enum class | error_code : uint8_t |
| Error codes returned by the ticket machine. More... | |
| using | ticket_number_range_type = std::pair<ticket_number_type, ticket_number_type> |
| Return value from the ticket machine in the success case. | |
| using | get_ticket_number_return_type = std::variant<ticket_number_range_type, error_code> |
| Return value from the ticket machine. | |
| using | get_ticket_number_callback_type = std::function<void(get_ticket_number_return_type)> |
| Callback function type for asynchronously handling ticket number requests. | |
Thread-safe ticket machine implementation.
Definition at line 17 of file ticket_machine/impl.hpp.
|
explicit |
Constructor.
| logger | log instance. |
| range | size of ticket number range to return. |
Definition at line 9 of file ticket_machine/impl.cpp.
|
overridevirtual |
Returns a new range of ticket numbers via the provided callback function.
Calls the callback function before returning.
| result_callback | function to call with result. |
Implements cbdc::parsec::ticket_machine::interface.
Definition at line 14 of file ticket_machine/impl.cpp.