#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Entry {
#[prost(enumeration = "EntryType", tag = "1")]
pub entry_type: i32,
#[prost(uint64, tag = "2")]
pub term: u64,
#[prost(uint64, tag = "3")]
pub index: u64,
#[prost(bytes = "vec", tag = "4")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "6")]
pub context: ::prost::alloc::vec::Vec<u8>,
#[prost(bool, tag = "5")]
pub sync_log: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotMetadata {
#[prost(message, optional, tag = "1")]
pub conf_state: ::core::option::Option<ConfState>,
#[prost(uint64, tag = "2")]
pub index: u64,
#[prost(uint64, tag = "3")]
pub term: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Snapshot {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "2")]
pub metadata: ::core::option::Option<SnapshotMetadata>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Message {
#[prost(enumeration = "MessageType", tag = "1")]
pub msg_type: i32,
#[prost(uint64, tag = "2")]
pub to: u64,
#[prost(uint64, tag = "3")]
pub from: u64,
#[prost(uint64, tag = "4")]
pub term: u64,
#[prost(uint64, tag = "5")]
pub log_term: u64,
#[prost(uint64, tag = "6")]
pub index: u64,
#[prost(message, repeated, tag = "7")]
pub entries: ::prost::alloc::vec::Vec<Entry>,
#[prost(uint64, tag = "8")]
pub commit: u64,
#[prost(message, optional, tag = "9")]
pub snapshot: ::core::option::Option<Snapshot>,
#[prost(uint64, tag = "13")]
pub request_snapshot: u64,
#[prost(bool, tag = "10")]
pub reject: bool,
#[prost(uint64, tag = "11")]
pub reject_hint: u64,
#[prost(bytes = "vec", tag = "12")]
pub context: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "14")]
pub deprecated_priority: u64,
#[prost(int64, tag = "15")]
pub priority: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HardState {
#[prost(uint64, tag = "1")]
pub term: u64,
#[prost(uint64, tag = "2")]
pub vote: u64,
#[prost(uint64, tag = "3")]
pub commit: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConfState {
#[prost(uint64, repeated, tag = "1")]
pub voters: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag = "2")]
pub learners: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag = "3")]
pub voters_outgoing: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag = "4")]
pub learners_next: ::prost::alloc::vec::Vec<u64>,
#[prost(bool, tag = "5")]
pub auto_leave: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConfChange {
#[prost(enumeration = "ConfChangeType", tag = "2")]
pub change_type: i32,
#[prost(uint64, tag = "3")]
pub node_id: u64,
#[prost(bytes = "vec", tag = "4")]
pub context: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "1")]
pub id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConfChangeSingle {
#[prost(enumeration = "ConfChangeType", tag = "1")]
pub change_type: i32,
#[prost(uint64, tag = "2")]
pub node_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConfChangeV2 {
#[prost(enumeration = "ConfChangeTransition", tag = "1")]
pub transition: i32,
#[prost(message, repeated, tag = "2")]
pub changes: ::prost::alloc::vec::Vec<ConfChangeSingle>,
#[prost(bytes = "vec", tag = "3")]
pub context: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EntryType {
EntryNormal = 0,
EntryConfChange = 1,
EntryConfChangeV2 = 2,
}
impl EntryType {
pub fn as_str_name(&self) -> &'static str {
match self {
EntryType::EntryNormal => "EntryNormal",
EntryType::EntryConfChange => "EntryConfChange",
EntryType::EntryConfChangeV2 => "EntryConfChangeV2",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EntryNormal" => Some(Self::EntryNormal),
"EntryConfChange" => Some(Self::EntryConfChange),
"EntryConfChangeV2" => Some(Self::EntryConfChangeV2),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MessageType {
MsgHup = 0,
MsgBeat = 1,
MsgPropose = 2,
MsgAppend = 3,
MsgAppendResponse = 4,
MsgRequestVote = 5,
MsgRequestVoteResponse = 6,
MsgSnapshot = 7,
MsgHeartbeat = 8,
MsgHeartbeatResponse = 9,
MsgUnreachable = 10,
MsgSnapStatus = 11,
MsgCheckQuorum = 12,
MsgTransferLeader = 13,
MsgTimeoutNow = 14,
MsgReadIndex = 15,
MsgReadIndexResp = 16,
MsgRequestPreVote = 17,
MsgRequestPreVoteResponse = 18,
}
impl MessageType {
pub fn as_str_name(&self) -> &'static str {
match self {
MessageType::MsgHup => "MsgHup",
MessageType::MsgBeat => "MsgBeat",
MessageType::MsgPropose => "MsgPropose",
MessageType::MsgAppend => "MsgAppend",
MessageType::MsgAppendResponse => "MsgAppendResponse",
MessageType::MsgRequestVote => "MsgRequestVote",
MessageType::MsgRequestVoteResponse => "MsgRequestVoteResponse",
MessageType::MsgSnapshot => "MsgSnapshot",
MessageType::MsgHeartbeat => "MsgHeartbeat",
MessageType::MsgHeartbeatResponse => "MsgHeartbeatResponse",
MessageType::MsgUnreachable => "MsgUnreachable",
MessageType::MsgSnapStatus => "MsgSnapStatus",
MessageType::MsgCheckQuorum => "MsgCheckQuorum",
MessageType::MsgTransferLeader => "MsgTransferLeader",
MessageType::MsgTimeoutNow => "MsgTimeoutNow",
MessageType::MsgReadIndex => "MsgReadIndex",
MessageType::MsgReadIndexResp => "MsgReadIndexResp",
MessageType::MsgRequestPreVote => "MsgRequestPreVote",
MessageType::MsgRequestPreVoteResponse => "MsgRequestPreVoteResponse",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MsgHup" => Some(Self::MsgHup),
"MsgBeat" => Some(Self::MsgBeat),
"MsgPropose" => Some(Self::MsgPropose),
"MsgAppend" => Some(Self::MsgAppend),
"MsgAppendResponse" => Some(Self::MsgAppendResponse),
"MsgRequestVote" => Some(Self::MsgRequestVote),
"MsgRequestVoteResponse" => Some(Self::MsgRequestVoteResponse),
"MsgSnapshot" => Some(Self::MsgSnapshot),
"MsgHeartbeat" => Some(Self::MsgHeartbeat),
"MsgHeartbeatResponse" => Some(Self::MsgHeartbeatResponse),
"MsgUnreachable" => Some(Self::MsgUnreachable),
"MsgSnapStatus" => Some(Self::MsgSnapStatus),
"MsgCheckQuorum" => Some(Self::MsgCheckQuorum),
"MsgTransferLeader" => Some(Self::MsgTransferLeader),
"MsgTimeoutNow" => Some(Self::MsgTimeoutNow),
"MsgReadIndex" => Some(Self::MsgReadIndex),
"MsgReadIndexResp" => Some(Self::MsgReadIndexResp),
"MsgRequestPreVote" => Some(Self::MsgRequestPreVote),
"MsgRequestPreVoteResponse" => Some(Self::MsgRequestPreVoteResponse),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfChangeTransition {
Auto = 0,
Implicit = 1,
Explicit = 2,
}
impl ConfChangeTransition {
pub fn as_str_name(&self) -> &'static str {
match self {
ConfChangeTransition::Auto => "Auto",
ConfChangeTransition::Implicit => "Implicit",
ConfChangeTransition::Explicit => "Explicit",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"Auto" => Some(Self::Auto),
"Implicit" => Some(Self::Implicit),
"Explicit" => Some(Self::Explicit),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfChangeType {
AddNode = 0,
RemoveNode = 1,
AddLearnerNode = 2,
}
impl ConfChangeType {
pub fn as_str_name(&self) -> &'static str {
match self {
ConfChangeType::AddNode => "AddNode",
ConfChangeType::RemoveNode => "RemoveNode",
ConfChangeType::AddLearnerNode => "AddLearnerNode",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AddNode" => Some(Self::AddNode),
"RemoveNode" => Some(Self::RemoveNode),
"AddLearnerNode" => Some(Self::AddLearnerNode),
_ => None,
}
}
}