use serde::{Deserialize, Serialize};
use super::lock_wire::TxnIdWire;
use super::transaction::TxClass;
#[derive(
Debug,
Clone,
PartialEq,
Eq,
Serialize,
Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
#[msgpack(map)]
pub struct SequencedTxn {
pub epoch: u64,
pub position: u32,
pub tx_class: TxClass,
#[serde(default)]
#[msgpack(default)]
pub epoch_system_ms: i64,
#[serde(default)]
#[msgpack(default)]
pub epoch_vshard_txn_count: u32,
#[serde(default)]
#[msgpack(default)]
pub lock_owner: Option<TxnIdWire>,
}
#[derive(
Debug,
Clone,
PartialEq,
Eq,
Serialize,
Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
pub struct EpochBatch {
pub epoch: u64,
pub txns: Vec<SequencedTxn>,
pub epoch_system_ms: i64,
}