|
OpenCBDC Transaction Processor
|
NuRaft state machine implementation for a replicated ticket machine. More...
#include <state_machine.hpp>


Public Member Functions | |
| state_machine (std::shared_ptr< logging::log > logger, ticket_number_type batch_size) | |
| Constructor. | |
| auto | commit (uint64_t log_idx, nuraft::buffer &data) -> nuraft::ptr< nuraft::buffer > override |
| Commit the given raft log entry at the given log index, and return the result. | |
| auto | apply_snapshot (nuraft::snapshot &) -> bool override |
| Not implemented for ticket machine. | |
| auto | last_snapshot () -> nuraft::ptr< nuraft::snapshot > override |
| Not implemented for ticket machine. | |
| auto | last_commit_index () -> uint64_t override |
| Returns the most recently committed log entry index. | |
| void | create_snapshot (nuraft::snapshot &, nuraft::async_result< bool >::handler_type &) override |
| Not implemented for ticket machine. | |
Public Member Functions inherited from cbdc::rpc::blocking_server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| blocking_server ()=default | |
| blocking_server (blocking_server &&) noexcept=default | |
| blocking_server (const blocking_server &)=default | |
| auto | operator= (blocking_server &&) noexcept -> blocking_server &=default |
| auto | operator= (const blocking_server &) -> blocking_server &=default |
| ~blocking_server () override=default | |
| void | register_handler_callback (callback_type callback) |
| Register a handler callback function for processing requests and returning responses. | |
Public Member Functions inherited from cbdc::rpc::server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| server ()=default | |
| server (server &&) noexcept=default | |
| server (const server &)=default | |
| auto | operator= (server &&) noexcept -> server &=default |
| auto | operator= (const server &) -> server &=default |
| virtual | ~server ()=default |
Additional Inherited Members | |
Public Types inherited from cbdc::rpc::blocking_server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| using | callback_type |
| Handler callback function type which accepts a request and returns a response, or returns std::nullopt if it encounters an error while processing the request. | |
Public Types inherited from cbdc::rpc::server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| using | request_type |
| using | response_type |
Static Public Attributes inherited from cbdc::rpc::blocking_server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| static constexpr handler_type | handler |
Protected Member Functions inherited from cbdc::rpc::blocking_server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| auto | blocking_call (nuraft::buffer &request_buf) -> std::optional< nuraft::ptr< nuraft::buffer > > |
| Synchronously deserializes an RPC request, calls the request handler function, then serializes and returns the response. | |
Protected Member Functions inherited from cbdc::rpc::server< rpc::request, rpc::response, nuraft::buffer &, nuraft::ptr< nuraft::buffer > > | |
| auto | deserialize_request (BufType &request_buf) -> std::optional< request_type > |
| Deserializes a request from a buffer. | |
| auto | serialize_response (header request_header, std::optional< R > response_payload) -> nuraft::ptr< nuraft::buffer > |
| Serialize a response into a buffer. | |
| auto | make_failure_response (cbdc::buffer &request_buf) -> std::optional< cbdc::buffer > |
| Serialize a failure response buffer from the given request buffer. | |
NuRaft state machine implementation for a replicated ticket machine.
Definition at line 18 of file parsec/ticket_machine/state_machine.hpp.
| cbdc::parsec::ticket_machine::state_machine::state_machine | ( | std::shared_ptr< logging::log > | logger, |
| ticket_number_type | batch_size ) |
Constructor.
| logger | log instance. |
| batch_size | number of ticket numbers to return per request. |
Definition at line 12 of file parsec/ticket_machine/state_machine.cpp.

|
override |
Not implemented for ticket machine.
Definition at line 36 of file parsec/ticket_machine/state_machine.cpp.
|
override |
Commit the given raft log entry at the given log index, and return the result.
| log_idx | raft log index of the log entry. |
| data | serialized RPC request. |
Definition at line 21 of file parsec/ticket_machine/state_machine.cpp.
|
override |
Not implemented for ticket machine.
Definition at line 48 of file parsec/ticket_machine/state_machine.cpp.
|
override |
Returns the most recently committed log entry index.
Definition at line 44 of file parsec/ticket_machine/state_machine.cpp.
|
override |
Not implemented for ticket machine.
Definition at line 40 of file parsec/ticket_machine/state_machine.cpp.