OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
cbdc::parsec::ticket_machine::impl Class Reference

Thread-safe ticket machine implementation. More...

#include <impl.hpp>

Inheritance diagram for cbdc::parsec::ticket_machine::impl:
Collaboration diagram for cbdc::parsec::ticket_machine::impl:

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.
 

Detailed Description

Thread-safe ticket machine implementation.

Definition at line 17 of file ticket_machine/impl.hpp.

Constructor & Destructor Documentation

◆ impl()

cbdc::parsec::ticket_machine::impl::impl ( std::shared_ptr< logging::log > logger,
ticket_number_type range )
explicit

Constructor.

Parameters
loggerlog instance.
rangesize of ticket number range to return.

Definition at line 9 of file ticket_machine/impl.cpp.

Member Function Documentation

◆ get_ticket_number()

auto cbdc::parsec::ticket_machine::impl::get_ticket_number ( get_ticket_number_callback_type result_callback) -> bool
overridevirtual

Returns a new range of ticket numbers via the provided callback function.

Calls the callback function before returning.

Parameters
result_callbackfunction to call with result.
Returns
true.

Implements cbdc::parsec::ticket_machine::interface.

Definition at line 14 of file ticket_machine/impl.cpp.


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