OpenCBDC Transaction Processor
|
Ticket machine interface. More...
#include <interface.hpp>
Public Types | |
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. | |
Public Member Functions | |
virtual | ~interface ()=default |
interface ()=default | |
interface (const interface &)=delete | |
auto | operator= (const interface &) -> interface &=delete |
interface (interface &&)=delete | |
auto | operator= (interface &&) -> interface &=delete |
virtual auto | get_ticket_number (get_ticket_number_callback_type result_callback) -> bool=0 |
Asynchronously returns a new range of ticket numbers. | |
Ticket machine interface.
Returns batches of monotonically increasing ticket numbers for identifying and sequencing transactions in the case of a conflict.
Definition at line 22 of file parsec/ticket_machine/interface.hpp.
using cbdc::parsec::ticket_machine::interface::get_ticket_number_callback_type = std::function<void(get_ticket_number_return_type)> |
Callback function type for asynchronously handling ticket number requests.
Definition at line 44 of file parsec/ticket_machine/interface.hpp.
using cbdc::parsec::ticket_machine::interface::get_ticket_number_return_type = std::variant<ticket_number_range_type, error_code> |
Return value from the ticket machine.
Either a ticket number range or error code.
Definition at line 41 of file parsec/ticket_machine/interface.hpp.
using cbdc::parsec::ticket_machine::interface::ticket_number_range_type = std::pair<ticket_number_type, ticket_number_type> |
Return value from the ticket machine in the success case.
An exclusive range of unique ticket numbers.
Definition at line 38 of file parsec/ticket_machine/interface.hpp.
|
strong |
Error codes returned by the ticket machine.
Definition at line 33 of file parsec/ticket_machine/interface.hpp.
|
virtualdefault |
|
default |
|
delete |
|
delete |
|
pure virtual |
Asynchronously returns a new range of ticket numbers.
Ticket numbers returned by this method must not repeat except in the case where all ticket numbers have been used, when ticket numbers will wrap around. ticket_number_type should be large enough to make this a very rare occurance.
result_callback | function to call with ticket number range. |
Implemented in cbdc::parsec::ticket_machine::impl, and cbdc::parsec::ticket_machine::rpc::client.
|
delete |
|
delete |