OpenCBDC Transaction Processor
|
Namespaces | |
namespace | rpc |
Data Structures | |
class | controller |
Manages a replicated runtime locking shard using Raft. More... | |
class | impl |
Implementation of a runtime locking shard. More... | |
class | interface |
Interface for a runtime locking shard. More... | |
class | replicated_shard |
Implementation of the replicated shard interface. More... | |
class | replicated_shard_client |
Client for asynchronously interacting with a raft replicated shard on the leader node of the cluster. More... | |
class | replicated_shard_interface |
Interface for replicating internal state for prepared and committed tickets managed by a locking shard. More... | |
struct | shard_error |
class | state_machine |
NuRaft state machine implementation for a runtime locking shard. More... | |
struct | wounded_details |
Details about wounded error code. More... | |
Typedefs | |
using | ticket_number_type = parsec::ticket_machine::ticket_number_type |
Type for a ticket number. | |
using | key_type = buffer |
Type for keys held by shards. | |
using | value_type = buffer |
Type for values held by shards. | |
using | broker_id_type = size_t |
Type for the ID of a broker. | |
using | state_update_type |
Type for state updates to a shard. A map of keys and their new values. | |
Enumerations | |
enum class | lock_type : uint8_t { read = 0 , write = 1 } |
Types of key lock supported by shards. More... | |
enum class | error_code : uint8_t { prepared , wounded , lock_held , lock_queued , unknown_ticket , lock_not_held , state_update_with_read_lock , not_prepared , committed , not_committed , internal_error } |
Error codes returned by methods on shards. More... | |
enum class | ticket_state : uint8_t { begun , wounded , prepared , committed } |
Ticket states returned by shards for broker recovery purposes. More... | |
using cbdc::parsec::runtime_locking_shard::broker_id_type = size_t |
Type for the ID of a broker.
Definition at line 24 of file parsec/runtime_locking_shard/interface.hpp.
Type for keys held by shards.
Definition at line 20 of file parsec/runtime_locking_shard/interface.hpp.
Type for state updates to a shard. A map of keys and their new values.
Definition at line 27 of file parsec/runtime_locking_shard/interface.hpp.
using cbdc::parsec::runtime_locking_shard::ticket_number_type = parsec::ticket_machine::ticket_number_type |
Type for a ticket number.
Definition at line 18 of file parsec/runtime_locking_shard/interface.hpp.
Type for values held by shards.
Definition at line 22 of file parsec/runtime_locking_shard/interface.hpp.
|
strong |
Error codes returned by methods on shards.
Definition at line 39 of file parsec/runtime_locking_shard/interface.hpp.
|
strong |
Types of key lock supported by shards.
Enumerator | |
---|---|
read | Read lock. Multiple readers can hold a lock for the same key. |
write | Write lock. Only one ticket can hold this lock at a time. |
Definition at line 31 of file parsec/runtime_locking_shard/interface.hpp.
|
strong |
Ticket states returned by shards for broker recovery purposes.
Enumerator | |
---|---|
begun | Begun, may still hold locks or be rolled-back. |
wounded | Wounded, not holding any locks. |
prepared | Prepared, holds locks. |
committed | Committed, not holding any locks. |
Definition at line 85 of file parsec/runtime_locking_shard/interface.hpp.