nebula_fbthrift_raftex_v2/
types.rs

1// @generated by Thrift for src/interface/raftex.thrift
2// This file is probably not the place you want to edit!
3
4//! Thrift type definitions for `raftex`.
5
6#![allow(clippy::redundant_closure)]
7
8
9pub type ClusterID = ::std::primitive::i64;
10
11pub type GraphSpaceID = ::std::primitive::i32;
12
13pub type PartitionID = ::std::primitive::i32;
14
15pub type TermID = ::std::primitive::i64;
16
17pub type LogID = ::std::primitive::i64;
18
19pub type Port = ::std::primitive::i32;
20
21#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
22pub struct AskForVoteRequest {
23    pub space: crate::types::GraphSpaceID,
24    pub part: crate::types::PartitionID,
25    pub candidate_addr: ::std::string::String,
26    pub candidate_port: crate::types::Port,
27    pub term: crate::types::TermID,
28    pub last_log_id: crate::types::LogID,
29    pub last_log_term: crate::types::TermID,
30    // This field forces `..Default::default()` when instantiating this
31    // struct, to make code future-proof against new fields added later to
32    // the definition in Thrift. If you don't want this, add the annotation
33    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
34    #[doc(hidden)]
35    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
36}
37
38#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
39pub struct AskForVoteResponse {
40    pub error_code: crate::types::ErrorCode,
41    // This field forces `..Default::default()` when instantiating this
42    // struct, to make code future-proof against new fields added later to
43    // the definition in Thrift. If you don't want this, add the annotation
44    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
45    #[doc(hidden)]
46    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
47}
48
49#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
50pub struct LogEntry {
51    pub cluster: crate::types::ClusterID,
52    pub log_str: ::std::vec::Vec<::std::primitive::u8>,
53    // This field forces `..Default::default()` when instantiating this
54    // struct, to make code future-proof against new fields added later to
55    // the definition in Thrift. If you don't want this, add the annotation
56    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
57    #[doc(hidden)]
58    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
59}
60
61#[derive(Clone, PartialEq)]
62pub struct AppendLogRequest {
63    pub space: crate::types::GraphSpaceID,
64    pub part: crate::types::PartitionID,
65    pub current_term: crate::types::TermID,
66    pub last_log_id: crate::types::LogID,
67    pub committed_log_id: crate::types::LogID,
68    pub leader_addr: ::std::string::String,
69    pub leader_port: crate::types::Port,
70    pub last_log_term_sent: crate::types::TermID,
71    pub last_log_id_sent: crate::types::LogID,
72    pub log_term: crate::types::TermID,
73    pub log_str_list: ::std::vec::Vec<crate::types::LogEntry>,
74    pub sending_snapshot: ::std::primitive::bool,
75    // This field forces `..Default::default()` when instantiating this
76    // struct, to make code future-proof against new fields added later to
77    // the definition in Thrift. If you don't want this, add the annotation
78    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
79    #[doc(hidden)]
80    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
81}
82
83#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
84pub struct AppendLogResponse {
85    pub error_code: crate::types::ErrorCode,
86    pub current_term: crate::types::TermID,
87    pub leader_addr: ::std::string::String,
88    pub leader_port: crate::types::Port,
89    pub committed_log_id: crate::types::LogID,
90    pub last_log_id: crate::types::LogID,
91    pub last_log_term: crate::types::TermID,
92    // This field forces `..Default::default()` when instantiating this
93    // struct, to make code future-proof against new fields added later to
94    // the definition in Thrift. If you don't want this, add the annotation
95    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
96    #[doc(hidden)]
97    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
98}
99
100#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
101pub struct SendSnapshotRequest {
102    pub space: crate::types::GraphSpaceID,
103    pub part: crate::types::PartitionID,
104    pub term: crate::types::TermID,
105    pub committed_log_id: crate::types::LogID,
106    pub committed_log_term: crate::types::TermID,
107    pub leader_addr: ::std::string::String,
108    pub leader_port: crate::types::Port,
109    pub rows: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
110    pub total_size: ::std::primitive::i64,
111    pub total_count: ::std::primitive::i64,
112    pub done: ::std::primitive::bool,
113    // This field forces `..Default::default()` when instantiating this
114    // struct, to make code future-proof against new fields added later to
115    // the definition in Thrift. If you don't want this, add the annotation
116    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
117    #[doc(hidden)]
118    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
119}
120
121#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
122pub struct HeartbeatRequest {
123    pub space: crate::types::GraphSpaceID,
124    pub part: crate::types::PartitionID,
125    pub current_term: crate::types::TermID,
126    pub last_log_id: crate::types::LogID,
127    pub committed_log_id: crate::types::LogID,
128    pub leader_addr: ::std::string::String,
129    pub leader_port: crate::types::Port,
130    pub last_log_term_sent: crate::types::TermID,
131    pub last_log_id_sent: crate::types::LogID,
132    // This field forces `..Default::default()` when instantiating this
133    // struct, to make code future-proof against new fields added later to
134    // the definition in Thrift. If you don't want this, add the annotation
135    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
136    #[doc(hidden)]
137    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
138}
139
140#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
141pub struct HeartbeatResponse {
142    pub error_code: crate::types::ErrorCode,
143    pub current_term: crate::types::TermID,
144    pub leader_addr: ::std::string::String,
145    pub leader_port: crate::types::Port,
146    pub committed_log_id: crate::types::LogID,
147    pub last_log_id: crate::types::LogID,
148    pub last_log_term: crate::types::TermID,
149    // This field forces `..Default::default()` when instantiating this
150    // struct, to make code future-proof against new fields added later to
151    // the definition in Thrift. If you don't want this, add the annotation
152    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
153    #[doc(hidden)]
154    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
155}
156
157#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
158pub struct SendSnapshotResponse {
159    pub error_code: crate::types::ErrorCode,
160    // This field forces `..Default::default()` when instantiating this
161    // struct, to make code future-proof against new fields added later to
162    // the definition in Thrift. If you don't want this, add the annotation
163    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
164    #[doc(hidden)]
165    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
166}
167
168#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
169pub struct ErrorCode(pub ::std::primitive::i32);
170
171impl ErrorCode {
172    pub const SUCCEEDED: Self = ErrorCode(0i32);
173    pub const E_LOG_GAP: Self = ErrorCode(-1i32);
174    pub const E_LOG_STALE: Self = ErrorCode(-2i32);
175    pub const E_MISSING_COMMIT: Self = ErrorCode(-3i32);
176    pub const E_WAITING_SNAPSHOT: Self = ErrorCode(-4i32);
177    pub const E_UNKNOWN_PART: Self = ErrorCode(-5i32);
178    pub const E_TERM_OUT_OF_DATE: Self = ErrorCode(-6i32);
179    pub const E_LAST_LOG_TERM_TOO_OLD: Self = ErrorCode(-7i32);
180    pub const E_BAD_STATE: Self = ErrorCode(-8i32);
181    pub const E_WRONG_LEADER: Self = ErrorCode(-9i32);
182    pub const E_WAL_FAIL: Self = ErrorCode(-10i32);
183    pub const E_NOT_READY: Self = ErrorCode(-11i32);
184    pub const E_HOST_STOPPED: Self = ErrorCode(-12i32);
185    pub const E_NOT_A_LEADER: Self = ErrorCode(-13i32);
186    pub const E_HOST_DISCONNECTED: Self = ErrorCode(-14i32);
187    pub const E_TOO_MANY_REQUESTS: Self = ErrorCode(-15i32);
188    pub const E_PERSIST_SNAPSHOT_FAILED: Self = ErrorCode(-16i32);
189    pub const E_BAD_ROLE: Self = ErrorCode(-17i32);
190    pub const E_EXCEPTION: Self = ErrorCode(-20i32);
191}
192
193impl ::fbthrift::ThriftEnum for ErrorCode {
194    fn enumerate() -> &'static [(Self, &'static str)] {
195        &[
196            (Self::SUCCEEDED, "SUCCEEDED"),
197            (Self::E_LOG_GAP, "E_LOG_GAP"),
198            (Self::E_LOG_STALE, "E_LOG_STALE"),
199            (Self::E_MISSING_COMMIT, "E_MISSING_COMMIT"),
200            (Self::E_WAITING_SNAPSHOT, "E_WAITING_SNAPSHOT"),
201            (Self::E_UNKNOWN_PART, "E_UNKNOWN_PART"),
202            (Self::E_TERM_OUT_OF_DATE, "E_TERM_OUT_OF_DATE"),
203            (Self::E_LAST_LOG_TERM_TOO_OLD, "E_LAST_LOG_TERM_TOO_OLD"),
204            (Self::E_BAD_STATE, "E_BAD_STATE"),
205            (Self::E_WRONG_LEADER, "E_WRONG_LEADER"),
206            (Self::E_WAL_FAIL, "E_WAL_FAIL"),
207            (Self::E_NOT_READY, "E_NOT_READY"),
208            (Self::E_HOST_STOPPED, "E_HOST_STOPPED"),
209            (Self::E_NOT_A_LEADER, "E_NOT_A_LEADER"),
210            (Self::E_HOST_DISCONNECTED, "E_HOST_DISCONNECTED"),
211            (Self::E_TOO_MANY_REQUESTS, "E_TOO_MANY_REQUESTS"),
212            (Self::E_PERSIST_SNAPSHOT_FAILED, "E_PERSIST_SNAPSHOT_FAILED"),
213            (Self::E_BAD_ROLE, "E_BAD_ROLE"),
214            (Self::E_EXCEPTION, "E_EXCEPTION"),
215        ]
216    }
217
218    fn variants() -> &'static [&'static str] {
219        &[
220            "SUCCEEDED",
221            "E_LOG_GAP",
222            "E_LOG_STALE",
223            "E_MISSING_COMMIT",
224            "E_WAITING_SNAPSHOT",
225            "E_UNKNOWN_PART",
226            "E_TERM_OUT_OF_DATE",
227            "E_LAST_LOG_TERM_TOO_OLD",
228            "E_BAD_STATE",
229            "E_WRONG_LEADER",
230            "E_WAL_FAIL",
231            "E_NOT_READY",
232            "E_HOST_STOPPED",
233            "E_NOT_A_LEADER",
234            "E_HOST_DISCONNECTED",
235            "E_TOO_MANY_REQUESTS",
236            "E_PERSIST_SNAPSHOT_FAILED",
237            "E_BAD_ROLE",
238            "E_EXCEPTION",
239        ]
240    }
241
242    fn variant_values() -> &'static [Self] {
243        &[
244            Self::SUCCEEDED,
245            Self::E_LOG_GAP,
246            Self::E_LOG_STALE,
247            Self::E_MISSING_COMMIT,
248            Self::E_WAITING_SNAPSHOT,
249            Self::E_UNKNOWN_PART,
250            Self::E_TERM_OUT_OF_DATE,
251            Self::E_LAST_LOG_TERM_TOO_OLD,
252            Self::E_BAD_STATE,
253            Self::E_WRONG_LEADER,
254            Self::E_WAL_FAIL,
255            Self::E_NOT_READY,
256            Self::E_HOST_STOPPED,
257            Self::E_NOT_A_LEADER,
258            Self::E_HOST_DISCONNECTED,
259            Self::E_TOO_MANY_REQUESTS,
260            Self::E_PERSIST_SNAPSHOT_FAILED,
261            Self::E_BAD_ROLE,
262            Self::E_EXCEPTION,
263        ]
264    }
265}
266
267impl ::std::default::Default for ErrorCode {
268    fn default() -> Self {
269        Self(::fbthrift::__UNKNOWN_ID)
270    }
271}
272
273impl<'a> ::std::convert::From<&'a ErrorCode> for ::std::primitive::i32 {
274    #[inline]
275    fn from(x: &'a ErrorCode) -> Self {
276        x.0
277    }
278}
279
280impl ::std::convert::From<ErrorCode> for ::std::primitive::i32 {
281    #[inline]
282    fn from(x: ErrorCode) -> Self {
283        x.0
284    }
285}
286
287impl ::std::convert::From<::std::primitive::i32> for ErrorCode {
288    #[inline]
289    fn from(x: ::std::primitive::i32) -> Self {
290        Self(x)
291    }
292}
293
294impl ::std::fmt::Display for ErrorCode {
295    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
296        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
297            ("E_EXCEPTION", -20),
298            ("E_BAD_ROLE", -17),
299            ("E_PERSIST_SNAPSHOT_FAILED", -16),
300            ("E_TOO_MANY_REQUESTS", -15),
301            ("E_HOST_DISCONNECTED", -14),
302            ("E_NOT_A_LEADER", -13),
303            ("E_HOST_STOPPED", -12),
304            ("E_NOT_READY", -11),
305            ("E_WAL_FAIL", -10),
306            ("E_WRONG_LEADER", -9),
307            ("E_BAD_STATE", -8),
308            ("E_LAST_LOG_TERM_TOO_OLD", -7),
309            ("E_TERM_OUT_OF_DATE", -6),
310            ("E_UNKNOWN_PART", -5),
311            ("E_WAITING_SNAPSHOT", -4),
312            ("E_MISSING_COMMIT", -3),
313            ("E_LOG_STALE", -2),
314            ("E_LOG_GAP", -1),
315            ("SUCCEEDED", 0),
316        ];
317        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
318    }
319}
320
321impl ::std::fmt::Debug for ErrorCode {
322    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
323        write!(fmt, "ErrorCode::{}", self)
324    }
325}
326
327impl ::std::str::FromStr for ErrorCode {
328    type Err = ::anyhow::Error;
329
330    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
331        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
332            ("E_BAD_ROLE", -17),
333            ("E_BAD_STATE", -8),
334            ("E_EXCEPTION", -20),
335            ("E_HOST_DISCONNECTED", -14),
336            ("E_HOST_STOPPED", -12),
337            ("E_LAST_LOG_TERM_TOO_OLD", -7),
338            ("E_LOG_GAP", -1),
339            ("E_LOG_STALE", -2),
340            ("E_MISSING_COMMIT", -3),
341            ("E_NOT_A_LEADER", -13),
342            ("E_NOT_READY", -11),
343            ("E_PERSIST_SNAPSHOT_FAILED", -16),
344            ("E_TERM_OUT_OF_DATE", -6),
345            ("E_TOO_MANY_REQUESTS", -15),
346            ("E_UNKNOWN_PART", -5),
347            ("E_WAITING_SNAPSHOT", -4),
348            ("E_WAL_FAIL", -10),
349            ("E_WRONG_LEADER", -9),
350            ("SUCCEEDED", 0),
351        ];
352        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ErrorCode").map(Self)
353    }
354}
355
356impl ::fbthrift::GetTType for ErrorCode {
357    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
358}
359
360impl<P> ::fbthrift::Serialize<P> for ErrorCode
361where
362    P: ::fbthrift::ProtocolWriter,
363{
364    #[inline]
365    fn write(&self, p: &mut P) {
366        p.write_i32(self.into())
367    }
368}
369
370impl<P> ::fbthrift::Deserialize<P> for ErrorCode
371where
372    P: ::fbthrift::ProtocolReader,
373{
374    #[inline]
375    fn read(p: &mut P) -> ::anyhow::Result<Self> {
376        ::std::result::Result::Ok(Self::from(p.read_i32()?))
377    }
378}
379
380
381
382
383
384
385
386#[allow(clippy::derivable_impls)]
387impl ::std::default::Default for self::AskForVoteRequest {
388    fn default() -> Self {
389        Self {
390            space: ::std::default::Default::default(),
391            part: ::std::default::Default::default(),
392            candidate_addr: ::std::default::Default::default(),
393            candidate_port: ::std::default::Default::default(),
394            term: ::std::default::Default::default(),
395            last_log_id: ::std::default::Default::default(),
396            last_log_term: ::std::default::Default::default(),
397            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
398        }
399    }
400}
401
402impl ::std::fmt::Debug for self::AskForVoteRequest {
403    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
404        formatter
405            .debug_struct("AskForVoteRequest")
406            .field("space", &self.space)
407            .field("part", &self.part)
408            .field("candidate_addr", &self.candidate_addr)
409            .field("candidate_port", &self.candidate_port)
410            .field("term", &self.term)
411            .field("last_log_id", &self.last_log_id)
412            .field("last_log_term", &self.last_log_term)
413            .finish()
414    }
415}
416
417unsafe impl ::std::marker::Send for self::AskForVoteRequest {}
418unsafe impl ::std::marker::Sync for self::AskForVoteRequest {}
419
420impl ::fbthrift::GetTType for self::AskForVoteRequest {
421    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
422}
423
424impl<P> ::fbthrift::Serialize<P> for self::AskForVoteRequest
425where
426    P: ::fbthrift::ProtocolWriter,
427{
428    fn write(&self, p: &mut P) {
429        p.write_struct_begin("AskForVoteRequest");
430        p.write_field_begin("space", ::fbthrift::TType::I32, 1);
431        ::fbthrift::Serialize::write(&self.space, p);
432        p.write_field_end();
433        p.write_field_begin("part", ::fbthrift::TType::I32, 2);
434        ::fbthrift::Serialize::write(&self.part, p);
435        p.write_field_end();
436        p.write_field_begin("candidate_addr", ::fbthrift::TType::String, 3);
437        ::fbthrift::Serialize::write(&self.candidate_addr, p);
438        p.write_field_end();
439        p.write_field_begin("candidate_port", ::fbthrift::TType::I32, 4);
440        ::fbthrift::Serialize::write(&self.candidate_port, p);
441        p.write_field_end();
442        p.write_field_begin("term", ::fbthrift::TType::I64, 5);
443        ::fbthrift::Serialize::write(&self.term, p);
444        p.write_field_end();
445        p.write_field_begin("last_log_id", ::fbthrift::TType::I64, 6);
446        ::fbthrift::Serialize::write(&self.last_log_id, p);
447        p.write_field_end();
448        p.write_field_begin("last_log_term", ::fbthrift::TType::I64, 7);
449        ::fbthrift::Serialize::write(&self.last_log_term, p);
450        p.write_field_end();
451        p.write_field_stop();
452        p.write_struct_end();
453    }
454}
455
456impl<P> ::fbthrift::Deserialize<P> for self::AskForVoteRequest
457where
458    P: ::fbthrift::ProtocolReader,
459{
460    fn read(p: &mut P) -> ::anyhow::Result<Self> {
461        static FIELDS: &[::fbthrift::Field] = &[
462            ::fbthrift::Field::new("candidate_addr", ::fbthrift::TType::String, 3),
463            ::fbthrift::Field::new("candidate_port", ::fbthrift::TType::I32, 4),
464            ::fbthrift::Field::new("last_log_id", ::fbthrift::TType::I64, 6),
465            ::fbthrift::Field::new("last_log_term", ::fbthrift::TType::I64, 7),
466            ::fbthrift::Field::new("part", ::fbthrift::TType::I32, 2),
467            ::fbthrift::Field::new("space", ::fbthrift::TType::I32, 1),
468            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 5),
469        ];
470        let mut field_space = ::std::option::Option::None;
471        let mut field_part = ::std::option::Option::None;
472        let mut field_candidate_addr = ::std::option::Option::None;
473        let mut field_candidate_port = ::std::option::Option::None;
474        let mut field_term = ::std::option::Option::None;
475        let mut field_last_log_id = ::std::option::Option::None;
476        let mut field_last_log_term = ::std::option::Option::None;
477        let _ = p.read_struct_begin(|_| ())?;
478        loop {
479            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
480            match (fty, fid as ::std::primitive::i32) {
481                (::fbthrift::TType::Stop, _) => break,
482                (::fbthrift::TType::I32, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
483                (::fbthrift::TType::I32, 2) => field_part = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
484                (::fbthrift::TType::String, 3) => field_candidate_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
485                (::fbthrift::TType::I32, 4) => field_candidate_port = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
486                (::fbthrift::TType::I64, 5) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
487                (::fbthrift::TType::I64, 6) => field_last_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
488                (::fbthrift::TType::I64, 7) => field_last_log_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
489                (fty, _) => p.skip(fty)?,
490            }
491            p.read_field_end()?;
492        }
493        p.read_struct_end()?;
494        ::std::result::Result::Ok(Self {
495            space: field_space.unwrap_or_default(),
496            part: field_part.unwrap_or_default(),
497            candidate_addr: field_candidate_addr.unwrap_or_default(),
498            candidate_port: field_candidate_port.unwrap_or_default(),
499            term: field_term.unwrap_or_default(),
500            last_log_id: field_last_log_id.unwrap_or_default(),
501            last_log_term: field_last_log_term.unwrap_or_default(),
502            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
503        })
504    }
505}
506
507
508#[allow(clippy::derivable_impls)]
509impl ::std::default::Default for self::AskForVoteResponse {
510    fn default() -> Self {
511        Self {
512            error_code: ::std::default::Default::default(),
513            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
514        }
515    }
516}
517
518impl ::std::fmt::Debug for self::AskForVoteResponse {
519    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
520        formatter
521            .debug_struct("AskForVoteResponse")
522            .field("error_code", &self.error_code)
523            .finish()
524    }
525}
526
527unsafe impl ::std::marker::Send for self::AskForVoteResponse {}
528unsafe impl ::std::marker::Sync for self::AskForVoteResponse {}
529
530impl ::fbthrift::GetTType for self::AskForVoteResponse {
531    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
532}
533
534impl<P> ::fbthrift::Serialize<P> for self::AskForVoteResponse
535where
536    P: ::fbthrift::ProtocolWriter,
537{
538    fn write(&self, p: &mut P) {
539        p.write_struct_begin("AskForVoteResponse");
540        p.write_field_begin("error_code", ::fbthrift::TType::I32, 1);
541        ::fbthrift::Serialize::write(&self.error_code, p);
542        p.write_field_end();
543        p.write_field_stop();
544        p.write_struct_end();
545    }
546}
547
548impl<P> ::fbthrift::Deserialize<P> for self::AskForVoteResponse
549where
550    P: ::fbthrift::ProtocolReader,
551{
552    fn read(p: &mut P) -> ::anyhow::Result<Self> {
553        static FIELDS: &[::fbthrift::Field] = &[
554            ::fbthrift::Field::new("error_code", ::fbthrift::TType::I32, 1),
555        ];
556        let mut field_error_code = ::std::option::Option::None;
557        let _ = p.read_struct_begin(|_| ())?;
558        loop {
559            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
560            match (fty, fid as ::std::primitive::i32) {
561                (::fbthrift::TType::Stop, _) => break,
562                (::fbthrift::TType::I32, 1) => field_error_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
563                (fty, _) => p.skip(fty)?,
564            }
565            p.read_field_end()?;
566        }
567        p.read_struct_end()?;
568        ::std::result::Result::Ok(Self {
569            error_code: field_error_code.unwrap_or_default(),
570            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
571        })
572    }
573}
574
575
576#[allow(clippy::derivable_impls)]
577impl ::std::default::Default for self::LogEntry {
578    fn default() -> Self {
579        Self {
580            cluster: ::std::default::Default::default(),
581            log_str: ::std::default::Default::default(),
582            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
583        }
584    }
585}
586
587impl ::std::fmt::Debug for self::LogEntry {
588    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
589        formatter
590            .debug_struct("LogEntry")
591            .field("cluster", &self.cluster)
592            .field("log_str", &self.log_str)
593            .finish()
594    }
595}
596
597unsafe impl ::std::marker::Send for self::LogEntry {}
598unsafe impl ::std::marker::Sync for self::LogEntry {}
599
600impl ::fbthrift::GetTType for self::LogEntry {
601    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
602}
603
604impl<P> ::fbthrift::Serialize<P> for self::LogEntry
605where
606    P: ::fbthrift::ProtocolWriter,
607{
608    fn write(&self, p: &mut P) {
609        p.write_struct_begin("LogEntry");
610        p.write_field_begin("cluster", ::fbthrift::TType::I64, 1);
611        ::fbthrift::Serialize::write(&self.cluster, p);
612        p.write_field_end();
613        p.write_field_begin("log_str", ::fbthrift::TType::String, 2);
614        ::fbthrift::Serialize::write(&self.log_str, p);
615        p.write_field_end();
616        p.write_field_stop();
617        p.write_struct_end();
618    }
619}
620
621impl<P> ::fbthrift::Deserialize<P> for self::LogEntry
622where
623    P: ::fbthrift::ProtocolReader,
624{
625    fn read(p: &mut P) -> ::anyhow::Result<Self> {
626        static FIELDS: &[::fbthrift::Field] = &[
627            ::fbthrift::Field::new("cluster", ::fbthrift::TType::I64, 1),
628            ::fbthrift::Field::new("log_str", ::fbthrift::TType::String, 2),
629        ];
630        let mut field_cluster = ::std::option::Option::None;
631        let mut field_log_str = ::std::option::Option::None;
632        let _ = p.read_struct_begin(|_| ())?;
633        loop {
634            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
635            match (fty, fid as ::std::primitive::i32) {
636                (::fbthrift::TType::Stop, _) => break,
637                (::fbthrift::TType::I64, 1) => field_cluster = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
638                (::fbthrift::TType::String, 2) => field_log_str = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
639                (fty, _) => p.skip(fty)?,
640            }
641            p.read_field_end()?;
642        }
643        p.read_struct_end()?;
644        ::std::result::Result::Ok(Self {
645            cluster: field_cluster.unwrap_or_default(),
646            log_str: field_log_str.unwrap_or_default(),
647            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
648        })
649    }
650}
651
652
653#[allow(clippy::derivable_impls)]
654impl ::std::default::Default for self::AppendLogRequest {
655    fn default() -> Self {
656        Self {
657            space: ::std::default::Default::default(),
658            part: ::std::default::Default::default(),
659            current_term: ::std::default::Default::default(),
660            last_log_id: ::std::default::Default::default(),
661            committed_log_id: ::std::default::Default::default(),
662            leader_addr: ::std::default::Default::default(),
663            leader_port: ::std::default::Default::default(),
664            last_log_term_sent: ::std::default::Default::default(),
665            last_log_id_sent: ::std::default::Default::default(),
666            log_term: ::std::default::Default::default(),
667            log_str_list: ::std::default::Default::default(),
668            sending_snapshot: ::std::default::Default::default(),
669            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
670        }
671    }
672}
673
674impl ::std::fmt::Debug for self::AppendLogRequest {
675    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
676        formatter
677            .debug_struct("AppendLogRequest")
678            .field("space", &self.space)
679            .field("part", &self.part)
680            .field("current_term", &self.current_term)
681            .field("last_log_id", &self.last_log_id)
682            .field("committed_log_id", &self.committed_log_id)
683            .field("leader_addr", &self.leader_addr)
684            .field("leader_port", &self.leader_port)
685            .field("last_log_term_sent", &self.last_log_term_sent)
686            .field("last_log_id_sent", &self.last_log_id_sent)
687            .field("log_term", &self.log_term)
688            .field("log_str_list", &self.log_str_list)
689            .field("sending_snapshot", &self.sending_snapshot)
690            .finish()
691    }
692}
693
694unsafe impl ::std::marker::Send for self::AppendLogRequest {}
695unsafe impl ::std::marker::Sync for self::AppendLogRequest {}
696
697impl ::fbthrift::GetTType for self::AppendLogRequest {
698    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
699}
700
701impl<P> ::fbthrift::Serialize<P> for self::AppendLogRequest
702where
703    P: ::fbthrift::ProtocolWriter,
704{
705    fn write(&self, p: &mut P) {
706        p.write_struct_begin("AppendLogRequest");
707        p.write_field_begin("space", ::fbthrift::TType::I32, 1);
708        ::fbthrift::Serialize::write(&self.space, p);
709        p.write_field_end();
710        p.write_field_begin("part", ::fbthrift::TType::I32, 2);
711        ::fbthrift::Serialize::write(&self.part, p);
712        p.write_field_end();
713        p.write_field_begin("current_term", ::fbthrift::TType::I64, 3);
714        ::fbthrift::Serialize::write(&self.current_term, p);
715        p.write_field_end();
716        p.write_field_begin("last_log_id", ::fbthrift::TType::I64, 4);
717        ::fbthrift::Serialize::write(&self.last_log_id, p);
718        p.write_field_end();
719        p.write_field_begin("committed_log_id", ::fbthrift::TType::I64, 5);
720        ::fbthrift::Serialize::write(&self.committed_log_id, p);
721        p.write_field_end();
722        p.write_field_begin("leader_addr", ::fbthrift::TType::String, 6);
723        ::fbthrift::Serialize::write(&self.leader_addr, p);
724        p.write_field_end();
725        p.write_field_begin("leader_port", ::fbthrift::TType::I32, 7);
726        ::fbthrift::Serialize::write(&self.leader_port, p);
727        p.write_field_end();
728        p.write_field_begin("last_log_term_sent", ::fbthrift::TType::I64, 8);
729        ::fbthrift::Serialize::write(&self.last_log_term_sent, p);
730        p.write_field_end();
731        p.write_field_begin("last_log_id_sent", ::fbthrift::TType::I64, 9);
732        ::fbthrift::Serialize::write(&self.last_log_id_sent, p);
733        p.write_field_end();
734        p.write_field_begin("log_term", ::fbthrift::TType::I64, 10);
735        ::fbthrift::Serialize::write(&self.log_term, p);
736        p.write_field_end();
737        p.write_field_begin("log_str_list", ::fbthrift::TType::List, 11);
738        ::fbthrift::Serialize::write(&self.log_str_list, p);
739        p.write_field_end();
740        p.write_field_begin("sending_snapshot", ::fbthrift::TType::Bool, 12);
741        ::fbthrift::Serialize::write(&self.sending_snapshot, p);
742        p.write_field_end();
743        p.write_field_stop();
744        p.write_struct_end();
745    }
746}
747
748impl<P> ::fbthrift::Deserialize<P> for self::AppendLogRequest
749where
750    P: ::fbthrift::ProtocolReader,
751{
752    fn read(p: &mut P) -> ::anyhow::Result<Self> {
753        static FIELDS: &[::fbthrift::Field] = &[
754            ::fbthrift::Field::new("committed_log_id", ::fbthrift::TType::I64, 5),
755            ::fbthrift::Field::new("current_term", ::fbthrift::TType::I64, 3),
756            ::fbthrift::Field::new("last_log_id", ::fbthrift::TType::I64, 4),
757            ::fbthrift::Field::new("last_log_id_sent", ::fbthrift::TType::I64, 9),
758            ::fbthrift::Field::new("last_log_term_sent", ::fbthrift::TType::I64, 8),
759            ::fbthrift::Field::new("leader_addr", ::fbthrift::TType::String, 6),
760            ::fbthrift::Field::new("leader_port", ::fbthrift::TType::I32, 7),
761            ::fbthrift::Field::new("log_str_list", ::fbthrift::TType::List, 11),
762            ::fbthrift::Field::new("log_term", ::fbthrift::TType::I64, 10),
763            ::fbthrift::Field::new("part", ::fbthrift::TType::I32, 2),
764            ::fbthrift::Field::new("sending_snapshot", ::fbthrift::TType::Bool, 12),
765            ::fbthrift::Field::new("space", ::fbthrift::TType::I32, 1),
766        ];
767        let mut field_space = ::std::option::Option::None;
768        let mut field_part = ::std::option::Option::None;
769        let mut field_current_term = ::std::option::Option::None;
770        let mut field_last_log_id = ::std::option::Option::None;
771        let mut field_committed_log_id = ::std::option::Option::None;
772        let mut field_leader_addr = ::std::option::Option::None;
773        let mut field_leader_port = ::std::option::Option::None;
774        let mut field_last_log_term_sent = ::std::option::Option::None;
775        let mut field_last_log_id_sent = ::std::option::Option::None;
776        let mut field_log_term = ::std::option::Option::None;
777        let mut field_log_str_list = ::std::option::Option::None;
778        let mut field_sending_snapshot = ::std::option::Option::None;
779        let _ = p.read_struct_begin(|_| ())?;
780        loop {
781            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
782            match (fty, fid as ::std::primitive::i32) {
783                (::fbthrift::TType::Stop, _) => break,
784                (::fbthrift::TType::I32, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
785                (::fbthrift::TType::I32, 2) => field_part = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
786                (::fbthrift::TType::I64, 3) => field_current_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
787                (::fbthrift::TType::I64, 4) => field_last_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
788                (::fbthrift::TType::I64, 5) => field_committed_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
789                (::fbthrift::TType::String, 6) => field_leader_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
790                (::fbthrift::TType::I32, 7) => field_leader_port = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
791                (::fbthrift::TType::I64, 8) => field_last_log_term_sent = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
792                (::fbthrift::TType::I64, 9) => field_last_log_id_sent = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
793                (::fbthrift::TType::I64, 10) => field_log_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
794                (::fbthrift::TType::List, 11) => field_log_str_list = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
795                (::fbthrift::TType::Bool, 12) => field_sending_snapshot = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
796                (fty, _) => p.skip(fty)?,
797            }
798            p.read_field_end()?;
799        }
800        p.read_struct_end()?;
801        ::std::result::Result::Ok(Self {
802            space: field_space.unwrap_or_default(),
803            part: field_part.unwrap_or_default(),
804            current_term: field_current_term.unwrap_or_default(),
805            last_log_id: field_last_log_id.unwrap_or_default(),
806            committed_log_id: field_committed_log_id.unwrap_or_default(),
807            leader_addr: field_leader_addr.unwrap_or_default(),
808            leader_port: field_leader_port.unwrap_or_default(),
809            last_log_term_sent: field_last_log_term_sent.unwrap_or_default(),
810            last_log_id_sent: field_last_log_id_sent.unwrap_or_default(),
811            log_term: field_log_term.unwrap_or_default(),
812            log_str_list: field_log_str_list.unwrap_or_default(),
813            sending_snapshot: field_sending_snapshot.unwrap_or_default(),
814            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
815        })
816    }
817}
818
819
820#[allow(clippy::derivable_impls)]
821impl ::std::default::Default for self::AppendLogResponse {
822    fn default() -> Self {
823        Self {
824            error_code: ::std::default::Default::default(),
825            current_term: ::std::default::Default::default(),
826            leader_addr: ::std::default::Default::default(),
827            leader_port: ::std::default::Default::default(),
828            committed_log_id: ::std::default::Default::default(),
829            last_log_id: ::std::default::Default::default(),
830            last_log_term: ::std::default::Default::default(),
831            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
832        }
833    }
834}
835
836impl ::std::fmt::Debug for self::AppendLogResponse {
837    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
838        formatter
839            .debug_struct("AppendLogResponse")
840            .field("error_code", &self.error_code)
841            .field("current_term", &self.current_term)
842            .field("leader_addr", &self.leader_addr)
843            .field("leader_port", &self.leader_port)
844            .field("committed_log_id", &self.committed_log_id)
845            .field("last_log_id", &self.last_log_id)
846            .field("last_log_term", &self.last_log_term)
847            .finish()
848    }
849}
850
851unsafe impl ::std::marker::Send for self::AppendLogResponse {}
852unsafe impl ::std::marker::Sync for self::AppendLogResponse {}
853
854impl ::fbthrift::GetTType for self::AppendLogResponse {
855    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
856}
857
858impl<P> ::fbthrift::Serialize<P> for self::AppendLogResponse
859where
860    P: ::fbthrift::ProtocolWriter,
861{
862    fn write(&self, p: &mut P) {
863        p.write_struct_begin("AppendLogResponse");
864        p.write_field_begin("error_code", ::fbthrift::TType::I32, 1);
865        ::fbthrift::Serialize::write(&self.error_code, p);
866        p.write_field_end();
867        p.write_field_begin("current_term", ::fbthrift::TType::I64, 2);
868        ::fbthrift::Serialize::write(&self.current_term, p);
869        p.write_field_end();
870        p.write_field_begin("leader_addr", ::fbthrift::TType::String, 3);
871        ::fbthrift::Serialize::write(&self.leader_addr, p);
872        p.write_field_end();
873        p.write_field_begin("leader_port", ::fbthrift::TType::I32, 4);
874        ::fbthrift::Serialize::write(&self.leader_port, p);
875        p.write_field_end();
876        p.write_field_begin("committed_log_id", ::fbthrift::TType::I64, 5);
877        ::fbthrift::Serialize::write(&self.committed_log_id, p);
878        p.write_field_end();
879        p.write_field_begin("last_log_id", ::fbthrift::TType::I64, 6);
880        ::fbthrift::Serialize::write(&self.last_log_id, p);
881        p.write_field_end();
882        p.write_field_begin("last_log_term", ::fbthrift::TType::I64, 7);
883        ::fbthrift::Serialize::write(&self.last_log_term, p);
884        p.write_field_end();
885        p.write_field_stop();
886        p.write_struct_end();
887    }
888}
889
890impl<P> ::fbthrift::Deserialize<P> for self::AppendLogResponse
891where
892    P: ::fbthrift::ProtocolReader,
893{
894    fn read(p: &mut P) -> ::anyhow::Result<Self> {
895        static FIELDS: &[::fbthrift::Field] = &[
896            ::fbthrift::Field::new("committed_log_id", ::fbthrift::TType::I64, 5),
897            ::fbthrift::Field::new("current_term", ::fbthrift::TType::I64, 2),
898            ::fbthrift::Field::new("error_code", ::fbthrift::TType::I32, 1),
899            ::fbthrift::Field::new("last_log_id", ::fbthrift::TType::I64, 6),
900            ::fbthrift::Field::new("last_log_term", ::fbthrift::TType::I64, 7),
901            ::fbthrift::Field::new("leader_addr", ::fbthrift::TType::String, 3),
902            ::fbthrift::Field::new("leader_port", ::fbthrift::TType::I32, 4),
903        ];
904        let mut field_error_code = ::std::option::Option::None;
905        let mut field_current_term = ::std::option::Option::None;
906        let mut field_leader_addr = ::std::option::Option::None;
907        let mut field_leader_port = ::std::option::Option::None;
908        let mut field_committed_log_id = ::std::option::Option::None;
909        let mut field_last_log_id = ::std::option::Option::None;
910        let mut field_last_log_term = ::std::option::Option::None;
911        let _ = p.read_struct_begin(|_| ())?;
912        loop {
913            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
914            match (fty, fid as ::std::primitive::i32) {
915                (::fbthrift::TType::Stop, _) => break,
916                (::fbthrift::TType::I32, 1) => field_error_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
917                (::fbthrift::TType::I64, 2) => field_current_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
918                (::fbthrift::TType::String, 3) => field_leader_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
919                (::fbthrift::TType::I32, 4) => field_leader_port = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
920                (::fbthrift::TType::I64, 5) => field_committed_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
921                (::fbthrift::TType::I64, 6) => field_last_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
922                (::fbthrift::TType::I64, 7) => field_last_log_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
923                (fty, _) => p.skip(fty)?,
924            }
925            p.read_field_end()?;
926        }
927        p.read_struct_end()?;
928        ::std::result::Result::Ok(Self {
929            error_code: field_error_code.unwrap_or_default(),
930            current_term: field_current_term.unwrap_or_default(),
931            leader_addr: field_leader_addr.unwrap_or_default(),
932            leader_port: field_leader_port.unwrap_or_default(),
933            committed_log_id: field_committed_log_id.unwrap_or_default(),
934            last_log_id: field_last_log_id.unwrap_or_default(),
935            last_log_term: field_last_log_term.unwrap_or_default(),
936            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
937        })
938    }
939}
940
941
942#[allow(clippy::derivable_impls)]
943impl ::std::default::Default for self::SendSnapshotRequest {
944    fn default() -> Self {
945        Self {
946            space: ::std::default::Default::default(),
947            part: ::std::default::Default::default(),
948            term: ::std::default::Default::default(),
949            committed_log_id: ::std::default::Default::default(),
950            committed_log_term: ::std::default::Default::default(),
951            leader_addr: ::std::default::Default::default(),
952            leader_port: ::std::default::Default::default(),
953            rows: ::std::default::Default::default(),
954            total_size: ::std::default::Default::default(),
955            total_count: ::std::default::Default::default(),
956            done: ::std::default::Default::default(),
957            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
958        }
959    }
960}
961
962impl ::std::fmt::Debug for self::SendSnapshotRequest {
963    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
964        formatter
965            .debug_struct("SendSnapshotRequest")
966            .field("space", &self.space)
967            .field("part", &self.part)
968            .field("term", &self.term)
969            .field("committed_log_id", &self.committed_log_id)
970            .field("committed_log_term", &self.committed_log_term)
971            .field("leader_addr", &self.leader_addr)
972            .field("leader_port", &self.leader_port)
973            .field("rows", &self.rows)
974            .field("total_size", &self.total_size)
975            .field("total_count", &self.total_count)
976            .field("done", &self.done)
977            .finish()
978    }
979}
980
981unsafe impl ::std::marker::Send for self::SendSnapshotRequest {}
982unsafe impl ::std::marker::Sync for self::SendSnapshotRequest {}
983
984impl ::fbthrift::GetTType for self::SendSnapshotRequest {
985    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
986}
987
988impl<P> ::fbthrift::Serialize<P> for self::SendSnapshotRequest
989where
990    P: ::fbthrift::ProtocolWriter,
991{
992    fn write(&self, p: &mut P) {
993        p.write_struct_begin("SendSnapshotRequest");
994        p.write_field_begin("space", ::fbthrift::TType::I32, 1);
995        ::fbthrift::Serialize::write(&self.space, p);
996        p.write_field_end();
997        p.write_field_begin("part", ::fbthrift::TType::I32, 2);
998        ::fbthrift::Serialize::write(&self.part, p);
999        p.write_field_end();
1000        p.write_field_begin("term", ::fbthrift::TType::I64, 3);
1001        ::fbthrift::Serialize::write(&self.term, p);
1002        p.write_field_end();
1003        p.write_field_begin("committed_log_id", ::fbthrift::TType::I64, 4);
1004        ::fbthrift::Serialize::write(&self.committed_log_id, p);
1005        p.write_field_end();
1006        p.write_field_begin("committed_log_term", ::fbthrift::TType::I64, 5);
1007        ::fbthrift::Serialize::write(&self.committed_log_term, p);
1008        p.write_field_end();
1009        p.write_field_begin("leader_addr", ::fbthrift::TType::String, 6);
1010        ::fbthrift::Serialize::write(&self.leader_addr, p);
1011        p.write_field_end();
1012        p.write_field_begin("leader_port", ::fbthrift::TType::I32, 7);
1013        ::fbthrift::Serialize::write(&self.leader_port, p);
1014        p.write_field_end();
1015        p.write_field_begin("rows", ::fbthrift::TType::List, 8);
1016        ::fbthrift::Serialize::write(&self.rows, p);
1017        p.write_field_end();
1018        p.write_field_begin("total_size", ::fbthrift::TType::I64, 9);
1019        ::fbthrift::Serialize::write(&self.total_size, p);
1020        p.write_field_end();
1021        p.write_field_begin("total_count", ::fbthrift::TType::I64, 10);
1022        ::fbthrift::Serialize::write(&self.total_count, p);
1023        p.write_field_end();
1024        p.write_field_begin("done", ::fbthrift::TType::Bool, 11);
1025        ::fbthrift::Serialize::write(&self.done, p);
1026        p.write_field_end();
1027        p.write_field_stop();
1028        p.write_struct_end();
1029    }
1030}
1031
1032impl<P> ::fbthrift::Deserialize<P> for self::SendSnapshotRequest
1033where
1034    P: ::fbthrift::ProtocolReader,
1035{
1036    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1037        static FIELDS: &[::fbthrift::Field] = &[
1038            ::fbthrift::Field::new("committed_log_id", ::fbthrift::TType::I64, 4),
1039            ::fbthrift::Field::new("committed_log_term", ::fbthrift::TType::I64, 5),
1040            ::fbthrift::Field::new("done", ::fbthrift::TType::Bool, 11),
1041            ::fbthrift::Field::new("leader_addr", ::fbthrift::TType::String, 6),
1042            ::fbthrift::Field::new("leader_port", ::fbthrift::TType::I32, 7),
1043            ::fbthrift::Field::new("part", ::fbthrift::TType::I32, 2),
1044            ::fbthrift::Field::new("rows", ::fbthrift::TType::List, 8),
1045            ::fbthrift::Field::new("space", ::fbthrift::TType::I32, 1),
1046            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 3),
1047            ::fbthrift::Field::new("total_count", ::fbthrift::TType::I64, 10),
1048            ::fbthrift::Field::new("total_size", ::fbthrift::TType::I64, 9),
1049        ];
1050        let mut field_space = ::std::option::Option::None;
1051        let mut field_part = ::std::option::Option::None;
1052        let mut field_term = ::std::option::Option::None;
1053        let mut field_committed_log_id = ::std::option::Option::None;
1054        let mut field_committed_log_term = ::std::option::Option::None;
1055        let mut field_leader_addr = ::std::option::Option::None;
1056        let mut field_leader_port = ::std::option::Option::None;
1057        let mut field_rows = ::std::option::Option::None;
1058        let mut field_total_size = ::std::option::Option::None;
1059        let mut field_total_count = ::std::option::Option::None;
1060        let mut field_done = ::std::option::Option::None;
1061        let _ = p.read_struct_begin(|_| ())?;
1062        loop {
1063            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1064            match (fty, fid as ::std::primitive::i32) {
1065                (::fbthrift::TType::Stop, _) => break,
1066                (::fbthrift::TType::I32, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1067                (::fbthrift::TType::I32, 2) => field_part = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1068                (::fbthrift::TType::I64, 3) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1069                (::fbthrift::TType::I64, 4) => field_committed_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1070                (::fbthrift::TType::I64, 5) => field_committed_log_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1071                (::fbthrift::TType::String, 6) => field_leader_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1072                (::fbthrift::TType::I32, 7) => field_leader_port = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1073                (::fbthrift::TType::List, 8) => field_rows = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1074                (::fbthrift::TType::I64, 9) => field_total_size = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1075                (::fbthrift::TType::I64, 10) => field_total_count = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1076                (::fbthrift::TType::Bool, 11) => field_done = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1077                (fty, _) => p.skip(fty)?,
1078            }
1079            p.read_field_end()?;
1080        }
1081        p.read_struct_end()?;
1082        ::std::result::Result::Ok(Self {
1083            space: field_space.unwrap_or_default(),
1084            part: field_part.unwrap_or_default(),
1085            term: field_term.unwrap_or_default(),
1086            committed_log_id: field_committed_log_id.unwrap_or_default(),
1087            committed_log_term: field_committed_log_term.unwrap_or_default(),
1088            leader_addr: field_leader_addr.unwrap_or_default(),
1089            leader_port: field_leader_port.unwrap_or_default(),
1090            rows: field_rows.unwrap_or_default(),
1091            total_size: field_total_size.unwrap_or_default(),
1092            total_count: field_total_count.unwrap_or_default(),
1093            done: field_done.unwrap_or_default(),
1094            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1095        })
1096    }
1097}
1098
1099
1100#[allow(clippy::derivable_impls)]
1101impl ::std::default::Default for self::HeartbeatRequest {
1102    fn default() -> Self {
1103        Self {
1104            space: ::std::default::Default::default(),
1105            part: ::std::default::Default::default(),
1106            current_term: ::std::default::Default::default(),
1107            last_log_id: ::std::default::Default::default(),
1108            committed_log_id: ::std::default::Default::default(),
1109            leader_addr: ::std::default::Default::default(),
1110            leader_port: ::std::default::Default::default(),
1111            last_log_term_sent: ::std::default::Default::default(),
1112            last_log_id_sent: ::std::default::Default::default(),
1113            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1114        }
1115    }
1116}
1117
1118impl ::std::fmt::Debug for self::HeartbeatRequest {
1119    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1120        formatter
1121            .debug_struct("HeartbeatRequest")
1122            .field("space", &self.space)
1123            .field("part", &self.part)
1124            .field("current_term", &self.current_term)
1125            .field("last_log_id", &self.last_log_id)
1126            .field("committed_log_id", &self.committed_log_id)
1127            .field("leader_addr", &self.leader_addr)
1128            .field("leader_port", &self.leader_port)
1129            .field("last_log_term_sent", &self.last_log_term_sent)
1130            .field("last_log_id_sent", &self.last_log_id_sent)
1131            .finish()
1132    }
1133}
1134
1135unsafe impl ::std::marker::Send for self::HeartbeatRequest {}
1136unsafe impl ::std::marker::Sync for self::HeartbeatRequest {}
1137
1138impl ::fbthrift::GetTType for self::HeartbeatRequest {
1139    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1140}
1141
1142impl<P> ::fbthrift::Serialize<P> for self::HeartbeatRequest
1143where
1144    P: ::fbthrift::ProtocolWriter,
1145{
1146    fn write(&self, p: &mut P) {
1147        p.write_struct_begin("HeartbeatRequest");
1148        p.write_field_begin("space", ::fbthrift::TType::I32, 1);
1149        ::fbthrift::Serialize::write(&self.space, p);
1150        p.write_field_end();
1151        p.write_field_begin("part", ::fbthrift::TType::I32, 2);
1152        ::fbthrift::Serialize::write(&self.part, p);
1153        p.write_field_end();
1154        p.write_field_begin("current_term", ::fbthrift::TType::I64, 3);
1155        ::fbthrift::Serialize::write(&self.current_term, p);
1156        p.write_field_end();
1157        p.write_field_begin("last_log_id", ::fbthrift::TType::I64, 4);
1158        ::fbthrift::Serialize::write(&self.last_log_id, p);
1159        p.write_field_end();
1160        p.write_field_begin("committed_log_id", ::fbthrift::TType::I64, 5);
1161        ::fbthrift::Serialize::write(&self.committed_log_id, p);
1162        p.write_field_end();
1163        p.write_field_begin("leader_addr", ::fbthrift::TType::String, 6);
1164        ::fbthrift::Serialize::write(&self.leader_addr, p);
1165        p.write_field_end();
1166        p.write_field_begin("leader_port", ::fbthrift::TType::I32, 7);
1167        ::fbthrift::Serialize::write(&self.leader_port, p);
1168        p.write_field_end();
1169        p.write_field_begin("last_log_term_sent", ::fbthrift::TType::I64, 8);
1170        ::fbthrift::Serialize::write(&self.last_log_term_sent, p);
1171        p.write_field_end();
1172        p.write_field_begin("last_log_id_sent", ::fbthrift::TType::I64, 9);
1173        ::fbthrift::Serialize::write(&self.last_log_id_sent, p);
1174        p.write_field_end();
1175        p.write_field_stop();
1176        p.write_struct_end();
1177    }
1178}
1179
1180impl<P> ::fbthrift::Deserialize<P> for self::HeartbeatRequest
1181where
1182    P: ::fbthrift::ProtocolReader,
1183{
1184    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1185        static FIELDS: &[::fbthrift::Field] = &[
1186            ::fbthrift::Field::new("committed_log_id", ::fbthrift::TType::I64, 5),
1187            ::fbthrift::Field::new("current_term", ::fbthrift::TType::I64, 3),
1188            ::fbthrift::Field::new("last_log_id", ::fbthrift::TType::I64, 4),
1189            ::fbthrift::Field::new("last_log_id_sent", ::fbthrift::TType::I64, 9),
1190            ::fbthrift::Field::new("last_log_term_sent", ::fbthrift::TType::I64, 8),
1191            ::fbthrift::Field::new("leader_addr", ::fbthrift::TType::String, 6),
1192            ::fbthrift::Field::new("leader_port", ::fbthrift::TType::I32, 7),
1193            ::fbthrift::Field::new("part", ::fbthrift::TType::I32, 2),
1194            ::fbthrift::Field::new("space", ::fbthrift::TType::I32, 1),
1195        ];
1196        let mut field_space = ::std::option::Option::None;
1197        let mut field_part = ::std::option::Option::None;
1198        let mut field_current_term = ::std::option::Option::None;
1199        let mut field_last_log_id = ::std::option::Option::None;
1200        let mut field_committed_log_id = ::std::option::Option::None;
1201        let mut field_leader_addr = ::std::option::Option::None;
1202        let mut field_leader_port = ::std::option::Option::None;
1203        let mut field_last_log_term_sent = ::std::option::Option::None;
1204        let mut field_last_log_id_sent = ::std::option::Option::None;
1205        let _ = p.read_struct_begin(|_| ())?;
1206        loop {
1207            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1208            match (fty, fid as ::std::primitive::i32) {
1209                (::fbthrift::TType::Stop, _) => break,
1210                (::fbthrift::TType::I32, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1211                (::fbthrift::TType::I32, 2) => field_part = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1212                (::fbthrift::TType::I64, 3) => field_current_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1213                (::fbthrift::TType::I64, 4) => field_last_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1214                (::fbthrift::TType::I64, 5) => field_committed_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1215                (::fbthrift::TType::String, 6) => field_leader_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1216                (::fbthrift::TType::I32, 7) => field_leader_port = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1217                (::fbthrift::TType::I64, 8) => field_last_log_term_sent = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1218                (::fbthrift::TType::I64, 9) => field_last_log_id_sent = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1219                (fty, _) => p.skip(fty)?,
1220            }
1221            p.read_field_end()?;
1222        }
1223        p.read_struct_end()?;
1224        ::std::result::Result::Ok(Self {
1225            space: field_space.unwrap_or_default(),
1226            part: field_part.unwrap_or_default(),
1227            current_term: field_current_term.unwrap_or_default(),
1228            last_log_id: field_last_log_id.unwrap_or_default(),
1229            committed_log_id: field_committed_log_id.unwrap_or_default(),
1230            leader_addr: field_leader_addr.unwrap_or_default(),
1231            leader_port: field_leader_port.unwrap_or_default(),
1232            last_log_term_sent: field_last_log_term_sent.unwrap_or_default(),
1233            last_log_id_sent: field_last_log_id_sent.unwrap_or_default(),
1234            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1235        })
1236    }
1237}
1238
1239
1240#[allow(clippy::derivable_impls)]
1241impl ::std::default::Default for self::HeartbeatResponse {
1242    fn default() -> Self {
1243        Self {
1244            error_code: ::std::default::Default::default(),
1245            current_term: ::std::default::Default::default(),
1246            leader_addr: ::std::default::Default::default(),
1247            leader_port: ::std::default::Default::default(),
1248            committed_log_id: ::std::default::Default::default(),
1249            last_log_id: ::std::default::Default::default(),
1250            last_log_term: ::std::default::Default::default(),
1251            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1252        }
1253    }
1254}
1255
1256impl ::std::fmt::Debug for self::HeartbeatResponse {
1257    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1258        formatter
1259            .debug_struct("HeartbeatResponse")
1260            .field("error_code", &self.error_code)
1261            .field("current_term", &self.current_term)
1262            .field("leader_addr", &self.leader_addr)
1263            .field("leader_port", &self.leader_port)
1264            .field("committed_log_id", &self.committed_log_id)
1265            .field("last_log_id", &self.last_log_id)
1266            .field("last_log_term", &self.last_log_term)
1267            .finish()
1268    }
1269}
1270
1271unsafe impl ::std::marker::Send for self::HeartbeatResponse {}
1272unsafe impl ::std::marker::Sync for self::HeartbeatResponse {}
1273
1274impl ::fbthrift::GetTType for self::HeartbeatResponse {
1275    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1276}
1277
1278impl<P> ::fbthrift::Serialize<P> for self::HeartbeatResponse
1279where
1280    P: ::fbthrift::ProtocolWriter,
1281{
1282    fn write(&self, p: &mut P) {
1283        p.write_struct_begin("HeartbeatResponse");
1284        p.write_field_begin("error_code", ::fbthrift::TType::I32, 1);
1285        ::fbthrift::Serialize::write(&self.error_code, p);
1286        p.write_field_end();
1287        p.write_field_begin("current_term", ::fbthrift::TType::I64, 2);
1288        ::fbthrift::Serialize::write(&self.current_term, p);
1289        p.write_field_end();
1290        p.write_field_begin("leader_addr", ::fbthrift::TType::String, 3);
1291        ::fbthrift::Serialize::write(&self.leader_addr, p);
1292        p.write_field_end();
1293        p.write_field_begin("leader_port", ::fbthrift::TType::I32, 4);
1294        ::fbthrift::Serialize::write(&self.leader_port, p);
1295        p.write_field_end();
1296        p.write_field_begin("committed_log_id", ::fbthrift::TType::I64, 5);
1297        ::fbthrift::Serialize::write(&self.committed_log_id, p);
1298        p.write_field_end();
1299        p.write_field_begin("last_log_id", ::fbthrift::TType::I64, 6);
1300        ::fbthrift::Serialize::write(&self.last_log_id, p);
1301        p.write_field_end();
1302        p.write_field_begin("last_log_term", ::fbthrift::TType::I64, 7);
1303        ::fbthrift::Serialize::write(&self.last_log_term, p);
1304        p.write_field_end();
1305        p.write_field_stop();
1306        p.write_struct_end();
1307    }
1308}
1309
1310impl<P> ::fbthrift::Deserialize<P> for self::HeartbeatResponse
1311where
1312    P: ::fbthrift::ProtocolReader,
1313{
1314    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1315        static FIELDS: &[::fbthrift::Field] = &[
1316            ::fbthrift::Field::new("committed_log_id", ::fbthrift::TType::I64, 5),
1317            ::fbthrift::Field::new("current_term", ::fbthrift::TType::I64, 2),
1318            ::fbthrift::Field::new("error_code", ::fbthrift::TType::I32, 1),
1319            ::fbthrift::Field::new("last_log_id", ::fbthrift::TType::I64, 6),
1320            ::fbthrift::Field::new("last_log_term", ::fbthrift::TType::I64, 7),
1321            ::fbthrift::Field::new("leader_addr", ::fbthrift::TType::String, 3),
1322            ::fbthrift::Field::new("leader_port", ::fbthrift::TType::I32, 4),
1323        ];
1324        let mut field_error_code = ::std::option::Option::None;
1325        let mut field_current_term = ::std::option::Option::None;
1326        let mut field_leader_addr = ::std::option::Option::None;
1327        let mut field_leader_port = ::std::option::Option::None;
1328        let mut field_committed_log_id = ::std::option::Option::None;
1329        let mut field_last_log_id = ::std::option::Option::None;
1330        let mut field_last_log_term = ::std::option::Option::None;
1331        let _ = p.read_struct_begin(|_| ())?;
1332        loop {
1333            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1334            match (fty, fid as ::std::primitive::i32) {
1335                (::fbthrift::TType::Stop, _) => break,
1336                (::fbthrift::TType::I32, 1) => field_error_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1337                (::fbthrift::TType::I64, 2) => field_current_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1338                (::fbthrift::TType::String, 3) => field_leader_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1339                (::fbthrift::TType::I32, 4) => field_leader_port = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1340                (::fbthrift::TType::I64, 5) => field_committed_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1341                (::fbthrift::TType::I64, 6) => field_last_log_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1342                (::fbthrift::TType::I64, 7) => field_last_log_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1343                (fty, _) => p.skip(fty)?,
1344            }
1345            p.read_field_end()?;
1346        }
1347        p.read_struct_end()?;
1348        ::std::result::Result::Ok(Self {
1349            error_code: field_error_code.unwrap_or_default(),
1350            current_term: field_current_term.unwrap_or_default(),
1351            leader_addr: field_leader_addr.unwrap_or_default(),
1352            leader_port: field_leader_port.unwrap_or_default(),
1353            committed_log_id: field_committed_log_id.unwrap_or_default(),
1354            last_log_id: field_last_log_id.unwrap_or_default(),
1355            last_log_term: field_last_log_term.unwrap_or_default(),
1356            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1357        })
1358    }
1359}
1360
1361
1362#[allow(clippy::derivable_impls)]
1363impl ::std::default::Default for self::SendSnapshotResponse {
1364    fn default() -> Self {
1365        Self {
1366            error_code: ::std::default::Default::default(),
1367            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1368        }
1369    }
1370}
1371
1372impl ::std::fmt::Debug for self::SendSnapshotResponse {
1373    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1374        formatter
1375            .debug_struct("SendSnapshotResponse")
1376            .field("error_code", &self.error_code)
1377            .finish()
1378    }
1379}
1380
1381unsafe impl ::std::marker::Send for self::SendSnapshotResponse {}
1382unsafe impl ::std::marker::Sync for self::SendSnapshotResponse {}
1383
1384impl ::fbthrift::GetTType for self::SendSnapshotResponse {
1385    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1386}
1387
1388impl<P> ::fbthrift::Serialize<P> for self::SendSnapshotResponse
1389where
1390    P: ::fbthrift::ProtocolWriter,
1391{
1392    fn write(&self, p: &mut P) {
1393        p.write_struct_begin("SendSnapshotResponse");
1394        p.write_field_begin("error_code", ::fbthrift::TType::I32, 1);
1395        ::fbthrift::Serialize::write(&self.error_code, p);
1396        p.write_field_end();
1397        p.write_field_stop();
1398        p.write_struct_end();
1399    }
1400}
1401
1402impl<P> ::fbthrift::Deserialize<P> for self::SendSnapshotResponse
1403where
1404    P: ::fbthrift::ProtocolReader,
1405{
1406    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1407        static FIELDS: &[::fbthrift::Field] = &[
1408            ::fbthrift::Field::new("error_code", ::fbthrift::TType::I32, 1),
1409        ];
1410        let mut field_error_code = ::std::option::Option::None;
1411        let _ = p.read_struct_begin(|_| ())?;
1412        loop {
1413            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1414            match (fty, fid as ::std::primitive::i32) {
1415                (::fbthrift::TType::Stop, _) => break,
1416                (::fbthrift::TType::I32, 1) => field_error_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1417                (fty, _) => p.skip(fty)?,
1418            }
1419            p.read_field_end()?;
1420        }
1421        p.read_struct_end()?;
1422        ::std::result::Result::Ok(Self {
1423            error_code: field_error_code.unwrap_or_default(),
1424            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1425        })
1426    }
1427}
1428
1429
1430mod dot_dot {
1431    #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1432    pub struct OtherFields(pub(crate) ());
1433
1434    #[allow(dead_code)] // if serde isn't being used
1435    pub(super) fn default_for_serde_deserialize() -> OtherFields {
1436        OtherFields(())
1437    }
1438}