18 return ser << s.m_prepare_txs << s.m_commit_txs << s.m_discard_txs;
24 return deser >> s.m_prepare_txs >> s.m_commit_txs >> s.m_discard_txs;
31 switch(c.m_header.m_comm) {
34 = std::get<coordinator::controller::prepare_tx>(
41 = std::get<coordinator::controller::commit_tx>(
59 return ser << static_cast<uint8_t>(c.m_comm) << c.m_dtx_id;
command
Types of command the state machine can process.
@ prepare
Stores a dtx in the prepare phase.
@ done
Clears the dtx from the coordinator state.
@ discard
Moves a dtx from commit to discard.
@ get
Retrieves all active dtxs.
@ commit
Moves a dtx from prepare to commit.
Interface for serializing objects into and out of raw bytes representations.
auto operator>>(serializer &deser, parsec::agent::rpc::request &req) -> serializer &
auto operator<<(serializer &ser, const parsec::agent::rpc::request &req) -> serializer &
Current state of distributed transactions managed by a coordinator.
Metadata of a command for the state machine.
A full command for the state machine to process.
Used to store dtxs, which phase they are in and relevant data require for recovery.