nebula_fbthrift_meta_v3/
types.rs

1// @generated by Thrift for src/interface/meta.thrift
2// This file is probably not the place you want to edit!
3
4//! Thrift type definitions for `meta`.
5
6#![allow(clippy::redundant_closure)]
7
8
9pub type SchemaVer = ::std::primitive::i64;
10
11pub type ClusterID = ::std::primitive::i64;
12
13#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
14pub enum ID {
15    space_id(common::types::GraphSpaceID),
16    tag_id(common::types::TagID),
17    edge_type(common::types::EdgeType),
18    index_id(common::types::IndexID),
19    cluster_id(crate::types::ClusterID),
20    UnknownField(::std::primitive::i32),
21}
22
23#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
24pub struct ColumnTypeDef {
25    pub r#type: common::types::PropertyType,
26    pub type_length: ::std::option::Option<::std::primitive::i16>,
27    pub geo_shape: ::std::option::Option<crate::types::GeoShape>,
28    // This field forces `..Default::default()` when instantiating this
29    // struct, to make code future-proof against new fields added later to
30    // the definition in Thrift. If you don't want this, add the annotation
31    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
32    #[doc(hidden)]
33    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
34}
35
36#[derive(Clone, PartialEq)]
37pub struct ColumnDef {
38    pub name: ::std::vec::Vec<::std::primitive::u8>,
39    pub r#type: crate::types::ColumnTypeDef,
40    pub default_value: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
41    pub nullable: ::std::option::Option<::std::primitive::bool>,
42    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
43    // This field forces `..Default::default()` when instantiating this
44    // struct, to make code future-proof against new fields added later to
45    // the definition in Thrift. If you don't want this, add the annotation
46    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
47    #[doc(hidden)]
48    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
49}
50
51#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
52pub struct SchemaProp {
53    pub ttl_duration: ::std::option::Option<::std::primitive::i64>,
54    pub ttl_col: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
55    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
56    // This field forces `..Default::default()` when instantiating this
57    // struct, to make code future-proof against new fields added later to
58    // the definition in Thrift. If you don't want this, add the annotation
59    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
60    #[doc(hidden)]
61    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
62}
63
64#[derive(Clone, PartialEq)]
65pub struct Schema {
66    pub columns: ::std::vec::Vec<crate::types::ColumnDef>,
67    pub schema_prop: crate::types::SchemaProp,
68    // This field forces `..Default::default()` when instantiating this
69    // struct, to make code future-proof against new fields added later to
70    // the definition in Thrift. If you don't want this, add the annotation
71    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
72    #[doc(hidden)]
73    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
74}
75
76#[derive(Clone, PartialEq)]
77pub struct IdName {
78    pub id: crate::types::ID,
79    pub name: ::std::vec::Vec<::std::primitive::u8>,
80    // This field forces `..Default::default()` when instantiating this
81    // struct, to make code future-proof against new fields added later to
82    // the definition in Thrift. If you don't want this, add the annotation
83    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
84    #[doc(hidden)]
85    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
86}
87
88#[derive(Clone, PartialEq)]
89pub struct SpaceDesc {
90    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
91    pub partition_num: ::std::primitive::i32,
92    pub replica_factor: ::std::primitive::i32,
93    pub charset_name: ::std::vec::Vec<::std::primitive::u8>,
94    pub collate_name: ::std::vec::Vec<::std::primitive::u8>,
95    pub vid_type: crate::types::ColumnTypeDef,
96    pub zone_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
97    pub isolation_level: ::std::option::Option<crate::types::IsolationLevel>,
98    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
99    // This field forces `..Default::default()` when instantiating this
100    // struct, to make code future-proof against new fields added later to
101    // the definition in Thrift. If you don't want this, add the annotation
102    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
103    #[doc(hidden)]
104    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
105}
106
107#[derive(Clone, PartialEq)]
108pub struct SpaceItem {
109    pub space_id: common::types::GraphSpaceID,
110    pub properties: crate::types::SpaceDesc,
111    // This field forces `..Default::default()` when instantiating this
112    // struct, to make code future-proof against new fields added later to
113    // the definition in Thrift. If you don't want this, add the annotation
114    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
115    #[doc(hidden)]
116    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
117}
118
119#[derive(Clone, PartialEq)]
120pub struct TagItem {
121    pub tag_id: common::types::TagID,
122    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
123    pub version: crate::types::SchemaVer,
124    pub schema: crate::types::Schema,
125    // This field forces `..Default::default()` when instantiating this
126    // struct, to make code future-proof against new fields added later to
127    // the definition in Thrift. If you don't want this, add the annotation
128    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
129    #[doc(hidden)]
130    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
131}
132
133#[derive(Clone, PartialEq)]
134pub struct AlterSchemaItem {
135    pub op: crate::types::AlterSchemaOp,
136    pub schema: crate::types::Schema,
137    // This field forces `..Default::default()` when instantiating this
138    // struct, to make code future-proof against new fields added later to
139    // the definition in Thrift. If you don't want this, add the annotation
140    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
141    #[doc(hidden)]
142    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
143}
144
145#[derive(Clone, PartialEq)]
146pub struct EdgeItem {
147    pub edge_type: common::types::EdgeType,
148    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
149    pub version: crate::types::SchemaVer,
150    pub schema: crate::types::Schema,
151    // This field forces `..Default::default()` when instantiating this
152    // struct, to make code future-proof against new fields added later to
153    // the definition in Thrift. If you don't want this, add the annotation
154    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
155    #[doc(hidden)]
156    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
157}
158
159#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
160pub struct IndexParams {
161    pub s2_max_level: ::std::option::Option<::std::primitive::i32>,
162    pub s2_max_cells: ::std::option::Option<::std::primitive::i32>,
163    // This field forces `..Default::default()` when instantiating this
164    // struct, to make code future-proof against new fields added later to
165    // the definition in Thrift. If you don't want this, add the annotation
166    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
167    #[doc(hidden)]
168    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
169}
170
171#[derive(Clone, PartialEq)]
172pub struct IndexItem {
173    pub index_id: common::types::IndexID,
174    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
175    pub schema_id: common::types::SchemaID,
176    pub schema_name: ::std::vec::Vec<::std::primitive::u8>,
177    pub fields: ::std::vec::Vec<crate::types::ColumnDef>,
178    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
179    pub index_params: ::std::option::Option<crate::types::IndexParams>,
180    // This field forces `..Default::default()` when instantiating this
181    // struct, to make code future-proof against new fields added later to
182    // the definition in Thrift. If you don't want this, add the annotation
183    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
184    #[doc(hidden)]
185    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
186}
187
188#[derive(Clone, PartialEq)]
189pub struct HostItem {
190    pub hostAddr: common::types::HostAddr,
191    pub status: crate::types::HostStatus,
192    pub leader_parts: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<common::types::PartitionID>>,
193    pub all_parts: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<common::types::PartitionID>>,
194    pub role: crate::types::HostRole,
195    pub git_info_sha: ::std::vec::Vec<::std::primitive::u8>,
196    pub zone_name: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
197    pub version: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
198    // This field forces `..Default::default()` when instantiating this
199    // struct, to make code future-proof against new fields added later to
200    // the definition in Thrift. If you don't want this, add the annotation
201    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
202    #[doc(hidden)]
203    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
204}
205
206#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
207pub struct UserItem {
208    pub account: ::std::vec::Vec<::std::primitive::u8>,
209    pub is_lock: ::std::primitive::bool,
210    pub max_queries_per_hour: ::std::primitive::i32,
211    pub max_updates_per_hour: ::std::primitive::i32,
212    pub max_connections_per_hour: ::std::primitive::i32,
213    pub max_user_connections: ::std::primitive::i32,
214    // This field forces `..Default::default()` when instantiating this
215    // struct, to make code future-proof against new fields added later to
216    // the definition in Thrift. If you don't want this, add the annotation
217    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
218    #[doc(hidden)]
219    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
220}
221
222#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
223pub struct RoleItem {
224    pub user_id: ::std::vec::Vec<::std::primitive::u8>,
225    pub space_id: common::types::GraphSpaceID,
226    pub role_type: crate::types::RoleType,
227    // This field forces `..Default::default()` when instantiating this
228    // struct, to make code future-proof against new fields added later to
229    // the definition in Thrift. If you don't want this, add the annotation
230    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
231    #[doc(hidden)]
232    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
233}
234
235#[derive(Clone, PartialEq)]
236pub struct ExecResp {
237    pub code: common::types::ErrorCode,
238    pub id: crate::types::ID,
239    pub leader: common::types::HostAddr,
240    // This field forces `..Default::default()` when instantiating this
241    // struct, to make code future-proof against new fields added later to
242    // the definition in Thrift. If you don't want this, add the annotation
243    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
244    #[doc(hidden)]
245    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
246}
247
248#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
249pub struct AlterSpaceReq {
250    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
251    pub op: crate::types::AlterSpaceOp,
252    pub paras: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
253    // This field forces `..Default::default()` when instantiating this
254    // struct, to make code future-proof against new fields added later to
255    // the definition in Thrift. If you don't want this, add the annotation
256    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
257    #[doc(hidden)]
258    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
259}
260
261#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
262pub struct AdminJobReq {
263    pub space_id: common::types::GraphSpaceID,
264    pub op: crate::types::JobOp,
265    pub r#type: crate::types::JobType,
266    pub paras: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
267    // This field forces `..Default::default()` when instantiating this
268    // struct, to make code future-proof against new fields added later to
269    // the definition in Thrift. If you don't want this, add the annotation
270    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
271    #[doc(hidden)]
272    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
273}
274
275#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
276pub struct JobDesc {
277    pub space_id: common::types::GraphSpaceID,
278    pub job_id: ::std::primitive::i32,
279    pub r#type: crate::types::JobType,
280    pub paras: ::std::vec::Vec<::std::string::String>,
281    pub status: crate::types::JobStatus,
282    pub start_time: ::std::primitive::i64,
283    pub stop_time: ::std::primitive::i64,
284    pub code: common::types::ErrorCode,
285    // This field forces `..Default::default()` when instantiating this
286    // struct, to make code future-proof against new fields added later to
287    // the definition in Thrift. If you don't want this, add the annotation
288    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
289    #[doc(hidden)]
290    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
291}
292
293#[derive(Clone, PartialEq)]
294pub struct TaskDesc {
295    pub space_id: common::types::GraphSpaceID,
296    pub job_id: ::std::primitive::i32,
297    pub task_id: ::std::primitive::i32,
298    pub host: common::types::HostAddr,
299    pub status: crate::types::JobStatus,
300    pub start_time: ::std::primitive::i64,
301    pub stop_time: ::std::primitive::i64,
302    pub code: common::types::ErrorCode,
303    // This field forces `..Default::default()` when instantiating this
304    // struct, to make code future-proof against new fields added later to
305    // the definition in Thrift. If you don't want this, add the annotation
306    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
307    #[doc(hidden)]
308    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
309}
310
311#[derive(Clone, PartialEq)]
312pub struct AdminJobResult {
313    pub job_id: ::std::option::Option<::std::primitive::i32>,
314    pub job_desc: ::std::option::Option<::std::vec::Vec<crate::types::JobDesc>>,
315    pub task_desc: ::std::option::Option<::std::vec::Vec<crate::types::TaskDesc>>,
316    pub recovered_job_num: ::std::option::Option<::std::primitive::i32>,
317    // This field forces `..Default::default()` when instantiating this
318    // struct, to make code future-proof against new fields added later to
319    // the definition in Thrift. If you don't want this, add the annotation
320    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
321    #[doc(hidden)]
322    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
323}
324
325#[derive(Clone, PartialEq)]
326pub struct AdminJobResp {
327    pub code: common::types::ErrorCode,
328    pub leader: common::types::HostAddr,
329    pub result: crate::types::AdminJobResult,
330    // This field forces `..Default::default()` when instantiating this
331    // struct, to make code future-proof against new fields added later to
332    // the definition in Thrift. If you don't want this, add the annotation
333    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
334    #[doc(hidden)]
335    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
336}
337
338#[derive(Clone, PartialEq)]
339pub struct Correlativity {
340    pub part_id: common::types::PartitionID,
341    pub proportion: ::std::primitive::f64,
342    // This field forces `..Default::default()` when instantiating this
343    // struct, to make code future-proof against new fields added later to
344    // the definition in Thrift. If you don't want this, add the annotation
345    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
346    #[doc(hidden)]
347    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
348}
349
350#[derive(Clone, PartialEq)]
351pub struct StatsItem {
352    pub tag_vertices: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::primitive::i64>,
353    pub edges: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::primitive::i64>,
354    pub space_vertices: ::std::primitive::i64,
355    pub space_edges: ::std::primitive::i64,
356    pub positive_part_correlativity: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::Correlativity>>,
357    pub negative_part_correlativity: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::Correlativity>>,
358    pub status: crate::types::JobStatus,
359    // This field forces `..Default::default()` when instantiating this
360    // struct, to make code future-proof against new fields added later to
361    // the definition in Thrift. If you don't want this, add the annotation
362    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
363    #[doc(hidden)]
364    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
365}
366
367#[derive(Clone, PartialEq)]
368pub struct CreateSpaceReq {
369    pub properties: crate::types::SpaceDesc,
370    pub if_not_exists: ::std::primitive::bool,
371    // This field forces `..Default::default()` when instantiating this
372    // struct, to make code future-proof against new fields added later to
373    // the definition in Thrift. If you don't want this, add the annotation
374    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
375    #[doc(hidden)]
376    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
377}
378
379#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
380pub struct CreateSpaceAsReq {
381    pub old_space_name: ::std::vec::Vec<::std::primitive::u8>,
382    pub new_space_name: ::std::vec::Vec<::std::primitive::u8>,
383    // This field forces `..Default::default()` when instantiating this
384    // struct, to make code future-proof against new fields added later to
385    // the definition in Thrift. If you don't want this, add the annotation
386    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
387    #[doc(hidden)]
388    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
389}
390
391#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
392pub struct DropSpaceReq {
393    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
394    pub if_exists: ::std::primitive::bool,
395    // This field forces `..Default::default()` when instantiating this
396    // struct, to make code future-proof against new fields added later to
397    // the definition in Thrift. If you don't want this, add the annotation
398    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
399    #[doc(hidden)]
400    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
401}
402
403#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
404pub struct ClearSpaceReq {
405    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
406    pub if_exists: ::std::primitive::bool,
407    // This field forces `..Default::default()` when instantiating this
408    // struct, to make code future-proof against new fields added later to
409    // the definition in Thrift. If you don't want this, add the annotation
410    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
411    #[doc(hidden)]
412    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
413}
414
415#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
416pub struct ListSpacesReq {
417    // This field forces `..Default::default()` when instantiating this
418    // struct, to make code future-proof against new fields added later to
419    // the definition in Thrift. If you don't want this, add the annotation
420    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
421    #[doc(hidden)]
422    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
423}
424
425#[derive(Clone, PartialEq)]
426pub struct ListSpacesResp {
427    pub code: common::types::ErrorCode,
428    pub leader: common::types::HostAddr,
429    pub spaces: ::std::vec::Vec<crate::types::IdName>,
430    // This field forces `..Default::default()` when instantiating this
431    // struct, to make code future-proof against new fields added later to
432    // the definition in Thrift. If you don't want this, add the annotation
433    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
434    #[doc(hidden)]
435    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
436}
437
438#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
439pub struct GetSpaceReq {
440    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
441    // This field forces `..Default::default()` when instantiating this
442    // struct, to make code future-proof against new fields added later to
443    // the definition in Thrift. If you don't want this, add the annotation
444    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
445    #[doc(hidden)]
446    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
447}
448
449#[derive(Clone, PartialEq)]
450pub struct GetSpaceResp {
451    pub code: common::types::ErrorCode,
452    pub leader: common::types::HostAddr,
453    pub item: crate::types::SpaceItem,
454    // This field forces `..Default::default()` when instantiating this
455    // struct, to make code future-proof against new fields added later to
456    // the definition in Thrift. If you don't want this, add the annotation
457    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
458    #[doc(hidden)]
459    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
460}
461
462#[derive(Clone, PartialEq)]
463pub struct CreateTagReq {
464    pub space_id: common::types::GraphSpaceID,
465    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
466    pub schema: crate::types::Schema,
467    pub if_not_exists: ::std::primitive::bool,
468    // This field forces `..Default::default()` when instantiating this
469    // struct, to make code future-proof against new fields added later to
470    // the definition in Thrift. If you don't want this, add the annotation
471    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
472    #[doc(hidden)]
473    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
474}
475
476#[derive(Clone, PartialEq)]
477pub struct AlterTagReq {
478    pub space_id: common::types::GraphSpaceID,
479    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
480    pub tag_items: ::std::vec::Vec<crate::types::AlterSchemaItem>,
481    pub schema_prop: crate::types::SchemaProp,
482    // This field forces `..Default::default()` when instantiating this
483    // struct, to make code future-proof against new fields added later to
484    // the definition in Thrift. If you don't want this, add the annotation
485    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
486    #[doc(hidden)]
487    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
488}
489
490#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
491pub struct DropTagReq {
492    pub space_id: common::types::GraphSpaceID,
493    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
494    pub if_exists: ::std::primitive::bool,
495    // This field forces `..Default::default()` when instantiating this
496    // struct, to make code future-proof against new fields added later to
497    // the definition in Thrift. If you don't want this, add the annotation
498    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
499    #[doc(hidden)]
500    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
501}
502
503#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
504pub struct ListTagsReq {
505    pub space_id: common::types::GraphSpaceID,
506    // This field forces `..Default::default()` when instantiating this
507    // struct, to make code future-proof against new fields added later to
508    // the definition in Thrift. If you don't want this, add the annotation
509    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
510    #[doc(hidden)]
511    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
512}
513
514#[derive(Clone, PartialEq)]
515pub struct ListTagsResp {
516    pub code: common::types::ErrorCode,
517    pub leader: common::types::HostAddr,
518    pub tags: ::std::vec::Vec<crate::types::TagItem>,
519    // This field forces `..Default::default()` when instantiating this
520    // struct, to make code future-proof against new fields added later to
521    // the definition in Thrift. If you don't want this, add the annotation
522    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
523    #[doc(hidden)]
524    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
525}
526
527#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
528pub struct GetTagReq {
529    pub space_id: common::types::GraphSpaceID,
530    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
531    pub version: crate::types::SchemaVer,
532    // This field forces `..Default::default()` when instantiating this
533    // struct, to make code future-proof against new fields added later to
534    // the definition in Thrift. If you don't want this, add the annotation
535    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
536    #[doc(hidden)]
537    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
538}
539
540#[derive(Clone, PartialEq)]
541pub struct GetTagResp {
542    pub code: common::types::ErrorCode,
543    pub leader: common::types::HostAddr,
544    pub schema: crate::types::Schema,
545    // This field forces `..Default::default()` when instantiating this
546    // struct, to make code future-proof against new fields added later to
547    // the definition in Thrift. If you don't want this, add the annotation
548    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
549    #[doc(hidden)]
550    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
551}
552
553#[derive(Clone, PartialEq)]
554pub struct CreateEdgeReq {
555    pub space_id: common::types::GraphSpaceID,
556    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
557    pub schema: crate::types::Schema,
558    pub if_not_exists: ::std::primitive::bool,
559    // This field forces `..Default::default()` when instantiating this
560    // struct, to make code future-proof against new fields added later to
561    // the definition in Thrift. If you don't want this, add the annotation
562    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
563    #[doc(hidden)]
564    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
565}
566
567#[derive(Clone, PartialEq)]
568pub struct AlterEdgeReq {
569    pub space_id: common::types::GraphSpaceID,
570    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
571    pub edge_items: ::std::vec::Vec<crate::types::AlterSchemaItem>,
572    pub schema_prop: crate::types::SchemaProp,
573    // This field forces `..Default::default()` when instantiating this
574    // struct, to make code future-proof against new fields added later to
575    // the definition in Thrift. If you don't want this, add the annotation
576    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
577    #[doc(hidden)]
578    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
579}
580
581#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
582pub struct GetEdgeReq {
583    pub space_id: common::types::GraphSpaceID,
584    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
585    pub version: crate::types::SchemaVer,
586    // This field forces `..Default::default()` when instantiating this
587    // struct, to make code future-proof against new fields added later to
588    // the definition in Thrift. If you don't want this, add the annotation
589    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
590    #[doc(hidden)]
591    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
592}
593
594#[derive(Clone, PartialEq)]
595pub struct GetEdgeResp {
596    pub code: common::types::ErrorCode,
597    pub leader: common::types::HostAddr,
598    pub schema: crate::types::Schema,
599    // This field forces `..Default::default()` when instantiating this
600    // struct, to make code future-proof against new fields added later to
601    // the definition in Thrift. If you don't want this, add the annotation
602    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
603    #[doc(hidden)]
604    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
605}
606
607#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
608pub struct DropEdgeReq {
609    pub space_id: common::types::GraphSpaceID,
610    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
611    pub if_exists: ::std::primitive::bool,
612    // This field forces `..Default::default()` when instantiating this
613    // struct, to make code future-proof against new fields added later to
614    // the definition in Thrift. If you don't want this, add the annotation
615    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
616    #[doc(hidden)]
617    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
618}
619
620#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
621pub struct ListEdgesReq {
622    pub space_id: common::types::GraphSpaceID,
623    // This field forces `..Default::default()` when instantiating this
624    // struct, to make code future-proof against new fields added later to
625    // the definition in Thrift. If you don't want this, add the annotation
626    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
627    #[doc(hidden)]
628    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
629}
630
631#[derive(Clone, PartialEq)]
632pub struct ListEdgesResp {
633    pub code: common::types::ErrorCode,
634    pub leader: common::types::HostAddr,
635    pub edges: ::std::vec::Vec<crate::types::EdgeItem>,
636    // This field forces `..Default::default()` when instantiating this
637    // struct, to make code future-proof against new fields added later to
638    // the definition in Thrift. If you don't want this, add the annotation
639    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
640    #[doc(hidden)]
641    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
642}
643
644#[derive(Clone, PartialEq)]
645pub struct AddHostsReq {
646    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
647    // This field forces `..Default::default()` when instantiating this
648    // struct, to make code future-proof against new fields added later to
649    // the definition in Thrift. If you don't want this, add the annotation
650    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
651    #[doc(hidden)]
652    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
653}
654
655#[derive(Clone, PartialEq)]
656pub struct DropHostsReq {
657    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
658    // This field forces `..Default::default()` when instantiating this
659    // struct, to make code future-proof against new fields added later to
660    // the definition in Thrift. If you don't want this, add the annotation
661    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
662    #[doc(hidden)]
663    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
664}
665
666#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
667pub struct ListHostsReq {
668    pub r#type: crate::types::ListHostType,
669    // This field forces `..Default::default()` when instantiating this
670    // struct, to make code future-proof against new fields added later to
671    // the definition in Thrift. If you don't want this, add the annotation
672    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
673    #[doc(hidden)]
674    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
675}
676
677#[derive(Clone, PartialEq)]
678pub struct ListHostsResp {
679    pub code: common::types::ErrorCode,
680    pub leader: common::types::HostAddr,
681    pub hosts: ::std::vec::Vec<crate::types::HostItem>,
682    // This field forces `..Default::default()` when instantiating this
683    // struct, to make code future-proof against new fields added later to
684    // the definition in Thrift. If you don't want this, add the annotation
685    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
686    #[doc(hidden)]
687    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
688}
689
690#[derive(Clone, PartialEq)]
691pub struct PartItem {
692    pub part_id: common::types::PartitionID,
693    pub leader: ::std::option::Option<common::types::HostAddr>,
694    pub peers: ::std::vec::Vec<common::types::HostAddr>,
695    pub losts: ::std::vec::Vec<common::types::HostAddr>,
696    // This field forces `..Default::default()` when instantiating this
697    // struct, to make code future-proof against new fields added later to
698    // the definition in Thrift. If you don't want this, add the annotation
699    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
700    #[doc(hidden)]
701    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
702}
703
704#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
705pub struct ListPartsReq {
706    pub space_id: common::types::GraphSpaceID,
707    pub part_ids: ::std::vec::Vec<common::types::PartitionID>,
708    // This field forces `..Default::default()` when instantiating this
709    // struct, to make code future-proof against new fields added later to
710    // the definition in Thrift. If you don't want this, add the annotation
711    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
712    #[doc(hidden)]
713    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
714}
715
716#[derive(Clone, PartialEq)]
717pub struct ListPartsResp {
718    pub code: common::types::ErrorCode,
719    pub leader: common::types::HostAddr,
720    pub parts: ::std::vec::Vec<crate::types::PartItem>,
721    // This field forces `..Default::default()` when instantiating this
722    // struct, to make code future-proof against new fields added later to
723    // the definition in Thrift. If you don't want this, add the annotation
724    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
725    #[doc(hidden)]
726    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
727}
728
729#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
730pub struct GetPartsAllocReq {
731    pub space_id: common::types::GraphSpaceID,
732    // This field forces `..Default::default()` when instantiating this
733    // struct, to make code future-proof against new fields added later to
734    // the definition in Thrift. If you don't want this, add the annotation
735    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
736    #[doc(hidden)]
737    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
738}
739
740#[derive(Clone, PartialEq)]
741pub struct GetPartsAllocResp {
742    pub code: common::types::ErrorCode,
743    pub leader: common::types::HostAddr,
744    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::HostAddr>>,
745    pub terms: ::std::option::Option<::std::collections::BTreeMap<common::types::PartitionID, ::std::primitive::i64>>,
746    // This field forces `..Default::default()` when instantiating this
747    // struct, to make code future-proof against new fields added later to
748    // the definition in Thrift. If you don't want this, add the annotation
749    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
750    #[doc(hidden)]
751    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
752}
753
754#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
755pub struct GetWorkerIdReq {
756    pub host: ::std::vec::Vec<::std::primitive::u8>,
757    // This field forces `..Default::default()` when instantiating this
758    // struct, to make code future-proof against new fields added later to
759    // the definition in Thrift. If you don't want this, add the annotation
760    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
761    #[doc(hidden)]
762    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
763}
764
765#[derive(Clone, PartialEq)]
766pub struct GetWorkerIdResp {
767    pub code: common::types::ErrorCode,
768    pub leader: common::types::HostAddr,
769    pub workerid: ::std::primitive::i64,
770    // This field forces `..Default::default()` when instantiating this
771    // struct, to make code future-proof against new fields added later to
772    // the definition in Thrift. If you don't want this, add the annotation
773    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
774    #[doc(hidden)]
775    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
776}
777
778#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
779pub struct GetSegmentIdReq {
780    pub length: ::std::primitive::i64,
781    // This field forces `..Default::default()` when instantiating this
782    // struct, to make code future-proof against new fields added later to
783    // the definition in Thrift. If you don't want this, add the annotation
784    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
785    #[doc(hidden)]
786    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
787}
788
789#[derive(Clone, PartialEq)]
790pub struct GetSegmentIdResp {
791    pub code: common::types::ErrorCode,
792    pub leader: common::types::HostAddr,
793    pub segment_id: ::std::primitive::i64,
794    // This field forces `..Default::default()` when instantiating this
795    // struct, to make code future-proof against new fields added later to
796    // the definition in Thrift. If you don't want this, add the annotation
797    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
798    #[doc(hidden)]
799    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
800}
801
802#[derive(Clone, PartialEq)]
803pub struct HBResp {
804    pub code: common::types::ErrorCode,
805    pub leader: common::types::HostAddr,
806    pub cluster_id: crate::types::ClusterID,
807    pub last_update_time_in_ms: ::std::primitive::i64,
808    pub meta_version: ::std::primitive::i32,
809    // This field forces `..Default::default()` when instantiating this
810    // struct, to make code future-proof against new fields added later to
811    // the definition in Thrift. If you don't want this, add the annotation
812    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
813    #[doc(hidden)]
814    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
815}
816
817#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
818pub struct LeaderInfo {
819    pub part_id: common::types::PartitionID,
820    pub term: ::std::primitive::i64,
821    // This field forces `..Default::default()` when instantiating this
822    // struct, to make code future-proof against new fields added later to
823    // the definition in Thrift. If you don't want this, add the annotation
824    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
825    #[doc(hidden)]
826    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
827}
828
829#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
830pub struct PartitionList {
831    pub part_list: ::std::vec::Vec<common::types::PartitionID>,
832    // This field forces `..Default::default()` when instantiating this
833    // struct, to make code future-proof against new fields added later to
834    // the definition in Thrift. If you don't want this, add the annotation
835    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
836    #[doc(hidden)]
837    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
838}
839
840#[derive(Clone, PartialEq)]
841pub struct HBReq {
842    pub role: crate::types::HostRole,
843    pub host: common::types::HostAddr,
844    pub cluster_id: crate::types::ClusterID,
845    pub leader_partIds: ::std::option::Option<::std::collections::BTreeMap<common::types::GraphSpaceID, ::std::vec::Vec<crate::types::LeaderInfo>>>,
846    pub git_info_sha: ::std::vec::Vec<::std::primitive::u8>,
847    pub disk_parts: ::std::option::Option<::std::collections::BTreeMap<common::types::GraphSpaceID, ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, crate::types::PartitionList>>>,
848    pub dir: ::std::option::Option<common::types::DirInfo>,
849    pub version: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
850    // This field forces `..Default::default()` when instantiating this
851    // struct, to make code future-proof against new fields added later to
852    // the definition in Thrift. If you don't want this, add the annotation
853    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
854    #[doc(hidden)]
855    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
856}
857
858#[derive(Clone, PartialEq)]
859pub struct ServiceInfo {
860    pub dir: common::types::DirInfo,
861    pub addr: common::types::HostAddr,
862    pub role: crate::types::HostRole,
863    // This field forces `..Default::default()` when instantiating this
864    // struct, to make code future-proof against new fields added later to
865    // the definition in Thrift. If you don't want this, add the annotation
866    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
867    #[doc(hidden)]
868    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
869}
870
871#[derive(Clone, PartialEq)]
872pub struct AgentHBReq {
873    pub host: common::types::HostAddr,
874    pub git_info_sha: ::std::vec::Vec<::std::primitive::u8>,
875    pub version: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
876    // This field forces `..Default::default()` when instantiating this
877    // struct, to make code future-proof against new fields added later to
878    // the definition in Thrift. If you don't want this, add the annotation
879    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
880    #[doc(hidden)]
881    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
882}
883
884#[derive(Clone, PartialEq)]
885pub struct AgentHBResp {
886    pub code: common::types::ErrorCode,
887    pub leader: common::types::HostAddr,
888    pub service_list: ::std::vec::Vec<crate::types::ServiceInfo>,
889    // This field forces `..Default::default()` when instantiating this
890    // struct, to make code future-proof against new fields added later to
891    // the definition in Thrift. If you don't want this, add the annotation
892    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
893    #[doc(hidden)]
894    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
895}
896
897#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
898pub struct IndexFieldDef {
899    pub name: ::std::vec::Vec<::std::primitive::u8>,
900    pub type_length: ::std::option::Option<::std::primitive::i16>,
901    // This field forces `..Default::default()` when instantiating this
902    // struct, to make code future-proof against new fields added later to
903    // the definition in Thrift. If you don't want this, add the annotation
904    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
905    #[doc(hidden)]
906    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
907}
908
909#[derive(Clone, PartialEq)]
910pub struct CreateTagIndexReq {
911    pub space_id: common::types::GraphSpaceID,
912    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
913    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
914    pub fields: ::std::vec::Vec<crate::types::IndexFieldDef>,
915    pub if_not_exists: ::std::primitive::bool,
916    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
917    pub index_params: ::std::option::Option<crate::types::IndexParams>,
918    // This field forces `..Default::default()` when instantiating this
919    // struct, to make code future-proof against new fields added later to
920    // the definition in Thrift. If you don't want this, add the annotation
921    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
922    #[doc(hidden)]
923    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
924}
925
926#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
927pub struct DropTagIndexReq {
928    pub space_id: common::types::GraphSpaceID,
929    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
930    pub if_exists: ::std::primitive::bool,
931    // This field forces `..Default::default()` when instantiating this
932    // struct, to make code future-proof against new fields added later to
933    // the definition in Thrift. If you don't want this, add the annotation
934    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
935    #[doc(hidden)]
936    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
937}
938
939#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
940pub struct GetTagIndexReq {
941    pub space_id: common::types::GraphSpaceID,
942    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
943    // This field forces `..Default::default()` when instantiating this
944    // struct, to make code future-proof against new fields added later to
945    // the definition in Thrift. If you don't want this, add the annotation
946    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
947    #[doc(hidden)]
948    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
949}
950
951#[derive(Clone, PartialEq)]
952pub struct GetTagIndexResp {
953    pub code: common::types::ErrorCode,
954    pub leader: common::types::HostAddr,
955    pub item: crate::types::IndexItem,
956    // This field forces `..Default::default()` when instantiating this
957    // struct, to make code future-proof against new fields added later to
958    // the definition in Thrift. If you don't want this, add the annotation
959    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
960    #[doc(hidden)]
961    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
962}
963
964#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
965pub struct ListTagIndexesReq {
966    pub space_id: common::types::GraphSpaceID,
967    // This field forces `..Default::default()` when instantiating this
968    // struct, to make code future-proof against new fields added later to
969    // the definition in Thrift. If you don't want this, add the annotation
970    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
971    #[doc(hidden)]
972    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
973}
974
975#[derive(Clone, PartialEq)]
976pub struct ListTagIndexesResp {
977    pub code: common::types::ErrorCode,
978    pub leader: common::types::HostAddr,
979    pub items: ::std::vec::Vec<crate::types::IndexItem>,
980    // This field forces `..Default::default()` when instantiating this
981    // struct, to make code future-proof against new fields added later to
982    // the definition in Thrift. If you don't want this, add the annotation
983    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
984    #[doc(hidden)]
985    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
986}
987
988#[derive(Clone, PartialEq)]
989pub struct CreateEdgeIndexReq {
990    pub space_id: common::types::GraphSpaceID,
991    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
992    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
993    pub fields: ::std::vec::Vec<crate::types::IndexFieldDef>,
994    pub if_not_exists: ::std::primitive::bool,
995    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
996    pub index_params: ::std::option::Option<crate::types::IndexParams>,
997    // This field forces `..Default::default()` when instantiating this
998    // struct, to make code future-proof against new fields added later to
999    // the definition in Thrift. If you don't want this, add the annotation
1000    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1001    #[doc(hidden)]
1002    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1003}
1004
1005#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1006pub struct DropEdgeIndexReq {
1007    pub space_id: common::types::GraphSpaceID,
1008    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
1009    pub if_exists: ::std::primitive::bool,
1010    // This field forces `..Default::default()` when instantiating this
1011    // struct, to make code future-proof against new fields added later to
1012    // the definition in Thrift. If you don't want this, add the annotation
1013    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1014    #[doc(hidden)]
1015    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1016}
1017
1018#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1019pub struct GetEdgeIndexReq {
1020    pub space_id: common::types::GraphSpaceID,
1021    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
1022    // This field forces `..Default::default()` when instantiating this
1023    // struct, to make code future-proof against new fields added later to
1024    // the definition in Thrift. If you don't want this, add the annotation
1025    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1026    #[doc(hidden)]
1027    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1028}
1029
1030#[derive(Clone, PartialEq)]
1031pub struct GetEdgeIndexResp {
1032    pub code: common::types::ErrorCode,
1033    pub leader: common::types::HostAddr,
1034    pub item: crate::types::IndexItem,
1035    // This field forces `..Default::default()` when instantiating this
1036    // struct, to make code future-proof against new fields added later to
1037    // the definition in Thrift. If you don't want this, add the annotation
1038    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1039    #[doc(hidden)]
1040    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1041}
1042
1043#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1044pub struct ListEdgeIndexesReq {
1045    pub space_id: common::types::GraphSpaceID,
1046    // This field forces `..Default::default()` when instantiating this
1047    // struct, to make code future-proof against new fields added later to
1048    // the definition in Thrift. If you don't want this, add the annotation
1049    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1050    #[doc(hidden)]
1051    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1052}
1053
1054#[derive(Clone, PartialEq)]
1055pub struct ListEdgeIndexesResp {
1056    pub code: common::types::ErrorCode,
1057    pub leader: common::types::HostAddr,
1058    pub items: ::std::vec::Vec<crate::types::IndexItem>,
1059    // This field forces `..Default::default()` when instantiating this
1060    // struct, to make code future-proof against new fields added later to
1061    // the definition in Thrift. If you don't want this, add the annotation
1062    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1063    #[doc(hidden)]
1064    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1065}
1066
1067#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1068pub struct RebuildIndexReq {
1069    pub space_id: common::types::GraphSpaceID,
1070    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
1071    // This field forces `..Default::default()` when instantiating this
1072    // struct, to make code future-proof against new fields added later to
1073    // the definition in Thrift. If you don't want this, add the annotation
1074    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1075    #[doc(hidden)]
1076    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1077}
1078
1079#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1080pub struct CreateUserReq {
1081    pub account: ::std::vec::Vec<::std::primitive::u8>,
1082    pub encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1083    pub if_not_exists: ::std::primitive::bool,
1084    // This field forces `..Default::default()` when instantiating this
1085    // struct, to make code future-proof against new fields added later to
1086    // the definition in Thrift. If you don't want this, add the annotation
1087    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1088    #[doc(hidden)]
1089    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1090}
1091
1092#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1093pub struct DropUserReq {
1094    pub account: ::std::vec::Vec<::std::primitive::u8>,
1095    pub if_exists: ::std::primitive::bool,
1096    // This field forces `..Default::default()` when instantiating this
1097    // struct, to make code future-proof against new fields added later to
1098    // the definition in Thrift. If you don't want this, add the annotation
1099    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1100    #[doc(hidden)]
1101    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1102}
1103
1104#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1105pub struct AlterUserReq {
1106    pub account: ::std::vec::Vec<::std::primitive::u8>,
1107    pub encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1108    // This field forces `..Default::default()` when instantiating this
1109    // struct, to make code future-proof against new fields added later to
1110    // the definition in Thrift. If you don't want this, add the annotation
1111    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1112    #[doc(hidden)]
1113    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1114}
1115
1116#[derive(Clone, PartialEq)]
1117pub struct GrantRoleReq {
1118    pub role_item: crate::types::RoleItem,
1119    // This field forces `..Default::default()` when instantiating this
1120    // struct, to make code future-proof against new fields added later to
1121    // the definition in Thrift. If you don't want this, add the annotation
1122    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1123    #[doc(hidden)]
1124    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1125}
1126
1127#[derive(Clone, PartialEq)]
1128pub struct RevokeRoleReq {
1129    pub role_item: crate::types::RoleItem,
1130    // This field forces `..Default::default()` when instantiating this
1131    // struct, to make code future-proof against new fields added later to
1132    // the definition in Thrift. If you don't want this, add the annotation
1133    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1134    #[doc(hidden)]
1135    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1136}
1137
1138#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1139pub struct ListUsersReq {
1140    // This field forces `..Default::default()` when instantiating this
1141    // struct, to make code future-proof against new fields added later to
1142    // the definition in Thrift. If you don't want this, add the annotation
1143    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1144    #[doc(hidden)]
1145    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1146}
1147
1148#[derive(Clone, PartialEq)]
1149pub struct ListUsersResp {
1150    pub code: common::types::ErrorCode,
1151    pub leader: common::types::HostAddr,
1152    pub users: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<::std::primitive::u8>>,
1153    // This field forces `..Default::default()` when instantiating this
1154    // struct, to make code future-proof against new fields added later to
1155    // the definition in Thrift. If you don't want this, add the annotation
1156    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1157    #[doc(hidden)]
1158    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1159}
1160
1161#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1162pub struct ListRolesReq {
1163    pub space_id: common::types::GraphSpaceID,
1164    // This field forces `..Default::default()` when instantiating this
1165    // struct, to make code future-proof against new fields added later to
1166    // the definition in Thrift. If you don't want this, add the annotation
1167    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1168    #[doc(hidden)]
1169    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1170}
1171
1172#[derive(Clone, PartialEq)]
1173pub struct ListRolesResp {
1174    pub code: common::types::ErrorCode,
1175    pub leader: common::types::HostAddr,
1176    pub roles: ::std::vec::Vec<crate::types::RoleItem>,
1177    // This field forces `..Default::default()` when instantiating this
1178    // struct, to make code future-proof against new fields added later to
1179    // the definition in Thrift. If you don't want this, add the annotation
1180    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1181    #[doc(hidden)]
1182    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1183}
1184
1185#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1186pub struct GetUserRolesReq {
1187    pub account: ::std::vec::Vec<::std::primitive::u8>,
1188    // This field forces `..Default::default()` when instantiating this
1189    // struct, to make code future-proof against new fields added later to
1190    // the definition in Thrift. If you don't want this, add the annotation
1191    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1192    #[doc(hidden)]
1193    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1194}
1195
1196#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1197pub struct ChangePasswordReq {
1198    pub account: ::std::vec::Vec<::std::primitive::u8>,
1199    pub new_encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1200    pub old_encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1201    // This field forces `..Default::default()` when instantiating this
1202    // struct, to make code future-proof against new fields added later to
1203    // the definition in Thrift. If you don't want this, add the annotation
1204    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1205    #[doc(hidden)]
1206    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1207}
1208
1209#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1210pub struct BalanceTask {
1211    pub id: ::std::vec::Vec<::std::primitive::u8>,
1212    pub command: ::std::vec::Vec<::std::primitive::u8>,
1213    pub result: crate::types::TaskResult,
1214    pub start_time: ::std::primitive::i64,
1215    pub stop_time: ::std::primitive::i64,
1216    // This field forces `..Default::default()` when instantiating this
1217    // struct, to make code future-proof against new fields added later to
1218    // the definition in Thrift. If you don't want this, add the annotation
1219    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1220    #[doc(hidden)]
1221    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1222}
1223
1224#[derive(Clone, PartialEq)]
1225pub struct ConfigItem {
1226    pub module: crate::types::ConfigModule,
1227    pub name: ::std::vec::Vec<::std::primitive::u8>,
1228    pub mode: crate::types::ConfigMode,
1229    pub value: common::types::Value,
1230    // This field forces `..Default::default()` when instantiating this
1231    // struct, to make code future-proof against new fields added later to
1232    // the definition in Thrift. If you don't want this, add the annotation
1233    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1234    #[doc(hidden)]
1235    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1236}
1237
1238#[derive(Clone, PartialEq)]
1239pub struct RegConfigReq {
1240    pub items: ::std::vec::Vec<crate::types::ConfigItem>,
1241    // This field forces `..Default::default()` when instantiating this
1242    // struct, to make code future-proof against new fields added later to
1243    // the definition in Thrift. If you don't want this, add the annotation
1244    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1245    #[doc(hidden)]
1246    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1247}
1248
1249#[derive(Clone, PartialEq)]
1250pub struct GetConfigReq {
1251    pub item: crate::types::ConfigItem,
1252    // This field forces `..Default::default()` when instantiating this
1253    // struct, to make code future-proof against new fields added later to
1254    // the definition in Thrift. If you don't want this, add the annotation
1255    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1256    #[doc(hidden)]
1257    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1258}
1259
1260#[derive(Clone, PartialEq)]
1261pub struct GetConfigResp {
1262    pub code: common::types::ErrorCode,
1263    pub leader: common::types::HostAddr,
1264    pub items: ::std::vec::Vec<crate::types::ConfigItem>,
1265    // This field forces `..Default::default()` when instantiating this
1266    // struct, to make code future-proof against new fields added later to
1267    // the definition in Thrift. If you don't want this, add the annotation
1268    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1269    #[doc(hidden)]
1270    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1271}
1272
1273#[derive(Clone, PartialEq)]
1274pub struct SetConfigReq {
1275    pub item: crate::types::ConfigItem,
1276    // This field forces `..Default::default()` when instantiating this
1277    // struct, to make code future-proof against new fields added later to
1278    // the definition in Thrift. If you don't want this, add the annotation
1279    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1280    #[doc(hidden)]
1281    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1282}
1283
1284#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1285pub struct ListConfigsReq {
1286    pub space: ::std::vec::Vec<::std::primitive::u8>,
1287    pub module: crate::types::ConfigModule,
1288    // This field forces `..Default::default()` when instantiating this
1289    // struct, to make code future-proof against new fields added later to
1290    // the definition in Thrift. If you don't want this, add the annotation
1291    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1292    #[doc(hidden)]
1293    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1294}
1295
1296#[derive(Clone, PartialEq)]
1297pub struct ListConfigsResp {
1298    pub code: common::types::ErrorCode,
1299    pub leader: common::types::HostAddr,
1300    pub items: ::std::vec::Vec<crate::types::ConfigItem>,
1301    // This field forces `..Default::default()` when instantiating this
1302    // struct, to make code future-proof against new fields added later to
1303    // the definition in Thrift. If you don't want this, add the annotation
1304    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1305    #[doc(hidden)]
1306    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1307}
1308
1309#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1310pub struct CreateSnapshotReq {
1311    // This field forces `..Default::default()` when instantiating this
1312    // struct, to make code future-proof against new fields added later to
1313    // the definition in Thrift. If you don't want this, add the annotation
1314    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1315    #[doc(hidden)]
1316    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1317}
1318
1319#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1320pub struct DropSnapshotReq {
1321    pub names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1322    // This field forces `..Default::default()` when instantiating this
1323    // struct, to make code future-proof against new fields added later to
1324    // the definition in Thrift. If you don't want this, add the annotation
1325    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1326    #[doc(hidden)]
1327    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1328}
1329
1330#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1331pub struct ListSnapshotsReq {
1332    // This field forces `..Default::default()` when instantiating this
1333    // struct, to make code future-proof against new fields added later to
1334    // the definition in Thrift. If you don't want this, add the annotation
1335    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1336    #[doc(hidden)]
1337    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1338}
1339
1340#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1341pub struct Snapshot {
1342    pub name: ::std::vec::Vec<::std::primitive::u8>,
1343    pub status: crate::types::SnapshotStatus,
1344    pub hosts: ::std::vec::Vec<::std::primitive::u8>,
1345    // This field forces `..Default::default()` when instantiating this
1346    // struct, to make code future-proof against new fields added later to
1347    // the definition in Thrift. If you don't want this, add the annotation
1348    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1349    #[doc(hidden)]
1350    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1351}
1352
1353#[derive(Clone, PartialEq)]
1354pub struct ListSnapshotsResp {
1355    pub code: common::types::ErrorCode,
1356    pub leader: common::types::HostAddr,
1357    pub snapshots: ::std::vec::Vec<crate::types::Snapshot>,
1358    // This field forces `..Default::default()` when instantiating this
1359    // struct, to make code future-proof against new fields added later to
1360    // the definition in Thrift. If you don't want this, add the annotation
1361    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1362    #[doc(hidden)]
1363    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1364}
1365
1366#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1367pub struct ListIndexStatusReq {
1368    pub space_id: common::types::GraphSpaceID,
1369    // This field forces `..Default::default()` when instantiating this
1370    // struct, to make code future-proof against new fields added later to
1371    // the definition in Thrift. If you don't want this, add the annotation
1372    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1373    #[doc(hidden)]
1374    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1375}
1376
1377#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1378pub struct IndexStatus {
1379    pub name: ::std::vec::Vec<::std::primitive::u8>,
1380    pub status: ::std::vec::Vec<::std::primitive::u8>,
1381    // This field forces `..Default::default()` when instantiating this
1382    // struct, to make code future-proof against new fields added later to
1383    // the definition in Thrift. If you don't want this, add the annotation
1384    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1385    #[doc(hidden)]
1386    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1387}
1388
1389#[derive(Clone, PartialEq)]
1390pub struct ListIndexStatusResp {
1391    pub code: common::types::ErrorCode,
1392    pub leader: common::types::HostAddr,
1393    pub statuses: ::std::vec::Vec<crate::types::IndexStatus>,
1394    // This field forces `..Default::default()` when instantiating this
1395    // struct, to make code future-proof against new fields added later to
1396    // the definition in Thrift. If you don't want this, add the annotation
1397    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1398    #[doc(hidden)]
1399    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1400}
1401
1402#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1403pub struct MergeZoneReq {
1404    pub zones: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1405    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1406    // This field forces `..Default::default()` when instantiating this
1407    // struct, to make code future-proof against new fields added later to
1408    // the definition in Thrift. If you don't want this, add the annotation
1409    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1410    #[doc(hidden)]
1411    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1412}
1413
1414#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1415pub struct DropZoneReq {
1416    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1417    // This field forces `..Default::default()` when instantiating this
1418    // struct, to make code future-proof against new fields added later to
1419    // the definition in Thrift. If you don't want this, add the annotation
1420    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1421    #[doc(hidden)]
1422    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1423}
1424
1425#[derive(Clone, PartialEq)]
1426pub struct DivideZoneReq {
1427    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1428    pub zone_items: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<common::types::HostAddr>>,
1429    // This field forces `..Default::default()` when instantiating this
1430    // struct, to make code future-proof against new fields added later to
1431    // the definition in Thrift. If you don't want this, add the annotation
1432    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1433    #[doc(hidden)]
1434    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1435}
1436
1437#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1438pub struct RenameZoneReq {
1439    pub original_zone_name: ::std::vec::Vec<::std::primitive::u8>,
1440    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1441    // This field forces `..Default::default()` when instantiating this
1442    // struct, to make code future-proof against new fields added later to
1443    // the definition in Thrift. If you don't want this, add the annotation
1444    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1445    #[doc(hidden)]
1446    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1447}
1448
1449#[derive(Clone, PartialEq)]
1450pub struct AddHostsIntoZoneReq {
1451    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
1452    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1453    pub is_new: ::std::primitive::bool,
1454    // This field forces `..Default::default()` when instantiating this
1455    // struct, to make code future-proof against new fields added later to
1456    // the definition in Thrift. If you don't want this, add the annotation
1457    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1458    #[doc(hidden)]
1459    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1460}
1461
1462#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1463pub struct GetZoneReq {
1464    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1465    // This field forces `..Default::default()` when instantiating this
1466    // struct, to make code future-proof against new fields added later to
1467    // the definition in Thrift. If you don't want this, add the annotation
1468    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1469    #[doc(hidden)]
1470    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1471}
1472
1473#[derive(Clone, PartialEq)]
1474pub struct GetZoneResp {
1475    pub code: common::types::ErrorCode,
1476    pub leader: common::types::HostAddr,
1477    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
1478    // This field forces `..Default::default()` when instantiating this
1479    // struct, to make code future-proof against new fields added later to
1480    // the definition in Thrift. If you don't want this, add the annotation
1481    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1482    #[doc(hidden)]
1483    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1484}
1485
1486#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1487pub struct ListZonesReq {
1488    // This field forces `..Default::default()` when instantiating this
1489    // struct, to make code future-proof against new fields added later to
1490    // the definition in Thrift. If you don't want this, add the annotation
1491    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1492    #[doc(hidden)]
1493    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1494}
1495
1496#[derive(Clone, PartialEq)]
1497pub struct Zone {
1498    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1499    pub nodes: ::std::vec::Vec<common::types::HostAddr>,
1500    // This field forces `..Default::default()` when instantiating this
1501    // struct, to make code future-proof against new fields added later to
1502    // the definition in Thrift. If you don't want this, add the annotation
1503    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1504    #[doc(hidden)]
1505    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1506}
1507
1508#[derive(Clone, PartialEq)]
1509pub struct ListZonesResp {
1510    pub code: common::types::ErrorCode,
1511    pub leader: common::types::HostAddr,
1512    pub zones: ::std::vec::Vec<crate::types::Zone>,
1513    // This field forces `..Default::default()` when instantiating this
1514    // struct, to make code future-proof against new fields added later to
1515    // the definition in Thrift. If you don't want this, add the annotation
1516    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1517    #[doc(hidden)]
1518    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1519}
1520
1521#[derive(Clone, PartialEq)]
1522pub struct AddListenerReq {
1523    pub space_id: common::types::GraphSpaceID,
1524    pub r#type: crate::types::ListenerType,
1525    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
1526    // This field forces `..Default::default()` when instantiating this
1527    // struct, to make code future-proof against new fields added later to
1528    // the definition in Thrift. If you don't want this, add the annotation
1529    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1530    #[doc(hidden)]
1531    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1532}
1533
1534#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1535pub struct RemoveListenerReq {
1536    pub space_id: common::types::GraphSpaceID,
1537    pub r#type: crate::types::ListenerType,
1538    // This field forces `..Default::default()` when instantiating this
1539    // struct, to make code future-proof against new fields added later to
1540    // the definition in Thrift. If you don't want this, add the annotation
1541    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1542    #[doc(hidden)]
1543    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1544}
1545
1546#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1547pub struct ListListenerReq {
1548    pub space_id: common::types::GraphSpaceID,
1549    // This field forces `..Default::default()` when instantiating this
1550    // struct, to make code future-proof against new fields added later to
1551    // the definition in Thrift. If you don't want this, add the annotation
1552    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1553    #[doc(hidden)]
1554    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1555}
1556
1557#[derive(Clone, PartialEq)]
1558pub struct ListenerInfo {
1559    pub r#type: crate::types::ListenerType,
1560    pub host: common::types::HostAddr,
1561    pub part_id: common::types::PartitionID,
1562    pub status: crate::types::HostStatus,
1563    // This field forces `..Default::default()` when instantiating this
1564    // struct, to make code future-proof against new fields added later to
1565    // the definition in Thrift. If you don't want this, add the annotation
1566    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1567    #[doc(hidden)]
1568    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1569}
1570
1571#[derive(Clone, PartialEq)]
1572pub struct ListListenerResp {
1573    pub code: common::types::ErrorCode,
1574    pub leader: common::types::HostAddr,
1575    pub listeners: ::std::vec::Vec<crate::types::ListenerInfo>,
1576    // This field forces `..Default::default()` when instantiating this
1577    // struct, to make code future-proof against new fields added later to
1578    // the definition in Thrift. If you don't want this, add the annotation
1579    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1580    #[doc(hidden)]
1581    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1582}
1583
1584#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1585pub struct GetStatsReq {
1586    pub space_id: common::types::GraphSpaceID,
1587    // This field forces `..Default::default()` when instantiating this
1588    // struct, to make code future-proof against new fields added later to
1589    // the definition in Thrift. If you don't want this, add the annotation
1590    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1591    #[doc(hidden)]
1592    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1593}
1594
1595#[derive(Clone, PartialEq)]
1596pub struct GetStatsResp {
1597    pub code: common::types::ErrorCode,
1598    pub leader: common::types::HostAddr,
1599    pub stats: crate::types::StatsItem,
1600    // This field forces `..Default::default()` when instantiating this
1601    // struct, to make code future-proof against new fields added later to
1602    // the definition in Thrift. If you don't want this, add the annotation
1603    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1604    #[doc(hidden)]
1605    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1606}
1607
1608#[derive(Clone, PartialEq)]
1609pub struct HostBackupInfo {
1610    pub host: common::types::HostAddr,
1611    pub checkpoints: ::std::vec::Vec<common::types::CheckpointInfo>,
1612    // This field forces `..Default::default()` when instantiating this
1613    // struct, to make code future-proof against new fields added later to
1614    // the definition in Thrift. If you don't want this, add the annotation
1615    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1616    #[doc(hidden)]
1617    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1618}
1619
1620#[derive(Clone, PartialEq)]
1621pub struct SpaceBackupInfo {
1622    pub space: crate::types::SpaceDesc,
1623    pub host_backups: ::std::vec::Vec<crate::types::HostBackupInfo>,
1624    // This field forces `..Default::default()` when instantiating this
1625    // struct, to make code future-proof against new fields added later to
1626    // the definition in Thrift. If you don't want this, add the annotation
1627    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1628    #[doc(hidden)]
1629    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1630}
1631
1632#[derive(Clone, PartialEq)]
1633pub struct BackupMeta {
1634    pub space_backups: ::std::collections::BTreeMap<common::types::GraphSpaceID, crate::types::SpaceBackupInfo>,
1635    pub meta_files: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1636    pub backup_name: ::std::vec::Vec<::std::primitive::u8>,
1637    pub full: ::std::primitive::bool,
1638    pub all_spaces: ::std::primitive::bool,
1639    pub create_time: ::std::primitive::i64,
1640    pub base_backup_name: ::std::vec::Vec<::std::primitive::u8>,
1641    pub storage_hosts: ::std::vec::Vec<common::types::HostAddr>,
1642    pub cluster_id: crate::types::ClusterID,
1643    // This field forces `..Default::default()` when instantiating this
1644    // struct, to make code future-proof against new fields added later to
1645    // the definition in Thrift. If you don't want this, add the annotation
1646    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1647    #[doc(hidden)]
1648    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1649}
1650
1651#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1652pub struct CreateBackupReq {
1653    pub spaces: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
1654    pub base_backup_name: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
1655    pub cluster_id: ::std::option::Option<crate::types::ClusterID>,
1656    // This field forces `..Default::default()` when instantiating this
1657    // struct, to make code future-proof against new fields added later to
1658    // the definition in Thrift. If you don't want this, add the annotation
1659    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1660    #[doc(hidden)]
1661    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1662}
1663
1664#[derive(Clone, PartialEq)]
1665pub struct CreateBackupResp {
1666    pub code: common::types::ErrorCode,
1667    pub leader: common::types::HostAddr,
1668    pub meta: crate::types::BackupMeta,
1669    // This field forces `..Default::default()` when instantiating this
1670    // struct, to make code future-proof against new fields added later to
1671    // the definition in Thrift. If you don't want this, add the annotation
1672    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1673    #[doc(hidden)]
1674    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1675}
1676
1677#[derive(Clone, PartialEq)]
1678pub struct HostPair {
1679    pub from_host: common::types::HostAddr,
1680    pub to_host: common::types::HostAddr,
1681    // This field forces `..Default::default()` when instantiating this
1682    // struct, to make code future-proof against new fields added later to
1683    // the definition in Thrift. If you don't want this, add the annotation
1684    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1685    #[doc(hidden)]
1686    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1687}
1688
1689#[derive(Clone, PartialEq)]
1690pub struct RestoreMetaReq {
1691    pub files: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1692    pub hosts: ::std::vec::Vec<crate::types::HostPair>,
1693    // This field forces `..Default::default()` when instantiating this
1694    // struct, to make code future-proof against new fields added later to
1695    // the definition in Thrift. If you don't want this, add the annotation
1696    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1697    #[doc(hidden)]
1698    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1699}
1700
1701#[derive(Clone, PartialEq)]
1702pub struct PartInfo {
1703    pub part_id: common::types::PartitionID,
1704    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
1705    // This field forces `..Default::default()` when instantiating this
1706    // struct, to make code future-proof against new fields added later to
1707    // the definition in Thrift. If you don't want this, add the annotation
1708    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1709    #[doc(hidden)]
1710    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1711}
1712
1713#[derive(Clone, PartialEq)]
1714pub struct RestoreMetaResp {
1715    pub code: common::types::ErrorCode,
1716    pub leader: common::types::HostAddr,
1717    pub part_hosts: ::std::collections::BTreeMap<common::types::GraphSpaceID, ::std::vec::Vec<crate::types::PartInfo>>,
1718    // This field forces `..Default::default()` when instantiating this
1719    // struct, to make code future-proof against new fields added later to
1720    // the definition in Thrift. If you don't want this, add the annotation
1721    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1722    #[doc(hidden)]
1723    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1724}
1725
1726#[derive(Clone, PartialEq)]
1727pub struct ServiceClient {
1728    pub host: common::types::HostAddr,
1729    pub user: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
1730    pub pwd: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
1731    pub conn_type: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
1732    // This field forces `..Default::default()` when instantiating this
1733    // struct, to make code future-proof against new fields added later to
1734    // the definition in Thrift. If you don't want this, add the annotation
1735    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1736    #[doc(hidden)]
1737    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1738}
1739
1740#[derive(Clone, PartialEq)]
1741pub struct SignInServiceReq {
1742    pub r#type: crate::types::ExternalServiceType,
1743    pub clients: ::std::vec::Vec<crate::types::ServiceClient>,
1744    // This field forces `..Default::default()` when instantiating this
1745    // struct, to make code future-proof against new fields added later to
1746    // the definition in Thrift. If you don't want this, add the annotation
1747    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1748    #[doc(hidden)]
1749    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1750}
1751
1752#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1753pub struct SignOutServiceReq {
1754    pub r#type: crate::types::ExternalServiceType,
1755    // This field forces `..Default::default()` when instantiating this
1756    // struct, to make code future-proof against new fields added later to
1757    // the definition in Thrift. If you don't want this, add the annotation
1758    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1759    #[doc(hidden)]
1760    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1761}
1762
1763#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1764pub struct ListServiceClientsReq {
1765    pub r#type: crate::types::ExternalServiceType,
1766    // This field forces `..Default::default()` when instantiating this
1767    // struct, to make code future-proof against new fields added later to
1768    // the definition in Thrift. If you don't want this, add the annotation
1769    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1770    #[doc(hidden)]
1771    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1772}
1773
1774#[derive(Clone, PartialEq)]
1775pub struct ListServiceClientsResp {
1776    pub code: common::types::ErrorCode,
1777    pub leader: common::types::HostAddr,
1778    pub clients: ::std::collections::BTreeMap<crate::types::ExternalServiceType, ::std::vec::Vec<crate::types::ServiceClient>>,
1779    // This field forces `..Default::default()` when instantiating this
1780    // struct, to make code future-proof against new fields added later to
1781    // the definition in Thrift. If you don't want this, add the annotation
1782    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1783    #[doc(hidden)]
1784    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1785}
1786
1787#[derive(Clone, PartialEq)]
1788pub struct FTIndex {
1789    pub space_id: common::types::GraphSpaceID,
1790    pub depend_schema: common::types::SchemaID,
1791    pub fields: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1792    // This field forces `..Default::default()` when instantiating this
1793    // struct, to make code future-proof against new fields added later to
1794    // the definition in Thrift. If you don't want this, add the annotation
1795    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1796    #[doc(hidden)]
1797    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1798}
1799
1800#[derive(Clone, PartialEq)]
1801pub struct CreateFTIndexReq {
1802    pub fulltext_index_name: ::std::vec::Vec<::std::primitive::u8>,
1803    pub index: crate::types::FTIndex,
1804    // This field forces `..Default::default()` when instantiating this
1805    // struct, to make code future-proof against new fields added later to
1806    // the definition in Thrift. If you don't want this, add the annotation
1807    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1808    #[doc(hidden)]
1809    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1810}
1811
1812#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1813pub struct DropFTIndexReq {
1814    pub space_id: common::types::GraphSpaceID,
1815    pub fulltext_index_name: ::std::vec::Vec<::std::primitive::u8>,
1816    // This field forces `..Default::default()` when instantiating this
1817    // struct, to make code future-proof against new fields added later to
1818    // the definition in Thrift. If you don't want this, add the annotation
1819    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1820    #[doc(hidden)]
1821    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1822}
1823
1824#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1825pub struct ListFTIndexesReq {
1826    // This field forces `..Default::default()` when instantiating this
1827    // struct, to make code future-proof against new fields added later to
1828    // the definition in Thrift. If you don't want this, add the annotation
1829    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1830    #[doc(hidden)]
1831    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1832}
1833
1834#[derive(Clone, PartialEq)]
1835pub struct ListFTIndexesResp {
1836    pub code: common::types::ErrorCode,
1837    pub leader: common::types::HostAddr,
1838    pub indexes: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, crate::types::FTIndex>,
1839    // This field forces `..Default::default()` when instantiating this
1840    // struct, to make code future-proof against new fields added later to
1841    // the definition in Thrift. If you don't want this, add the annotation
1842    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1843    #[doc(hidden)]
1844    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1845}
1846
1847#[derive(Clone, PartialEq)]
1848pub struct QueryDesc {
1849    pub start_time: common::types::Timestamp,
1850    pub status: crate::types::QueryStatus,
1851    pub duration: ::std::primitive::i64,
1852    pub query: ::std::vec::Vec<::std::primitive::u8>,
1853    pub graph_addr: common::types::HostAddr,
1854    // This field forces `..Default::default()` when instantiating this
1855    // struct, to make code future-proof against new fields added later to
1856    // the definition in Thrift. If you don't want this, add the annotation
1857    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1858    #[doc(hidden)]
1859    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1860}
1861
1862#[derive(Clone, PartialEq)]
1863pub struct Session {
1864    pub session_id: common::types::SessionID,
1865    pub create_time: common::types::Timestamp,
1866    pub update_time: common::types::Timestamp,
1867    pub user_name: ::std::vec::Vec<::std::primitive::u8>,
1868    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
1869    pub graph_addr: common::types::HostAddr,
1870    pub timezone: ::std::primitive::i32,
1871    pub client_ip: ::std::vec::Vec<::std::primitive::u8>,
1872    pub configs: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, common::types::Value>,
1873    pub queries: ::std::collections::BTreeMap<common::types::ExecutionPlanID, crate::types::QueryDesc>,
1874    // This field forces `..Default::default()` when instantiating this
1875    // struct, to make code future-proof against new fields added later to
1876    // the definition in Thrift. If you don't want this, add the annotation
1877    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1878    #[doc(hidden)]
1879    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1880}
1881
1882#[derive(Clone, PartialEq)]
1883pub struct CreateSessionReq {
1884    pub user: ::std::vec::Vec<::std::primitive::u8>,
1885    pub graph_addr: common::types::HostAddr,
1886    pub client_ip: ::std::vec::Vec<::std::primitive::u8>,
1887    // This field forces `..Default::default()` when instantiating this
1888    // struct, to make code future-proof against new fields added later to
1889    // the definition in Thrift. If you don't want this, add the annotation
1890    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1891    #[doc(hidden)]
1892    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1893}
1894
1895#[derive(Clone, PartialEq)]
1896pub struct CreateSessionResp {
1897    pub code: common::types::ErrorCode,
1898    pub leader: common::types::HostAddr,
1899    pub session: crate::types::Session,
1900    // This field forces `..Default::default()` when instantiating this
1901    // struct, to make code future-proof against new fields added later to
1902    // the definition in Thrift. If you don't want this, add the annotation
1903    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1904    #[doc(hidden)]
1905    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1906}
1907
1908#[derive(Clone, PartialEq)]
1909pub struct UpdateSessionsReq {
1910    pub sessions: ::std::vec::Vec<crate::types::Session>,
1911    // This field forces `..Default::default()` when instantiating this
1912    // struct, to make code future-proof against new fields added later to
1913    // the definition in Thrift. If you don't want this, add the annotation
1914    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1915    #[doc(hidden)]
1916    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1917}
1918
1919#[derive(Clone, PartialEq)]
1920pub struct UpdateSessionsResp {
1921    pub code: common::types::ErrorCode,
1922    pub leader: common::types::HostAddr,
1923    pub killed_queries: ::std::collections::BTreeMap<common::types::SessionID, ::std::collections::BTreeMap<common::types::ExecutionPlanID, crate::types::QueryDesc>>,
1924    // This field forces `..Default::default()` when instantiating this
1925    // struct, to make code future-proof against new fields added later to
1926    // the definition in Thrift. If you don't want this, add the annotation
1927    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1928    #[doc(hidden)]
1929    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1930}
1931
1932#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1933pub struct ListSessionsReq {
1934    // This field forces `..Default::default()` when instantiating this
1935    // struct, to make code future-proof against new fields added later to
1936    // the definition in Thrift. If you don't want this, add the annotation
1937    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1938    #[doc(hidden)]
1939    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1940}
1941
1942#[derive(Clone, PartialEq)]
1943pub struct ListSessionsResp {
1944    pub code: common::types::ErrorCode,
1945    pub leader: common::types::HostAddr,
1946    pub sessions: ::std::vec::Vec<crate::types::Session>,
1947    // This field forces `..Default::default()` when instantiating this
1948    // struct, to make code future-proof against new fields added later to
1949    // the definition in Thrift. If you don't want this, add the annotation
1950    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1951    #[doc(hidden)]
1952    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1953}
1954
1955#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1956pub struct GetSessionReq {
1957    pub session_id: common::types::SessionID,
1958    // This field forces `..Default::default()` when instantiating this
1959    // struct, to make code future-proof against new fields added later to
1960    // the definition in Thrift. If you don't want this, add the annotation
1961    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1962    #[doc(hidden)]
1963    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1964}
1965
1966#[derive(Clone, PartialEq)]
1967pub struct GetSessionResp {
1968    pub code: common::types::ErrorCode,
1969    pub leader: common::types::HostAddr,
1970    pub session: crate::types::Session,
1971    // This field forces `..Default::default()` when instantiating this
1972    // struct, to make code future-proof against new fields added later to
1973    // the definition in Thrift. If you don't want this, add the annotation
1974    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1975    #[doc(hidden)]
1976    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1977}
1978
1979#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1980pub struct RemoveSessionReq {
1981    pub session_id: common::types::SessionID,
1982    // This field forces `..Default::default()` when instantiating this
1983    // struct, to make code future-proof against new fields added later to
1984    // the definition in Thrift. If you don't want this, add the annotation
1985    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1986    #[doc(hidden)]
1987    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1988}
1989
1990#[derive(Clone, PartialEq)]
1991pub struct KillQueryReq {
1992    pub kill_queries: ::std::collections::BTreeMap<common::types::SessionID, ::std::collections::BTreeSet<common::types::ExecutionPlanID>>,
1993    // This field forces `..Default::default()` when instantiating this
1994    // struct, to make code future-proof against new fields added later to
1995    // the definition in Thrift. If you don't want this, add the annotation
1996    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1997    #[doc(hidden)]
1998    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1999}
2000
2001#[derive(Clone, PartialEq)]
2002pub struct ReportTaskReq {
2003    pub code: common::types::ErrorCode,
2004    pub space_id: common::types::GraphSpaceID,
2005    pub job_id: ::std::primitive::i32,
2006    pub task_id: ::std::primitive::i32,
2007    pub stats: ::std::option::Option<crate::types::StatsItem>,
2008    // This field forces `..Default::default()` when instantiating this
2009    // struct, to make code future-proof against new fields added later to
2010    // the definition in Thrift. If you don't want this, add the annotation
2011    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2012    #[doc(hidden)]
2013    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2014}
2015
2016#[derive(Clone, PartialEq)]
2017pub struct ListClusterInfoResp {
2018    pub code: common::types::ErrorCode,
2019    pub leader: common::types::HostAddr,
2020    pub host_services: ::std::collections::BTreeMap<::std::string::String, ::std::vec::Vec<crate::types::ServiceInfo>>,
2021    // This field forces `..Default::default()` when instantiating this
2022    // struct, to make code future-proof against new fields added later to
2023    // the definition in Thrift. If you don't want this, add the annotation
2024    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2025    #[doc(hidden)]
2026    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2027}
2028
2029#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2030pub struct ListClusterInfoReq {
2031    // This field forces `..Default::default()` when instantiating this
2032    // struct, to make code future-proof against new fields added later to
2033    // the definition in Thrift. If you don't want this, add the annotation
2034    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2035    #[doc(hidden)]
2036    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2037}
2038
2039#[derive(Clone, PartialEq)]
2040pub struct GetMetaDirInfoResp {
2041    pub code: common::types::ErrorCode,
2042    pub dir: common::types::DirInfo,
2043    // This field forces `..Default::default()` when instantiating this
2044    // struct, to make code future-proof against new fields added later to
2045    // the definition in Thrift. If you don't want this, add the annotation
2046    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2047    #[doc(hidden)]
2048    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2049}
2050
2051#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2052pub struct GetMetaDirInfoReq {
2053    // This field forces `..Default::default()` when instantiating this
2054    // struct, to make code future-proof against new fields added later to
2055    // the definition in Thrift. If you don't want this, add the annotation
2056    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2057    #[doc(hidden)]
2058    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2059}
2060
2061#[derive(Clone, PartialEq)]
2062pub struct VerifyClientVersionResp {
2063    pub code: common::types::ErrorCode,
2064    pub leader: common::types::HostAddr,
2065    pub error_msg: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
2066    // This field forces `..Default::default()` when instantiating this
2067    // struct, to make code future-proof against new fields added later to
2068    // the definition in Thrift. If you don't want this, add the annotation
2069    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2070    #[doc(hidden)]
2071    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2072}
2073
2074#[derive(Clone, PartialEq)]
2075pub struct VerifyClientVersionReq {
2076    pub client_version: ::std::vec::Vec<::std::primitive::u8>,
2077    pub host: common::types::HostAddr,
2078    pub build_version: ::std::vec::Vec<::std::primitive::u8>,
2079    // This field forces `..Default::default()` when instantiating this
2080    // struct, to make code future-proof against new fields added later to
2081    // the definition in Thrift. If you don't want this, add the annotation
2082    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2083    #[doc(hidden)]
2084    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2085}
2086
2087#[derive(Clone, PartialEq)]
2088pub struct SaveGraphVersionResp {
2089    pub code: common::types::ErrorCode,
2090    pub leader: common::types::HostAddr,
2091    pub error_msg: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
2092    // This field forces `..Default::default()` when instantiating this
2093    // struct, to make code future-proof against new fields added later to
2094    // the definition in Thrift. If you don't want this, add the annotation
2095    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2096    #[doc(hidden)]
2097    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2098}
2099
2100#[derive(Clone, PartialEq)]
2101pub struct SaveGraphVersionReq {
2102    pub client_version: ::std::vec::Vec<::std::primitive::u8>,
2103    pub host: common::types::HostAddr,
2104    pub build_version: ::std::vec::Vec<::std::primitive::u8>,
2105    // This field forces `..Default::default()` when instantiating this
2106    // struct, to make code future-proof against new fields added later to
2107    // the definition in Thrift. If you don't want this, add the annotation
2108    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2109    #[doc(hidden)]
2110    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2111}
2112
2113#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2114pub struct AlterSchemaOp(pub ::std::primitive::i32);
2115
2116impl AlterSchemaOp {
2117    pub const ADD: Self = AlterSchemaOp(1i32);
2118    pub const CHANGE: Self = AlterSchemaOp(2i32);
2119    pub const DROP: Self = AlterSchemaOp(3i32);
2120    pub const UNKNOWN: Self = AlterSchemaOp(4i32);
2121}
2122
2123impl ::fbthrift::ThriftEnum for AlterSchemaOp {
2124    fn enumerate() -> &'static [(Self, &'static str)] {
2125        &[
2126            (Self::ADD, "ADD"),
2127            (Self::CHANGE, "CHANGE"),
2128            (Self::DROP, "DROP"),
2129            (Self::UNKNOWN, "UNKNOWN"),
2130        ]
2131    }
2132
2133    fn variants() -> &'static [&'static str] {
2134        &[
2135            "ADD",
2136            "CHANGE",
2137            "DROP",
2138            "UNKNOWN",
2139        ]
2140    }
2141
2142    fn variant_values() -> &'static [Self] {
2143        &[
2144            Self::ADD,
2145            Self::CHANGE,
2146            Self::DROP,
2147            Self::UNKNOWN,
2148        ]
2149    }
2150}
2151
2152impl ::std::default::Default for AlterSchemaOp {
2153    fn default() -> Self {
2154        Self(::fbthrift::__UNKNOWN_ID)
2155    }
2156}
2157
2158impl<'a> ::std::convert::From<&'a AlterSchemaOp> for ::std::primitive::i32 {
2159    #[inline]
2160    fn from(x: &'a AlterSchemaOp) -> Self {
2161        x.0
2162    }
2163}
2164
2165impl ::std::convert::From<AlterSchemaOp> for ::std::primitive::i32 {
2166    #[inline]
2167    fn from(x: AlterSchemaOp) -> Self {
2168        x.0
2169    }
2170}
2171
2172impl ::std::convert::From<::std::primitive::i32> for AlterSchemaOp {
2173    #[inline]
2174    fn from(x: ::std::primitive::i32) -> Self {
2175        Self(x)
2176    }
2177}
2178
2179impl ::std::fmt::Display for AlterSchemaOp {
2180    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2181        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2182            ("ADD", 1),
2183            ("CHANGE", 2),
2184            ("DROP", 3),
2185            ("UNKNOWN", 4),
2186        ];
2187        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2188    }
2189}
2190
2191impl ::std::fmt::Debug for AlterSchemaOp {
2192    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2193        write!(fmt, "AlterSchemaOp::{}", self)
2194    }
2195}
2196
2197impl ::std::str::FromStr for AlterSchemaOp {
2198    type Err = ::anyhow::Error;
2199
2200    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2201        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2202            ("ADD", 1),
2203            ("CHANGE", 2),
2204            ("DROP", 3),
2205            ("UNKNOWN", 4),
2206        ];
2207        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "AlterSchemaOp").map(Self)
2208    }
2209}
2210
2211impl ::fbthrift::GetTType for AlterSchemaOp {
2212    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2213}
2214
2215impl<P> ::fbthrift::Serialize<P> for AlterSchemaOp
2216where
2217    P: ::fbthrift::ProtocolWriter,
2218{
2219    #[inline]
2220    fn write(&self, p: &mut P) {
2221        p.write_i32(self.into())
2222    }
2223}
2224
2225impl<P> ::fbthrift::Deserialize<P> for AlterSchemaOp
2226where
2227    P: ::fbthrift::ProtocolReader,
2228{
2229    #[inline]
2230    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2231        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2232    }
2233}
2234
2235#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2236pub struct RoleType(pub ::std::primitive::i32);
2237
2238impl RoleType {
2239    pub const GOD: Self = RoleType(1i32);
2240    pub const ADMIN: Self = RoleType(2i32);
2241    pub const DBA: Self = RoleType(3i32);
2242    pub const USER: Self = RoleType(4i32);
2243    pub const GUEST: Self = RoleType(5i32);
2244}
2245
2246impl ::fbthrift::ThriftEnum for RoleType {
2247    fn enumerate() -> &'static [(Self, &'static str)] {
2248        &[
2249            (Self::GOD, "GOD"),
2250            (Self::ADMIN, "ADMIN"),
2251            (Self::DBA, "DBA"),
2252            (Self::USER, "USER"),
2253            (Self::GUEST, "GUEST"),
2254        ]
2255    }
2256
2257    fn variants() -> &'static [&'static str] {
2258        &[
2259            "GOD",
2260            "ADMIN",
2261            "DBA",
2262            "USER",
2263            "GUEST",
2264        ]
2265    }
2266
2267    fn variant_values() -> &'static [Self] {
2268        &[
2269            Self::GOD,
2270            Self::ADMIN,
2271            Self::DBA,
2272            Self::USER,
2273            Self::GUEST,
2274        ]
2275    }
2276}
2277
2278impl ::std::default::Default for RoleType {
2279    fn default() -> Self {
2280        Self(::fbthrift::__UNKNOWN_ID)
2281    }
2282}
2283
2284impl<'a> ::std::convert::From<&'a RoleType> for ::std::primitive::i32 {
2285    #[inline]
2286    fn from(x: &'a RoleType) -> Self {
2287        x.0
2288    }
2289}
2290
2291impl ::std::convert::From<RoleType> for ::std::primitive::i32 {
2292    #[inline]
2293    fn from(x: RoleType) -> Self {
2294        x.0
2295    }
2296}
2297
2298impl ::std::convert::From<::std::primitive::i32> for RoleType {
2299    #[inline]
2300    fn from(x: ::std::primitive::i32) -> Self {
2301        Self(x)
2302    }
2303}
2304
2305impl ::std::fmt::Display for RoleType {
2306    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2307        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2308            ("GOD", 1),
2309            ("ADMIN", 2),
2310            ("DBA", 3),
2311            ("USER", 4),
2312            ("GUEST", 5),
2313        ];
2314        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2315    }
2316}
2317
2318impl ::std::fmt::Debug for RoleType {
2319    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2320        write!(fmt, "RoleType::{}", self)
2321    }
2322}
2323
2324impl ::std::str::FromStr for RoleType {
2325    type Err = ::anyhow::Error;
2326
2327    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2328        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2329            ("ADMIN", 2),
2330            ("DBA", 3),
2331            ("GOD", 1),
2332            ("GUEST", 5),
2333            ("USER", 4),
2334        ];
2335        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "RoleType").map(Self)
2336    }
2337}
2338
2339impl ::fbthrift::GetTType for RoleType {
2340    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2341}
2342
2343impl<P> ::fbthrift::Serialize<P> for RoleType
2344where
2345    P: ::fbthrift::ProtocolWriter,
2346{
2347    #[inline]
2348    fn write(&self, p: &mut P) {
2349        p.write_i32(self.into())
2350    }
2351}
2352
2353impl<P> ::fbthrift::Deserialize<P> for RoleType
2354where
2355    P: ::fbthrift::ProtocolReader,
2356{
2357    #[inline]
2358    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2359        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2360    }
2361}
2362
2363#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2364pub struct GeoShape(pub ::std::primitive::i32);
2365
2366impl GeoShape {
2367    pub const ANY: Self = GeoShape(0i32);
2368    pub const POINT: Self = GeoShape(1i32);
2369    pub const LINESTRING: Self = GeoShape(2i32);
2370    pub const POLYGON: Self = GeoShape(3i32);
2371}
2372
2373impl ::fbthrift::ThriftEnum for GeoShape {
2374    fn enumerate() -> &'static [(Self, &'static str)] {
2375        &[
2376            (Self::ANY, "ANY"),
2377            (Self::POINT, "POINT"),
2378            (Self::LINESTRING, "LINESTRING"),
2379            (Self::POLYGON, "POLYGON"),
2380        ]
2381    }
2382
2383    fn variants() -> &'static [&'static str] {
2384        &[
2385            "ANY",
2386            "POINT",
2387            "LINESTRING",
2388            "POLYGON",
2389        ]
2390    }
2391
2392    fn variant_values() -> &'static [Self] {
2393        &[
2394            Self::ANY,
2395            Self::POINT,
2396            Self::LINESTRING,
2397            Self::POLYGON,
2398        ]
2399    }
2400}
2401
2402impl ::std::default::Default for GeoShape {
2403    fn default() -> Self {
2404        Self(::fbthrift::__UNKNOWN_ID)
2405    }
2406}
2407
2408impl<'a> ::std::convert::From<&'a GeoShape> for ::std::primitive::i32 {
2409    #[inline]
2410    fn from(x: &'a GeoShape) -> Self {
2411        x.0
2412    }
2413}
2414
2415impl ::std::convert::From<GeoShape> for ::std::primitive::i32 {
2416    #[inline]
2417    fn from(x: GeoShape) -> Self {
2418        x.0
2419    }
2420}
2421
2422impl ::std::convert::From<::std::primitive::i32> for GeoShape {
2423    #[inline]
2424    fn from(x: ::std::primitive::i32) -> Self {
2425        Self(x)
2426    }
2427}
2428
2429impl ::std::fmt::Display for GeoShape {
2430    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2431        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2432            ("ANY", 0),
2433            ("POINT", 1),
2434            ("LINESTRING", 2),
2435            ("POLYGON", 3),
2436        ];
2437        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2438    }
2439}
2440
2441impl ::std::fmt::Debug for GeoShape {
2442    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2443        write!(fmt, "GeoShape::{}", self)
2444    }
2445}
2446
2447impl ::std::str::FromStr for GeoShape {
2448    type Err = ::anyhow::Error;
2449
2450    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2451        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2452            ("ANY", 0),
2453            ("LINESTRING", 2),
2454            ("POINT", 1),
2455            ("POLYGON", 3),
2456        ];
2457        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "GeoShape").map(Self)
2458    }
2459}
2460
2461impl ::fbthrift::GetTType for GeoShape {
2462    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2463}
2464
2465impl<P> ::fbthrift::Serialize<P> for GeoShape
2466where
2467    P: ::fbthrift::ProtocolWriter,
2468{
2469    #[inline]
2470    fn write(&self, p: &mut P) {
2471        p.write_i32(self.into())
2472    }
2473}
2474
2475impl<P> ::fbthrift::Deserialize<P> for GeoShape
2476where
2477    P: ::fbthrift::ProtocolReader,
2478{
2479    #[inline]
2480    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2481        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2482    }
2483}
2484
2485#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2486pub struct IsolationLevel(pub ::std::primitive::i32);
2487
2488impl IsolationLevel {
2489    pub const DEFAULT: Self = IsolationLevel(0i32);
2490    pub const TOSS: Self = IsolationLevel(1i32);
2491}
2492
2493impl ::fbthrift::ThriftEnum for IsolationLevel {
2494    fn enumerate() -> &'static [(Self, &'static str)] {
2495        &[
2496            (Self::DEFAULT, "DEFAULT"),
2497            (Self::TOSS, "TOSS"),
2498        ]
2499    }
2500
2501    fn variants() -> &'static [&'static str] {
2502        &[
2503            "DEFAULT",
2504            "TOSS",
2505        ]
2506    }
2507
2508    fn variant_values() -> &'static [Self] {
2509        &[
2510            Self::DEFAULT,
2511            Self::TOSS,
2512        ]
2513    }
2514}
2515
2516impl ::std::default::Default for IsolationLevel {
2517    fn default() -> Self {
2518        Self(::fbthrift::__UNKNOWN_ID)
2519    }
2520}
2521
2522impl<'a> ::std::convert::From<&'a IsolationLevel> for ::std::primitive::i32 {
2523    #[inline]
2524    fn from(x: &'a IsolationLevel) -> Self {
2525        x.0
2526    }
2527}
2528
2529impl ::std::convert::From<IsolationLevel> for ::std::primitive::i32 {
2530    #[inline]
2531    fn from(x: IsolationLevel) -> Self {
2532        x.0
2533    }
2534}
2535
2536impl ::std::convert::From<::std::primitive::i32> for IsolationLevel {
2537    #[inline]
2538    fn from(x: ::std::primitive::i32) -> Self {
2539        Self(x)
2540    }
2541}
2542
2543impl ::std::fmt::Display for IsolationLevel {
2544    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2545        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2546            ("DEFAULT", 0),
2547            ("TOSS", 1),
2548        ];
2549        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2550    }
2551}
2552
2553impl ::std::fmt::Debug for IsolationLevel {
2554    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2555        write!(fmt, "IsolationLevel::{}", self)
2556    }
2557}
2558
2559impl ::std::str::FromStr for IsolationLevel {
2560    type Err = ::anyhow::Error;
2561
2562    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2563        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2564            ("DEFAULT", 0),
2565            ("TOSS", 1),
2566        ];
2567        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "IsolationLevel").map(Self)
2568    }
2569}
2570
2571impl ::fbthrift::GetTType for IsolationLevel {
2572    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2573}
2574
2575impl<P> ::fbthrift::Serialize<P> for IsolationLevel
2576where
2577    P: ::fbthrift::ProtocolWriter,
2578{
2579    #[inline]
2580    fn write(&self, p: &mut P) {
2581        p.write_i32(self.into())
2582    }
2583}
2584
2585impl<P> ::fbthrift::Deserialize<P> for IsolationLevel
2586where
2587    P: ::fbthrift::ProtocolReader,
2588{
2589    #[inline]
2590    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2591        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2592    }
2593}
2594
2595#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2596pub struct HostStatus(pub ::std::primitive::i32);
2597
2598impl HostStatus {
2599    pub const ONLINE: Self = HostStatus(0i32);
2600    pub const OFFLINE: Self = HostStatus(1i32);
2601    pub const UNKNOWN: Self = HostStatus(2i32);
2602}
2603
2604impl ::fbthrift::ThriftEnum for HostStatus {
2605    fn enumerate() -> &'static [(Self, &'static str)] {
2606        &[
2607            (Self::ONLINE, "ONLINE"),
2608            (Self::OFFLINE, "OFFLINE"),
2609            (Self::UNKNOWN, "UNKNOWN"),
2610        ]
2611    }
2612
2613    fn variants() -> &'static [&'static str] {
2614        &[
2615            "ONLINE",
2616            "OFFLINE",
2617            "UNKNOWN",
2618        ]
2619    }
2620
2621    fn variant_values() -> &'static [Self] {
2622        &[
2623            Self::ONLINE,
2624            Self::OFFLINE,
2625            Self::UNKNOWN,
2626        ]
2627    }
2628}
2629
2630impl ::std::default::Default for HostStatus {
2631    fn default() -> Self {
2632        Self(::fbthrift::__UNKNOWN_ID)
2633    }
2634}
2635
2636impl<'a> ::std::convert::From<&'a HostStatus> for ::std::primitive::i32 {
2637    #[inline]
2638    fn from(x: &'a HostStatus) -> Self {
2639        x.0
2640    }
2641}
2642
2643impl ::std::convert::From<HostStatus> for ::std::primitive::i32 {
2644    #[inline]
2645    fn from(x: HostStatus) -> Self {
2646        x.0
2647    }
2648}
2649
2650impl ::std::convert::From<::std::primitive::i32> for HostStatus {
2651    #[inline]
2652    fn from(x: ::std::primitive::i32) -> Self {
2653        Self(x)
2654    }
2655}
2656
2657impl ::std::fmt::Display for HostStatus {
2658    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2659        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2660            ("ONLINE", 0),
2661            ("OFFLINE", 1),
2662            ("UNKNOWN", 2),
2663        ];
2664        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2665    }
2666}
2667
2668impl ::std::fmt::Debug for HostStatus {
2669    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2670        write!(fmt, "HostStatus::{}", self)
2671    }
2672}
2673
2674impl ::std::str::FromStr for HostStatus {
2675    type Err = ::anyhow::Error;
2676
2677    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2678        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2679            ("OFFLINE", 1),
2680            ("ONLINE", 0),
2681            ("UNKNOWN", 2),
2682        ];
2683        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "HostStatus").map(Self)
2684    }
2685}
2686
2687impl ::fbthrift::GetTType for HostStatus {
2688    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2689}
2690
2691impl<P> ::fbthrift::Serialize<P> for HostStatus
2692where
2693    P: ::fbthrift::ProtocolWriter,
2694{
2695    #[inline]
2696    fn write(&self, p: &mut P) {
2697        p.write_i32(self.into())
2698    }
2699}
2700
2701impl<P> ::fbthrift::Deserialize<P> for HostStatus
2702where
2703    P: ::fbthrift::ProtocolReader,
2704{
2705    #[inline]
2706    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2707        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2708    }
2709}
2710
2711#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2712pub struct SnapshotStatus(pub ::std::primitive::i32);
2713
2714impl SnapshotStatus {
2715    pub const VALID: Self = SnapshotStatus(0i32);
2716    pub const INVALID: Self = SnapshotStatus(1i32);
2717}
2718
2719impl ::fbthrift::ThriftEnum for SnapshotStatus {
2720    fn enumerate() -> &'static [(Self, &'static str)] {
2721        &[
2722            (Self::VALID, "VALID"),
2723            (Self::INVALID, "INVALID"),
2724        ]
2725    }
2726
2727    fn variants() -> &'static [&'static str] {
2728        &[
2729            "VALID",
2730            "INVALID",
2731        ]
2732    }
2733
2734    fn variant_values() -> &'static [Self] {
2735        &[
2736            Self::VALID,
2737            Self::INVALID,
2738        ]
2739    }
2740}
2741
2742impl ::std::default::Default for SnapshotStatus {
2743    fn default() -> Self {
2744        Self(::fbthrift::__UNKNOWN_ID)
2745    }
2746}
2747
2748impl<'a> ::std::convert::From<&'a SnapshotStatus> for ::std::primitive::i32 {
2749    #[inline]
2750    fn from(x: &'a SnapshotStatus) -> Self {
2751        x.0
2752    }
2753}
2754
2755impl ::std::convert::From<SnapshotStatus> for ::std::primitive::i32 {
2756    #[inline]
2757    fn from(x: SnapshotStatus) -> Self {
2758        x.0
2759    }
2760}
2761
2762impl ::std::convert::From<::std::primitive::i32> for SnapshotStatus {
2763    #[inline]
2764    fn from(x: ::std::primitive::i32) -> Self {
2765        Self(x)
2766    }
2767}
2768
2769impl ::std::fmt::Display for SnapshotStatus {
2770    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2771        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2772            ("VALID", 0),
2773            ("INVALID", 1),
2774        ];
2775        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2776    }
2777}
2778
2779impl ::std::fmt::Debug for SnapshotStatus {
2780    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2781        write!(fmt, "SnapshotStatus::{}", self)
2782    }
2783}
2784
2785impl ::std::str::FromStr for SnapshotStatus {
2786    type Err = ::anyhow::Error;
2787
2788    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2789        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2790            ("INVALID", 1),
2791            ("VALID", 0),
2792        ];
2793        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "SnapshotStatus").map(Self)
2794    }
2795}
2796
2797impl ::fbthrift::GetTType for SnapshotStatus {
2798    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2799}
2800
2801impl<P> ::fbthrift::Serialize<P> for SnapshotStatus
2802where
2803    P: ::fbthrift::ProtocolWriter,
2804{
2805    #[inline]
2806    fn write(&self, p: &mut P) {
2807        p.write_i32(self.into())
2808    }
2809}
2810
2811impl<P> ::fbthrift::Deserialize<P> for SnapshotStatus
2812where
2813    P: ::fbthrift::ProtocolReader,
2814{
2815    #[inline]
2816    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2817        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2818    }
2819}
2820
2821#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2822pub struct AlterSpaceOp(pub ::std::primitive::i32);
2823
2824impl AlterSpaceOp {
2825    pub const ADD_ZONE: Self = AlterSpaceOp(1i32);
2826}
2827
2828impl ::fbthrift::ThriftEnum for AlterSpaceOp {
2829    fn enumerate() -> &'static [(Self, &'static str)] {
2830        &[
2831            (Self::ADD_ZONE, "ADD_ZONE"),
2832        ]
2833    }
2834
2835    fn variants() -> &'static [&'static str] {
2836        &[
2837            "ADD_ZONE",
2838        ]
2839    }
2840
2841    fn variant_values() -> &'static [Self] {
2842        &[
2843            Self::ADD_ZONE,
2844        ]
2845    }
2846}
2847
2848impl ::std::default::Default for AlterSpaceOp {
2849    fn default() -> Self {
2850        Self(::fbthrift::__UNKNOWN_ID)
2851    }
2852}
2853
2854impl<'a> ::std::convert::From<&'a AlterSpaceOp> for ::std::primitive::i32 {
2855    #[inline]
2856    fn from(x: &'a AlterSpaceOp) -> Self {
2857        x.0
2858    }
2859}
2860
2861impl ::std::convert::From<AlterSpaceOp> for ::std::primitive::i32 {
2862    #[inline]
2863    fn from(x: AlterSpaceOp) -> Self {
2864        x.0
2865    }
2866}
2867
2868impl ::std::convert::From<::std::primitive::i32> for AlterSpaceOp {
2869    #[inline]
2870    fn from(x: ::std::primitive::i32) -> Self {
2871        Self(x)
2872    }
2873}
2874
2875impl ::std::fmt::Display for AlterSpaceOp {
2876    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2877        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2878            ("ADD_ZONE", 1),
2879        ];
2880        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2881    }
2882}
2883
2884impl ::std::fmt::Debug for AlterSpaceOp {
2885    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2886        write!(fmt, "AlterSpaceOp::{}", self)
2887    }
2888}
2889
2890impl ::std::str::FromStr for AlterSpaceOp {
2891    type Err = ::anyhow::Error;
2892
2893    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2894        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2895            ("ADD_ZONE", 1),
2896        ];
2897        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "AlterSpaceOp").map(Self)
2898    }
2899}
2900
2901impl ::fbthrift::GetTType for AlterSpaceOp {
2902    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2903}
2904
2905impl<P> ::fbthrift::Serialize<P> for AlterSpaceOp
2906where
2907    P: ::fbthrift::ProtocolWriter,
2908{
2909    #[inline]
2910    fn write(&self, p: &mut P) {
2911        p.write_i32(self.into())
2912    }
2913}
2914
2915impl<P> ::fbthrift::Deserialize<P> for AlterSpaceOp
2916where
2917    P: ::fbthrift::ProtocolReader,
2918{
2919    #[inline]
2920    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2921        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2922    }
2923}
2924
2925#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2926pub struct JobOp(pub ::std::primitive::i32);
2927
2928impl JobOp {
2929    pub const ADD: Self = JobOp(1i32);
2930    pub const SHOW_All: Self = JobOp(2i32);
2931    pub const SHOW: Self = JobOp(3i32);
2932    pub const STOP: Self = JobOp(4i32);
2933    pub const RECOVER: Self = JobOp(5i32);
2934}
2935
2936impl ::fbthrift::ThriftEnum for JobOp {
2937    fn enumerate() -> &'static [(Self, &'static str)] {
2938        &[
2939            (Self::ADD, "ADD"),
2940            (Self::SHOW_All, "SHOW_All"),
2941            (Self::SHOW, "SHOW"),
2942            (Self::STOP, "STOP"),
2943            (Self::RECOVER, "RECOVER"),
2944        ]
2945    }
2946
2947    fn variants() -> &'static [&'static str] {
2948        &[
2949            "ADD",
2950            "SHOW_All",
2951            "SHOW",
2952            "STOP",
2953            "RECOVER",
2954        ]
2955    }
2956
2957    fn variant_values() -> &'static [Self] {
2958        &[
2959            Self::ADD,
2960            Self::SHOW_All,
2961            Self::SHOW,
2962            Self::STOP,
2963            Self::RECOVER,
2964        ]
2965    }
2966}
2967
2968impl ::std::default::Default for JobOp {
2969    fn default() -> Self {
2970        Self(::fbthrift::__UNKNOWN_ID)
2971    }
2972}
2973
2974impl<'a> ::std::convert::From<&'a JobOp> for ::std::primitive::i32 {
2975    #[inline]
2976    fn from(x: &'a JobOp) -> Self {
2977        x.0
2978    }
2979}
2980
2981impl ::std::convert::From<JobOp> for ::std::primitive::i32 {
2982    #[inline]
2983    fn from(x: JobOp) -> Self {
2984        x.0
2985    }
2986}
2987
2988impl ::std::convert::From<::std::primitive::i32> for JobOp {
2989    #[inline]
2990    fn from(x: ::std::primitive::i32) -> Self {
2991        Self(x)
2992    }
2993}
2994
2995impl ::std::fmt::Display for JobOp {
2996    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2997        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2998            ("ADD", 1),
2999            ("SHOW_All", 2),
3000            ("SHOW", 3),
3001            ("STOP", 4),
3002            ("RECOVER", 5),
3003        ];
3004        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3005    }
3006}
3007
3008impl ::std::fmt::Debug for JobOp {
3009    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3010        write!(fmt, "JobOp::{}", self)
3011    }
3012}
3013
3014impl ::std::str::FromStr for JobOp {
3015    type Err = ::anyhow::Error;
3016
3017    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3018        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3019            ("ADD", 1),
3020            ("RECOVER", 5),
3021            ("SHOW", 3),
3022            ("SHOW_All", 2),
3023            ("STOP", 4),
3024        ];
3025        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "JobOp").map(Self)
3026    }
3027}
3028
3029impl ::fbthrift::GetTType for JobOp {
3030    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3031}
3032
3033impl<P> ::fbthrift::Serialize<P> for JobOp
3034where
3035    P: ::fbthrift::ProtocolWriter,
3036{
3037    #[inline]
3038    fn write(&self, p: &mut P) {
3039        p.write_i32(self.into())
3040    }
3041}
3042
3043impl<P> ::fbthrift::Deserialize<P> for JobOp
3044where
3045    P: ::fbthrift::ProtocolReader,
3046{
3047    #[inline]
3048    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3049        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3050    }
3051}
3052
3053#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3054pub struct JobType(pub ::std::primitive::i32);
3055
3056impl JobType {
3057    pub const COMPACT: Self = JobType(0i32);
3058    pub const FLUSH: Self = JobType(1i32);
3059    pub const REBUILD_TAG_INDEX: Self = JobType(2i32);
3060    pub const REBUILD_EDGE_INDEX: Self = JobType(3i32);
3061    pub const REBUILD_FULLTEXT_INDEX: Self = JobType(4i32);
3062    pub const STATS: Self = JobType(5i32);
3063    pub const DATA_BALANCE: Self = JobType(6i32);
3064    pub const DOWNLOAD: Self = JobType(7i32);
3065    pub const INGEST: Self = JobType(8i32);
3066    pub const LEADER_BALANCE: Self = JobType(9i32);
3067    pub const ZONE_BALANCE: Self = JobType(10i32);
3068    pub const UNKNOWN: Self = JobType(99i32);
3069}
3070
3071impl ::fbthrift::ThriftEnum for JobType {
3072    fn enumerate() -> &'static [(Self, &'static str)] {
3073        &[
3074            (Self::COMPACT, "COMPACT"),
3075            (Self::FLUSH, "FLUSH"),
3076            (Self::REBUILD_TAG_INDEX, "REBUILD_TAG_INDEX"),
3077            (Self::REBUILD_EDGE_INDEX, "REBUILD_EDGE_INDEX"),
3078            (Self::REBUILD_FULLTEXT_INDEX, "REBUILD_FULLTEXT_INDEX"),
3079            (Self::STATS, "STATS"),
3080            (Self::DATA_BALANCE, "DATA_BALANCE"),
3081            (Self::DOWNLOAD, "DOWNLOAD"),
3082            (Self::INGEST, "INGEST"),
3083            (Self::LEADER_BALANCE, "LEADER_BALANCE"),
3084            (Self::ZONE_BALANCE, "ZONE_BALANCE"),
3085            (Self::UNKNOWN, "UNKNOWN"),
3086        ]
3087    }
3088
3089    fn variants() -> &'static [&'static str] {
3090        &[
3091            "COMPACT",
3092            "FLUSH",
3093            "REBUILD_TAG_INDEX",
3094            "REBUILD_EDGE_INDEX",
3095            "REBUILD_FULLTEXT_INDEX",
3096            "STATS",
3097            "DATA_BALANCE",
3098            "DOWNLOAD",
3099            "INGEST",
3100            "LEADER_BALANCE",
3101            "ZONE_BALANCE",
3102            "UNKNOWN",
3103        ]
3104    }
3105
3106    fn variant_values() -> &'static [Self] {
3107        &[
3108            Self::COMPACT,
3109            Self::FLUSH,
3110            Self::REBUILD_TAG_INDEX,
3111            Self::REBUILD_EDGE_INDEX,
3112            Self::REBUILD_FULLTEXT_INDEX,
3113            Self::STATS,
3114            Self::DATA_BALANCE,
3115            Self::DOWNLOAD,
3116            Self::INGEST,
3117            Self::LEADER_BALANCE,
3118            Self::ZONE_BALANCE,
3119            Self::UNKNOWN,
3120        ]
3121    }
3122}
3123
3124impl ::std::default::Default for JobType {
3125    fn default() -> Self {
3126        Self(::fbthrift::__UNKNOWN_ID)
3127    }
3128}
3129
3130impl<'a> ::std::convert::From<&'a JobType> for ::std::primitive::i32 {
3131    #[inline]
3132    fn from(x: &'a JobType) -> Self {
3133        x.0
3134    }
3135}
3136
3137impl ::std::convert::From<JobType> for ::std::primitive::i32 {
3138    #[inline]
3139    fn from(x: JobType) -> Self {
3140        x.0
3141    }
3142}
3143
3144impl ::std::convert::From<::std::primitive::i32> for JobType {
3145    #[inline]
3146    fn from(x: ::std::primitive::i32) -> Self {
3147        Self(x)
3148    }
3149}
3150
3151impl ::std::fmt::Display for JobType {
3152    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3153        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3154            ("COMPACT", 0),
3155            ("FLUSH", 1),
3156            ("REBUILD_TAG_INDEX", 2),
3157            ("REBUILD_EDGE_INDEX", 3),
3158            ("REBUILD_FULLTEXT_INDEX", 4),
3159            ("STATS", 5),
3160            ("DATA_BALANCE", 6),
3161            ("DOWNLOAD", 7),
3162            ("INGEST", 8),
3163            ("LEADER_BALANCE", 9),
3164            ("ZONE_BALANCE", 10),
3165            ("UNKNOWN", 99),
3166        ];
3167        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3168    }
3169}
3170
3171impl ::std::fmt::Debug for JobType {
3172    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3173        write!(fmt, "JobType::{}", self)
3174    }
3175}
3176
3177impl ::std::str::FromStr for JobType {
3178    type Err = ::anyhow::Error;
3179
3180    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3181        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3182            ("COMPACT", 0),
3183            ("DATA_BALANCE", 6),
3184            ("DOWNLOAD", 7),
3185            ("FLUSH", 1),
3186            ("INGEST", 8),
3187            ("LEADER_BALANCE", 9),
3188            ("REBUILD_EDGE_INDEX", 3),
3189            ("REBUILD_FULLTEXT_INDEX", 4),
3190            ("REBUILD_TAG_INDEX", 2),
3191            ("STATS", 5),
3192            ("UNKNOWN", 99),
3193            ("ZONE_BALANCE", 10),
3194        ];
3195        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "JobType").map(Self)
3196    }
3197}
3198
3199impl ::fbthrift::GetTType for JobType {
3200    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3201}
3202
3203impl<P> ::fbthrift::Serialize<P> for JobType
3204where
3205    P: ::fbthrift::ProtocolWriter,
3206{
3207    #[inline]
3208    fn write(&self, p: &mut P) {
3209        p.write_i32(self.into())
3210    }
3211}
3212
3213impl<P> ::fbthrift::Deserialize<P> for JobType
3214where
3215    P: ::fbthrift::ProtocolReader,
3216{
3217    #[inline]
3218    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3219        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3220    }
3221}
3222
3223#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3224pub struct JobStatus(pub ::std::primitive::i32);
3225
3226impl JobStatus {
3227    pub const QUEUE: Self = JobStatus(1i32);
3228    pub const RUNNING: Self = JobStatus(2i32);
3229    pub const FINISHED: Self = JobStatus(3i32);
3230    pub const FAILED: Self = JobStatus(4i32);
3231    pub const STOPPED: Self = JobStatus(5i32);
3232    pub const INVALID: Self = JobStatus(255i32);
3233}
3234
3235impl ::fbthrift::ThriftEnum for JobStatus {
3236    fn enumerate() -> &'static [(Self, &'static str)] {
3237        &[
3238            (Self::QUEUE, "QUEUE"),
3239            (Self::RUNNING, "RUNNING"),
3240            (Self::FINISHED, "FINISHED"),
3241            (Self::FAILED, "FAILED"),
3242            (Self::STOPPED, "STOPPED"),
3243            (Self::INVALID, "INVALID"),
3244        ]
3245    }
3246
3247    fn variants() -> &'static [&'static str] {
3248        &[
3249            "QUEUE",
3250            "RUNNING",
3251            "FINISHED",
3252            "FAILED",
3253            "STOPPED",
3254            "INVALID",
3255        ]
3256    }
3257
3258    fn variant_values() -> &'static [Self] {
3259        &[
3260            Self::QUEUE,
3261            Self::RUNNING,
3262            Self::FINISHED,
3263            Self::FAILED,
3264            Self::STOPPED,
3265            Self::INVALID,
3266        ]
3267    }
3268}
3269
3270impl ::std::default::Default for JobStatus {
3271    fn default() -> Self {
3272        Self(::fbthrift::__UNKNOWN_ID)
3273    }
3274}
3275
3276impl<'a> ::std::convert::From<&'a JobStatus> for ::std::primitive::i32 {
3277    #[inline]
3278    fn from(x: &'a JobStatus) -> Self {
3279        x.0
3280    }
3281}
3282
3283impl ::std::convert::From<JobStatus> for ::std::primitive::i32 {
3284    #[inline]
3285    fn from(x: JobStatus) -> Self {
3286        x.0
3287    }
3288}
3289
3290impl ::std::convert::From<::std::primitive::i32> for JobStatus {
3291    #[inline]
3292    fn from(x: ::std::primitive::i32) -> Self {
3293        Self(x)
3294    }
3295}
3296
3297impl ::std::fmt::Display for JobStatus {
3298    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3299        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3300            ("QUEUE", 1),
3301            ("RUNNING", 2),
3302            ("FINISHED", 3),
3303            ("FAILED", 4),
3304            ("STOPPED", 5),
3305            ("INVALID", 255),
3306        ];
3307        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3308    }
3309}
3310
3311impl ::std::fmt::Debug for JobStatus {
3312    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3313        write!(fmt, "JobStatus::{}", self)
3314    }
3315}
3316
3317impl ::std::str::FromStr for JobStatus {
3318    type Err = ::anyhow::Error;
3319
3320    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3321        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3322            ("FAILED", 4),
3323            ("FINISHED", 3),
3324            ("INVALID", 255),
3325            ("QUEUE", 1),
3326            ("RUNNING", 2),
3327            ("STOPPED", 5),
3328        ];
3329        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "JobStatus").map(Self)
3330    }
3331}
3332
3333impl ::fbthrift::GetTType for JobStatus {
3334    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3335}
3336
3337impl<P> ::fbthrift::Serialize<P> for JobStatus
3338where
3339    P: ::fbthrift::ProtocolWriter,
3340{
3341    #[inline]
3342    fn write(&self, p: &mut P) {
3343        p.write_i32(self.into())
3344    }
3345}
3346
3347impl<P> ::fbthrift::Deserialize<P> for JobStatus
3348where
3349    P: ::fbthrift::ProtocolReader,
3350{
3351    #[inline]
3352    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3353        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3354    }
3355}
3356
3357#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3358pub struct ListHostType(pub ::std::primitive::i32);
3359
3360impl ListHostType {
3361    pub const ALLOC: Self = ListHostType(0i32);
3362    pub const GRAPH: Self = ListHostType(1i32);
3363    pub const META: Self = ListHostType(2i32);
3364    pub const STORAGE: Self = ListHostType(3i32);
3365    pub const AGENT: Self = ListHostType(4i32);
3366}
3367
3368impl ::fbthrift::ThriftEnum for ListHostType {
3369    fn enumerate() -> &'static [(Self, &'static str)] {
3370        &[
3371            (Self::ALLOC, "ALLOC"),
3372            (Self::GRAPH, "GRAPH"),
3373            (Self::META, "META"),
3374            (Self::STORAGE, "STORAGE"),
3375            (Self::AGENT, "AGENT"),
3376        ]
3377    }
3378
3379    fn variants() -> &'static [&'static str] {
3380        &[
3381            "ALLOC",
3382            "GRAPH",
3383            "META",
3384            "STORAGE",
3385            "AGENT",
3386        ]
3387    }
3388
3389    fn variant_values() -> &'static [Self] {
3390        &[
3391            Self::ALLOC,
3392            Self::GRAPH,
3393            Self::META,
3394            Self::STORAGE,
3395            Self::AGENT,
3396        ]
3397    }
3398}
3399
3400impl ::std::default::Default for ListHostType {
3401    fn default() -> Self {
3402        Self(::fbthrift::__UNKNOWN_ID)
3403    }
3404}
3405
3406impl<'a> ::std::convert::From<&'a ListHostType> for ::std::primitive::i32 {
3407    #[inline]
3408    fn from(x: &'a ListHostType) -> Self {
3409        x.0
3410    }
3411}
3412
3413impl ::std::convert::From<ListHostType> for ::std::primitive::i32 {
3414    #[inline]
3415    fn from(x: ListHostType) -> Self {
3416        x.0
3417    }
3418}
3419
3420impl ::std::convert::From<::std::primitive::i32> for ListHostType {
3421    #[inline]
3422    fn from(x: ::std::primitive::i32) -> Self {
3423        Self(x)
3424    }
3425}
3426
3427impl ::std::fmt::Display for ListHostType {
3428    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3429        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3430            ("ALLOC", 0),
3431            ("GRAPH", 1),
3432            ("META", 2),
3433            ("STORAGE", 3),
3434            ("AGENT", 4),
3435        ];
3436        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3437    }
3438}
3439
3440impl ::std::fmt::Debug for ListHostType {
3441    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3442        write!(fmt, "ListHostType::{}", self)
3443    }
3444}
3445
3446impl ::std::str::FromStr for ListHostType {
3447    type Err = ::anyhow::Error;
3448
3449    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3450        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3451            ("AGENT", 4),
3452            ("ALLOC", 0),
3453            ("GRAPH", 1),
3454            ("META", 2),
3455            ("STORAGE", 3),
3456        ];
3457        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ListHostType").map(Self)
3458    }
3459}
3460
3461impl ::fbthrift::GetTType for ListHostType {
3462    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3463}
3464
3465impl<P> ::fbthrift::Serialize<P> for ListHostType
3466where
3467    P: ::fbthrift::ProtocolWriter,
3468{
3469    #[inline]
3470    fn write(&self, p: &mut P) {
3471        p.write_i32(self.into())
3472    }
3473}
3474
3475impl<P> ::fbthrift::Deserialize<P> for ListHostType
3476where
3477    P: ::fbthrift::ProtocolReader,
3478{
3479    #[inline]
3480    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3481        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3482    }
3483}
3484
3485#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3486pub struct HostRole(pub ::std::primitive::i32);
3487
3488impl HostRole {
3489    pub const GRAPH: Self = HostRole(0i32);
3490    pub const META: Self = HostRole(1i32);
3491    pub const STORAGE: Self = HostRole(2i32);
3492    pub const LISTENER: Self = HostRole(3i32);
3493    pub const AGENT: Self = HostRole(4i32);
3494    pub const UNKNOWN: Self = HostRole(5i32);
3495}
3496
3497impl ::fbthrift::ThriftEnum for HostRole {
3498    fn enumerate() -> &'static [(Self, &'static str)] {
3499        &[
3500            (Self::GRAPH, "GRAPH"),
3501            (Self::META, "META"),
3502            (Self::STORAGE, "STORAGE"),
3503            (Self::LISTENER, "LISTENER"),
3504            (Self::AGENT, "AGENT"),
3505            (Self::UNKNOWN, "UNKNOWN"),
3506        ]
3507    }
3508
3509    fn variants() -> &'static [&'static str] {
3510        &[
3511            "GRAPH",
3512            "META",
3513            "STORAGE",
3514            "LISTENER",
3515            "AGENT",
3516            "UNKNOWN",
3517        ]
3518    }
3519
3520    fn variant_values() -> &'static [Self] {
3521        &[
3522            Self::GRAPH,
3523            Self::META,
3524            Self::STORAGE,
3525            Self::LISTENER,
3526            Self::AGENT,
3527            Self::UNKNOWN,
3528        ]
3529    }
3530}
3531
3532impl ::std::default::Default for HostRole {
3533    fn default() -> Self {
3534        Self(::fbthrift::__UNKNOWN_ID)
3535    }
3536}
3537
3538impl<'a> ::std::convert::From<&'a HostRole> for ::std::primitive::i32 {
3539    #[inline]
3540    fn from(x: &'a HostRole) -> Self {
3541        x.0
3542    }
3543}
3544
3545impl ::std::convert::From<HostRole> for ::std::primitive::i32 {
3546    #[inline]
3547    fn from(x: HostRole) -> Self {
3548        x.0
3549    }
3550}
3551
3552impl ::std::convert::From<::std::primitive::i32> for HostRole {
3553    #[inline]
3554    fn from(x: ::std::primitive::i32) -> Self {
3555        Self(x)
3556    }
3557}
3558
3559impl ::std::fmt::Display for HostRole {
3560    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3561        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3562            ("GRAPH", 0),
3563            ("META", 1),
3564            ("STORAGE", 2),
3565            ("LISTENER", 3),
3566            ("AGENT", 4),
3567            ("UNKNOWN", 5),
3568        ];
3569        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3570    }
3571}
3572
3573impl ::std::fmt::Debug for HostRole {
3574    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3575        write!(fmt, "HostRole::{}", self)
3576    }
3577}
3578
3579impl ::std::str::FromStr for HostRole {
3580    type Err = ::anyhow::Error;
3581
3582    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3583        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3584            ("AGENT", 4),
3585            ("GRAPH", 0),
3586            ("LISTENER", 3),
3587            ("META", 1),
3588            ("STORAGE", 2),
3589            ("UNKNOWN", 5),
3590        ];
3591        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "HostRole").map(Self)
3592    }
3593}
3594
3595impl ::fbthrift::GetTType for HostRole {
3596    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3597}
3598
3599impl<P> ::fbthrift::Serialize<P> for HostRole
3600where
3601    P: ::fbthrift::ProtocolWriter,
3602{
3603    #[inline]
3604    fn write(&self, p: &mut P) {
3605        p.write_i32(self.into())
3606    }
3607}
3608
3609impl<P> ::fbthrift::Deserialize<P> for HostRole
3610where
3611    P: ::fbthrift::ProtocolReader,
3612{
3613    #[inline]
3614    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3615        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3616    }
3617}
3618
3619#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3620pub struct TaskResult(pub ::std::primitive::i32);
3621
3622impl TaskResult {
3623    pub const SUCCEEDED: Self = TaskResult(0i32);
3624    pub const FAILED: Self = TaskResult(1i32);
3625    pub const IN_PROGRESS: Self = TaskResult(2i32);
3626    pub const INVALID: Self = TaskResult(3i32);
3627}
3628
3629impl ::fbthrift::ThriftEnum for TaskResult {
3630    fn enumerate() -> &'static [(Self, &'static str)] {
3631        &[
3632            (Self::SUCCEEDED, "SUCCEEDED"),
3633            (Self::FAILED, "FAILED"),
3634            (Self::IN_PROGRESS, "IN_PROGRESS"),
3635            (Self::INVALID, "INVALID"),
3636        ]
3637    }
3638
3639    fn variants() -> &'static [&'static str] {
3640        &[
3641            "SUCCEEDED",
3642            "FAILED",
3643            "IN_PROGRESS",
3644            "INVALID",
3645        ]
3646    }
3647
3648    fn variant_values() -> &'static [Self] {
3649        &[
3650            Self::SUCCEEDED,
3651            Self::FAILED,
3652            Self::IN_PROGRESS,
3653            Self::INVALID,
3654        ]
3655    }
3656}
3657
3658impl ::std::default::Default for TaskResult {
3659    fn default() -> Self {
3660        Self(::fbthrift::__UNKNOWN_ID)
3661    }
3662}
3663
3664impl<'a> ::std::convert::From<&'a TaskResult> for ::std::primitive::i32 {
3665    #[inline]
3666    fn from(x: &'a TaskResult) -> Self {
3667        x.0
3668    }
3669}
3670
3671impl ::std::convert::From<TaskResult> for ::std::primitive::i32 {
3672    #[inline]
3673    fn from(x: TaskResult) -> Self {
3674        x.0
3675    }
3676}
3677
3678impl ::std::convert::From<::std::primitive::i32> for TaskResult {
3679    #[inline]
3680    fn from(x: ::std::primitive::i32) -> Self {
3681        Self(x)
3682    }
3683}
3684
3685impl ::std::fmt::Display for TaskResult {
3686    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3687        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3688            ("SUCCEEDED", 0),
3689            ("FAILED", 1),
3690            ("IN_PROGRESS", 2),
3691            ("INVALID", 3),
3692        ];
3693        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3694    }
3695}
3696
3697impl ::std::fmt::Debug for TaskResult {
3698    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3699        write!(fmt, "TaskResult::{}", self)
3700    }
3701}
3702
3703impl ::std::str::FromStr for TaskResult {
3704    type Err = ::anyhow::Error;
3705
3706    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3707        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3708            ("FAILED", 1),
3709            ("INVALID", 3),
3710            ("IN_PROGRESS", 2),
3711            ("SUCCEEDED", 0),
3712        ];
3713        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "TaskResult").map(Self)
3714    }
3715}
3716
3717impl ::fbthrift::GetTType for TaskResult {
3718    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3719}
3720
3721impl<P> ::fbthrift::Serialize<P> for TaskResult
3722where
3723    P: ::fbthrift::ProtocolWriter,
3724{
3725    #[inline]
3726    fn write(&self, p: &mut P) {
3727        p.write_i32(self.into())
3728    }
3729}
3730
3731impl<P> ::fbthrift::Deserialize<P> for TaskResult
3732where
3733    P: ::fbthrift::ProtocolReader,
3734{
3735    #[inline]
3736    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3737        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3738    }
3739}
3740
3741#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3742pub struct ConfigModule(pub ::std::primitive::i32);
3743
3744impl ConfigModule {
3745    pub const UNKNOWN: Self = ConfigModule(0i32);
3746    pub const ALL: Self = ConfigModule(1i32);
3747    pub const GRAPH: Self = ConfigModule(2i32);
3748    pub const META: Self = ConfigModule(3i32);
3749    pub const STORAGE: Self = ConfigModule(4i32);
3750}
3751
3752impl ::fbthrift::ThriftEnum for ConfigModule {
3753    fn enumerate() -> &'static [(Self, &'static str)] {
3754        &[
3755            (Self::UNKNOWN, "UNKNOWN"),
3756            (Self::ALL, "ALL"),
3757            (Self::GRAPH, "GRAPH"),
3758            (Self::META, "META"),
3759            (Self::STORAGE, "STORAGE"),
3760        ]
3761    }
3762
3763    fn variants() -> &'static [&'static str] {
3764        &[
3765            "UNKNOWN",
3766            "ALL",
3767            "GRAPH",
3768            "META",
3769            "STORAGE",
3770        ]
3771    }
3772
3773    fn variant_values() -> &'static [Self] {
3774        &[
3775            Self::UNKNOWN,
3776            Self::ALL,
3777            Self::GRAPH,
3778            Self::META,
3779            Self::STORAGE,
3780        ]
3781    }
3782}
3783
3784impl ::std::default::Default for ConfigModule {
3785    fn default() -> Self {
3786        Self(::fbthrift::__UNKNOWN_ID)
3787    }
3788}
3789
3790impl<'a> ::std::convert::From<&'a ConfigModule> for ::std::primitive::i32 {
3791    #[inline]
3792    fn from(x: &'a ConfigModule) -> Self {
3793        x.0
3794    }
3795}
3796
3797impl ::std::convert::From<ConfigModule> for ::std::primitive::i32 {
3798    #[inline]
3799    fn from(x: ConfigModule) -> Self {
3800        x.0
3801    }
3802}
3803
3804impl ::std::convert::From<::std::primitive::i32> for ConfigModule {
3805    #[inline]
3806    fn from(x: ::std::primitive::i32) -> Self {
3807        Self(x)
3808    }
3809}
3810
3811impl ::std::fmt::Display for ConfigModule {
3812    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3813        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3814            ("UNKNOWN", 0),
3815            ("ALL", 1),
3816            ("GRAPH", 2),
3817            ("META", 3),
3818            ("STORAGE", 4),
3819        ];
3820        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3821    }
3822}
3823
3824impl ::std::fmt::Debug for ConfigModule {
3825    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3826        write!(fmt, "ConfigModule::{}", self)
3827    }
3828}
3829
3830impl ::std::str::FromStr for ConfigModule {
3831    type Err = ::anyhow::Error;
3832
3833    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3834        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3835            ("ALL", 1),
3836            ("GRAPH", 2),
3837            ("META", 3),
3838            ("STORAGE", 4),
3839            ("UNKNOWN", 0),
3840        ];
3841        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ConfigModule").map(Self)
3842    }
3843}
3844
3845impl ::fbthrift::GetTType for ConfigModule {
3846    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3847}
3848
3849impl<P> ::fbthrift::Serialize<P> for ConfigModule
3850where
3851    P: ::fbthrift::ProtocolWriter,
3852{
3853    #[inline]
3854    fn write(&self, p: &mut P) {
3855        p.write_i32(self.into())
3856    }
3857}
3858
3859impl<P> ::fbthrift::Deserialize<P> for ConfigModule
3860where
3861    P: ::fbthrift::ProtocolReader,
3862{
3863    #[inline]
3864    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3865        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3866    }
3867}
3868
3869#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3870pub struct ConfigMode(pub ::std::primitive::i32);
3871
3872impl ConfigMode {
3873    pub const IMMUTABLE: Self = ConfigMode(0i32);
3874    pub const REBOOT: Self = ConfigMode(1i32);
3875    pub const MUTABLE: Self = ConfigMode(2i32);
3876    pub const IGNORED: Self = ConfigMode(3i32);
3877}
3878
3879impl ::fbthrift::ThriftEnum for ConfigMode {
3880    fn enumerate() -> &'static [(Self, &'static str)] {
3881        &[
3882            (Self::IMMUTABLE, "IMMUTABLE"),
3883            (Self::REBOOT, "REBOOT"),
3884            (Self::MUTABLE, "MUTABLE"),
3885            (Self::IGNORED, "IGNORED"),
3886        ]
3887    }
3888
3889    fn variants() -> &'static [&'static str] {
3890        &[
3891            "IMMUTABLE",
3892            "REBOOT",
3893            "MUTABLE",
3894            "IGNORED",
3895        ]
3896    }
3897
3898    fn variant_values() -> &'static [Self] {
3899        &[
3900            Self::IMMUTABLE,
3901            Self::REBOOT,
3902            Self::MUTABLE,
3903            Self::IGNORED,
3904        ]
3905    }
3906}
3907
3908impl ::std::default::Default for ConfigMode {
3909    fn default() -> Self {
3910        Self(::fbthrift::__UNKNOWN_ID)
3911    }
3912}
3913
3914impl<'a> ::std::convert::From<&'a ConfigMode> for ::std::primitive::i32 {
3915    #[inline]
3916    fn from(x: &'a ConfigMode) -> Self {
3917        x.0
3918    }
3919}
3920
3921impl ::std::convert::From<ConfigMode> for ::std::primitive::i32 {
3922    #[inline]
3923    fn from(x: ConfigMode) -> Self {
3924        x.0
3925    }
3926}
3927
3928impl ::std::convert::From<::std::primitive::i32> for ConfigMode {
3929    #[inline]
3930    fn from(x: ::std::primitive::i32) -> Self {
3931        Self(x)
3932    }
3933}
3934
3935impl ::std::fmt::Display for ConfigMode {
3936    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3937        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3938            ("IMMUTABLE", 0),
3939            ("REBOOT", 1),
3940            ("MUTABLE", 2),
3941            ("IGNORED", 3),
3942        ];
3943        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3944    }
3945}
3946
3947impl ::std::fmt::Debug for ConfigMode {
3948    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3949        write!(fmt, "ConfigMode::{}", self)
3950    }
3951}
3952
3953impl ::std::str::FromStr for ConfigMode {
3954    type Err = ::anyhow::Error;
3955
3956    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3957        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3958            ("IGNORED", 3),
3959            ("IMMUTABLE", 0),
3960            ("MUTABLE", 2),
3961            ("REBOOT", 1),
3962        ];
3963        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ConfigMode").map(Self)
3964    }
3965}
3966
3967impl ::fbthrift::GetTType for ConfigMode {
3968    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3969}
3970
3971impl<P> ::fbthrift::Serialize<P> for ConfigMode
3972where
3973    P: ::fbthrift::ProtocolWriter,
3974{
3975    #[inline]
3976    fn write(&self, p: &mut P) {
3977        p.write_i32(self.into())
3978    }
3979}
3980
3981impl<P> ::fbthrift::Deserialize<P> for ConfigMode
3982where
3983    P: ::fbthrift::ProtocolReader,
3984{
3985    #[inline]
3986    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3987        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3988    }
3989}
3990
3991#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3992pub struct ListenerType(pub ::std::primitive::i32);
3993
3994impl ListenerType {
3995    pub const UNKNOWN: Self = ListenerType(0i32);
3996    pub const ELASTICSEARCH: Self = ListenerType(1i32);
3997}
3998
3999impl ::fbthrift::ThriftEnum for ListenerType {
4000    fn enumerate() -> &'static [(Self, &'static str)] {
4001        &[
4002            (Self::UNKNOWN, "UNKNOWN"),
4003            (Self::ELASTICSEARCH, "ELASTICSEARCH"),
4004        ]
4005    }
4006
4007    fn variants() -> &'static [&'static str] {
4008        &[
4009            "UNKNOWN",
4010            "ELASTICSEARCH",
4011        ]
4012    }
4013
4014    fn variant_values() -> &'static [Self] {
4015        &[
4016            Self::UNKNOWN,
4017            Self::ELASTICSEARCH,
4018        ]
4019    }
4020}
4021
4022impl ::std::default::Default for ListenerType {
4023    fn default() -> Self {
4024        Self(::fbthrift::__UNKNOWN_ID)
4025    }
4026}
4027
4028impl<'a> ::std::convert::From<&'a ListenerType> for ::std::primitive::i32 {
4029    #[inline]
4030    fn from(x: &'a ListenerType) -> Self {
4031        x.0
4032    }
4033}
4034
4035impl ::std::convert::From<ListenerType> for ::std::primitive::i32 {
4036    #[inline]
4037    fn from(x: ListenerType) -> Self {
4038        x.0
4039    }
4040}
4041
4042impl ::std::convert::From<::std::primitive::i32> for ListenerType {
4043    #[inline]
4044    fn from(x: ::std::primitive::i32) -> Self {
4045        Self(x)
4046    }
4047}
4048
4049impl ::std::fmt::Display for ListenerType {
4050    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4051        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4052            ("UNKNOWN", 0),
4053            ("ELASTICSEARCH", 1),
4054        ];
4055        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4056    }
4057}
4058
4059impl ::std::fmt::Debug for ListenerType {
4060    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4061        write!(fmt, "ListenerType::{}", self)
4062    }
4063}
4064
4065impl ::std::str::FromStr for ListenerType {
4066    type Err = ::anyhow::Error;
4067
4068    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4069        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4070            ("ELASTICSEARCH", 1),
4071            ("UNKNOWN", 0),
4072        ];
4073        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ListenerType").map(Self)
4074    }
4075}
4076
4077impl ::fbthrift::GetTType for ListenerType {
4078    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4079}
4080
4081impl<P> ::fbthrift::Serialize<P> for ListenerType
4082where
4083    P: ::fbthrift::ProtocolWriter,
4084{
4085    #[inline]
4086    fn write(&self, p: &mut P) {
4087        p.write_i32(self.into())
4088    }
4089}
4090
4091impl<P> ::fbthrift::Deserialize<P> for ListenerType
4092where
4093    P: ::fbthrift::ProtocolReader,
4094{
4095    #[inline]
4096    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4097        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4098    }
4099}
4100
4101#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
4102pub struct ExternalServiceType(pub ::std::primitive::i32);
4103
4104impl ExternalServiceType {
4105    pub const ELASTICSEARCH: Self = ExternalServiceType(1i32);
4106}
4107
4108impl ::fbthrift::ThriftEnum for ExternalServiceType {
4109    fn enumerate() -> &'static [(Self, &'static str)] {
4110        &[
4111            (Self::ELASTICSEARCH, "ELASTICSEARCH"),
4112        ]
4113    }
4114
4115    fn variants() -> &'static [&'static str] {
4116        &[
4117            "ELASTICSEARCH",
4118        ]
4119    }
4120
4121    fn variant_values() -> &'static [Self] {
4122        &[
4123            Self::ELASTICSEARCH,
4124        ]
4125    }
4126}
4127
4128impl ::std::default::Default for ExternalServiceType {
4129    fn default() -> Self {
4130        Self(::fbthrift::__UNKNOWN_ID)
4131    }
4132}
4133
4134impl<'a> ::std::convert::From<&'a ExternalServiceType> for ::std::primitive::i32 {
4135    #[inline]
4136    fn from(x: &'a ExternalServiceType) -> Self {
4137        x.0
4138    }
4139}
4140
4141impl ::std::convert::From<ExternalServiceType> for ::std::primitive::i32 {
4142    #[inline]
4143    fn from(x: ExternalServiceType) -> Self {
4144        x.0
4145    }
4146}
4147
4148impl ::std::convert::From<::std::primitive::i32> for ExternalServiceType {
4149    #[inline]
4150    fn from(x: ::std::primitive::i32) -> Self {
4151        Self(x)
4152    }
4153}
4154
4155impl ::std::fmt::Display for ExternalServiceType {
4156    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4157        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4158            ("ELASTICSEARCH", 1),
4159        ];
4160        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4161    }
4162}
4163
4164impl ::std::fmt::Debug for ExternalServiceType {
4165    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4166        write!(fmt, "ExternalServiceType::{}", self)
4167    }
4168}
4169
4170impl ::std::str::FromStr for ExternalServiceType {
4171    type Err = ::anyhow::Error;
4172
4173    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4174        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4175            ("ELASTICSEARCH", 1),
4176        ];
4177        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ExternalServiceType").map(Self)
4178    }
4179}
4180
4181impl ::fbthrift::GetTType for ExternalServiceType {
4182    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4183}
4184
4185impl<P> ::fbthrift::Serialize<P> for ExternalServiceType
4186where
4187    P: ::fbthrift::ProtocolWriter,
4188{
4189    #[inline]
4190    fn write(&self, p: &mut P) {
4191        p.write_i32(self.into())
4192    }
4193}
4194
4195impl<P> ::fbthrift::Deserialize<P> for ExternalServiceType
4196where
4197    P: ::fbthrift::ProtocolReader,
4198{
4199    #[inline]
4200    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4201        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4202    }
4203}
4204
4205#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
4206pub struct QueryStatus(pub ::std::primitive::i32);
4207
4208impl QueryStatus {
4209    pub const RUNNING: Self = QueryStatus(1i32);
4210    pub const KILLING: Self = QueryStatus(2i32);
4211}
4212
4213impl ::fbthrift::ThriftEnum for QueryStatus {
4214    fn enumerate() -> &'static [(Self, &'static str)] {
4215        &[
4216            (Self::RUNNING, "RUNNING"),
4217            (Self::KILLING, "KILLING"),
4218        ]
4219    }
4220
4221    fn variants() -> &'static [&'static str] {
4222        &[
4223            "RUNNING",
4224            "KILLING",
4225        ]
4226    }
4227
4228    fn variant_values() -> &'static [Self] {
4229        &[
4230            Self::RUNNING,
4231            Self::KILLING,
4232        ]
4233    }
4234}
4235
4236impl ::std::default::Default for QueryStatus {
4237    fn default() -> Self {
4238        Self(::fbthrift::__UNKNOWN_ID)
4239    }
4240}
4241
4242impl<'a> ::std::convert::From<&'a QueryStatus> for ::std::primitive::i32 {
4243    #[inline]
4244    fn from(x: &'a QueryStatus) -> Self {
4245        x.0
4246    }
4247}
4248
4249impl ::std::convert::From<QueryStatus> for ::std::primitive::i32 {
4250    #[inline]
4251    fn from(x: QueryStatus) -> Self {
4252        x.0
4253    }
4254}
4255
4256impl ::std::convert::From<::std::primitive::i32> for QueryStatus {
4257    #[inline]
4258    fn from(x: ::std::primitive::i32) -> Self {
4259        Self(x)
4260    }
4261}
4262
4263impl ::std::fmt::Display for QueryStatus {
4264    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4265        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4266            ("RUNNING", 1),
4267            ("KILLING", 2),
4268        ];
4269        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4270    }
4271}
4272
4273impl ::std::fmt::Debug for QueryStatus {
4274    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4275        write!(fmt, "QueryStatus::{}", self)
4276    }
4277}
4278
4279impl ::std::str::FromStr for QueryStatus {
4280    type Err = ::anyhow::Error;
4281
4282    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4283        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4284            ("KILLING", 2),
4285            ("RUNNING", 1),
4286        ];
4287        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "QueryStatus").map(Self)
4288    }
4289}
4290
4291impl ::fbthrift::GetTType for QueryStatus {
4292    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4293}
4294
4295impl<P> ::fbthrift::Serialize<P> for QueryStatus
4296where
4297    P: ::fbthrift::ProtocolWriter,
4298{
4299    #[inline]
4300    fn write(&self, p: &mut P) {
4301        p.write_i32(self.into())
4302    }
4303}
4304
4305impl<P> ::fbthrift::Deserialize<P> for QueryStatus
4306where
4307    P: ::fbthrift::ProtocolReader,
4308{
4309    #[inline]
4310    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4311        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4312    }
4313}
4314
4315
4316
4317
4318impl ::std::default::Default for ID {
4319    fn default() -> Self {
4320        Self::UnknownField(-1)
4321    }
4322}
4323
4324impl ::fbthrift::GetTType for ID {
4325    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4326}
4327
4328impl<P> ::fbthrift::Serialize<P> for ID
4329where
4330    P: ::fbthrift::ProtocolWriter,
4331{
4332    fn write(&self, p: &mut P) {
4333        p.write_struct_begin("ID");
4334        match self {
4335            Self::space_id(inner) => {
4336                p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4337                ::fbthrift::Serialize::write(inner, p);
4338                p.write_field_end();
4339            }
4340            Self::tag_id(inner) => {
4341                p.write_field_begin("tag_id", ::fbthrift::TType::I32, 2);
4342                ::fbthrift::Serialize::write(inner, p);
4343                p.write_field_end();
4344            }
4345            Self::edge_type(inner) => {
4346                p.write_field_begin("edge_type", ::fbthrift::TType::I32, 3);
4347                ::fbthrift::Serialize::write(inner, p);
4348                p.write_field_end();
4349            }
4350            Self::index_id(inner) => {
4351                p.write_field_begin("index_id", ::fbthrift::TType::I32, 4);
4352                ::fbthrift::Serialize::write(inner, p);
4353                p.write_field_end();
4354            }
4355            Self::cluster_id(inner) => {
4356                p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 5);
4357                ::fbthrift::Serialize::write(inner, p);
4358                p.write_field_end();
4359            }
4360            Self::UnknownField(_) => {}
4361        }
4362        p.write_field_stop();
4363        p.write_struct_end();
4364    }
4365}
4366
4367impl<P> ::fbthrift::Deserialize<P> for ID
4368where
4369    P: ::fbthrift::ProtocolReader,
4370{
4371    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4372        static FIELDS: &[::fbthrift::Field] = &[
4373            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 5),
4374            ::fbthrift::Field::new("edge_type", ::fbthrift::TType::I32, 3),
4375            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 4),
4376            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4377            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 2),
4378        ];
4379        let _ = p.read_struct_begin(|_| ())?;
4380        let mut once = false;
4381        let mut alt = ::std::option::Option::None;
4382        loop {
4383            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4384            match (fty, fid as ::std::primitive::i32, once) {
4385                (::fbthrift::TType::Stop, _, _) => break,
4386                (::fbthrift::TType::I32, 1, false) => {
4387                    once = true;
4388                    alt = ::std::option::Option::Some(Self::space_id(::fbthrift::Deserialize::read(p)?));
4389                }
4390                (::fbthrift::TType::I32, 2, false) => {
4391                    once = true;
4392                    alt = ::std::option::Option::Some(Self::tag_id(::fbthrift::Deserialize::read(p)?));
4393                }
4394                (::fbthrift::TType::I32, 3, false) => {
4395                    once = true;
4396                    alt = ::std::option::Option::Some(Self::edge_type(::fbthrift::Deserialize::read(p)?));
4397                }
4398                (::fbthrift::TType::I32, 4, false) => {
4399                    once = true;
4400                    alt = ::std::option::Option::Some(Self::index_id(::fbthrift::Deserialize::read(p)?));
4401                }
4402                (::fbthrift::TType::I64, 5, false) => {
4403                    once = true;
4404                    alt = ::std::option::Option::Some(Self::cluster_id(::fbthrift::Deserialize::read(p)?));
4405                }
4406                (fty, _, false) => p.skip(fty)?,
4407                (badty, badid, true) => return ::std::result::Result::Err(::std::convert::From::from(::fbthrift::ApplicationException::new(
4408                    ::fbthrift::ApplicationExceptionErrorCode::ProtocolError,
4409                    format!(
4410                        "unwanted extra union {} field ty {:?} id {}",
4411                        "ID",
4412                        badty,
4413                        badid,
4414                    ),
4415                ))),
4416            }
4417            p.read_field_end()?;
4418        }
4419        p.read_struct_end()?;
4420        ::std::result::Result::Ok(alt.unwrap_or_default())
4421    }
4422}
4423
4424#[allow(clippy::derivable_impls)]
4425impl ::std::default::Default for self::ColumnTypeDef {
4426    fn default() -> Self {
4427        Self {
4428            r#type: ::std::default::Default::default(),
4429            type_length: ::std::option::Option::Some(0),
4430            geo_shape: ::std::option::Option::None,
4431            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4432        }
4433    }
4434}
4435
4436impl ::std::fmt::Debug for self::ColumnTypeDef {
4437    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4438        formatter
4439            .debug_struct("ColumnTypeDef")
4440            .field("r#type", &self.r#type)
4441            .field("type_length", &self.type_length)
4442            .field("geo_shape", &self.geo_shape)
4443            .finish()
4444    }
4445}
4446
4447unsafe impl ::std::marker::Send for self::ColumnTypeDef {}
4448unsafe impl ::std::marker::Sync for self::ColumnTypeDef {}
4449
4450impl ::fbthrift::GetTType for self::ColumnTypeDef {
4451    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4452}
4453
4454impl<P> ::fbthrift::Serialize<P> for self::ColumnTypeDef
4455where
4456    P: ::fbthrift::ProtocolWriter,
4457{
4458    fn write(&self, p: &mut P) {
4459        p.write_struct_begin("ColumnTypeDef");
4460        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
4461        ::fbthrift::Serialize::write(&self.r#type, p);
4462        p.write_field_end();
4463        if let ::std::option::Option::Some(some) = &self.type_length {
4464            p.write_field_begin("type_length", ::fbthrift::TType::I16, 2);
4465            ::fbthrift::Serialize::write(some, p);
4466            p.write_field_end();
4467        }
4468        if let ::std::option::Option::Some(some) = &self.geo_shape {
4469            p.write_field_begin("geo_shape", ::fbthrift::TType::I32, 3);
4470            ::fbthrift::Serialize::write(some, p);
4471            p.write_field_end();
4472        }
4473        p.write_field_stop();
4474        p.write_struct_end();
4475    }
4476}
4477
4478impl<P> ::fbthrift::Deserialize<P> for self::ColumnTypeDef
4479where
4480    P: ::fbthrift::ProtocolReader,
4481{
4482    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4483        static FIELDS: &[::fbthrift::Field] = &[
4484            ::fbthrift::Field::new("geo_shape", ::fbthrift::TType::I32, 3),
4485            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
4486            ::fbthrift::Field::new("type_length", ::fbthrift::TType::I16, 2),
4487        ];
4488        let mut field_type = ::std::option::Option::None;
4489        let mut field_type_length = ::std::option::Option::None;
4490        let mut field_geo_shape = ::std::option::Option::None;
4491        let _ = p.read_struct_begin(|_| ())?;
4492        loop {
4493            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4494            match (fty, fid as ::std::primitive::i32) {
4495                (::fbthrift::TType::Stop, _) => break,
4496                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4497                (::fbthrift::TType::I16, 2) => field_type_length = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4498                (::fbthrift::TType::I32, 3) => field_geo_shape = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4499                (fty, _) => p.skip(fty)?,
4500            }
4501            p.read_field_end()?;
4502        }
4503        p.read_struct_end()?;
4504        ::std::result::Result::Ok(Self {
4505            r#type: field_type.unwrap_or_default(),
4506            type_length: field_type_length,
4507            geo_shape: field_geo_shape,
4508            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4509        })
4510    }
4511}
4512
4513
4514#[allow(clippy::derivable_impls)]
4515impl ::std::default::Default for self::ColumnDef {
4516    fn default() -> Self {
4517        Self {
4518            name: ::std::default::Default::default(),
4519            r#type: ::std::default::Default::default(),
4520            default_value: ::std::option::Option::None,
4521            nullable: ::std::option::Option::Some(false),
4522            comment: ::std::option::Option::None,
4523            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4524        }
4525    }
4526}
4527
4528impl ::std::fmt::Debug for self::ColumnDef {
4529    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4530        formatter
4531            .debug_struct("ColumnDef")
4532            .field("name", &self.name)
4533            .field("r#type", &self.r#type)
4534            .field("default_value", &self.default_value)
4535            .field("nullable", &self.nullable)
4536            .field("comment", &self.comment)
4537            .finish()
4538    }
4539}
4540
4541unsafe impl ::std::marker::Send for self::ColumnDef {}
4542unsafe impl ::std::marker::Sync for self::ColumnDef {}
4543
4544impl ::fbthrift::GetTType for self::ColumnDef {
4545    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4546}
4547
4548impl<P> ::fbthrift::Serialize<P> for self::ColumnDef
4549where
4550    P: ::fbthrift::ProtocolWriter,
4551{
4552    fn write(&self, p: &mut P) {
4553        p.write_struct_begin("ColumnDef");
4554        p.write_field_begin("name", ::fbthrift::TType::String, 1);
4555        ::fbthrift::Serialize::write(&self.name, p);
4556        p.write_field_end();
4557        p.write_field_begin("type", ::fbthrift::TType::Struct, 2);
4558        ::fbthrift::Serialize::write(&self.r#type, p);
4559        p.write_field_end();
4560        if let ::std::option::Option::Some(some) = &self.default_value {
4561            p.write_field_begin("default_value", ::fbthrift::TType::String, 3);
4562            ::fbthrift::Serialize::write(some, p);
4563            p.write_field_end();
4564        }
4565        if let ::std::option::Option::Some(some) = &self.nullable {
4566            p.write_field_begin("nullable", ::fbthrift::TType::Bool, 4);
4567            ::fbthrift::Serialize::write(some, p);
4568            p.write_field_end();
4569        }
4570        if let ::std::option::Option::Some(some) = &self.comment {
4571            p.write_field_begin("comment", ::fbthrift::TType::String, 5);
4572            ::fbthrift::Serialize::write(some, p);
4573            p.write_field_end();
4574        }
4575        p.write_field_stop();
4576        p.write_struct_end();
4577    }
4578}
4579
4580impl<P> ::fbthrift::Deserialize<P> for self::ColumnDef
4581where
4582    P: ::fbthrift::ProtocolReader,
4583{
4584    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4585        static FIELDS: &[::fbthrift::Field] = &[
4586            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 5),
4587            ::fbthrift::Field::new("default_value", ::fbthrift::TType::String, 3),
4588            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
4589            ::fbthrift::Field::new("nullable", ::fbthrift::TType::Bool, 4),
4590            ::fbthrift::Field::new("type", ::fbthrift::TType::Struct, 2),
4591        ];
4592        let mut field_name = ::std::option::Option::None;
4593        let mut field_type = ::std::option::Option::None;
4594        let mut field_default_value = ::std::option::Option::None;
4595        let mut field_nullable = ::std::option::Option::None;
4596        let mut field_comment = ::std::option::Option::None;
4597        let _ = p.read_struct_begin(|_| ())?;
4598        loop {
4599            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4600            match (fty, fid as ::std::primitive::i32) {
4601                (::fbthrift::TType::Stop, _) => break,
4602                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4603                (::fbthrift::TType::Struct, 2) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4604                (::fbthrift::TType::String, 3) => field_default_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4605                (::fbthrift::TType::Bool, 4) => field_nullable = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4606                (::fbthrift::TType::String, 5) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4607                (fty, _) => p.skip(fty)?,
4608            }
4609            p.read_field_end()?;
4610        }
4611        p.read_struct_end()?;
4612        ::std::result::Result::Ok(Self {
4613            name: field_name.unwrap_or_default(),
4614            r#type: field_type.unwrap_or_default(),
4615            default_value: field_default_value,
4616            nullable: field_nullable,
4617            comment: field_comment,
4618            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4619        })
4620    }
4621}
4622
4623
4624#[allow(clippy::derivable_impls)]
4625impl ::std::default::Default for self::SchemaProp {
4626    fn default() -> Self {
4627        Self {
4628            ttl_duration: ::std::option::Option::None,
4629            ttl_col: ::std::option::Option::None,
4630            comment: ::std::option::Option::None,
4631            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4632        }
4633    }
4634}
4635
4636impl ::std::fmt::Debug for self::SchemaProp {
4637    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4638        formatter
4639            .debug_struct("SchemaProp")
4640            .field("ttl_duration", &self.ttl_duration)
4641            .field("ttl_col", &self.ttl_col)
4642            .field("comment", &self.comment)
4643            .finish()
4644    }
4645}
4646
4647unsafe impl ::std::marker::Send for self::SchemaProp {}
4648unsafe impl ::std::marker::Sync for self::SchemaProp {}
4649
4650impl ::fbthrift::GetTType for self::SchemaProp {
4651    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4652}
4653
4654impl<P> ::fbthrift::Serialize<P> for self::SchemaProp
4655where
4656    P: ::fbthrift::ProtocolWriter,
4657{
4658    fn write(&self, p: &mut P) {
4659        p.write_struct_begin("SchemaProp");
4660        if let ::std::option::Option::Some(some) = &self.ttl_duration {
4661            p.write_field_begin("ttl_duration", ::fbthrift::TType::I64, 1);
4662            ::fbthrift::Serialize::write(some, p);
4663            p.write_field_end();
4664        }
4665        if let ::std::option::Option::Some(some) = &self.ttl_col {
4666            p.write_field_begin("ttl_col", ::fbthrift::TType::String, 2);
4667            ::fbthrift::Serialize::write(some, p);
4668            p.write_field_end();
4669        }
4670        if let ::std::option::Option::Some(some) = &self.comment {
4671            p.write_field_begin("comment", ::fbthrift::TType::String, 3);
4672            ::fbthrift::Serialize::write(some, p);
4673            p.write_field_end();
4674        }
4675        p.write_field_stop();
4676        p.write_struct_end();
4677    }
4678}
4679
4680impl<P> ::fbthrift::Deserialize<P> for self::SchemaProp
4681where
4682    P: ::fbthrift::ProtocolReader,
4683{
4684    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4685        static FIELDS: &[::fbthrift::Field] = &[
4686            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 3),
4687            ::fbthrift::Field::new("ttl_col", ::fbthrift::TType::String, 2),
4688            ::fbthrift::Field::new("ttl_duration", ::fbthrift::TType::I64, 1),
4689        ];
4690        let mut field_ttl_duration = ::std::option::Option::None;
4691        let mut field_ttl_col = ::std::option::Option::None;
4692        let mut field_comment = ::std::option::Option::None;
4693        let _ = p.read_struct_begin(|_| ())?;
4694        loop {
4695            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4696            match (fty, fid as ::std::primitive::i32) {
4697                (::fbthrift::TType::Stop, _) => break,
4698                (::fbthrift::TType::I64, 1) => field_ttl_duration = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4699                (::fbthrift::TType::String, 2) => field_ttl_col = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4700                (::fbthrift::TType::String, 3) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4701                (fty, _) => p.skip(fty)?,
4702            }
4703            p.read_field_end()?;
4704        }
4705        p.read_struct_end()?;
4706        ::std::result::Result::Ok(Self {
4707            ttl_duration: field_ttl_duration,
4708            ttl_col: field_ttl_col,
4709            comment: field_comment,
4710            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4711        })
4712    }
4713}
4714
4715
4716#[allow(clippy::derivable_impls)]
4717impl ::std::default::Default for self::Schema {
4718    fn default() -> Self {
4719        Self {
4720            columns: ::std::default::Default::default(),
4721            schema_prop: ::std::default::Default::default(),
4722            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4723        }
4724    }
4725}
4726
4727impl ::std::fmt::Debug for self::Schema {
4728    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4729        formatter
4730            .debug_struct("Schema")
4731            .field("columns", &self.columns)
4732            .field("schema_prop", &self.schema_prop)
4733            .finish()
4734    }
4735}
4736
4737unsafe impl ::std::marker::Send for self::Schema {}
4738unsafe impl ::std::marker::Sync for self::Schema {}
4739
4740impl ::fbthrift::GetTType for self::Schema {
4741    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4742}
4743
4744impl<P> ::fbthrift::Serialize<P> for self::Schema
4745where
4746    P: ::fbthrift::ProtocolWriter,
4747{
4748    fn write(&self, p: &mut P) {
4749        p.write_struct_begin("Schema");
4750        p.write_field_begin("columns", ::fbthrift::TType::List, 1);
4751        ::fbthrift::Serialize::write(&self.columns, p);
4752        p.write_field_end();
4753        p.write_field_begin("schema_prop", ::fbthrift::TType::Struct, 2);
4754        ::fbthrift::Serialize::write(&self.schema_prop, p);
4755        p.write_field_end();
4756        p.write_field_stop();
4757        p.write_struct_end();
4758    }
4759}
4760
4761impl<P> ::fbthrift::Deserialize<P> for self::Schema
4762where
4763    P: ::fbthrift::ProtocolReader,
4764{
4765    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4766        static FIELDS: &[::fbthrift::Field] = &[
4767            ::fbthrift::Field::new("columns", ::fbthrift::TType::List, 1),
4768            ::fbthrift::Field::new("schema_prop", ::fbthrift::TType::Struct, 2),
4769        ];
4770        let mut field_columns = ::std::option::Option::None;
4771        let mut field_schema_prop = ::std::option::Option::None;
4772        let _ = p.read_struct_begin(|_| ())?;
4773        loop {
4774            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4775            match (fty, fid as ::std::primitive::i32) {
4776                (::fbthrift::TType::Stop, _) => break,
4777                (::fbthrift::TType::List, 1) => field_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4778                (::fbthrift::TType::Struct, 2) => field_schema_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4779                (fty, _) => p.skip(fty)?,
4780            }
4781            p.read_field_end()?;
4782        }
4783        p.read_struct_end()?;
4784        ::std::result::Result::Ok(Self {
4785            columns: field_columns.unwrap_or_default(),
4786            schema_prop: field_schema_prop.unwrap_or_default(),
4787            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4788        })
4789    }
4790}
4791
4792
4793#[allow(clippy::derivable_impls)]
4794impl ::std::default::Default for self::IdName {
4795    fn default() -> Self {
4796        Self {
4797            id: ::std::default::Default::default(),
4798            name: ::std::default::Default::default(),
4799            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4800        }
4801    }
4802}
4803
4804impl ::std::fmt::Debug for self::IdName {
4805    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4806        formatter
4807            .debug_struct("IdName")
4808            .field("id", &self.id)
4809            .field("name", &self.name)
4810            .finish()
4811    }
4812}
4813
4814unsafe impl ::std::marker::Send for self::IdName {}
4815unsafe impl ::std::marker::Sync for self::IdName {}
4816
4817impl ::fbthrift::GetTType for self::IdName {
4818    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4819}
4820
4821impl<P> ::fbthrift::Serialize<P> for self::IdName
4822where
4823    P: ::fbthrift::ProtocolWriter,
4824{
4825    fn write(&self, p: &mut P) {
4826        p.write_struct_begin("IdName");
4827        p.write_field_begin("id", ::fbthrift::TType::Struct, 1);
4828        ::fbthrift::Serialize::write(&self.id, p);
4829        p.write_field_end();
4830        p.write_field_begin("name", ::fbthrift::TType::String, 2);
4831        ::fbthrift::Serialize::write(&self.name, p);
4832        p.write_field_end();
4833        p.write_field_stop();
4834        p.write_struct_end();
4835    }
4836}
4837
4838impl<P> ::fbthrift::Deserialize<P> for self::IdName
4839where
4840    P: ::fbthrift::ProtocolReader,
4841{
4842    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4843        static FIELDS: &[::fbthrift::Field] = &[
4844            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 1),
4845            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
4846        ];
4847        let mut field_id = ::std::option::Option::None;
4848        let mut field_name = ::std::option::Option::None;
4849        let _ = p.read_struct_begin(|_| ())?;
4850        loop {
4851            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4852            match (fty, fid as ::std::primitive::i32) {
4853                (::fbthrift::TType::Stop, _) => break,
4854                (::fbthrift::TType::Struct, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4855                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4856                (fty, _) => p.skip(fty)?,
4857            }
4858            p.read_field_end()?;
4859        }
4860        p.read_struct_end()?;
4861        ::std::result::Result::Ok(Self {
4862            id: field_id.unwrap_or_default(),
4863            name: field_name.unwrap_or_default(),
4864            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4865        })
4866    }
4867}
4868
4869
4870#[allow(clippy::derivable_impls)]
4871impl ::std::default::Default for self::SpaceDesc {
4872    fn default() -> Self {
4873        Self {
4874            space_name: ::std::default::Default::default(),
4875            partition_num: 0,
4876            replica_factor: 0,
4877            charset_name: ::std::default::Default::default(),
4878            collate_name: ::std::default::Default::default(),
4879            vid_type: crate::types::ColumnTypeDef {
4880                    r#type: common::types::PropertyType::FIXED_STRING,
4881                    type_length: ::std::option::Option::Some(8),
4882                    geo_shape: ::std::default::Default::default(),
4883                    ..::std::default::Default::default()
4884                },
4885            zone_names: ::std::default::Default::default(),
4886            isolation_level: ::std::option::Option::None,
4887            comment: ::std::option::Option::None,
4888            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4889        }
4890    }
4891}
4892
4893impl ::std::fmt::Debug for self::SpaceDesc {
4894    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4895        formatter
4896            .debug_struct("SpaceDesc")
4897            .field("space_name", &self.space_name)
4898            .field("partition_num", &self.partition_num)
4899            .field("replica_factor", &self.replica_factor)
4900            .field("charset_name", &self.charset_name)
4901            .field("collate_name", &self.collate_name)
4902            .field("vid_type", &self.vid_type)
4903            .field("zone_names", &self.zone_names)
4904            .field("isolation_level", &self.isolation_level)
4905            .field("comment", &self.comment)
4906            .finish()
4907    }
4908}
4909
4910unsafe impl ::std::marker::Send for self::SpaceDesc {}
4911unsafe impl ::std::marker::Sync for self::SpaceDesc {}
4912
4913impl ::fbthrift::GetTType for self::SpaceDesc {
4914    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4915}
4916
4917impl<P> ::fbthrift::Serialize<P> for self::SpaceDesc
4918where
4919    P: ::fbthrift::ProtocolWriter,
4920{
4921    fn write(&self, p: &mut P) {
4922        p.write_struct_begin("SpaceDesc");
4923        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
4924        ::fbthrift::Serialize::write(&self.space_name, p);
4925        p.write_field_end();
4926        p.write_field_begin("partition_num", ::fbthrift::TType::I32, 2);
4927        ::fbthrift::Serialize::write(&self.partition_num, p);
4928        p.write_field_end();
4929        p.write_field_begin("replica_factor", ::fbthrift::TType::I32, 3);
4930        ::fbthrift::Serialize::write(&self.replica_factor, p);
4931        p.write_field_end();
4932        p.write_field_begin("charset_name", ::fbthrift::TType::String, 4);
4933        ::fbthrift::Serialize::write(&self.charset_name, p);
4934        p.write_field_end();
4935        p.write_field_begin("collate_name", ::fbthrift::TType::String, 5);
4936        ::fbthrift::Serialize::write(&self.collate_name, p);
4937        p.write_field_end();
4938        p.write_field_begin("vid_type", ::fbthrift::TType::Struct, 6);
4939        ::fbthrift::Serialize::write(&self.vid_type, p);
4940        p.write_field_end();
4941        p.write_field_begin("zone_names", ::fbthrift::TType::List, 7);
4942        ::fbthrift::Serialize::write(&self.zone_names, p);
4943        p.write_field_end();
4944        if let ::std::option::Option::Some(some) = &self.isolation_level {
4945            p.write_field_begin("isolation_level", ::fbthrift::TType::I32, 8);
4946            ::fbthrift::Serialize::write(some, p);
4947            p.write_field_end();
4948        }
4949        if let ::std::option::Option::Some(some) = &self.comment {
4950            p.write_field_begin("comment", ::fbthrift::TType::String, 9);
4951            ::fbthrift::Serialize::write(some, p);
4952            p.write_field_end();
4953        }
4954        p.write_field_stop();
4955        p.write_struct_end();
4956    }
4957}
4958
4959impl<P> ::fbthrift::Deserialize<P> for self::SpaceDesc
4960where
4961    P: ::fbthrift::ProtocolReader,
4962{
4963    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4964        static FIELDS: &[::fbthrift::Field] = &[
4965            ::fbthrift::Field::new("charset_name", ::fbthrift::TType::String, 4),
4966            ::fbthrift::Field::new("collate_name", ::fbthrift::TType::String, 5),
4967            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 9),
4968            ::fbthrift::Field::new("isolation_level", ::fbthrift::TType::I32, 8),
4969            ::fbthrift::Field::new("partition_num", ::fbthrift::TType::I32, 2),
4970            ::fbthrift::Field::new("replica_factor", ::fbthrift::TType::I32, 3),
4971            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
4972            ::fbthrift::Field::new("vid_type", ::fbthrift::TType::Struct, 6),
4973            ::fbthrift::Field::new("zone_names", ::fbthrift::TType::List, 7),
4974        ];
4975        let mut field_space_name = ::std::option::Option::None;
4976        let mut field_partition_num = ::std::option::Option::None;
4977        let mut field_replica_factor = ::std::option::Option::None;
4978        let mut field_charset_name = ::std::option::Option::None;
4979        let mut field_collate_name = ::std::option::Option::None;
4980        let mut field_vid_type = ::std::option::Option::None;
4981        let mut field_zone_names = ::std::option::Option::None;
4982        let mut field_isolation_level = ::std::option::Option::None;
4983        let mut field_comment = ::std::option::Option::None;
4984        let _ = p.read_struct_begin(|_| ())?;
4985        loop {
4986            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4987            match (fty, fid as ::std::primitive::i32) {
4988                (::fbthrift::TType::Stop, _) => break,
4989                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4990                (::fbthrift::TType::I32, 2) => field_partition_num = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4991                (::fbthrift::TType::I32, 3) => field_replica_factor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4992                (::fbthrift::TType::String, 4) => field_charset_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4993                (::fbthrift::TType::String, 5) => field_collate_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4994                (::fbthrift::TType::Struct, 6) => field_vid_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4995                (::fbthrift::TType::List, 7) => field_zone_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4996                (::fbthrift::TType::I32, 8) => field_isolation_level = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4997                (::fbthrift::TType::String, 9) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4998                (fty, _) => p.skip(fty)?,
4999            }
5000            p.read_field_end()?;
5001        }
5002        p.read_struct_end()?;
5003        ::std::result::Result::Ok(Self {
5004            space_name: field_space_name.unwrap_or_default(),
5005            partition_num: field_partition_num.unwrap_or(0),
5006            replica_factor: field_replica_factor.unwrap_or(0),
5007            charset_name: field_charset_name.unwrap_or_default(),
5008            collate_name: field_collate_name.unwrap_or_default(),
5009            vid_type: field_vid_type.unwrap_or_else(|| crate::types::ColumnTypeDef {
5010                    r#type: common::types::PropertyType::FIXED_STRING,
5011                    type_length: ::std::option::Option::Some(8),
5012                    geo_shape: ::std::default::Default::default(),
5013                    ..::std::default::Default::default()
5014                }),
5015            zone_names: field_zone_names.unwrap_or_default(),
5016            isolation_level: field_isolation_level,
5017            comment: field_comment,
5018            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5019        })
5020    }
5021}
5022
5023
5024#[allow(clippy::derivable_impls)]
5025impl ::std::default::Default for self::SpaceItem {
5026    fn default() -> Self {
5027        Self {
5028            space_id: ::std::default::Default::default(),
5029            properties: ::std::default::Default::default(),
5030            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5031        }
5032    }
5033}
5034
5035impl ::std::fmt::Debug for self::SpaceItem {
5036    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5037        formatter
5038            .debug_struct("SpaceItem")
5039            .field("space_id", &self.space_id)
5040            .field("properties", &self.properties)
5041            .finish()
5042    }
5043}
5044
5045unsafe impl ::std::marker::Send for self::SpaceItem {}
5046unsafe impl ::std::marker::Sync for self::SpaceItem {}
5047
5048impl ::fbthrift::GetTType for self::SpaceItem {
5049    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5050}
5051
5052impl<P> ::fbthrift::Serialize<P> for self::SpaceItem
5053where
5054    P: ::fbthrift::ProtocolWriter,
5055{
5056    fn write(&self, p: &mut P) {
5057        p.write_struct_begin("SpaceItem");
5058        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5059        ::fbthrift::Serialize::write(&self.space_id, p);
5060        p.write_field_end();
5061        p.write_field_begin("properties", ::fbthrift::TType::Struct, 2);
5062        ::fbthrift::Serialize::write(&self.properties, p);
5063        p.write_field_end();
5064        p.write_field_stop();
5065        p.write_struct_end();
5066    }
5067}
5068
5069impl<P> ::fbthrift::Deserialize<P> for self::SpaceItem
5070where
5071    P: ::fbthrift::ProtocolReader,
5072{
5073    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5074        static FIELDS: &[::fbthrift::Field] = &[
5075            ::fbthrift::Field::new("properties", ::fbthrift::TType::Struct, 2),
5076            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5077        ];
5078        let mut field_space_id = ::std::option::Option::None;
5079        let mut field_properties = ::std::option::Option::None;
5080        let _ = p.read_struct_begin(|_| ())?;
5081        loop {
5082            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5083            match (fty, fid as ::std::primitive::i32) {
5084                (::fbthrift::TType::Stop, _) => break,
5085                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5086                (::fbthrift::TType::Struct, 2) => field_properties = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5087                (fty, _) => p.skip(fty)?,
5088            }
5089            p.read_field_end()?;
5090        }
5091        p.read_struct_end()?;
5092        ::std::result::Result::Ok(Self {
5093            space_id: field_space_id.unwrap_or_default(),
5094            properties: field_properties.unwrap_or_default(),
5095            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5096        })
5097    }
5098}
5099
5100
5101#[allow(clippy::derivable_impls)]
5102impl ::std::default::Default for self::TagItem {
5103    fn default() -> Self {
5104        Self {
5105            tag_id: ::std::default::Default::default(),
5106            tag_name: ::std::default::Default::default(),
5107            version: ::std::default::Default::default(),
5108            schema: ::std::default::Default::default(),
5109            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5110        }
5111    }
5112}
5113
5114impl ::std::fmt::Debug for self::TagItem {
5115    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5116        formatter
5117            .debug_struct("TagItem")
5118            .field("tag_id", &self.tag_id)
5119            .field("tag_name", &self.tag_name)
5120            .field("version", &self.version)
5121            .field("schema", &self.schema)
5122            .finish()
5123    }
5124}
5125
5126unsafe impl ::std::marker::Send for self::TagItem {}
5127unsafe impl ::std::marker::Sync for self::TagItem {}
5128
5129impl ::fbthrift::GetTType for self::TagItem {
5130    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5131}
5132
5133impl<P> ::fbthrift::Serialize<P> for self::TagItem
5134where
5135    P: ::fbthrift::ProtocolWriter,
5136{
5137    fn write(&self, p: &mut P) {
5138        p.write_struct_begin("TagItem");
5139        p.write_field_begin("tag_id", ::fbthrift::TType::I32, 1);
5140        ::fbthrift::Serialize::write(&self.tag_id, p);
5141        p.write_field_end();
5142        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
5143        ::fbthrift::Serialize::write(&self.tag_name, p);
5144        p.write_field_end();
5145        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
5146        ::fbthrift::Serialize::write(&self.version, p);
5147        p.write_field_end();
5148        p.write_field_begin("schema", ::fbthrift::TType::Struct, 4);
5149        ::fbthrift::Serialize::write(&self.schema, p);
5150        p.write_field_end();
5151        p.write_field_stop();
5152        p.write_struct_end();
5153    }
5154}
5155
5156impl<P> ::fbthrift::Deserialize<P> for self::TagItem
5157where
5158    P: ::fbthrift::ProtocolReader,
5159{
5160    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5161        static FIELDS: &[::fbthrift::Field] = &[
5162            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 4),
5163            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 1),
5164            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
5165            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
5166        ];
5167        let mut field_tag_id = ::std::option::Option::None;
5168        let mut field_tag_name = ::std::option::Option::None;
5169        let mut field_version = ::std::option::Option::None;
5170        let mut field_schema = ::std::option::Option::None;
5171        let _ = p.read_struct_begin(|_| ())?;
5172        loop {
5173            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5174            match (fty, fid as ::std::primitive::i32) {
5175                (::fbthrift::TType::Stop, _) => break,
5176                (::fbthrift::TType::I32, 1) => field_tag_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5177                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5178                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5179                (::fbthrift::TType::Struct, 4) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5180                (fty, _) => p.skip(fty)?,
5181            }
5182            p.read_field_end()?;
5183        }
5184        p.read_struct_end()?;
5185        ::std::result::Result::Ok(Self {
5186            tag_id: field_tag_id.unwrap_or_default(),
5187            tag_name: field_tag_name.unwrap_or_default(),
5188            version: field_version.unwrap_or_default(),
5189            schema: field_schema.unwrap_or_default(),
5190            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5191        })
5192    }
5193}
5194
5195
5196#[allow(clippy::derivable_impls)]
5197impl ::std::default::Default for self::AlterSchemaItem {
5198    fn default() -> Self {
5199        Self {
5200            op: ::std::default::Default::default(),
5201            schema: ::std::default::Default::default(),
5202            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5203        }
5204    }
5205}
5206
5207impl ::std::fmt::Debug for self::AlterSchemaItem {
5208    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5209        formatter
5210            .debug_struct("AlterSchemaItem")
5211            .field("op", &self.op)
5212            .field("schema", &self.schema)
5213            .finish()
5214    }
5215}
5216
5217unsafe impl ::std::marker::Send for self::AlterSchemaItem {}
5218unsafe impl ::std::marker::Sync for self::AlterSchemaItem {}
5219
5220impl ::fbthrift::GetTType for self::AlterSchemaItem {
5221    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5222}
5223
5224impl<P> ::fbthrift::Serialize<P> for self::AlterSchemaItem
5225where
5226    P: ::fbthrift::ProtocolWriter,
5227{
5228    fn write(&self, p: &mut P) {
5229        p.write_struct_begin("AlterSchemaItem");
5230        p.write_field_begin("op", ::fbthrift::TType::I32, 1);
5231        ::fbthrift::Serialize::write(&self.op, p);
5232        p.write_field_end();
5233        p.write_field_begin("schema", ::fbthrift::TType::Struct, 2);
5234        ::fbthrift::Serialize::write(&self.schema, p);
5235        p.write_field_end();
5236        p.write_field_stop();
5237        p.write_struct_end();
5238    }
5239}
5240
5241impl<P> ::fbthrift::Deserialize<P> for self::AlterSchemaItem
5242where
5243    P: ::fbthrift::ProtocolReader,
5244{
5245    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5246        static FIELDS: &[::fbthrift::Field] = &[
5247            ::fbthrift::Field::new("op", ::fbthrift::TType::I32, 1),
5248            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 2),
5249        ];
5250        let mut field_op = ::std::option::Option::None;
5251        let mut field_schema = ::std::option::Option::None;
5252        let _ = p.read_struct_begin(|_| ())?;
5253        loop {
5254            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5255            match (fty, fid as ::std::primitive::i32) {
5256                (::fbthrift::TType::Stop, _) => break,
5257                (::fbthrift::TType::I32, 1) => field_op = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5258                (::fbthrift::TType::Struct, 2) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5259                (fty, _) => p.skip(fty)?,
5260            }
5261            p.read_field_end()?;
5262        }
5263        p.read_struct_end()?;
5264        ::std::result::Result::Ok(Self {
5265            op: field_op.unwrap_or_default(),
5266            schema: field_schema.unwrap_or_default(),
5267            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5268        })
5269    }
5270}
5271
5272
5273#[allow(clippy::derivable_impls)]
5274impl ::std::default::Default for self::EdgeItem {
5275    fn default() -> Self {
5276        Self {
5277            edge_type: ::std::default::Default::default(),
5278            edge_name: ::std::default::Default::default(),
5279            version: ::std::default::Default::default(),
5280            schema: ::std::default::Default::default(),
5281            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5282        }
5283    }
5284}
5285
5286impl ::std::fmt::Debug for self::EdgeItem {
5287    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5288        formatter
5289            .debug_struct("EdgeItem")
5290            .field("edge_type", &self.edge_type)
5291            .field("edge_name", &self.edge_name)
5292            .field("version", &self.version)
5293            .field("schema", &self.schema)
5294            .finish()
5295    }
5296}
5297
5298unsafe impl ::std::marker::Send for self::EdgeItem {}
5299unsafe impl ::std::marker::Sync for self::EdgeItem {}
5300
5301impl ::fbthrift::GetTType for self::EdgeItem {
5302    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5303}
5304
5305impl<P> ::fbthrift::Serialize<P> for self::EdgeItem
5306where
5307    P: ::fbthrift::ProtocolWriter,
5308{
5309    fn write(&self, p: &mut P) {
5310        p.write_struct_begin("EdgeItem");
5311        p.write_field_begin("edge_type", ::fbthrift::TType::I32, 1);
5312        ::fbthrift::Serialize::write(&self.edge_type, p);
5313        p.write_field_end();
5314        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
5315        ::fbthrift::Serialize::write(&self.edge_name, p);
5316        p.write_field_end();
5317        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
5318        ::fbthrift::Serialize::write(&self.version, p);
5319        p.write_field_end();
5320        p.write_field_begin("schema", ::fbthrift::TType::Struct, 4);
5321        ::fbthrift::Serialize::write(&self.schema, p);
5322        p.write_field_end();
5323        p.write_field_stop();
5324        p.write_struct_end();
5325    }
5326}
5327
5328impl<P> ::fbthrift::Deserialize<P> for self::EdgeItem
5329where
5330    P: ::fbthrift::ProtocolReader,
5331{
5332    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5333        static FIELDS: &[::fbthrift::Field] = &[
5334            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
5335            ::fbthrift::Field::new("edge_type", ::fbthrift::TType::I32, 1),
5336            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 4),
5337            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
5338        ];
5339        let mut field_edge_type = ::std::option::Option::None;
5340        let mut field_edge_name = ::std::option::Option::None;
5341        let mut field_version = ::std::option::Option::None;
5342        let mut field_schema = ::std::option::Option::None;
5343        let _ = p.read_struct_begin(|_| ())?;
5344        loop {
5345            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5346            match (fty, fid as ::std::primitive::i32) {
5347                (::fbthrift::TType::Stop, _) => break,
5348                (::fbthrift::TType::I32, 1) => field_edge_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5349                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5350                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5351                (::fbthrift::TType::Struct, 4) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5352                (fty, _) => p.skip(fty)?,
5353            }
5354            p.read_field_end()?;
5355        }
5356        p.read_struct_end()?;
5357        ::std::result::Result::Ok(Self {
5358            edge_type: field_edge_type.unwrap_or_default(),
5359            edge_name: field_edge_name.unwrap_or_default(),
5360            version: field_version.unwrap_or_default(),
5361            schema: field_schema.unwrap_or_default(),
5362            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5363        })
5364    }
5365}
5366
5367
5368#[allow(clippy::derivable_impls)]
5369impl ::std::default::Default for self::IndexParams {
5370    fn default() -> Self {
5371        Self {
5372            s2_max_level: ::std::option::Option::None,
5373            s2_max_cells: ::std::option::Option::None,
5374            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5375        }
5376    }
5377}
5378
5379impl ::std::fmt::Debug for self::IndexParams {
5380    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5381        formatter
5382            .debug_struct("IndexParams")
5383            .field("s2_max_level", &self.s2_max_level)
5384            .field("s2_max_cells", &self.s2_max_cells)
5385            .finish()
5386    }
5387}
5388
5389unsafe impl ::std::marker::Send for self::IndexParams {}
5390unsafe impl ::std::marker::Sync for self::IndexParams {}
5391
5392impl ::fbthrift::GetTType for self::IndexParams {
5393    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5394}
5395
5396impl<P> ::fbthrift::Serialize<P> for self::IndexParams
5397where
5398    P: ::fbthrift::ProtocolWriter,
5399{
5400    fn write(&self, p: &mut P) {
5401        p.write_struct_begin("IndexParams");
5402        if let ::std::option::Option::Some(some) = &self.s2_max_level {
5403            p.write_field_begin("s2_max_level", ::fbthrift::TType::I32, 1);
5404            ::fbthrift::Serialize::write(some, p);
5405            p.write_field_end();
5406        }
5407        if let ::std::option::Option::Some(some) = &self.s2_max_cells {
5408            p.write_field_begin("s2_max_cells", ::fbthrift::TType::I32, 2);
5409            ::fbthrift::Serialize::write(some, p);
5410            p.write_field_end();
5411        }
5412        p.write_field_stop();
5413        p.write_struct_end();
5414    }
5415}
5416
5417impl<P> ::fbthrift::Deserialize<P> for self::IndexParams
5418where
5419    P: ::fbthrift::ProtocolReader,
5420{
5421    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5422        static FIELDS: &[::fbthrift::Field] = &[
5423            ::fbthrift::Field::new("s2_max_cells", ::fbthrift::TType::I32, 2),
5424            ::fbthrift::Field::new("s2_max_level", ::fbthrift::TType::I32, 1),
5425        ];
5426        let mut field_s2_max_level = ::std::option::Option::None;
5427        let mut field_s2_max_cells = ::std::option::Option::None;
5428        let _ = p.read_struct_begin(|_| ())?;
5429        loop {
5430            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5431            match (fty, fid as ::std::primitive::i32) {
5432                (::fbthrift::TType::Stop, _) => break,
5433                (::fbthrift::TType::I32, 1) => field_s2_max_level = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5434                (::fbthrift::TType::I32, 2) => field_s2_max_cells = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5435                (fty, _) => p.skip(fty)?,
5436            }
5437            p.read_field_end()?;
5438        }
5439        p.read_struct_end()?;
5440        ::std::result::Result::Ok(Self {
5441            s2_max_level: field_s2_max_level,
5442            s2_max_cells: field_s2_max_cells,
5443            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5444        })
5445    }
5446}
5447
5448
5449#[allow(clippy::derivable_impls)]
5450impl ::std::default::Default for self::IndexItem {
5451    fn default() -> Self {
5452        Self {
5453            index_id: ::std::default::Default::default(),
5454            index_name: ::std::default::Default::default(),
5455            schema_id: ::std::default::Default::default(),
5456            schema_name: ::std::default::Default::default(),
5457            fields: ::std::default::Default::default(),
5458            comment: ::std::option::Option::None,
5459            index_params: ::std::option::Option::None,
5460            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5461        }
5462    }
5463}
5464
5465impl ::std::fmt::Debug for self::IndexItem {
5466    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5467        formatter
5468            .debug_struct("IndexItem")
5469            .field("index_id", &self.index_id)
5470            .field("index_name", &self.index_name)
5471            .field("schema_id", &self.schema_id)
5472            .field("schema_name", &self.schema_name)
5473            .field("fields", &self.fields)
5474            .field("comment", &self.comment)
5475            .field("index_params", &self.index_params)
5476            .finish()
5477    }
5478}
5479
5480unsafe impl ::std::marker::Send for self::IndexItem {}
5481unsafe impl ::std::marker::Sync for self::IndexItem {}
5482
5483impl ::fbthrift::GetTType for self::IndexItem {
5484    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5485}
5486
5487impl<P> ::fbthrift::Serialize<P> for self::IndexItem
5488where
5489    P: ::fbthrift::ProtocolWriter,
5490{
5491    fn write(&self, p: &mut P) {
5492        p.write_struct_begin("IndexItem");
5493        p.write_field_begin("index_id", ::fbthrift::TType::I32, 1);
5494        ::fbthrift::Serialize::write(&self.index_id, p);
5495        p.write_field_end();
5496        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
5497        ::fbthrift::Serialize::write(&self.index_name, p);
5498        p.write_field_end();
5499        p.write_field_begin("schema_id", ::fbthrift::TType::Struct, 3);
5500        ::fbthrift::Serialize::write(&self.schema_id, p);
5501        p.write_field_end();
5502        p.write_field_begin("schema_name", ::fbthrift::TType::String, 4);
5503        ::fbthrift::Serialize::write(&self.schema_name, p);
5504        p.write_field_end();
5505        p.write_field_begin("fields", ::fbthrift::TType::List, 5);
5506        ::fbthrift::Serialize::write(&self.fields, p);
5507        p.write_field_end();
5508        if let ::std::option::Option::Some(some) = &self.comment {
5509            p.write_field_begin("comment", ::fbthrift::TType::String, 6);
5510            ::fbthrift::Serialize::write(some, p);
5511            p.write_field_end();
5512        }
5513        if let ::std::option::Option::Some(some) = &self.index_params {
5514            p.write_field_begin("index_params", ::fbthrift::TType::Struct, 7);
5515            ::fbthrift::Serialize::write(some, p);
5516            p.write_field_end();
5517        }
5518        p.write_field_stop();
5519        p.write_struct_end();
5520    }
5521}
5522
5523impl<P> ::fbthrift::Deserialize<P> for self::IndexItem
5524where
5525    P: ::fbthrift::ProtocolReader,
5526{
5527    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5528        static FIELDS: &[::fbthrift::Field] = &[
5529            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 6),
5530            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 5),
5531            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 1),
5532            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
5533            ::fbthrift::Field::new("index_params", ::fbthrift::TType::Struct, 7),
5534            ::fbthrift::Field::new("schema_id", ::fbthrift::TType::Struct, 3),
5535            ::fbthrift::Field::new("schema_name", ::fbthrift::TType::String, 4),
5536        ];
5537        let mut field_index_id = ::std::option::Option::None;
5538        let mut field_index_name = ::std::option::Option::None;
5539        let mut field_schema_id = ::std::option::Option::None;
5540        let mut field_schema_name = ::std::option::Option::None;
5541        let mut field_fields = ::std::option::Option::None;
5542        let mut field_comment = ::std::option::Option::None;
5543        let mut field_index_params = ::std::option::Option::None;
5544        let _ = p.read_struct_begin(|_| ())?;
5545        loop {
5546            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5547            match (fty, fid as ::std::primitive::i32) {
5548                (::fbthrift::TType::Stop, _) => break,
5549                (::fbthrift::TType::I32, 1) => field_index_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5550                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5551                (::fbthrift::TType::Struct, 3) => field_schema_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5552                (::fbthrift::TType::String, 4) => field_schema_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5553                (::fbthrift::TType::List, 5) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5554                (::fbthrift::TType::String, 6) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5555                (::fbthrift::TType::Struct, 7) => field_index_params = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5556                (fty, _) => p.skip(fty)?,
5557            }
5558            p.read_field_end()?;
5559        }
5560        p.read_struct_end()?;
5561        ::std::result::Result::Ok(Self {
5562            index_id: field_index_id.unwrap_or_default(),
5563            index_name: field_index_name.unwrap_or_default(),
5564            schema_id: field_schema_id.unwrap_or_default(),
5565            schema_name: field_schema_name.unwrap_or_default(),
5566            fields: field_fields.unwrap_or_default(),
5567            comment: field_comment,
5568            index_params: field_index_params,
5569            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5570        })
5571    }
5572}
5573
5574
5575#[allow(clippy::derivable_impls)]
5576impl ::std::default::Default for self::HostItem {
5577    fn default() -> Self {
5578        Self {
5579            hostAddr: ::std::default::Default::default(),
5580            status: ::std::default::Default::default(),
5581            leader_parts: ::std::default::Default::default(),
5582            all_parts: ::std::default::Default::default(),
5583            role: ::std::default::Default::default(),
5584            git_info_sha: ::std::default::Default::default(),
5585            zone_name: ::std::option::Option::None,
5586            version: ::std::option::Option::None,
5587            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5588        }
5589    }
5590}
5591
5592impl ::std::fmt::Debug for self::HostItem {
5593    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5594        formatter
5595            .debug_struct("HostItem")
5596            .field("hostAddr", &self.hostAddr)
5597            .field("status", &self.status)
5598            .field("leader_parts", &self.leader_parts)
5599            .field("all_parts", &self.all_parts)
5600            .field("role", &self.role)
5601            .field("git_info_sha", &self.git_info_sha)
5602            .field("zone_name", &self.zone_name)
5603            .field("version", &self.version)
5604            .finish()
5605    }
5606}
5607
5608unsafe impl ::std::marker::Send for self::HostItem {}
5609unsafe impl ::std::marker::Sync for self::HostItem {}
5610
5611impl ::fbthrift::GetTType for self::HostItem {
5612    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5613}
5614
5615impl<P> ::fbthrift::Serialize<P> for self::HostItem
5616where
5617    P: ::fbthrift::ProtocolWriter,
5618{
5619    fn write(&self, p: &mut P) {
5620        p.write_struct_begin("HostItem");
5621        p.write_field_begin("hostAddr", ::fbthrift::TType::Struct, 1);
5622        ::fbthrift::Serialize::write(&self.hostAddr, p);
5623        p.write_field_end();
5624        p.write_field_begin("status", ::fbthrift::TType::I32, 2);
5625        ::fbthrift::Serialize::write(&self.status, p);
5626        p.write_field_end();
5627        p.write_field_begin("leader_parts", ::fbthrift::TType::Map, 3);
5628        ::fbthrift::Serialize::write(&self.leader_parts, p);
5629        p.write_field_end();
5630        p.write_field_begin("all_parts", ::fbthrift::TType::Map, 4);
5631        ::fbthrift::Serialize::write(&self.all_parts, p);
5632        p.write_field_end();
5633        p.write_field_begin("role", ::fbthrift::TType::I32, 5);
5634        ::fbthrift::Serialize::write(&self.role, p);
5635        p.write_field_end();
5636        p.write_field_begin("git_info_sha", ::fbthrift::TType::String, 6);
5637        ::fbthrift::Serialize::write(&self.git_info_sha, p);
5638        p.write_field_end();
5639        if let ::std::option::Option::Some(some) = &self.zone_name {
5640            p.write_field_begin("zone_name", ::fbthrift::TType::String, 7);
5641            ::fbthrift::Serialize::write(some, p);
5642            p.write_field_end();
5643        }
5644        if let ::std::option::Option::Some(some) = &self.version {
5645            p.write_field_begin("version", ::fbthrift::TType::String, 8);
5646            ::fbthrift::Serialize::write(some, p);
5647            p.write_field_end();
5648        }
5649        p.write_field_stop();
5650        p.write_struct_end();
5651    }
5652}
5653
5654impl<P> ::fbthrift::Deserialize<P> for self::HostItem
5655where
5656    P: ::fbthrift::ProtocolReader,
5657{
5658    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5659        static FIELDS: &[::fbthrift::Field] = &[
5660            ::fbthrift::Field::new("all_parts", ::fbthrift::TType::Map, 4),
5661            ::fbthrift::Field::new("git_info_sha", ::fbthrift::TType::String, 6),
5662            ::fbthrift::Field::new("hostAddr", ::fbthrift::TType::Struct, 1),
5663            ::fbthrift::Field::new("leader_parts", ::fbthrift::TType::Map, 3),
5664            ::fbthrift::Field::new("role", ::fbthrift::TType::I32, 5),
5665            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 2),
5666            ::fbthrift::Field::new("version", ::fbthrift::TType::String, 8),
5667            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 7),
5668        ];
5669        let mut field_hostAddr = ::std::option::Option::None;
5670        let mut field_status = ::std::option::Option::None;
5671        let mut field_leader_parts = ::std::option::Option::None;
5672        let mut field_all_parts = ::std::option::Option::None;
5673        let mut field_role = ::std::option::Option::None;
5674        let mut field_git_info_sha = ::std::option::Option::None;
5675        let mut field_zone_name = ::std::option::Option::None;
5676        let mut field_version = ::std::option::Option::None;
5677        let _ = p.read_struct_begin(|_| ())?;
5678        loop {
5679            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5680            match (fty, fid as ::std::primitive::i32) {
5681                (::fbthrift::TType::Stop, _) => break,
5682                (::fbthrift::TType::Struct, 1) => field_hostAddr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5683                (::fbthrift::TType::I32, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5684                (::fbthrift::TType::Map, 3) => field_leader_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5685                (::fbthrift::TType::Map, 4) => field_all_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5686                (::fbthrift::TType::I32, 5) => field_role = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5687                (::fbthrift::TType::String, 6) => field_git_info_sha = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5688                (::fbthrift::TType::String, 7) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5689                (::fbthrift::TType::String, 8) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5690                (fty, _) => p.skip(fty)?,
5691            }
5692            p.read_field_end()?;
5693        }
5694        p.read_struct_end()?;
5695        ::std::result::Result::Ok(Self {
5696            hostAddr: field_hostAddr.unwrap_or_default(),
5697            status: field_status.unwrap_or_default(),
5698            leader_parts: field_leader_parts.unwrap_or_default(),
5699            all_parts: field_all_parts.unwrap_or_default(),
5700            role: field_role.unwrap_or_default(),
5701            git_info_sha: field_git_info_sha.unwrap_or_default(),
5702            zone_name: field_zone_name,
5703            version: field_version,
5704            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5705        })
5706    }
5707}
5708
5709
5710#[allow(clippy::derivable_impls)]
5711impl ::std::default::Default for self::UserItem {
5712    fn default() -> Self {
5713        Self {
5714            account: ::std::default::Default::default(),
5715            is_lock: ::std::default::Default::default(),
5716            max_queries_per_hour: ::std::default::Default::default(),
5717            max_updates_per_hour: ::std::default::Default::default(),
5718            max_connections_per_hour: ::std::default::Default::default(),
5719            max_user_connections: ::std::default::Default::default(),
5720            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5721        }
5722    }
5723}
5724
5725impl ::std::fmt::Debug for self::UserItem {
5726    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5727        formatter
5728            .debug_struct("UserItem")
5729            .field("account", &self.account)
5730            .field("is_lock", &self.is_lock)
5731            .field("max_queries_per_hour", &self.max_queries_per_hour)
5732            .field("max_updates_per_hour", &self.max_updates_per_hour)
5733            .field("max_connections_per_hour", &self.max_connections_per_hour)
5734            .field("max_user_connections", &self.max_user_connections)
5735            .finish()
5736    }
5737}
5738
5739unsafe impl ::std::marker::Send for self::UserItem {}
5740unsafe impl ::std::marker::Sync for self::UserItem {}
5741
5742impl ::fbthrift::GetTType for self::UserItem {
5743    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5744}
5745
5746impl<P> ::fbthrift::Serialize<P> for self::UserItem
5747where
5748    P: ::fbthrift::ProtocolWriter,
5749{
5750    fn write(&self, p: &mut P) {
5751        p.write_struct_begin("UserItem");
5752        p.write_field_begin("account", ::fbthrift::TType::String, 1);
5753        ::fbthrift::Serialize::write(&self.account, p);
5754        p.write_field_end();
5755        p.write_field_begin("is_lock", ::fbthrift::TType::Bool, 2);
5756        ::fbthrift::Serialize::write(&self.is_lock, p);
5757        p.write_field_end();
5758        p.write_field_begin("max_queries_per_hour", ::fbthrift::TType::I32, 3);
5759        ::fbthrift::Serialize::write(&self.max_queries_per_hour, p);
5760        p.write_field_end();
5761        p.write_field_begin("max_updates_per_hour", ::fbthrift::TType::I32, 4);
5762        ::fbthrift::Serialize::write(&self.max_updates_per_hour, p);
5763        p.write_field_end();
5764        p.write_field_begin("max_connections_per_hour", ::fbthrift::TType::I32, 5);
5765        ::fbthrift::Serialize::write(&self.max_connections_per_hour, p);
5766        p.write_field_end();
5767        p.write_field_begin("max_user_connections", ::fbthrift::TType::I32, 6);
5768        ::fbthrift::Serialize::write(&self.max_user_connections, p);
5769        p.write_field_end();
5770        p.write_field_stop();
5771        p.write_struct_end();
5772    }
5773}
5774
5775impl<P> ::fbthrift::Deserialize<P> for self::UserItem
5776where
5777    P: ::fbthrift::ProtocolReader,
5778{
5779    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5780        static FIELDS: &[::fbthrift::Field] = &[
5781            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
5782            ::fbthrift::Field::new("is_lock", ::fbthrift::TType::Bool, 2),
5783            ::fbthrift::Field::new("max_connections_per_hour", ::fbthrift::TType::I32, 5),
5784            ::fbthrift::Field::new("max_queries_per_hour", ::fbthrift::TType::I32, 3),
5785            ::fbthrift::Field::new("max_updates_per_hour", ::fbthrift::TType::I32, 4),
5786            ::fbthrift::Field::new("max_user_connections", ::fbthrift::TType::I32, 6),
5787        ];
5788        let mut field_account = ::std::option::Option::None;
5789        let mut field_is_lock = ::std::option::Option::None;
5790        let mut field_max_queries_per_hour = ::std::option::Option::None;
5791        let mut field_max_updates_per_hour = ::std::option::Option::None;
5792        let mut field_max_connections_per_hour = ::std::option::Option::None;
5793        let mut field_max_user_connections = ::std::option::Option::None;
5794        let _ = p.read_struct_begin(|_| ())?;
5795        loop {
5796            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5797            match (fty, fid as ::std::primitive::i32) {
5798                (::fbthrift::TType::Stop, _) => break,
5799                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5800                (::fbthrift::TType::Bool, 2) => field_is_lock = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5801                (::fbthrift::TType::I32, 3) => field_max_queries_per_hour = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5802                (::fbthrift::TType::I32, 4) => field_max_updates_per_hour = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5803                (::fbthrift::TType::I32, 5) => field_max_connections_per_hour = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5804                (::fbthrift::TType::I32, 6) => field_max_user_connections = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5805                (fty, _) => p.skip(fty)?,
5806            }
5807            p.read_field_end()?;
5808        }
5809        p.read_struct_end()?;
5810        ::std::result::Result::Ok(Self {
5811            account: field_account.unwrap_or_default(),
5812            is_lock: field_is_lock.unwrap_or_default(),
5813            max_queries_per_hour: field_max_queries_per_hour.unwrap_or_default(),
5814            max_updates_per_hour: field_max_updates_per_hour.unwrap_or_default(),
5815            max_connections_per_hour: field_max_connections_per_hour.unwrap_or_default(),
5816            max_user_connections: field_max_user_connections.unwrap_or_default(),
5817            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5818        })
5819    }
5820}
5821
5822
5823#[allow(clippy::derivable_impls)]
5824impl ::std::default::Default for self::RoleItem {
5825    fn default() -> Self {
5826        Self {
5827            user_id: ::std::default::Default::default(),
5828            space_id: ::std::default::Default::default(),
5829            role_type: ::std::default::Default::default(),
5830            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5831        }
5832    }
5833}
5834
5835impl ::std::fmt::Debug for self::RoleItem {
5836    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5837        formatter
5838            .debug_struct("RoleItem")
5839            .field("user_id", &self.user_id)
5840            .field("space_id", &self.space_id)
5841            .field("role_type", &self.role_type)
5842            .finish()
5843    }
5844}
5845
5846unsafe impl ::std::marker::Send for self::RoleItem {}
5847unsafe impl ::std::marker::Sync for self::RoleItem {}
5848
5849impl ::fbthrift::GetTType for self::RoleItem {
5850    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5851}
5852
5853impl<P> ::fbthrift::Serialize<P> for self::RoleItem
5854where
5855    P: ::fbthrift::ProtocolWriter,
5856{
5857    fn write(&self, p: &mut P) {
5858        p.write_struct_begin("RoleItem");
5859        p.write_field_begin("user_id", ::fbthrift::TType::String, 1);
5860        ::fbthrift::Serialize::write(&self.user_id, p);
5861        p.write_field_end();
5862        p.write_field_begin("space_id", ::fbthrift::TType::I32, 2);
5863        ::fbthrift::Serialize::write(&self.space_id, p);
5864        p.write_field_end();
5865        p.write_field_begin("role_type", ::fbthrift::TType::I32, 3);
5866        ::fbthrift::Serialize::write(&self.role_type, p);
5867        p.write_field_end();
5868        p.write_field_stop();
5869        p.write_struct_end();
5870    }
5871}
5872
5873impl<P> ::fbthrift::Deserialize<P> for self::RoleItem
5874where
5875    P: ::fbthrift::ProtocolReader,
5876{
5877    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5878        static FIELDS: &[::fbthrift::Field] = &[
5879            ::fbthrift::Field::new("role_type", ::fbthrift::TType::I32, 3),
5880            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 2),
5881            ::fbthrift::Field::new("user_id", ::fbthrift::TType::String, 1),
5882        ];
5883        let mut field_user_id = ::std::option::Option::None;
5884        let mut field_space_id = ::std::option::Option::None;
5885        let mut field_role_type = ::std::option::Option::None;
5886        let _ = p.read_struct_begin(|_| ())?;
5887        loop {
5888            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5889            match (fty, fid as ::std::primitive::i32) {
5890                (::fbthrift::TType::Stop, _) => break,
5891                (::fbthrift::TType::String, 1) => field_user_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5892                (::fbthrift::TType::I32, 2) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5893                (::fbthrift::TType::I32, 3) => field_role_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5894                (fty, _) => p.skip(fty)?,
5895            }
5896            p.read_field_end()?;
5897        }
5898        p.read_struct_end()?;
5899        ::std::result::Result::Ok(Self {
5900            user_id: field_user_id.unwrap_or_default(),
5901            space_id: field_space_id.unwrap_or_default(),
5902            role_type: field_role_type.unwrap_or_default(),
5903            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5904        })
5905    }
5906}
5907
5908
5909#[allow(clippy::derivable_impls)]
5910impl ::std::default::Default for self::ExecResp {
5911    fn default() -> Self {
5912        Self {
5913            code: ::std::default::Default::default(),
5914            id: ::std::default::Default::default(),
5915            leader: ::std::default::Default::default(),
5916            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5917        }
5918    }
5919}
5920
5921impl ::std::fmt::Debug for self::ExecResp {
5922    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5923        formatter
5924            .debug_struct("ExecResp")
5925            .field("code", &self.code)
5926            .field("id", &self.id)
5927            .field("leader", &self.leader)
5928            .finish()
5929    }
5930}
5931
5932unsafe impl ::std::marker::Send for self::ExecResp {}
5933unsafe impl ::std::marker::Sync for self::ExecResp {}
5934
5935impl ::fbthrift::GetTType for self::ExecResp {
5936    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5937}
5938
5939impl<P> ::fbthrift::Serialize<P> for self::ExecResp
5940where
5941    P: ::fbthrift::ProtocolWriter,
5942{
5943    fn write(&self, p: &mut P) {
5944        p.write_struct_begin("ExecResp");
5945        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
5946        ::fbthrift::Serialize::write(&self.code, p);
5947        p.write_field_end();
5948        p.write_field_begin("id", ::fbthrift::TType::Struct, 2);
5949        ::fbthrift::Serialize::write(&self.id, p);
5950        p.write_field_end();
5951        p.write_field_begin("leader", ::fbthrift::TType::Struct, 3);
5952        ::fbthrift::Serialize::write(&self.leader, p);
5953        p.write_field_end();
5954        p.write_field_stop();
5955        p.write_struct_end();
5956    }
5957}
5958
5959impl<P> ::fbthrift::Deserialize<P> for self::ExecResp
5960where
5961    P: ::fbthrift::ProtocolReader,
5962{
5963    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5964        static FIELDS: &[::fbthrift::Field] = &[
5965            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
5966            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 2),
5967            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 3),
5968        ];
5969        let mut field_code = ::std::option::Option::None;
5970        let mut field_id = ::std::option::Option::None;
5971        let mut field_leader = ::std::option::Option::None;
5972        let _ = p.read_struct_begin(|_| ())?;
5973        loop {
5974            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5975            match (fty, fid as ::std::primitive::i32) {
5976                (::fbthrift::TType::Stop, _) => break,
5977                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5978                (::fbthrift::TType::Struct, 2) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5979                (::fbthrift::TType::Struct, 3) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5980                (fty, _) => p.skip(fty)?,
5981            }
5982            p.read_field_end()?;
5983        }
5984        p.read_struct_end()?;
5985        ::std::result::Result::Ok(Self {
5986            code: field_code.unwrap_or_default(),
5987            id: field_id.unwrap_or_default(),
5988            leader: field_leader.unwrap_or_default(),
5989            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5990        })
5991    }
5992}
5993
5994
5995#[allow(clippy::derivable_impls)]
5996impl ::std::default::Default for self::AlterSpaceReq {
5997    fn default() -> Self {
5998        Self {
5999            space_name: ::std::default::Default::default(),
6000            op: ::std::default::Default::default(),
6001            paras: ::std::default::Default::default(),
6002            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6003        }
6004    }
6005}
6006
6007impl ::std::fmt::Debug for self::AlterSpaceReq {
6008    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6009        formatter
6010            .debug_struct("AlterSpaceReq")
6011            .field("space_name", &self.space_name)
6012            .field("op", &self.op)
6013            .field("paras", &self.paras)
6014            .finish()
6015    }
6016}
6017
6018unsafe impl ::std::marker::Send for self::AlterSpaceReq {}
6019unsafe impl ::std::marker::Sync for self::AlterSpaceReq {}
6020
6021impl ::fbthrift::GetTType for self::AlterSpaceReq {
6022    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6023}
6024
6025impl<P> ::fbthrift::Serialize<P> for self::AlterSpaceReq
6026where
6027    P: ::fbthrift::ProtocolWriter,
6028{
6029    fn write(&self, p: &mut P) {
6030        p.write_struct_begin("AlterSpaceReq");
6031        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
6032        ::fbthrift::Serialize::write(&self.space_name, p);
6033        p.write_field_end();
6034        p.write_field_begin("op", ::fbthrift::TType::I32, 2);
6035        ::fbthrift::Serialize::write(&self.op, p);
6036        p.write_field_end();
6037        p.write_field_begin("paras", ::fbthrift::TType::List, 3);
6038        ::fbthrift::Serialize::write(&self.paras, p);
6039        p.write_field_end();
6040        p.write_field_stop();
6041        p.write_struct_end();
6042    }
6043}
6044
6045impl<P> ::fbthrift::Deserialize<P> for self::AlterSpaceReq
6046where
6047    P: ::fbthrift::ProtocolReader,
6048{
6049    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6050        static FIELDS: &[::fbthrift::Field] = &[
6051            ::fbthrift::Field::new("op", ::fbthrift::TType::I32, 2),
6052            ::fbthrift::Field::new("paras", ::fbthrift::TType::List, 3),
6053            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
6054        ];
6055        let mut field_space_name = ::std::option::Option::None;
6056        let mut field_op = ::std::option::Option::None;
6057        let mut field_paras = ::std::option::Option::None;
6058        let _ = p.read_struct_begin(|_| ())?;
6059        loop {
6060            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6061            match (fty, fid as ::std::primitive::i32) {
6062                (::fbthrift::TType::Stop, _) => break,
6063                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6064                (::fbthrift::TType::I32, 2) => field_op = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6065                (::fbthrift::TType::List, 3) => field_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6066                (fty, _) => p.skip(fty)?,
6067            }
6068            p.read_field_end()?;
6069        }
6070        p.read_struct_end()?;
6071        ::std::result::Result::Ok(Self {
6072            space_name: field_space_name.unwrap_or_default(),
6073            op: field_op.unwrap_or_default(),
6074            paras: field_paras.unwrap_or_default(),
6075            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6076        })
6077    }
6078}
6079
6080
6081#[allow(clippy::derivable_impls)]
6082impl ::std::default::Default for self::AdminJobReq {
6083    fn default() -> Self {
6084        Self {
6085            space_id: ::std::default::Default::default(),
6086            op: ::std::default::Default::default(),
6087            r#type: ::std::default::Default::default(),
6088            paras: ::std::default::Default::default(),
6089            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6090        }
6091    }
6092}
6093
6094impl ::std::fmt::Debug for self::AdminJobReq {
6095    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6096        formatter
6097            .debug_struct("AdminJobReq")
6098            .field("space_id", &self.space_id)
6099            .field("op", &self.op)
6100            .field("r#type", &self.r#type)
6101            .field("paras", &self.paras)
6102            .finish()
6103    }
6104}
6105
6106unsafe impl ::std::marker::Send for self::AdminJobReq {}
6107unsafe impl ::std::marker::Sync for self::AdminJobReq {}
6108
6109impl ::fbthrift::GetTType for self::AdminJobReq {
6110    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6111}
6112
6113impl<P> ::fbthrift::Serialize<P> for self::AdminJobReq
6114where
6115    P: ::fbthrift::ProtocolWriter,
6116{
6117    fn write(&self, p: &mut P) {
6118        p.write_struct_begin("AdminJobReq");
6119        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6120        ::fbthrift::Serialize::write(&self.space_id, p);
6121        p.write_field_end();
6122        p.write_field_begin("op", ::fbthrift::TType::I32, 2);
6123        ::fbthrift::Serialize::write(&self.op, p);
6124        p.write_field_end();
6125        p.write_field_begin("type", ::fbthrift::TType::I32, 3);
6126        ::fbthrift::Serialize::write(&self.r#type, p);
6127        p.write_field_end();
6128        p.write_field_begin("paras", ::fbthrift::TType::List, 4);
6129        ::fbthrift::Serialize::write(&self.paras, p);
6130        p.write_field_end();
6131        p.write_field_stop();
6132        p.write_struct_end();
6133    }
6134}
6135
6136impl<P> ::fbthrift::Deserialize<P> for self::AdminJobReq
6137where
6138    P: ::fbthrift::ProtocolReader,
6139{
6140    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6141        static FIELDS: &[::fbthrift::Field] = &[
6142            ::fbthrift::Field::new("op", ::fbthrift::TType::I32, 2),
6143            ::fbthrift::Field::new("paras", ::fbthrift::TType::List, 4),
6144            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6145            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 3),
6146        ];
6147        let mut field_space_id = ::std::option::Option::None;
6148        let mut field_op = ::std::option::Option::None;
6149        let mut field_type = ::std::option::Option::None;
6150        let mut field_paras = ::std::option::Option::None;
6151        let _ = p.read_struct_begin(|_| ())?;
6152        loop {
6153            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6154            match (fty, fid as ::std::primitive::i32) {
6155                (::fbthrift::TType::Stop, _) => break,
6156                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6157                (::fbthrift::TType::I32, 2) => field_op = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6158                (::fbthrift::TType::I32, 3) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6159                (::fbthrift::TType::List, 4) => field_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6160                (fty, _) => p.skip(fty)?,
6161            }
6162            p.read_field_end()?;
6163        }
6164        p.read_struct_end()?;
6165        ::std::result::Result::Ok(Self {
6166            space_id: field_space_id.unwrap_or_default(),
6167            op: field_op.unwrap_or_default(),
6168            r#type: field_type.unwrap_or_default(),
6169            paras: field_paras.unwrap_or_default(),
6170            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6171        })
6172    }
6173}
6174
6175
6176#[allow(clippy::derivable_impls)]
6177impl ::std::default::Default for self::JobDesc {
6178    fn default() -> Self {
6179        Self {
6180            space_id: ::std::default::Default::default(),
6181            job_id: ::std::default::Default::default(),
6182            r#type: ::std::default::Default::default(),
6183            paras: ::std::default::Default::default(),
6184            status: ::std::default::Default::default(),
6185            start_time: ::std::default::Default::default(),
6186            stop_time: ::std::default::Default::default(),
6187            code: ::std::default::Default::default(),
6188            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6189        }
6190    }
6191}
6192
6193impl ::std::fmt::Debug for self::JobDesc {
6194    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6195        formatter
6196            .debug_struct("JobDesc")
6197            .field("space_id", &self.space_id)
6198            .field("job_id", &self.job_id)
6199            .field("r#type", &self.r#type)
6200            .field("paras", &self.paras)
6201            .field("status", &self.status)
6202            .field("start_time", &self.start_time)
6203            .field("stop_time", &self.stop_time)
6204            .field("code", &self.code)
6205            .finish()
6206    }
6207}
6208
6209unsafe impl ::std::marker::Send for self::JobDesc {}
6210unsafe impl ::std::marker::Sync for self::JobDesc {}
6211
6212impl ::fbthrift::GetTType for self::JobDesc {
6213    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6214}
6215
6216impl<P> ::fbthrift::Serialize<P> for self::JobDesc
6217where
6218    P: ::fbthrift::ProtocolWriter,
6219{
6220    fn write(&self, p: &mut P) {
6221        p.write_struct_begin("JobDesc");
6222        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6223        ::fbthrift::Serialize::write(&self.space_id, p);
6224        p.write_field_end();
6225        p.write_field_begin("job_id", ::fbthrift::TType::I32, 2);
6226        ::fbthrift::Serialize::write(&self.job_id, p);
6227        p.write_field_end();
6228        p.write_field_begin("type", ::fbthrift::TType::I32, 3);
6229        ::fbthrift::Serialize::write(&self.r#type, p);
6230        p.write_field_end();
6231        p.write_field_begin("paras", ::fbthrift::TType::List, 4);
6232        ::fbthrift::Serialize::write(&self.paras, p);
6233        p.write_field_end();
6234        p.write_field_begin("status", ::fbthrift::TType::I32, 5);
6235        ::fbthrift::Serialize::write(&self.status, p);
6236        p.write_field_end();
6237        p.write_field_begin("start_time", ::fbthrift::TType::I64, 6);
6238        ::fbthrift::Serialize::write(&self.start_time, p);
6239        p.write_field_end();
6240        p.write_field_begin("stop_time", ::fbthrift::TType::I64, 7);
6241        ::fbthrift::Serialize::write(&self.stop_time, p);
6242        p.write_field_end();
6243        p.write_field_begin("code", ::fbthrift::TType::I32, 8);
6244        ::fbthrift::Serialize::write(&self.code, p);
6245        p.write_field_end();
6246        p.write_field_stop();
6247        p.write_struct_end();
6248    }
6249}
6250
6251impl<P> ::fbthrift::Deserialize<P> for self::JobDesc
6252where
6253    P: ::fbthrift::ProtocolReader,
6254{
6255    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6256        static FIELDS: &[::fbthrift::Field] = &[
6257            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 8),
6258            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 2),
6259            ::fbthrift::Field::new("paras", ::fbthrift::TType::List, 4),
6260            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6261            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 6),
6262            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 5),
6263            ::fbthrift::Field::new("stop_time", ::fbthrift::TType::I64, 7),
6264            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 3),
6265        ];
6266        let mut field_space_id = ::std::option::Option::None;
6267        let mut field_job_id = ::std::option::Option::None;
6268        let mut field_type = ::std::option::Option::None;
6269        let mut field_paras = ::std::option::Option::None;
6270        let mut field_status = ::std::option::Option::None;
6271        let mut field_start_time = ::std::option::Option::None;
6272        let mut field_stop_time = ::std::option::Option::None;
6273        let mut field_code = ::std::option::Option::None;
6274        let _ = p.read_struct_begin(|_| ())?;
6275        loop {
6276            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6277            match (fty, fid as ::std::primitive::i32) {
6278                (::fbthrift::TType::Stop, _) => break,
6279                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6280                (::fbthrift::TType::I32, 2) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6281                (::fbthrift::TType::I32, 3) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6282                (::fbthrift::TType::List, 4) => field_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6283                (::fbthrift::TType::I32, 5) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6284                (::fbthrift::TType::I64, 6) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6285                (::fbthrift::TType::I64, 7) => field_stop_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6286                (::fbthrift::TType::I32, 8) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6287                (fty, _) => p.skip(fty)?,
6288            }
6289            p.read_field_end()?;
6290        }
6291        p.read_struct_end()?;
6292        ::std::result::Result::Ok(Self {
6293            space_id: field_space_id.unwrap_or_default(),
6294            job_id: field_job_id.unwrap_or_default(),
6295            r#type: field_type.unwrap_or_default(),
6296            paras: field_paras.unwrap_or_default(),
6297            status: field_status.unwrap_or_default(),
6298            start_time: field_start_time.unwrap_or_default(),
6299            stop_time: field_stop_time.unwrap_or_default(),
6300            code: field_code.unwrap_or_default(),
6301            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6302        })
6303    }
6304}
6305
6306
6307#[allow(clippy::derivable_impls)]
6308impl ::std::default::Default for self::TaskDesc {
6309    fn default() -> Self {
6310        Self {
6311            space_id: ::std::default::Default::default(),
6312            job_id: ::std::default::Default::default(),
6313            task_id: ::std::default::Default::default(),
6314            host: ::std::default::Default::default(),
6315            status: ::std::default::Default::default(),
6316            start_time: ::std::default::Default::default(),
6317            stop_time: ::std::default::Default::default(),
6318            code: ::std::default::Default::default(),
6319            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6320        }
6321    }
6322}
6323
6324impl ::std::fmt::Debug for self::TaskDesc {
6325    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6326        formatter
6327            .debug_struct("TaskDesc")
6328            .field("space_id", &self.space_id)
6329            .field("job_id", &self.job_id)
6330            .field("task_id", &self.task_id)
6331            .field("host", &self.host)
6332            .field("status", &self.status)
6333            .field("start_time", &self.start_time)
6334            .field("stop_time", &self.stop_time)
6335            .field("code", &self.code)
6336            .finish()
6337    }
6338}
6339
6340unsafe impl ::std::marker::Send for self::TaskDesc {}
6341unsafe impl ::std::marker::Sync for self::TaskDesc {}
6342
6343impl ::fbthrift::GetTType for self::TaskDesc {
6344    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6345}
6346
6347impl<P> ::fbthrift::Serialize<P> for self::TaskDesc
6348where
6349    P: ::fbthrift::ProtocolWriter,
6350{
6351    fn write(&self, p: &mut P) {
6352        p.write_struct_begin("TaskDesc");
6353        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6354        ::fbthrift::Serialize::write(&self.space_id, p);
6355        p.write_field_end();
6356        p.write_field_begin("job_id", ::fbthrift::TType::I32, 2);
6357        ::fbthrift::Serialize::write(&self.job_id, p);
6358        p.write_field_end();
6359        p.write_field_begin("task_id", ::fbthrift::TType::I32, 3);
6360        ::fbthrift::Serialize::write(&self.task_id, p);
6361        p.write_field_end();
6362        p.write_field_begin("host", ::fbthrift::TType::Struct, 4);
6363        ::fbthrift::Serialize::write(&self.host, p);
6364        p.write_field_end();
6365        p.write_field_begin("status", ::fbthrift::TType::I32, 5);
6366        ::fbthrift::Serialize::write(&self.status, p);
6367        p.write_field_end();
6368        p.write_field_begin("start_time", ::fbthrift::TType::I64, 6);
6369        ::fbthrift::Serialize::write(&self.start_time, p);
6370        p.write_field_end();
6371        p.write_field_begin("stop_time", ::fbthrift::TType::I64, 7);
6372        ::fbthrift::Serialize::write(&self.stop_time, p);
6373        p.write_field_end();
6374        p.write_field_begin("code", ::fbthrift::TType::I32, 8);
6375        ::fbthrift::Serialize::write(&self.code, p);
6376        p.write_field_end();
6377        p.write_field_stop();
6378        p.write_struct_end();
6379    }
6380}
6381
6382impl<P> ::fbthrift::Deserialize<P> for self::TaskDesc
6383where
6384    P: ::fbthrift::ProtocolReader,
6385{
6386    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6387        static FIELDS: &[::fbthrift::Field] = &[
6388            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 8),
6389            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 4),
6390            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 2),
6391            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6392            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 6),
6393            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 5),
6394            ::fbthrift::Field::new("stop_time", ::fbthrift::TType::I64, 7),
6395            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 3),
6396        ];
6397        let mut field_space_id = ::std::option::Option::None;
6398        let mut field_job_id = ::std::option::Option::None;
6399        let mut field_task_id = ::std::option::Option::None;
6400        let mut field_host = ::std::option::Option::None;
6401        let mut field_status = ::std::option::Option::None;
6402        let mut field_start_time = ::std::option::Option::None;
6403        let mut field_stop_time = ::std::option::Option::None;
6404        let mut field_code = ::std::option::Option::None;
6405        let _ = p.read_struct_begin(|_| ())?;
6406        loop {
6407            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6408            match (fty, fid as ::std::primitive::i32) {
6409                (::fbthrift::TType::Stop, _) => break,
6410                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6411                (::fbthrift::TType::I32, 2) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6412                (::fbthrift::TType::I32, 3) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6413                (::fbthrift::TType::Struct, 4) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6414                (::fbthrift::TType::I32, 5) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6415                (::fbthrift::TType::I64, 6) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6416                (::fbthrift::TType::I64, 7) => field_stop_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6417                (::fbthrift::TType::I32, 8) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6418                (fty, _) => p.skip(fty)?,
6419            }
6420            p.read_field_end()?;
6421        }
6422        p.read_struct_end()?;
6423        ::std::result::Result::Ok(Self {
6424            space_id: field_space_id.unwrap_or_default(),
6425            job_id: field_job_id.unwrap_or_default(),
6426            task_id: field_task_id.unwrap_or_default(),
6427            host: field_host.unwrap_or_default(),
6428            status: field_status.unwrap_or_default(),
6429            start_time: field_start_time.unwrap_or_default(),
6430            stop_time: field_stop_time.unwrap_or_default(),
6431            code: field_code.unwrap_or_default(),
6432            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6433        })
6434    }
6435}
6436
6437
6438#[allow(clippy::derivable_impls)]
6439impl ::std::default::Default for self::AdminJobResult {
6440    fn default() -> Self {
6441        Self {
6442            job_id: ::std::option::Option::None,
6443            job_desc: ::std::option::Option::None,
6444            task_desc: ::std::option::Option::None,
6445            recovered_job_num: ::std::option::Option::None,
6446            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6447        }
6448    }
6449}
6450
6451impl ::std::fmt::Debug for self::AdminJobResult {
6452    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6453        formatter
6454            .debug_struct("AdminJobResult")
6455            .field("job_id", &self.job_id)
6456            .field("job_desc", &self.job_desc)
6457            .field("task_desc", &self.task_desc)
6458            .field("recovered_job_num", &self.recovered_job_num)
6459            .finish()
6460    }
6461}
6462
6463unsafe impl ::std::marker::Send for self::AdminJobResult {}
6464unsafe impl ::std::marker::Sync for self::AdminJobResult {}
6465
6466impl ::fbthrift::GetTType for self::AdminJobResult {
6467    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6468}
6469
6470impl<P> ::fbthrift::Serialize<P> for self::AdminJobResult
6471where
6472    P: ::fbthrift::ProtocolWriter,
6473{
6474    fn write(&self, p: &mut P) {
6475        p.write_struct_begin("AdminJobResult");
6476        if let ::std::option::Option::Some(some) = &self.job_id {
6477            p.write_field_begin("job_id", ::fbthrift::TType::I32, 1);
6478            ::fbthrift::Serialize::write(some, p);
6479            p.write_field_end();
6480        }
6481        if let ::std::option::Option::Some(some) = &self.job_desc {
6482            p.write_field_begin("job_desc", ::fbthrift::TType::List, 2);
6483            ::fbthrift::Serialize::write(some, p);
6484            p.write_field_end();
6485        }
6486        if let ::std::option::Option::Some(some) = &self.task_desc {
6487            p.write_field_begin("task_desc", ::fbthrift::TType::List, 3);
6488            ::fbthrift::Serialize::write(some, p);
6489            p.write_field_end();
6490        }
6491        if let ::std::option::Option::Some(some) = &self.recovered_job_num {
6492            p.write_field_begin("recovered_job_num", ::fbthrift::TType::I32, 4);
6493            ::fbthrift::Serialize::write(some, p);
6494            p.write_field_end();
6495        }
6496        p.write_field_stop();
6497        p.write_struct_end();
6498    }
6499}
6500
6501impl<P> ::fbthrift::Deserialize<P> for self::AdminJobResult
6502where
6503    P: ::fbthrift::ProtocolReader,
6504{
6505    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6506        static FIELDS: &[::fbthrift::Field] = &[
6507            ::fbthrift::Field::new("job_desc", ::fbthrift::TType::List, 2),
6508            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 1),
6509            ::fbthrift::Field::new("recovered_job_num", ::fbthrift::TType::I32, 4),
6510            ::fbthrift::Field::new("task_desc", ::fbthrift::TType::List, 3),
6511        ];
6512        let mut field_job_id = ::std::option::Option::None;
6513        let mut field_job_desc = ::std::option::Option::None;
6514        let mut field_task_desc = ::std::option::Option::None;
6515        let mut field_recovered_job_num = ::std::option::Option::None;
6516        let _ = p.read_struct_begin(|_| ())?;
6517        loop {
6518            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6519            match (fty, fid as ::std::primitive::i32) {
6520                (::fbthrift::TType::Stop, _) => break,
6521                (::fbthrift::TType::I32, 1) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6522                (::fbthrift::TType::List, 2) => field_job_desc = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6523                (::fbthrift::TType::List, 3) => field_task_desc = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6524                (::fbthrift::TType::I32, 4) => field_recovered_job_num = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6525                (fty, _) => p.skip(fty)?,
6526            }
6527            p.read_field_end()?;
6528        }
6529        p.read_struct_end()?;
6530        ::std::result::Result::Ok(Self {
6531            job_id: field_job_id,
6532            job_desc: field_job_desc,
6533            task_desc: field_task_desc,
6534            recovered_job_num: field_recovered_job_num,
6535            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6536        })
6537    }
6538}
6539
6540
6541#[allow(clippy::derivable_impls)]
6542impl ::std::default::Default for self::AdminJobResp {
6543    fn default() -> Self {
6544        Self {
6545            code: ::std::default::Default::default(),
6546            leader: ::std::default::Default::default(),
6547            result: ::std::default::Default::default(),
6548            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6549        }
6550    }
6551}
6552
6553impl ::std::fmt::Debug for self::AdminJobResp {
6554    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6555        formatter
6556            .debug_struct("AdminJobResp")
6557            .field("code", &self.code)
6558            .field("leader", &self.leader)
6559            .field("result", &self.result)
6560            .finish()
6561    }
6562}
6563
6564unsafe impl ::std::marker::Send for self::AdminJobResp {}
6565unsafe impl ::std::marker::Sync for self::AdminJobResp {}
6566
6567impl ::fbthrift::GetTType for self::AdminJobResp {
6568    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6569}
6570
6571impl<P> ::fbthrift::Serialize<P> for self::AdminJobResp
6572where
6573    P: ::fbthrift::ProtocolWriter,
6574{
6575    fn write(&self, p: &mut P) {
6576        p.write_struct_begin("AdminJobResp");
6577        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
6578        ::fbthrift::Serialize::write(&self.code, p);
6579        p.write_field_end();
6580        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
6581        ::fbthrift::Serialize::write(&self.leader, p);
6582        p.write_field_end();
6583        p.write_field_begin("result", ::fbthrift::TType::Struct, 3);
6584        ::fbthrift::Serialize::write(&self.result, p);
6585        p.write_field_end();
6586        p.write_field_stop();
6587        p.write_struct_end();
6588    }
6589}
6590
6591impl<P> ::fbthrift::Deserialize<P> for self::AdminJobResp
6592where
6593    P: ::fbthrift::ProtocolReader,
6594{
6595    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6596        static FIELDS: &[::fbthrift::Field] = &[
6597            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
6598            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
6599            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 3),
6600        ];
6601        let mut field_code = ::std::option::Option::None;
6602        let mut field_leader = ::std::option::Option::None;
6603        let mut field_result = ::std::option::Option::None;
6604        let _ = p.read_struct_begin(|_| ())?;
6605        loop {
6606            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6607            match (fty, fid as ::std::primitive::i32) {
6608                (::fbthrift::TType::Stop, _) => break,
6609                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6610                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6611                (::fbthrift::TType::Struct, 3) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6612                (fty, _) => p.skip(fty)?,
6613            }
6614            p.read_field_end()?;
6615        }
6616        p.read_struct_end()?;
6617        ::std::result::Result::Ok(Self {
6618            code: field_code.unwrap_or_default(),
6619            leader: field_leader.unwrap_or_default(),
6620            result: field_result.unwrap_or_default(),
6621            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6622        })
6623    }
6624}
6625
6626
6627#[allow(clippy::derivable_impls)]
6628impl ::std::default::Default for self::Correlativity {
6629    fn default() -> Self {
6630        Self {
6631            part_id: ::std::default::Default::default(),
6632            proportion: ::std::default::Default::default(),
6633            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6634        }
6635    }
6636}
6637
6638impl ::std::fmt::Debug for self::Correlativity {
6639    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6640        formatter
6641            .debug_struct("Correlativity")
6642            .field("part_id", &self.part_id)
6643            .field("proportion", &self.proportion)
6644            .finish()
6645    }
6646}
6647
6648unsafe impl ::std::marker::Send for self::Correlativity {}
6649unsafe impl ::std::marker::Sync for self::Correlativity {}
6650
6651impl ::fbthrift::GetTType for self::Correlativity {
6652    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6653}
6654
6655impl<P> ::fbthrift::Serialize<P> for self::Correlativity
6656where
6657    P: ::fbthrift::ProtocolWriter,
6658{
6659    fn write(&self, p: &mut P) {
6660        p.write_struct_begin("Correlativity");
6661        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
6662        ::fbthrift::Serialize::write(&self.part_id, p);
6663        p.write_field_end();
6664        p.write_field_begin("proportion", ::fbthrift::TType::Double, 2);
6665        ::fbthrift::Serialize::write(&self.proportion, p);
6666        p.write_field_end();
6667        p.write_field_stop();
6668        p.write_struct_end();
6669    }
6670}
6671
6672impl<P> ::fbthrift::Deserialize<P> for self::Correlativity
6673where
6674    P: ::fbthrift::ProtocolReader,
6675{
6676    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6677        static FIELDS: &[::fbthrift::Field] = &[
6678            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
6679            ::fbthrift::Field::new("proportion", ::fbthrift::TType::Double, 2),
6680        ];
6681        let mut field_part_id = ::std::option::Option::None;
6682        let mut field_proportion = ::std::option::Option::None;
6683        let _ = p.read_struct_begin(|_| ())?;
6684        loop {
6685            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6686            match (fty, fid as ::std::primitive::i32) {
6687                (::fbthrift::TType::Stop, _) => break,
6688                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6689                (::fbthrift::TType::Double, 2) => field_proportion = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6690                (fty, _) => p.skip(fty)?,
6691            }
6692            p.read_field_end()?;
6693        }
6694        p.read_struct_end()?;
6695        ::std::result::Result::Ok(Self {
6696            part_id: field_part_id.unwrap_or_default(),
6697            proportion: field_proportion.unwrap_or_default(),
6698            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6699        })
6700    }
6701}
6702
6703
6704#[allow(clippy::derivable_impls)]
6705impl ::std::default::Default for self::StatsItem {
6706    fn default() -> Self {
6707        Self {
6708            tag_vertices: ::std::default::Default::default(),
6709            edges: ::std::default::Default::default(),
6710            space_vertices: ::std::default::Default::default(),
6711            space_edges: ::std::default::Default::default(),
6712            positive_part_correlativity: ::std::default::Default::default(),
6713            negative_part_correlativity: ::std::default::Default::default(),
6714            status: ::std::default::Default::default(),
6715            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6716        }
6717    }
6718}
6719
6720impl ::std::fmt::Debug for self::StatsItem {
6721    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6722        formatter
6723            .debug_struct("StatsItem")
6724            .field("tag_vertices", &self.tag_vertices)
6725            .field("edges", &self.edges)
6726            .field("space_vertices", &self.space_vertices)
6727            .field("space_edges", &self.space_edges)
6728            .field("positive_part_correlativity", &self.positive_part_correlativity)
6729            .field("negative_part_correlativity", &self.negative_part_correlativity)
6730            .field("status", &self.status)
6731            .finish()
6732    }
6733}
6734
6735unsafe impl ::std::marker::Send for self::StatsItem {}
6736unsafe impl ::std::marker::Sync for self::StatsItem {}
6737
6738impl ::fbthrift::GetTType for self::StatsItem {
6739    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6740}
6741
6742impl<P> ::fbthrift::Serialize<P> for self::StatsItem
6743where
6744    P: ::fbthrift::ProtocolWriter,
6745{
6746    fn write(&self, p: &mut P) {
6747        p.write_struct_begin("StatsItem");
6748        p.write_field_begin("tag_vertices", ::fbthrift::TType::Map, 1);
6749        ::fbthrift::Serialize::write(&self.tag_vertices, p);
6750        p.write_field_end();
6751        p.write_field_begin("edges", ::fbthrift::TType::Map, 2);
6752        ::fbthrift::Serialize::write(&self.edges, p);
6753        p.write_field_end();
6754        p.write_field_begin("space_vertices", ::fbthrift::TType::I64, 3);
6755        ::fbthrift::Serialize::write(&self.space_vertices, p);
6756        p.write_field_end();
6757        p.write_field_begin("space_edges", ::fbthrift::TType::I64, 4);
6758        ::fbthrift::Serialize::write(&self.space_edges, p);
6759        p.write_field_end();
6760        p.write_field_begin("positive_part_correlativity", ::fbthrift::TType::Map, 5);
6761        ::fbthrift::Serialize::write(&self.positive_part_correlativity, p);
6762        p.write_field_end();
6763        p.write_field_begin("negative_part_correlativity", ::fbthrift::TType::Map, 6);
6764        ::fbthrift::Serialize::write(&self.negative_part_correlativity, p);
6765        p.write_field_end();
6766        p.write_field_begin("status", ::fbthrift::TType::I32, 7);
6767        ::fbthrift::Serialize::write(&self.status, p);
6768        p.write_field_end();
6769        p.write_field_stop();
6770        p.write_struct_end();
6771    }
6772}
6773
6774impl<P> ::fbthrift::Deserialize<P> for self::StatsItem
6775where
6776    P: ::fbthrift::ProtocolReader,
6777{
6778    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6779        static FIELDS: &[::fbthrift::Field] = &[
6780            ::fbthrift::Field::new("edges", ::fbthrift::TType::Map, 2),
6781            ::fbthrift::Field::new("negative_part_correlativity", ::fbthrift::TType::Map, 6),
6782            ::fbthrift::Field::new("positive_part_correlativity", ::fbthrift::TType::Map, 5),
6783            ::fbthrift::Field::new("space_edges", ::fbthrift::TType::I64, 4),
6784            ::fbthrift::Field::new("space_vertices", ::fbthrift::TType::I64, 3),
6785            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 7),
6786            ::fbthrift::Field::new("tag_vertices", ::fbthrift::TType::Map, 1),
6787        ];
6788        let mut field_tag_vertices = ::std::option::Option::None;
6789        let mut field_edges = ::std::option::Option::None;
6790        let mut field_space_vertices = ::std::option::Option::None;
6791        let mut field_space_edges = ::std::option::Option::None;
6792        let mut field_positive_part_correlativity = ::std::option::Option::None;
6793        let mut field_negative_part_correlativity = ::std::option::Option::None;
6794        let mut field_status = ::std::option::Option::None;
6795        let _ = p.read_struct_begin(|_| ())?;
6796        loop {
6797            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6798            match (fty, fid as ::std::primitive::i32) {
6799                (::fbthrift::TType::Stop, _) => break,
6800                (::fbthrift::TType::Map, 1) => field_tag_vertices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6801                (::fbthrift::TType::Map, 2) => field_edges = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6802                (::fbthrift::TType::I64, 3) => field_space_vertices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6803                (::fbthrift::TType::I64, 4) => field_space_edges = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6804                (::fbthrift::TType::Map, 5) => field_positive_part_correlativity = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6805                (::fbthrift::TType::Map, 6) => field_negative_part_correlativity = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6806                (::fbthrift::TType::I32, 7) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6807                (fty, _) => p.skip(fty)?,
6808            }
6809            p.read_field_end()?;
6810        }
6811        p.read_struct_end()?;
6812        ::std::result::Result::Ok(Self {
6813            tag_vertices: field_tag_vertices.unwrap_or_default(),
6814            edges: field_edges.unwrap_or_default(),
6815            space_vertices: field_space_vertices.unwrap_or_default(),
6816            space_edges: field_space_edges.unwrap_or_default(),
6817            positive_part_correlativity: field_positive_part_correlativity.unwrap_or_default(),
6818            negative_part_correlativity: field_negative_part_correlativity.unwrap_or_default(),
6819            status: field_status.unwrap_or_default(),
6820            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6821        })
6822    }
6823}
6824
6825
6826#[allow(clippy::derivable_impls)]
6827impl ::std::default::Default for self::CreateSpaceReq {
6828    fn default() -> Self {
6829        Self {
6830            properties: ::std::default::Default::default(),
6831            if_not_exists: ::std::default::Default::default(),
6832            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6833        }
6834    }
6835}
6836
6837impl ::std::fmt::Debug for self::CreateSpaceReq {
6838    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6839        formatter
6840            .debug_struct("CreateSpaceReq")
6841            .field("properties", &self.properties)
6842            .field("if_not_exists", &self.if_not_exists)
6843            .finish()
6844    }
6845}
6846
6847unsafe impl ::std::marker::Send for self::CreateSpaceReq {}
6848unsafe impl ::std::marker::Sync for self::CreateSpaceReq {}
6849
6850impl ::fbthrift::GetTType for self::CreateSpaceReq {
6851    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6852}
6853
6854impl<P> ::fbthrift::Serialize<P> for self::CreateSpaceReq
6855where
6856    P: ::fbthrift::ProtocolWriter,
6857{
6858    fn write(&self, p: &mut P) {
6859        p.write_struct_begin("CreateSpaceReq");
6860        p.write_field_begin("properties", ::fbthrift::TType::Struct, 1);
6861        ::fbthrift::Serialize::write(&self.properties, p);
6862        p.write_field_end();
6863        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 2);
6864        ::fbthrift::Serialize::write(&self.if_not_exists, p);
6865        p.write_field_end();
6866        p.write_field_stop();
6867        p.write_struct_end();
6868    }
6869}
6870
6871impl<P> ::fbthrift::Deserialize<P> for self::CreateSpaceReq
6872where
6873    P: ::fbthrift::ProtocolReader,
6874{
6875    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6876        static FIELDS: &[::fbthrift::Field] = &[
6877            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 2),
6878            ::fbthrift::Field::new("properties", ::fbthrift::TType::Struct, 1),
6879        ];
6880        let mut field_properties = ::std::option::Option::None;
6881        let mut field_if_not_exists = ::std::option::Option::None;
6882        let _ = p.read_struct_begin(|_| ())?;
6883        loop {
6884            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6885            match (fty, fid as ::std::primitive::i32) {
6886                (::fbthrift::TType::Stop, _) => break,
6887                (::fbthrift::TType::Struct, 1) => field_properties = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6888                (::fbthrift::TType::Bool, 2) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6889                (fty, _) => p.skip(fty)?,
6890            }
6891            p.read_field_end()?;
6892        }
6893        p.read_struct_end()?;
6894        ::std::result::Result::Ok(Self {
6895            properties: field_properties.unwrap_or_default(),
6896            if_not_exists: field_if_not_exists.unwrap_or_default(),
6897            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6898        })
6899    }
6900}
6901
6902
6903#[allow(clippy::derivable_impls)]
6904impl ::std::default::Default for self::CreateSpaceAsReq {
6905    fn default() -> Self {
6906        Self {
6907            old_space_name: ::std::default::Default::default(),
6908            new_space_name: ::std::default::Default::default(),
6909            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6910        }
6911    }
6912}
6913
6914impl ::std::fmt::Debug for self::CreateSpaceAsReq {
6915    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6916        formatter
6917            .debug_struct("CreateSpaceAsReq")
6918            .field("old_space_name", &self.old_space_name)
6919            .field("new_space_name", &self.new_space_name)
6920            .finish()
6921    }
6922}
6923
6924unsafe impl ::std::marker::Send for self::CreateSpaceAsReq {}
6925unsafe impl ::std::marker::Sync for self::CreateSpaceAsReq {}
6926
6927impl ::fbthrift::GetTType for self::CreateSpaceAsReq {
6928    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6929}
6930
6931impl<P> ::fbthrift::Serialize<P> for self::CreateSpaceAsReq
6932where
6933    P: ::fbthrift::ProtocolWriter,
6934{
6935    fn write(&self, p: &mut P) {
6936        p.write_struct_begin("CreateSpaceAsReq");
6937        p.write_field_begin("old_space_name", ::fbthrift::TType::String, 1);
6938        ::fbthrift::Serialize::write(&self.old_space_name, p);
6939        p.write_field_end();
6940        p.write_field_begin("new_space_name", ::fbthrift::TType::String, 2);
6941        ::fbthrift::Serialize::write(&self.new_space_name, p);
6942        p.write_field_end();
6943        p.write_field_stop();
6944        p.write_struct_end();
6945    }
6946}
6947
6948impl<P> ::fbthrift::Deserialize<P> for self::CreateSpaceAsReq
6949where
6950    P: ::fbthrift::ProtocolReader,
6951{
6952    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6953        static FIELDS: &[::fbthrift::Field] = &[
6954            ::fbthrift::Field::new("new_space_name", ::fbthrift::TType::String, 2),
6955            ::fbthrift::Field::new("old_space_name", ::fbthrift::TType::String, 1),
6956        ];
6957        let mut field_old_space_name = ::std::option::Option::None;
6958        let mut field_new_space_name = ::std::option::Option::None;
6959        let _ = p.read_struct_begin(|_| ())?;
6960        loop {
6961            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6962            match (fty, fid as ::std::primitive::i32) {
6963                (::fbthrift::TType::Stop, _) => break,
6964                (::fbthrift::TType::String, 1) => field_old_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6965                (::fbthrift::TType::String, 2) => field_new_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6966                (fty, _) => p.skip(fty)?,
6967            }
6968            p.read_field_end()?;
6969        }
6970        p.read_struct_end()?;
6971        ::std::result::Result::Ok(Self {
6972            old_space_name: field_old_space_name.unwrap_or_default(),
6973            new_space_name: field_new_space_name.unwrap_or_default(),
6974            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6975        })
6976    }
6977}
6978
6979
6980#[allow(clippy::derivable_impls)]
6981impl ::std::default::Default for self::DropSpaceReq {
6982    fn default() -> Self {
6983        Self {
6984            space_name: ::std::default::Default::default(),
6985            if_exists: ::std::default::Default::default(),
6986            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6987        }
6988    }
6989}
6990
6991impl ::std::fmt::Debug for self::DropSpaceReq {
6992    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6993        formatter
6994            .debug_struct("DropSpaceReq")
6995            .field("space_name", &self.space_name)
6996            .field("if_exists", &self.if_exists)
6997            .finish()
6998    }
6999}
7000
7001unsafe impl ::std::marker::Send for self::DropSpaceReq {}
7002unsafe impl ::std::marker::Sync for self::DropSpaceReq {}
7003
7004impl ::fbthrift::GetTType for self::DropSpaceReq {
7005    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7006}
7007
7008impl<P> ::fbthrift::Serialize<P> for self::DropSpaceReq
7009where
7010    P: ::fbthrift::ProtocolWriter,
7011{
7012    fn write(&self, p: &mut P) {
7013        p.write_struct_begin("DropSpaceReq");
7014        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
7015        ::fbthrift::Serialize::write(&self.space_name, p);
7016        p.write_field_end();
7017        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 2);
7018        ::fbthrift::Serialize::write(&self.if_exists, p);
7019        p.write_field_end();
7020        p.write_field_stop();
7021        p.write_struct_end();
7022    }
7023}
7024
7025impl<P> ::fbthrift::Deserialize<P> for self::DropSpaceReq
7026where
7027    P: ::fbthrift::ProtocolReader,
7028{
7029    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7030        static FIELDS: &[::fbthrift::Field] = &[
7031            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 2),
7032            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
7033        ];
7034        let mut field_space_name = ::std::option::Option::None;
7035        let mut field_if_exists = ::std::option::Option::None;
7036        let _ = p.read_struct_begin(|_| ())?;
7037        loop {
7038            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7039            match (fty, fid as ::std::primitive::i32) {
7040                (::fbthrift::TType::Stop, _) => break,
7041                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7042                (::fbthrift::TType::Bool, 2) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7043                (fty, _) => p.skip(fty)?,
7044            }
7045            p.read_field_end()?;
7046        }
7047        p.read_struct_end()?;
7048        ::std::result::Result::Ok(Self {
7049            space_name: field_space_name.unwrap_or_default(),
7050            if_exists: field_if_exists.unwrap_or_default(),
7051            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7052        })
7053    }
7054}
7055
7056
7057#[allow(clippy::derivable_impls)]
7058impl ::std::default::Default for self::ClearSpaceReq {
7059    fn default() -> Self {
7060        Self {
7061            space_name: ::std::default::Default::default(),
7062            if_exists: ::std::default::Default::default(),
7063            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7064        }
7065    }
7066}
7067
7068impl ::std::fmt::Debug for self::ClearSpaceReq {
7069    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7070        formatter
7071            .debug_struct("ClearSpaceReq")
7072            .field("space_name", &self.space_name)
7073            .field("if_exists", &self.if_exists)
7074            .finish()
7075    }
7076}
7077
7078unsafe impl ::std::marker::Send for self::ClearSpaceReq {}
7079unsafe impl ::std::marker::Sync for self::ClearSpaceReq {}
7080
7081impl ::fbthrift::GetTType for self::ClearSpaceReq {
7082    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7083}
7084
7085impl<P> ::fbthrift::Serialize<P> for self::ClearSpaceReq
7086where
7087    P: ::fbthrift::ProtocolWriter,
7088{
7089    fn write(&self, p: &mut P) {
7090        p.write_struct_begin("ClearSpaceReq");
7091        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
7092        ::fbthrift::Serialize::write(&self.space_name, p);
7093        p.write_field_end();
7094        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 2);
7095        ::fbthrift::Serialize::write(&self.if_exists, p);
7096        p.write_field_end();
7097        p.write_field_stop();
7098        p.write_struct_end();
7099    }
7100}
7101
7102impl<P> ::fbthrift::Deserialize<P> for self::ClearSpaceReq
7103where
7104    P: ::fbthrift::ProtocolReader,
7105{
7106    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7107        static FIELDS: &[::fbthrift::Field] = &[
7108            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 2),
7109            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
7110        ];
7111        let mut field_space_name = ::std::option::Option::None;
7112        let mut field_if_exists = ::std::option::Option::None;
7113        let _ = p.read_struct_begin(|_| ())?;
7114        loop {
7115            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7116            match (fty, fid as ::std::primitive::i32) {
7117                (::fbthrift::TType::Stop, _) => break,
7118                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7119                (::fbthrift::TType::Bool, 2) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7120                (fty, _) => p.skip(fty)?,
7121            }
7122            p.read_field_end()?;
7123        }
7124        p.read_struct_end()?;
7125        ::std::result::Result::Ok(Self {
7126            space_name: field_space_name.unwrap_or_default(),
7127            if_exists: field_if_exists.unwrap_or_default(),
7128            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7129        })
7130    }
7131}
7132
7133
7134#[allow(clippy::derivable_impls)]
7135impl ::std::default::Default for self::ListSpacesReq {
7136    fn default() -> Self {
7137        Self {
7138            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7139        }
7140    }
7141}
7142
7143impl ::std::fmt::Debug for self::ListSpacesReq {
7144    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7145        formatter
7146            .debug_struct("ListSpacesReq")
7147            .finish()
7148    }
7149}
7150
7151unsafe impl ::std::marker::Send for self::ListSpacesReq {}
7152unsafe impl ::std::marker::Sync for self::ListSpacesReq {}
7153
7154impl ::fbthrift::GetTType for self::ListSpacesReq {
7155    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7156}
7157
7158impl<P> ::fbthrift::Serialize<P> for self::ListSpacesReq
7159where
7160    P: ::fbthrift::ProtocolWriter,
7161{
7162    fn write(&self, p: &mut P) {
7163        p.write_struct_begin("ListSpacesReq");
7164        p.write_field_stop();
7165        p.write_struct_end();
7166    }
7167}
7168
7169impl<P> ::fbthrift::Deserialize<P> for self::ListSpacesReq
7170where
7171    P: ::fbthrift::ProtocolReader,
7172{
7173    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7174        static FIELDS: &[::fbthrift::Field] = &[
7175        ];
7176        let _ = p.read_struct_begin(|_| ())?;
7177        loop {
7178            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7179            match (fty, fid as ::std::primitive::i32) {
7180                (::fbthrift::TType::Stop, _) => break,
7181                (fty, _) => p.skip(fty)?,
7182            }
7183            p.read_field_end()?;
7184        }
7185        p.read_struct_end()?;
7186        ::std::result::Result::Ok(Self {
7187            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7188        })
7189    }
7190}
7191
7192
7193#[allow(clippy::derivable_impls)]
7194impl ::std::default::Default for self::ListSpacesResp {
7195    fn default() -> Self {
7196        Self {
7197            code: ::std::default::Default::default(),
7198            leader: ::std::default::Default::default(),
7199            spaces: ::std::default::Default::default(),
7200            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7201        }
7202    }
7203}
7204
7205impl ::std::fmt::Debug for self::ListSpacesResp {
7206    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7207        formatter
7208            .debug_struct("ListSpacesResp")
7209            .field("code", &self.code)
7210            .field("leader", &self.leader)
7211            .field("spaces", &self.spaces)
7212            .finish()
7213    }
7214}
7215
7216unsafe impl ::std::marker::Send for self::ListSpacesResp {}
7217unsafe impl ::std::marker::Sync for self::ListSpacesResp {}
7218
7219impl ::fbthrift::GetTType for self::ListSpacesResp {
7220    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7221}
7222
7223impl<P> ::fbthrift::Serialize<P> for self::ListSpacesResp
7224where
7225    P: ::fbthrift::ProtocolWriter,
7226{
7227    fn write(&self, p: &mut P) {
7228        p.write_struct_begin("ListSpacesResp");
7229        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7230        ::fbthrift::Serialize::write(&self.code, p);
7231        p.write_field_end();
7232        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7233        ::fbthrift::Serialize::write(&self.leader, p);
7234        p.write_field_end();
7235        p.write_field_begin("spaces", ::fbthrift::TType::List, 3);
7236        ::fbthrift::Serialize::write(&self.spaces, p);
7237        p.write_field_end();
7238        p.write_field_stop();
7239        p.write_struct_end();
7240    }
7241}
7242
7243impl<P> ::fbthrift::Deserialize<P> for self::ListSpacesResp
7244where
7245    P: ::fbthrift::ProtocolReader,
7246{
7247    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7248        static FIELDS: &[::fbthrift::Field] = &[
7249            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7250            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7251            ::fbthrift::Field::new("spaces", ::fbthrift::TType::List, 3),
7252        ];
7253        let mut field_code = ::std::option::Option::None;
7254        let mut field_leader = ::std::option::Option::None;
7255        let mut field_spaces = ::std::option::Option::None;
7256        let _ = p.read_struct_begin(|_| ())?;
7257        loop {
7258            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7259            match (fty, fid as ::std::primitive::i32) {
7260                (::fbthrift::TType::Stop, _) => break,
7261                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7262                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7263                (::fbthrift::TType::List, 3) => field_spaces = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7264                (fty, _) => p.skip(fty)?,
7265            }
7266            p.read_field_end()?;
7267        }
7268        p.read_struct_end()?;
7269        ::std::result::Result::Ok(Self {
7270            code: field_code.unwrap_or_default(),
7271            leader: field_leader.unwrap_or_default(),
7272            spaces: field_spaces.unwrap_or_default(),
7273            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7274        })
7275    }
7276}
7277
7278
7279#[allow(clippy::derivable_impls)]
7280impl ::std::default::Default for self::GetSpaceReq {
7281    fn default() -> Self {
7282        Self {
7283            space_name: ::std::default::Default::default(),
7284            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7285        }
7286    }
7287}
7288
7289impl ::std::fmt::Debug for self::GetSpaceReq {
7290    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7291        formatter
7292            .debug_struct("GetSpaceReq")
7293            .field("space_name", &self.space_name)
7294            .finish()
7295    }
7296}
7297
7298unsafe impl ::std::marker::Send for self::GetSpaceReq {}
7299unsafe impl ::std::marker::Sync for self::GetSpaceReq {}
7300
7301impl ::fbthrift::GetTType for self::GetSpaceReq {
7302    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7303}
7304
7305impl<P> ::fbthrift::Serialize<P> for self::GetSpaceReq
7306where
7307    P: ::fbthrift::ProtocolWriter,
7308{
7309    fn write(&self, p: &mut P) {
7310        p.write_struct_begin("GetSpaceReq");
7311        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
7312        ::fbthrift::Serialize::write(&self.space_name, p);
7313        p.write_field_end();
7314        p.write_field_stop();
7315        p.write_struct_end();
7316    }
7317}
7318
7319impl<P> ::fbthrift::Deserialize<P> for self::GetSpaceReq
7320where
7321    P: ::fbthrift::ProtocolReader,
7322{
7323    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7324        static FIELDS: &[::fbthrift::Field] = &[
7325            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
7326        ];
7327        let mut field_space_name = ::std::option::Option::None;
7328        let _ = p.read_struct_begin(|_| ())?;
7329        loop {
7330            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7331            match (fty, fid as ::std::primitive::i32) {
7332                (::fbthrift::TType::Stop, _) => break,
7333                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7334                (fty, _) => p.skip(fty)?,
7335            }
7336            p.read_field_end()?;
7337        }
7338        p.read_struct_end()?;
7339        ::std::result::Result::Ok(Self {
7340            space_name: field_space_name.unwrap_or_default(),
7341            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7342        })
7343    }
7344}
7345
7346
7347#[allow(clippy::derivable_impls)]
7348impl ::std::default::Default for self::GetSpaceResp {
7349    fn default() -> Self {
7350        Self {
7351            code: ::std::default::Default::default(),
7352            leader: ::std::default::Default::default(),
7353            item: ::std::default::Default::default(),
7354            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7355        }
7356    }
7357}
7358
7359impl ::std::fmt::Debug for self::GetSpaceResp {
7360    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7361        formatter
7362            .debug_struct("GetSpaceResp")
7363            .field("code", &self.code)
7364            .field("leader", &self.leader)
7365            .field("item", &self.item)
7366            .finish()
7367    }
7368}
7369
7370unsafe impl ::std::marker::Send for self::GetSpaceResp {}
7371unsafe impl ::std::marker::Sync for self::GetSpaceResp {}
7372
7373impl ::fbthrift::GetTType for self::GetSpaceResp {
7374    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7375}
7376
7377impl<P> ::fbthrift::Serialize<P> for self::GetSpaceResp
7378where
7379    P: ::fbthrift::ProtocolWriter,
7380{
7381    fn write(&self, p: &mut P) {
7382        p.write_struct_begin("GetSpaceResp");
7383        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7384        ::fbthrift::Serialize::write(&self.code, p);
7385        p.write_field_end();
7386        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7387        ::fbthrift::Serialize::write(&self.leader, p);
7388        p.write_field_end();
7389        p.write_field_begin("item", ::fbthrift::TType::Struct, 3);
7390        ::fbthrift::Serialize::write(&self.item, p);
7391        p.write_field_end();
7392        p.write_field_stop();
7393        p.write_struct_end();
7394    }
7395}
7396
7397impl<P> ::fbthrift::Deserialize<P> for self::GetSpaceResp
7398where
7399    P: ::fbthrift::ProtocolReader,
7400{
7401    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7402        static FIELDS: &[::fbthrift::Field] = &[
7403            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7404            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 3),
7405            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7406        ];
7407        let mut field_code = ::std::option::Option::None;
7408        let mut field_leader = ::std::option::Option::None;
7409        let mut field_item = ::std::option::Option::None;
7410        let _ = p.read_struct_begin(|_| ())?;
7411        loop {
7412            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7413            match (fty, fid as ::std::primitive::i32) {
7414                (::fbthrift::TType::Stop, _) => break,
7415                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7416                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7417                (::fbthrift::TType::Struct, 3) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7418                (fty, _) => p.skip(fty)?,
7419            }
7420            p.read_field_end()?;
7421        }
7422        p.read_struct_end()?;
7423        ::std::result::Result::Ok(Self {
7424            code: field_code.unwrap_or_default(),
7425            leader: field_leader.unwrap_or_default(),
7426            item: field_item.unwrap_or_default(),
7427            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7428        })
7429    }
7430}
7431
7432
7433#[allow(clippy::derivable_impls)]
7434impl ::std::default::Default for self::CreateTagReq {
7435    fn default() -> Self {
7436        Self {
7437            space_id: ::std::default::Default::default(),
7438            tag_name: ::std::default::Default::default(),
7439            schema: ::std::default::Default::default(),
7440            if_not_exists: ::std::default::Default::default(),
7441            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7442        }
7443    }
7444}
7445
7446impl ::std::fmt::Debug for self::CreateTagReq {
7447    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7448        formatter
7449            .debug_struct("CreateTagReq")
7450            .field("space_id", &self.space_id)
7451            .field("tag_name", &self.tag_name)
7452            .field("schema", &self.schema)
7453            .field("if_not_exists", &self.if_not_exists)
7454            .finish()
7455    }
7456}
7457
7458unsafe impl ::std::marker::Send for self::CreateTagReq {}
7459unsafe impl ::std::marker::Sync for self::CreateTagReq {}
7460
7461impl ::fbthrift::GetTType for self::CreateTagReq {
7462    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7463}
7464
7465impl<P> ::fbthrift::Serialize<P> for self::CreateTagReq
7466where
7467    P: ::fbthrift::ProtocolWriter,
7468{
7469    fn write(&self, p: &mut P) {
7470        p.write_struct_begin("CreateTagReq");
7471        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7472        ::fbthrift::Serialize::write(&self.space_id, p);
7473        p.write_field_end();
7474        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7475        ::fbthrift::Serialize::write(&self.tag_name, p);
7476        p.write_field_end();
7477        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
7478        ::fbthrift::Serialize::write(&self.schema, p);
7479        p.write_field_end();
7480        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
7481        ::fbthrift::Serialize::write(&self.if_not_exists, p);
7482        p.write_field_end();
7483        p.write_field_stop();
7484        p.write_struct_end();
7485    }
7486}
7487
7488impl<P> ::fbthrift::Deserialize<P> for self::CreateTagReq
7489where
7490    P: ::fbthrift::ProtocolReader,
7491{
7492    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7493        static FIELDS: &[::fbthrift::Field] = &[
7494            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
7495            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
7496            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7497            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7498        ];
7499        let mut field_space_id = ::std::option::Option::None;
7500        let mut field_tag_name = ::std::option::Option::None;
7501        let mut field_schema = ::std::option::Option::None;
7502        let mut field_if_not_exists = ::std::option::Option::None;
7503        let _ = p.read_struct_begin(|_| ())?;
7504        loop {
7505            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7506            match (fty, fid as ::std::primitive::i32) {
7507                (::fbthrift::TType::Stop, _) => break,
7508                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7509                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7510                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7511                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7512                (fty, _) => p.skip(fty)?,
7513            }
7514            p.read_field_end()?;
7515        }
7516        p.read_struct_end()?;
7517        ::std::result::Result::Ok(Self {
7518            space_id: field_space_id.unwrap_or_default(),
7519            tag_name: field_tag_name.unwrap_or_default(),
7520            schema: field_schema.unwrap_or_default(),
7521            if_not_exists: field_if_not_exists.unwrap_or_default(),
7522            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7523        })
7524    }
7525}
7526
7527
7528#[allow(clippy::derivable_impls)]
7529impl ::std::default::Default for self::AlterTagReq {
7530    fn default() -> Self {
7531        Self {
7532            space_id: ::std::default::Default::default(),
7533            tag_name: ::std::default::Default::default(),
7534            tag_items: ::std::default::Default::default(),
7535            schema_prop: ::std::default::Default::default(),
7536            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7537        }
7538    }
7539}
7540
7541impl ::std::fmt::Debug for self::AlterTagReq {
7542    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7543        formatter
7544            .debug_struct("AlterTagReq")
7545            .field("space_id", &self.space_id)
7546            .field("tag_name", &self.tag_name)
7547            .field("tag_items", &self.tag_items)
7548            .field("schema_prop", &self.schema_prop)
7549            .finish()
7550    }
7551}
7552
7553unsafe impl ::std::marker::Send for self::AlterTagReq {}
7554unsafe impl ::std::marker::Sync for self::AlterTagReq {}
7555
7556impl ::fbthrift::GetTType for self::AlterTagReq {
7557    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7558}
7559
7560impl<P> ::fbthrift::Serialize<P> for self::AlterTagReq
7561where
7562    P: ::fbthrift::ProtocolWriter,
7563{
7564    fn write(&self, p: &mut P) {
7565        p.write_struct_begin("AlterTagReq");
7566        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7567        ::fbthrift::Serialize::write(&self.space_id, p);
7568        p.write_field_end();
7569        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7570        ::fbthrift::Serialize::write(&self.tag_name, p);
7571        p.write_field_end();
7572        p.write_field_begin("tag_items", ::fbthrift::TType::List, 3);
7573        ::fbthrift::Serialize::write(&self.tag_items, p);
7574        p.write_field_end();
7575        p.write_field_begin("schema_prop", ::fbthrift::TType::Struct, 4);
7576        ::fbthrift::Serialize::write(&self.schema_prop, p);
7577        p.write_field_end();
7578        p.write_field_stop();
7579        p.write_struct_end();
7580    }
7581}
7582
7583impl<P> ::fbthrift::Deserialize<P> for self::AlterTagReq
7584where
7585    P: ::fbthrift::ProtocolReader,
7586{
7587    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7588        static FIELDS: &[::fbthrift::Field] = &[
7589            ::fbthrift::Field::new("schema_prop", ::fbthrift::TType::Struct, 4),
7590            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7591            ::fbthrift::Field::new("tag_items", ::fbthrift::TType::List, 3),
7592            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7593        ];
7594        let mut field_space_id = ::std::option::Option::None;
7595        let mut field_tag_name = ::std::option::Option::None;
7596        let mut field_tag_items = ::std::option::Option::None;
7597        let mut field_schema_prop = ::std::option::Option::None;
7598        let _ = p.read_struct_begin(|_| ())?;
7599        loop {
7600            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7601            match (fty, fid as ::std::primitive::i32) {
7602                (::fbthrift::TType::Stop, _) => break,
7603                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7604                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7605                (::fbthrift::TType::List, 3) => field_tag_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7606                (::fbthrift::TType::Struct, 4) => field_schema_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7607                (fty, _) => p.skip(fty)?,
7608            }
7609            p.read_field_end()?;
7610        }
7611        p.read_struct_end()?;
7612        ::std::result::Result::Ok(Self {
7613            space_id: field_space_id.unwrap_or_default(),
7614            tag_name: field_tag_name.unwrap_or_default(),
7615            tag_items: field_tag_items.unwrap_or_default(),
7616            schema_prop: field_schema_prop.unwrap_or_default(),
7617            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7618        })
7619    }
7620}
7621
7622
7623#[allow(clippy::derivable_impls)]
7624impl ::std::default::Default for self::DropTagReq {
7625    fn default() -> Self {
7626        Self {
7627            space_id: ::std::default::Default::default(),
7628            tag_name: ::std::default::Default::default(),
7629            if_exists: ::std::default::Default::default(),
7630            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7631        }
7632    }
7633}
7634
7635impl ::std::fmt::Debug for self::DropTagReq {
7636    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7637        formatter
7638            .debug_struct("DropTagReq")
7639            .field("space_id", &self.space_id)
7640            .field("tag_name", &self.tag_name)
7641            .field("if_exists", &self.if_exists)
7642            .finish()
7643    }
7644}
7645
7646unsafe impl ::std::marker::Send for self::DropTagReq {}
7647unsafe impl ::std::marker::Sync for self::DropTagReq {}
7648
7649impl ::fbthrift::GetTType for self::DropTagReq {
7650    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7651}
7652
7653impl<P> ::fbthrift::Serialize<P> for self::DropTagReq
7654where
7655    P: ::fbthrift::ProtocolWriter,
7656{
7657    fn write(&self, p: &mut P) {
7658        p.write_struct_begin("DropTagReq");
7659        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7660        ::fbthrift::Serialize::write(&self.space_id, p);
7661        p.write_field_end();
7662        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7663        ::fbthrift::Serialize::write(&self.tag_name, p);
7664        p.write_field_end();
7665        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
7666        ::fbthrift::Serialize::write(&self.if_exists, p);
7667        p.write_field_end();
7668        p.write_field_stop();
7669        p.write_struct_end();
7670    }
7671}
7672
7673impl<P> ::fbthrift::Deserialize<P> for self::DropTagReq
7674where
7675    P: ::fbthrift::ProtocolReader,
7676{
7677    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7678        static FIELDS: &[::fbthrift::Field] = &[
7679            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
7680            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7681            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7682        ];
7683        let mut field_space_id = ::std::option::Option::None;
7684        let mut field_tag_name = ::std::option::Option::None;
7685        let mut field_if_exists = ::std::option::Option::None;
7686        let _ = p.read_struct_begin(|_| ())?;
7687        loop {
7688            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7689            match (fty, fid as ::std::primitive::i32) {
7690                (::fbthrift::TType::Stop, _) => break,
7691                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7692                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7693                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7694                (fty, _) => p.skip(fty)?,
7695            }
7696            p.read_field_end()?;
7697        }
7698        p.read_struct_end()?;
7699        ::std::result::Result::Ok(Self {
7700            space_id: field_space_id.unwrap_or_default(),
7701            tag_name: field_tag_name.unwrap_or_default(),
7702            if_exists: field_if_exists.unwrap_or_default(),
7703            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7704        })
7705    }
7706}
7707
7708
7709#[allow(clippy::derivable_impls)]
7710impl ::std::default::Default for self::ListTagsReq {
7711    fn default() -> Self {
7712        Self {
7713            space_id: ::std::default::Default::default(),
7714            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7715        }
7716    }
7717}
7718
7719impl ::std::fmt::Debug for self::ListTagsReq {
7720    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7721        formatter
7722            .debug_struct("ListTagsReq")
7723            .field("space_id", &self.space_id)
7724            .finish()
7725    }
7726}
7727
7728unsafe impl ::std::marker::Send for self::ListTagsReq {}
7729unsafe impl ::std::marker::Sync for self::ListTagsReq {}
7730
7731impl ::fbthrift::GetTType for self::ListTagsReq {
7732    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7733}
7734
7735impl<P> ::fbthrift::Serialize<P> for self::ListTagsReq
7736where
7737    P: ::fbthrift::ProtocolWriter,
7738{
7739    fn write(&self, p: &mut P) {
7740        p.write_struct_begin("ListTagsReq");
7741        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7742        ::fbthrift::Serialize::write(&self.space_id, p);
7743        p.write_field_end();
7744        p.write_field_stop();
7745        p.write_struct_end();
7746    }
7747}
7748
7749impl<P> ::fbthrift::Deserialize<P> for self::ListTagsReq
7750where
7751    P: ::fbthrift::ProtocolReader,
7752{
7753    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7754        static FIELDS: &[::fbthrift::Field] = &[
7755            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7756        ];
7757        let mut field_space_id = ::std::option::Option::None;
7758        let _ = p.read_struct_begin(|_| ())?;
7759        loop {
7760            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7761            match (fty, fid as ::std::primitive::i32) {
7762                (::fbthrift::TType::Stop, _) => break,
7763                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7764                (fty, _) => p.skip(fty)?,
7765            }
7766            p.read_field_end()?;
7767        }
7768        p.read_struct_end()?;
7769        ::std::result::Result::Ok(Self {
7770            space_id: field_space_id.unwrap_or_default(),
7771            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7772        })
7773    }
7774}
7775
7776
7777#[allow(clippy::derivable_impls)]
7778impl ::std::default::Default for self::ListTagsResp {
7779    fn default() -> Self {
7780        Self {
7781            code: ::std::default::Default::default(),
7782            leader: ::std::default::Default::default(),
7783            tags: ::std::default::Default::default(),
7784            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7785        }
7786    }
7787}
7788
7789impl ::std::fmt::Debug for self::ListTagsResp {
7790    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7791        formatter
7792            .debug_struct("ListTagsResp")
7793            .field("code", &self.code)
7794            .field("leader", &self.leader)
7795            .field("tags", &self.tags)
7796            .finish()
7797    }
7798}
7799
7800unsafe impl ::std::marker::Send for self::ListTagsResp {}
7801unsafe impl ::std::marker::Sync for self::ListTagsResp {}
7802
7803impl ::fbthrift::GetTType for self::ListTagsResp {
7804    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7805}
7806
7807impl<P> ::fbthrift::Serialize<P> for self::ListTagsResp
7808where
7809    P: ::fbthrift::ProtocolWriter,
7810{
7811    fn write(&self, p: &mut P) {
7812        p.write_struct_begin("ListTagsResp");
7813        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7814        ::fbthrift::Serialize::write(&self.code, p);
7815        p.write_field_end();
7816        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7817        ::fbthrift::Serialize::write(&self.leader, p);
7818        p.write_field_end();
7819        p.write_field_begin("tags", ::fbthrift::TType::List, 3);
7820        ::fbthrift::Serialize::write(&self.tags, p);
7821        p.write_field_end();
7822        p.write_field_stop();
7823        p.write_struct_end();
7824    }
7825}
7826
7827impl<P> ::fbthrift::Deserialize<P> for self::ListTagsResp
7828where
7829    P: ::fbthrift::ProtocolReader,
7830{
7831    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7832        static FIELDS: &[::fbthrift::Field] = &[
7833            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7834            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7835            ::fbthrift::Field::new("tags", ::fbthrift::TType::List, 3),
7836        ];
7837        let mut field_code = ::std::option::Option::None;
7838        let mut field_leader = ::std::option::Option::None;
7839        let mut field_tags = ::std::option::Option::None;
7840        let _ = p.read_struct_begin(|_| ())?;
7841        loop {
7842            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7843            match (fty, fid as ::std::primitive::i32) {
7844                (::fbthrift::TType::Stop, _) => break,
7845                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7846                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7847                (::fbthrift::TType::List, 3) => field_tags = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7848                (fty, _) => p.skip(fty)?,
7849            }
7850            p.read_field_end()?;
7851        }
7852        p.read_struct_end()?;
7853        ::std::result::Result::Ok(Self {
7854            code: field_code.unwrap_or_default(),
7855            leader: field_leader.unwrap_or_default(),
7856            tags: field_tags.unwrap_or_default(),
7857            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7858        })
7859    }
7860}
7861
7862
7863#[allow(clippy::derivable_impls)]
7864impl ::std::default::Default for self::GetTagReq {
7865    fn default() -> Self {
7866        Self {
7867            space_id: ::std::default::Default::default(),
7868            tag_name: ::std::default::Default::default(),
7869            version: ::std::default::Default::default(),
7870            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7871        }
7872    }
7873}
7874
7875impl ::std::fmt::Debug for self::GetTagReq {
7876    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7877        formatter
7878            .debug_struct("GetTagReq")
7879            .field("space_id", &self.space_id)
7880            .field("tag_name", &self.tag_name)
7881            .field("version", &self.version)
7882            .finish()
7883    }
7884}
7885
7886unsafe impl ::std::marker::Send for self::GetTagReq {}
7887unsafe impl ::std::marker::Sync for self::GetTagReq {}
7888
7889impl ::fbthrift::GetTType for self::GetTagReq {
7890    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7891}
7892
7893impl<P> ::fbthrift::Serialize<P> for self::GetTagReq
7894where
7895    P: ::fbthrift::ProtocolWriter,
7896{
7897    fn write(&self, p: &mut P) {
7898        p.write_struct_begin("GetTagReq");
7899        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7900        ::fbthrift::Serialize::write(&self.space_id, p);
7901        p.write_field_end();
7902        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7903        ::fbthrift::Serialize::write(&self.tag_name, p);
7904        p.write_field_end();
7905        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
7906        ::fbthrift::Serialize::write(&self.version, p);
7907        p.write_field_end();
7908        p.write_field_stop();
7909        p.write_struct_end();
7910    }
7911}
7912
7913impl<P> ::fbthrift::Deserialize<P> for self::GetTagReq
7914where
7915    P: ::fbthrift::ProtocolReader,
7916{
7917    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7918        static FIELDS: &[::fbthrift::Field] = &[
7919            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7920            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7921            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
7922        ];
7923        let mut field_space_id = ::std::option::Option::None;
7924        let mut field_tag_name = ::std::option::Option::None;
7925        let mut field_version = ::std::option::Option::None;
7926        let _ = p.read_struct_begin(|_| ())?;
7927        loop {
7928            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7929            match (fty, fid as ::std::primitive::i32) {
7930                (::fbthrift::TType::Stop, _) => break,
7931                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7932                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7933                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7934                (fty, _) => p.skip(fty)?,
7935            }
7936            p.read_field_end()?;
7937        }
7938        p.read_struct_end()?;
7939        ::std::result::Result::Ok(Self {
7940            space_id: field_space_id.unwrap_or_default(),
7941            tag_name: field_tag_name.unwrap_or_default(),
7942            version: field_version.unwrap_or_default(),
7943            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7944        })
7945    }
7946}
7947
7948
7949#[allow(clippy::derivable_impls)]
7950impl ::std::default::Default for self::GetTagResp {
7951    fn default() -> Self {
7952        Self {
7953            code: ::std::default::Default::default(),
7954            leader: ::std::default::Default::default(),
7955            schema: ::std::default::Default::default(),
7956            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7957        }
7958    }
7959}
7960
7961impl ::std::fmt::Debug for self::GetTagResp {
7962    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7963        formatter
7964            .debug_struct("GetTagResp")
7965            .field("code", &self.code)
7966            .field("leader", &self.leader)
7967            .field("schema", &self.schema)
7968            .finish()
7969    }
7970}
7971
7972unsafe impl ::std::marker::Send for self::GetTagResp {}
7973unsafe impl ::std::marker::Sync for self::GetTagResp {}
7974
7975impl ::fbthrift::GetTType for self::GetTagResp {
7976    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7977}
7978
7979impl<P> ::fbthrift::Serialize<P> for self::GetTagResp
7980where
7981    P: ::fbthrift::ProtocolWriter,
7982{
7983    fn write(&self, p: &mut P) {
7984        p.write_struct_begin("GetTagResp");
7985        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7986        ::fbthrift::Serialize::write(&self.code, p);
7987        p.write_field_end();
7988        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7989        ::fbthrift::Serialize::write(&self.leader, p);
7990        p.write_field_end();
7991        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
7992        ::fbthrift::Serialize::write(&self.schema, p);
7993        p.write_field_end();
7994        p.write_field_stop();
7995        p.write_struct_end();
7996    }
7997}
7998
7999impl<P> ::fbthrift::Deserialize<P> for self::GetTagResp
8000where
8001    P: ::fbthrift::ProtocolReader,
8002{
8003    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8004        static FIELDS: &[::fbthrift::Field] = &[
8005            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8006            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8007            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
8008        ];
8009        let mut field_code = ::std::option::Option::None;
8010        let mut field_leader = ::std::option::Option::None;
8011        let mut field_schema = ::std::option::Option::None;
8012        let _ = p.read_struct_begin(|_| ())?;
8013        loop {
8014            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8015            match (fty, fid as ::std::primitive::i32) {
8016                (::fbthrift::TType::Stop, _) => break,
8017                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8018                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8019                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8020                (fty, _) => p.skip(fty)?,
8021            }
8022            p.read_field_end()?;
8023        }
8024        p.read_struct_end()?;
8025        ::std::result::Result::Ok(Self {
8026            code: field_code.unwrap_or_default(),
8027            leader: field_leader.unwrap_or_default(),
8028            schema: field_schema.unwrap_or_default(),
8029            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8030        })
8031    }
8032}
8033
8034
8035#[allow(clippy::derivable_impls)]
8036impl ::std::default::Default for self::CreateEdgeReq {
8037    fn default() -> Self {
8038        Self {
8039            space_id: ::std::default::Default::default(),
8040            edge_name: ::std::default::Default::default(),
8041            schema: ::std::default::Default::default(),
8042            if_not_exists: ::std::default::Default::default(),
8043            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8044        }
8045    }
8046}
8047
8048impl ::std::fmt::Debug for self::CreateEdgeReq {
8049    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8050        formatter
8051            .debug_struct("CreateEdgeReq")
8052            .field("space_id", &self.space_id)
8053            .field("edge_name", &self.edge_name)
8054            .field("schema", &self.schema)
8055            .field("if_not_exists", &self.if_not_exists)
8056            .finish()
8057    }
8058}
8059
8060unsafe impl ::std::marker::Send for self::CreateEdgeReq {}
8061unsafe impl ::std::marker::Sync for self::CreateEdgeReq {}
8062
8063impl ::fbthrift::GetTType for self::CreateEdgeReq {
8064    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8065}
8066
8067impl<P> ::fbthrift::Serialize<P> for self::CreateEdgeReq
8068where
8069    P: ::fbthrift::ProtocolWriter,
8070{
8071    fn write(&self, p: &mut P) {
8072        p.write_struct_begin("CreateEdgeReq");
8073        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8074        ::fbthrift::Serialize::write(&self.space_id, p);
8075        p.write_field_end();
8076        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
8077        ::fbthrift::Serialize::write(&self.edge_name, p);
8078        p.write_field_end();
8079        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
8080        ::fbthrift::Serialize::write(&self.schema, p);
8081        p.write_field_end();
8082        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
8083        ::fbthrift::Serialize::write(&self.if_not_exists, p);
8084        p.write_field_end();
8085        p.write_field_stop();
8086        p.write_struct_end();
8087    }
8088}
8089
8090impl<P> ::fbthrift::Deserialize<P> for self::CreateEdgeReq
8091where
8092    P: ::fbthrift::ProtocolReader,
8093{
8094    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8095        static FIELDS: &[::fbthrift::Field] = &[
8096            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
8097            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
8098            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
8099            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8100        ];
8101        let mut field_space_id = ::std::option::Option::None;
8102        let mut field_edge_name = ::std::option::Option::None;
8103        let mut field_schema = ::std::option::Option::None;
8104        let mut field_if_not_exists = ::std::option::Option::None;
8105        let _ = p.read_struct_begin(|_| ())?;
8106        loop {
8107            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8108            match (fty, fid as ::std::primitive::i32) {
8109                (::fbthrift::TType::Stop, _) => break,
8110                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8111                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8112                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8113                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8114                (fty, _) => p.skip(fty)?,
8115            }
8116            p.read_field_end()?;
8117        }
8118        p.read_struct_end()?;
8119        ::std::result::Result::Ok(Self {
8120            space_id: field_space_id.unwrap_or_default(),
8121            edge_name: field_edge_name.unwrap_or_default(),
8122            schema: field_schema.unwrap_or_default(),
8123            if_not_exists: field_if_not_exists.unwrap_or_default(),
8124            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8125        })
8126    }
8127}
8128
8129
8130#[allow(clippy::derivable_impls)]
8131impl ::std::default::Default for self::AlterEdgeReq {
8132    fn default() -> Self {
8133        Self {
8134            space_id: ::std::default::Default::default(),
8135            edge_name: ::std::default::Default::default(),
8136            edge_items: ::std::default::Default::default(),
8137            schema_prop: ::std::default::Default::default(),
8138            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8139        }
8140    }
8141}
8142
8143impl ::std::fmt::Debug for self::AlterEdgeReq {
8144    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8145        formatter
8146            .debug_struct("AlterEdgeReq")
8147            .field("space_id", &self.space_id)
8148            .field("edge_name", &self.edge_name)
8149            .field("edge_items", &self.edge_items)
8150            .field("schema_prop", &self.schema_prop)
8151            .finish()
8152    }
8153}
8154
8155unsafe impl ::std::marker::Send for self::AlterEdgeReq {}
8156unsafe impl ::std::marker::Sync for self::AlterEdgeReq {}
8157
8158impl ::fbthrift::GetTType for self::AlterEdgeReq {
8159    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8160}
8161
8162impl<P> ::fbthrift::Serialize<P> for self::AlterEdgeReq
8163where
8164    P: ::fbthrift::ProtocolWriter,
8165{
8166    fn write(&self, p: &mut P) {
8167        p.write_struct_begin("AlterEdgeReq");
8168        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8169        ::fbthrift::Serialize::write(&self.space_id, p);
8170        p.write_field_end();
8171        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
8172        ::fbthrift::Serialize::write(&self.edge_name, p);
8173        p.write_field_end();
8174        p.write_field_begin("edge_items", ::fbthrift::TType::List, 3);
8175        ::fbthrift::Serialize::write(&self.edge_items, p);
8176        p.write_field_end();
8177        p.write_field_begin("schema_prop", ::fbthrift::TType::Struct, 4);
8178        ::fbthrift::Serialize::write(&self.schema_prop, p);
8179        p.write_field_end();
8180        p.write_field_stop();
8181        p.write_struct_end();
8182    }
8183}
8184
8185impl<P> ::fbthrift::Deserialize<P> for self::AlterEdgeReq
8186where
8187    P: ::fbthrift::ProtocolReader,
8188{
8189    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8190        static FIELDS: &[::fbthrift::Field] = &[
8191            ::fbthrift::Field::new("edge_items", ::fbthrift::TType::List, 3),
8192            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
8193            ::fbthrift::Field::new("schema_prop", ::fbthrift::TType::Struct, 4),
8194            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8195        ];
8196        let mut field_space_id = ::std::option::Option::None;
8197        let mut field_edge_name = ::std::option::Option::None;
8198        let mut field_edge_items = ::std::option::Option::None;
8199        let mut field_schema_prop = ::std::option::Option::None;
8200        let _ = p.read_struct_begin(|_| ())?;
8201        loop {
8202            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8203            match (fty, fid as ::std::primitive::i32) {
8204                (::fbthrift::TType::Stop, _) => break,
8205                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8206                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8207                (::fbthrift::TType::List, 3) => field_edge_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8208                (::fbthrift::TType::Struct, 4) => field_schema_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8209                (fty, _) => p.skip(fty)?,
8210            }
8211            p.read_field_end()?;
8212        }
8213        p.read_struct_end()?;
8214        ::std::result::Result::Ok(Self {
8215            space_id: field_space_id.unwrap_or_default(),
8216            edge_name: field_edge_name.unwrap_or_default(),
8217            edge_items: field_edge_items.unwrap_or_default(),
8218            schema_prop: field_schema_prop.unwrap_or_default(),
8219            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8220        })
8221    }
8222}
8223
8224
8225#[allow(clippy::derivable_impls)]
8226impl ::std::default::Default for self::GetEdgeReq {
8227    fn default() -> Self {
8228        Self {
8229            space_id: ::std::default::Default::default(),
8230            edge_name: ::std::default::Default::default(),
8231            version: ::std::default::Default::default(),
8232            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8233        }
8234    }
8235}
8236
8237impl ::std::fmt::Debug for self::GetEdgeReq {
8238    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8239        formatter
8240            .debug_struct("GetEdgeReq")
8241            .field("space_id", &self.space_id)
8242            .field("edge_name", &self.edge_name)
8243            .field("version", &self.version)
8244            .finish()
8245    }
8246}
8247
8248unsafe impl ::std::marker::Send for self::GetEdgeReq {}
8249unsafe impl ::std::marker::Sync for self::GetEdgeReq {}
8250
8251impl ::fbthrift::GetTType for self::GetEdgeReq {
8252    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8253}
8254
8255impl<P> ::fbthrift::Serialize<P> for self::GetEdgeReq
8256where
8257    P: ::fbthrift::ProtocolWriter,
8258{
8259    fn write(&self, p: &mut P) {
8260        p.write_struct_begin("GetEdgeReq");
8261        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8262        ::fbthrift::Serialize::write(&self.space_id, p);
8263        p.write_field_end();
8264        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
8265        ::fbthrift::Serialize::write(&self.edge_name, p);
8266        p.write_field_end();
8267        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
8268        ::fbthrift::Serialize::write(&self.version, p);
8269        p.write_field_end();
8270        p.write_field_stop();
8271        p.write_struct_end();
8272    }
8273}
8274
8275impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeReq
8276where
8277    P: ::fbthrift::ProtocolReader,
8278{
8279    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8280        static FIELDS: &[::fbthrift::Field] = &[
8281            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
8282            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8283            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
8284        ];
8285        let mut field_space_id = ::std::option::Option::None;
8286        let mut field_edge_name = ::std::option::Option::None;
8287        let mut field_version = ::std::option::Option::None;
8288        let _ = p.read_struct_begin(|_| ())?;
8289        loop {
8290            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8291            match (fty, fid as ::std::primitive::i32) {
8292                (::fbthrift::TType::Stop, _) => break,
8293                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8294                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8295                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8296                (fty, _) => p.skip(fty)?,
8297            }
8298            p.read_field_end()?;
8299        }
8300        p.read_struct_end()?;
8301        ::std::result::Result::Ok(Self {
8302            space_id: field_space_id.unwrap_or_default(),
8303            edge_name: field_edge_name.unwrap_or_default(),
8304            version: field_version.unwrap_or_default(),
8305            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8306        })
8307    }
8308}
8309
8310
8311#[allow(clippy::derivable_impls)]
8312impl ::std::default::Default for self::GetEdgeResp {
8313    fn default() -> Self {
8314        Self {
8315            code: ::std::default::Default::default(),
8316            leader: ::std::default::Default::default(),
8317            schema: ::std::default::Default::default(),
8318            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8319        }
8320    }
8321}
8322
8323impl ::std::fmt::Debug for self::GetEdgeResp {
8324    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8325        formatter
8326            .debug_struct("GetEdgeResp")
8327            .field("code", &self.code)
8328            .field("leader", &self.leader)
8329            .field("schema", &self.schema)
8330            .finish()
8331    }
8332}
8333
8334unsafe impl ::std::marker::Send for self::GetEdgeResp {}
8335unsafe impl ::std::marker::Sync for self::GetEdgeResp {}
8336
8337impl ::fbthrift::GetTType for self::GetEdgeResp {
8338    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8339}
8340
8341impl<P> ::fbthrift::Serialize<P> for self::GetEdgeResp
8342where
8343    P: ::fbthrift::ProtocolWriter,
8344{
8345    fn write(&self, p: &mut P) {
8346        p.write_struct_begin("GetEdgeResp");
8347        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8348        ::fbthrift::Serialize::write(&self.code, p);
8349        p.write_field_end();
8350        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8351        ::fbthrift::Serialize::write(&self.leader, p);
8352        p.write_field_end();
8353        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
8354        ::fbthrift::Serialize::write(&self.schema, p);
8355        p.write_field_end();
8356        p.write_field_stop();
8357        p.write_struct_end();
8358    }
8359}
8360
8361impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeResp
8362where
8363    P: ::fbthrift::ProtocolReader,
8364{
8365    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8366        static FIELDS: &[::fbthrift::Field] = &[
8367            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8368            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8369            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
8370        ];
8371        let mut field_code = ::std::option::Option::None;
8372        let mut field_leader = ::std::option::Option::None;
8373        let mut field_schema = ::std::option::Option::None;
8374        let _ = p.read_struct_begin(|_| ())?;
8375        loop {
8376            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8377            match (fty, fid as ::std::primitive::i32) {
8378                (::fbthrift::TType::Stop, _) => break,
8379                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8380                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8381                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8382                (fty, _) => p.skip(fty)?,
8383            }
8384            p.read_field_end()?;
8385        }
8386        p.read_struct_end()?;
8387        ::std::result::Result::Ok(Self {
8388            code: field_code.unwrap_or_default(),
8389            leader: field_leader.unwrap_or_default(),
8390            schema: field_schema.unwrap_or_default(),
8391            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8392        })
8393    }
8394}
8395
8396
8397#[allow(clippy::derivable_impls)]
8398impl ::std::default::Default for self::DropEdgeReq {
8399    fn default() -> Self {
8400        Self {
8401            space_id: ::std::default::Default::default(),
8402            edge_name: ::std::default::Default::default(),
8403            if_exists: ::std::default::Default::default(),
8404            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8405        }
8406    }
8407}
8408
8409impl ::std::fmt::Debug for self::DropEdgeReq {
8410    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8411        formatter
8412            .debug_struct("DropEdgeReq")
8413            .field("space_id", &self.space_id)
8414            .field("edge_name", &self.edge_name)
8415            .field("if_exists", &self.if_exists)
8416            .finish()
8417    }
8418}
8419
8420unsafe impl ::std::marker::Send for self::DropEdgeReq {}
8421unsafe impl ::std::marker::Sync for self::DropEdgeReq {}
8422
8423impl ::fbthrift::GetTType for self::DropEdgeReq {
8424    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8425}
8426
8427impl<P> ::fbthrift::Serialize<P> for self::DropEdgeReq
8428where
8429    P: ::fbthrift::ProtocolWriter,
8430{
8431    fn write(&self, p: &mut P) {
8432        p.write_struct_begin("DropEdgeReq");
8433        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8434        ::fbthrift::Serialize::write(&self.space_id, p);
8435        p.write_field_end();
8436        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
8437        ::fbthrift::Serialize::write(&self.edge_name, p);
8438        p.write_field_end();
8439        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
8440        ::fbthrift::Serialize::write(&self.if_exists, p);
8441        p.write_field_end();
8442        p.write_field_stop();
8443        p.write_struct_end();
8444    }
8445}
8446
8447impl<P> ::fbthrift::Deserialize<P> for self::DropEdgeReq
8448where
8449    P: ::fbthrift::ProtocolReader,
8450{
8451    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8452        static FIELDS: &[::fbthrift::Field] = &[
8453            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
8454            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
8455            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8456        ];
8457        let mut field_space_id = ::std::option::Option::None;
8458        let mut field_edge_name = ::std::option::Option::None;
8459        let mut field_if_exists = ::std::option::Option::None;
8460        let _ = p.read_struct_begin(|_| ())?;
8461        loop {
8462            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8463            match (fty, fid as ::std::primitive::i32) {
8464                (::fbthrift::TType::Stop, _) => break,
8465                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8466                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8467                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8468                (fty, _) => p.skip(fty)?,
8469            }
8470            p.read_field_end()?;
8471        }
8472        p.read_struct_end()?;
8473        ::std::result::Result::Ok(Self {
8474            space_id: field_space_id.unwrap_or_default(),
8475            edge_name: field_edge_name.unwrap_or_default(),
8476            if_exists: field_if_exists.unwrap_or_default(),
8477            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8478        })
8479    }
8480}
8481
8482
8483#[allow(clippy::derivable_impls)]
8484impl ::std::default::Default for self::ListEdgesReq {
8485    fn default() -> Self {
8486        Self {
8487            space_id: ::std::default::Default::default(),
8488            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8489        }
8490    }
8491}
8492
8493impl ::std::fmt::Debug for self::ListEdgesReq {
8494    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8495        formatter
8496            .debug_struct("ListEdgesReq")
8497            .field("space_id", &self.space_id)
8498            .finish()
8499    }
8500}
8501
8502unsafe impl ::std::marker::Send for self::ListEdgesReq {}
8503unsafe impl ::std::marker::Sync for self::ListEdgesReq {}
8504
8505impl ::fbthrift::GetTType for self::ListEdgesReq {
8506    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8507}
8508
8509impl<P> ::fbthrift::Serialize<P> for self::ListEdgesReq
8510where
8511    P: ::fbthrift::ProtocolWriter,
8512{
8513    fn write(&self, p: &mut P) {
8514        p.write_struct_begin("ListEdgesReq");
8515        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8516        ::fbthrift::Serialize::write(&self.space_id, p);
8517        p.write_field_end();
8518        p.write_field_stop();
8519        p.write_struct_end();
8520    }
8521}
8522
8523impl<P> ::fbthrift::Deserialize<P> for self::ListEdgesReq
8524where
8525    P: ::fbthrift::ProtocolReader,
8526{
8527    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8528        static FIELDS: &[::fbthrift::Field] = &[
8529            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8530        ];
8531        let mut field_space_id = ::std::option::Option::None;
8532        let _ = p.read_struct_begin(|_| ())?;
8533        loop {
8534            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8535            match (fty, fid as ::std::primitive::i32) {
8536                (::fbthrift::TType::Stop, _) => break,
8537                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8538                (fty, _) => p.skip(fty)?,
8539            }
8540            p.read_field_end()?;
8541        }
8542        p.read_struct_end()?;
8543        ::std::result::Result::Ok(Self {
8544            space_id: field_space_id.unwrap_or_default(),
8545            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8546        })
8547    }
8548}
8549
8550
8551#[allow(clippy::derivable_impls)]
8552impl ::std::default::Default for self::ListEdgesResp {
8553    fn default() -> Self {
8554        Self {
8555            code: ::std::default::Default::default(),
8556            leader: ::std::default::Default::default(),
8557            edges: ::std::default::Default::default(),
8558            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8559        }
8560    }
8561}
8562
8563impl ::std::fmt::Debug for self::ListEdgesResp {
8564    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8565        formatter
8566            .debug_struct("ListEdgesResp")
8567            .field("code", &self.code)
8568            .field("leader", &self.leader)
8569            .field("edges", &self.edges)
8570            .finish()
8571    }
8572}
8573
8574unsafe impl ::std::marker::Send for self::ListEdgesResp {}
8575unsafe impl ::std::marker::Sync for self::ListEdgesResp {}
8576
8577impl ::fbthrift::GetTType for self::ListEdgesResp {
8578    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8579}
8580
8581impl<P> ::fbthrift::Serialize<P> for self::ListEdgesResp
8582where
8583    P: ::fbthrift::ProtocolWriter,
8584{
8585    fn write(&self, p: &mut P) {
8586        p.write_struct_begin("ListEdgesResp");
8587        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8588        ::fbthrift::Serialize::write(&self.code, p);
8589        p.write_field_end();
8590        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8591        ::fbthrift::Serialize::write(&self.leader, p);
8592        p.write_field_end();
8593        p.write_field_begin("edges", ::fbthrift::TType::List, 3);
8594        ::fbthrift::Serialize::write(&self.edges, p);
8595        p.write_field_end();
8596        p.write_field_stop();
8597        p.write_struct_end();
8598    }
8599}
8600
8601impl<P> ::fbthrift::Deserialize<P> for self::ListEdgesResp
8602where
8603    P: ::fbthrift::ProtocolReader,
8604{
8605    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8606        static FIELDS: &[::fbthrift::Field] = &[
8607            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8608            ::fbthrift::Field::new("edges", ::fbthrift::TType::List, 3),
8609            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8610        ];
8611        let mut field_code = ::std::option::Option::None;
8612        let mut field_leader = ::std::option::Option::None;
8613        let mut field_edges = ::std::option::Option::None;
8614        let _ = p.read_struct_begin(|_| ())?;
8615        loop {
8616            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8617            match (fty, fid as ::std::primitive::i32) {
8618                (::fbthrift::TType::Stop, _) => break,
8619                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8620                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8621                (::fbthrift::TType::List, 3) => field_edges = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8622                (fty, _) => p.skip(fty)?,
8623            }
8624            p.read_field_end()?;
8625        }
8626        p.read_struct_end()?;
8627        ::std::result::Result::Ok(Self {
8628            code: field_code.unwrap_or_default(),
8629            leader: field_leader.unwrap_or_default(),
8630            edges: field_edges.unwrap_or_default(),
8631            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8632        })
8633    }
8634}
8635
8636
8637#[allow(clippy::derivable_impls)]
8638impl ::std::default::Default for self::AddHostsReq {
8639    fn default() -> Self {
8640        Self {
8641            hosts: ::std::default::Default::default(),
8642            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8643        }
8644    }
8645}
8646
8647impl ::std::fmt::Debug for self::AddHostsReq {
8648    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8649        formatter
8650            .debug_struct("AddHostsReq")
8651            .field("hosts", &self.hosts)
8652            .finish()
8653    }
8654}
8655
8656unsafe impl ::std::marker::Send for self::AddHostsReq {}
8657unsafe impl ::std::marker::Sync for self::AddHostsReq {}
8658
8659impl ::fbthrift::GetTType for self::AddHostsReq {
8660    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8661}
8662
8663impl<P> ::fbthrift::Serialize<P> for self::AddHostsReq
8664where
8665    P: ::fbthrift::ProtocolWriter,
8666{
8667    fn write(&self, p: &mut P) {
8668        p.write_struct_begin("AddHostsReq");
8669        p.write_field_begin("hosts", ::fbthrift::TType::List, 1);
8670        ::fbthrift::Serialize::write(&self.hosts, p);
8671        p.write_field_end();
8672        p.write_field_stop();
8673        p.write_struct_end();
8674    }
8675}
8676
8677impl<P> ::fbthrift::Deserialize<P> for self::AddHostsReq
8678where
8679    P: ::fbthrift::ProtocolReader,
8680{
8681    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8682        static FIELDS: &[::fbthrift::Field] = &[
8683            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 1),
8684        ];
8685        let mut field_hosts = ::std::option::Option::None;
8686        let _ = p.read_struct_begin(|_| ())?;
8687        loop {
8688            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8689            match (fty, fid as ::std::primitive::i32) {
8690                (::fbthrift::TType::Stop, _) => break,
8691                (::fbthrift::TType::List, 1) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8692                (fty, _) => p.skip(fty)?,
8693            }
8694            p.read_field_end()?;
8695        }
8696        p.read_struct_end()?;
8697        ::std::result::Result::Ok(Self {
8698            hosts: field_hosts.unwrap_or_default(),
8699            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8700        })
8701    }
8702}
8703
8704
8705#[allow(clippy::derivable_impls)]
8706impl ::std::default::Default for self::DropHostsReq {
8707    fn default() -> Self {
8708        Self {
8709            hosts: ::std::default::Default::default(),
8710            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8711        }
8712    }
8713}
8714
8715impl ::std::fmt::Debug for self::DropHostsReq {
8716    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8717        formatter
8718            .debug_struct("DropHostsReq")
8719            .field("hosts", &self.hosts)
8720            .finish()
8721    }
8722}
8723
8724unsafe impl ::std::marker::Send for self::DropHostsReq {}
8725unsafe impl ::std::marker::Sync for self::DropHostsReq {}
8726
8727impl ::fbthrift::GetTType for self::DropHostsReq {
8728    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8729}
8730
8731impl<P> ::fbthrift::Serialize<P> for self::DropHostsReq
8732where
8733    P: ::fbthrift::ProtocolWriter,
8734{
8735    fn write(&self, p: &mut P) {
8736        p.write_struct_begin("DropHostsReq");
8737        p.write_field_begin("hosts", ::fbthrift::TType::List, 1);
8738        ::fbthrift::Serialize::write(&self.hosts, p);
8739        p.write_field_end();
8740        p.write_field_stop();
8741        p.write_struct_end();
8742    }
8743}
8744
8745impl<P> ::fbthrift::Deserialize<P> for self::DropHostsReq
8746where
8747    P: ::fbthrift::ProtocolReader,
8748{
8749    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8750        static FIELDS: &[::fbthrift::Field] = &[
8751            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 1),
8752        ];
8753        let mut field_hosts = ::std::option::Option::None;
8754        let _ = p.read_struct_begin(|_| ())?;
8755        loop {
8756            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8757            match (fty, fid as ::std::primitive::i32) {
8758                (::fbthrift::TType::Stop, _) => break,
8759                (::fbthrift::TType::List, 1) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8760                (fty, _) => p.skip(fty)?,
8761            }
8762            p.read_field_end()?;
8763        }
8764        p.read_struct_end()?;
8765        ::std::result::Result::Ok(Self {
8766            hosts: field_hosts.unwrap_or_default(),
8767            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8768        })
8769    }
8770}
8771
8772
8773#[allow(clippy::derivable_impls)]
8774impl ::std::default::Default for self::ListHostsReq {
8775    fn default() -> Self {
8776        Self {
8777            r#type: ::std::default::Default::default(),
8778            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8779        }
8780    }
8781}
8782
8783impl ::std::fmt::Debug for self::ListHostsReq {
8784    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8785        formatter
8786            .debug_struct("ListHostsReq")
8787            .field("r#type", &self.r#type)
8788            .finish()
8789    }
8790}
8791
8792unsafe impl ::std::marker::Send for self::ListHostsReq {}
8793unsafe impl ::std::marker::Sync for self::ListHostsReq {}
8794
8795impl ::fbthrift::GetTType for self::ListHostsReq {
8796    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8797}
8798
8799impl<P> ::fbthrift::Serialize<P> for self::ListHostsReq
8800where
8801    P: ::fbthrift::ProtocolWriter,
8802{
8803    fn write(&self, p: &mut P) {
8804        p.write_struct_begin("ListHostsReq");
8805        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
8806        ::fbthrift::Serialize::write(&self.r#type, p);
8807        p.write_field_end();
8808        p.write_field_stop();
8809        p.write_struct_end();
8810    }
8811}
8812
8813impl<P> ::fbthrift::Deserialize<P> for self::ListHostsReq
8814where
8815    P: ::fbthrift::ProtocolReader,
8816{
8817    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8818        static FIELDS: &[::fbthrift::Field] = &[
8819            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
8820        ];
8821        let mut field_type = ::std::option::Option::None;
8822        let _ = p.read_struct_begin(|_| ())?;
8823        loop {
8824            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8825            match (fty, fid as ::std::primitive::i32) {
8826                (::fbthrift::TType::Stop, _) => break,
8827                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8828                (fty, _) => p.skip(fty)?,
8829            }
8830            p.read_field_end()?;
8831        }
8832        p.read_struct_end()?;
8833        ::std::result::Result::Ok(Self {
8834            r#type: field_type.unwrap_or_default(),
8835            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8836        })
8837    }
8838}
8839
8840
8841#[allow(clippy::derivable_impls)]
8842impl ::std::default::Default for self::ListHostsResp {
8843    fn default() -> Self {
8844        Self {
8845            code: ::std::default::Default::default(),
8846            leader: ::std::default::Default::default(),
8847            hosts: ::std::default::Default::default(),
8848            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8849        }
8850    }
8851}
8852
8853impl ::std::fmt::Debug for self::ListHostsResp {
8854    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8855        formatter
8856            .debug_struct("ListHostsResp")
8857            .field("code", &self.code)
8858            .field("leader", &self.leader)
8859            .field("hosts", &self.hosts)
8860            .finish()
8861    }
8862}
8863
8864unsafe impl ::std::marker::Send for self::ListHostsResp {}
8865unsafe impl ::std::marker::Sync for self::ListHostsResp {}
8866
8867impl ::fbthrift::GetTType for self::ListHostsResp {
8868    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8869}
8870
8871impl<P> ::fbthrift::Serialize<P> for self::ListHostsResp
8872where
8873    P: ::fbthrift::ProtocolWriter,
8874{
8875    fn write(&self, p: &mut P) {
8876        p.write_struct_begin("ListHostsResp");
8877        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8878        ::fbthrift::Serialize::write(&self.code, p);
8879        p.write_field_end();
8880        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8881        ::fbthrift::Serialize::write(&self.leader, p);
8882        p.write_field_end();
8883        p.write_field_begin("hosts", ::fbthrift::TType::List, 3);
8884        ::fbthrift::Serialize::write(&self.hosts, p);
8885        p.write_field_end();
8886        p.write_field_stop();
8887        p.write_struct_end();
8888    }
8889}
8890
8891impl<P> ::fbthrift::Deserialize<P> for self::ListHostsResp
8892where
8893    P: ::fbthrift::ProtocolReader,
8894{
8895    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8896        static FIELDS: &[::fbthrift::Field] = &[
8897            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8898            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 3),
8899            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8900        ];
8901        let mut field_code = ::std::option::Option::None;
8902        let mut field_leader = ::std::option::Option::None;
8903        let mut field_hosts = ::std::option::Option::None;
8904        let _ = p.read_struct_begin(|_| ())?;
8905        loop {
8906            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8907            match (fty, fid as ::std::primitive::i32) {
8908                (::fbthrift::TType::Stop, _) => break,
8909                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8910                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8911                (::fbthrift::TType::List, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8912                (fty, _) => p.skip(fty)?,
8913            }
8914            p.read_field_end()?;
8915        }
8916        p.read_struct_end()?;
8917        ::std::result::Result::Ok(Self {
8918            code: field_code.unwrap_or_default(),
8919            leader: field_leader.unwrap_or_default(),
8920            hosts: field_hosts.unwrap_or_default(),
8921            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8922        })
8923    }
8924}
8925
8926
8927#[allow(clippy::derivable_impls)]
8928impl ::std::default::Default for self::PartItem {
8929    fn default() -> Self {
8930        Self {
8931            part_id: ::std::default::Default::default(),
8932            leader: ::std::option::Option::None,
8933            peers: ::std::default::Default::default(),
8934            losts: ::std::default::Default::default(),
8935            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8936        }
8937    }
8938}
8939
8940impl ::std::fmt::Debug for self::PartItem {
8941    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8942        formatter
8943            .debug_struct("PartItem")
8944            .field("part_id", &self.part_id)
8945            .field("leader", &self.leader)
8946            .field("peers", &self.peers)
8947            .field("losts", &self.losts)
8948            .finish()
8949    }
8950}
8951
8952unsafe impl ::std::marker::Send for self::PartItem {}
8953unsafe impl ::std::marker::Sync for self::PartItem {}
8954
8955impl ::fbthrift::GetTType for self::PartItem {
8956    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8957}
8958
8959impl<P> ::fbthrift::Serialize<P> for self::PartItem
8960where
8961    P: ::fbthrift::ProtocolWriter,
8962{
8963    fn write(&self, p: &mut P) {
8964        p.write_struct_begin("PartItem");
8965        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
8966        ::fbthrift::Serialize::write(&self.part_id, p);
8967        p.write_field_end();
8968        if let ::std::option::Option::Some(some) = &self.leader {
8969            p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8970            ::fbthrift::Serialize::write(some, p);
8971            p.write_field_end();
8972        }
8973        p.write_field_begin("peers", ::fbthrift::TType::List, 3);
8974        ::fbthrift::Serialize::write(&self.peers, p);
8975        p.write_field_end();
8976        p.write_field_begin("losts", ::fbthrift::TType::List, 4);
8977        ::fbthrift::Serialize::write(&self.losts, p);
8978        p.write_field_end();
8979        p.write_field_stop();
8980        p.write_struct_end();
8981    }
8982}
8983
8984impl<P> ::fbthrift::Deserialize<P> for self::PartItem
8985where
8986    P: ::fbthrift::ProtocolReader,
8987{
8988    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8989        static FIELDS: &[::fbthrift::Field] = &[
8990            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8991            ::fbthrift::Field::new("losts", ::fbthrift::TType::List, 4),
8992            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
8993            ::fbthrift::Field::new("peers", ::fbthrift::TType::List, 3),
8994        ];
8995        let mut field_part_id = ::std::option::Option::None;
8996        let mut field_leader = ::std::option::Option::None;
8997        let mut field_peers = ::std::option::Option::None;
8998        let mut field_losts = ::std::option::Option::None;
8999        let _ = p.read_struct_begin(|_| ())?;
9000        loop {
9001            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9002            match (fty, fid as ::std::primitive::i32) {
9003                (::fbthrift::TType::Stop, _) => break,
9004                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9005                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9006                (::fbthrift::TType::List, 3) => field_peers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9007                (::fbthrift::TType::List, 4) => field_losts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9008                (fty, _) => p.skip(fty)?,
9009            }
9010            p.read_field_end()?;
9011        }
9012        p.read_struct_end()?;
9013        ::std::result::Result::Ok(Self {
9014            part_id: field_part_id.unwrap_or_default(),
9015            leader: field_leader,
9016            peers: field_peers.unwrap_or_default(),
9017            losts: field_losts.unwrap_or_default(),
9018            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9019        })
9020    }
9021}
9022
9023
9024#[allow(clippy::derivable_impls)]
9025impl ::std::default::Default for self::ListPartsReq {
9026    fn default() -> Self {
9027        Self {
9028            space_id: ::std::default::Default::default(),
9029            part_ids: ::std::default::Default::default(),
9030            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9031        }
9032    }
9033}
9034
9035impl ::std::fmt::Debug for self::ListPartsReq {
9036    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9037        formatter
9038            .debug_struct("ListPartsReq")
9039            .field("space_id", &self.space_id)
9040            .field("part_ids", &self.part_ids)
9041            .finish()
9042    }
9043}
9044
9045unsafe impl ::std::marker::Send for self::ListPartsReq {}
9046unsafe impl ::std::marker::Sync for self::ListPartsReq {}
9047
9048impl ::fbthrift::GetTType for self::ListPartsReq {
9049    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9050}
9051
9052impl<P> ::fbthrift::Serialize<P> for self::ListPartsReq
9053where
9054    P: ::fbthrift::ProtocolWriter,
9055{
9056    fn write(&self, p: &mut P) {
9057        p.write_struct_begin("ListPartsReq");
9058        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
9059        ::fbthrift::Serialize::write(&self.space_id, p);
9060        p.write_field_end();
9061        p.write_field_begin("part_ids", ::fbthrift::TType::List, 2);
9062        ::fbthrift::Serialize::write(&self.part_ids, p);
9063        p.write_field_end();
9064        p.write_field_stop();
9065        p.write_struct_end();
9066    }
9067}
9068
9069impl<P> ::fbthrift::Deserialize<P> for self::ListPartsReq
9070where
9071    P: ::fbthrift::ProtocolReader,
9072{
9073    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9074        static FIELDS: &[::fbthrift::Field] = &[
9075            ::fbthrift::Field::new("part_ids", ::fbthrift::TType::List, 2),
9076            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
9077        ];
9078        let mut field_space_id = ::std::option::Option::None;
9079        let mut field_part_ids = ::std::option::Option::None;
9080        let _ = p.read_struct_begin(|_| ())?;
9081        loop {
9082            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9083            match (fty, fid as ::std::primitive::i32) {
9084                (::fbthrift::TType::Stop, _) => break,
9085                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9086                (::fbthrift::TType::List, 2) => field_part_ids = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9087                (fty, _) => p.skip(fty)?,
9088            }
9089            p.read_field_end()?;
9090        }
9091        p.read_struct_end()?;
9092        ::std::result::Result::Ok(Self {
9093            space_id: field_space_id.unwrap_or_default(),
9094            part_ids: field_part_ids.unwrap_or_default(),
9095            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9096        })
9097    }
9098}
9099
9100
9101#[allow(clippy::derivable_impls)]
9102impl ::std::default::Default for self::ListPartsResp {
9103    fn default() -> Self {
9104        Self {
9105            code: ::std::default::Default::default(),
9106            leader: ::std::default::Default::default(),
9107            parts: ::std::default::Default::default(),
9108            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9109        }
9110    }
9111}
9112
9113impl ::std::fmt::Debug for self::ListPartsResp {
9114    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9115        formatter
9116            .debug_struct("ListPartsResp")
9117            .field("code", &self.code)
9118            .field("leader", &self.leader)
9119            .field("parts", &self.parts)
9120            .finish()
9121    }
9122}
9123
9124unsafe impl ::std::marker::Send for self::ListPartsResp {}
9125unsafe impl ::std::marker::Sync for self::ListPartsResp {}
9126
9127impl ::fbthrift::GetTType for self::ListPartsResp {
9128    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9129}
9130
9131impl<P> ::fbthrift::Serialize<P> for self::ListPartsResp
9132where
9133    P: ::fbthrift::ProtocolWriter,
9134{
9135    fn write(&self, p: &mut P) {
9136        p.write_struct_begin("ListPartsResp");
9137        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9138        ::fbthrift::Serialize::write(&self.code, p);
9139        p.write_field_end();
9140        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9141        ::fbthrift::Serialize::write(&self.leader, p);
9142        p.write_field_end();
9143        p.write_field_begin("parts", ::fbthrift::TType::List, 3);
9144        ::fbthrift::Serialize::write(&self.parts, p);
9145        p.write_field_end();
9146        p.write_field_stop();
9147        p.write_struct_end();
9148    }
9149}
9150
9151impl<P> ::fbthrift::Deserialize<P> for self::ListPartsResp
9152where
9153    P: ::fbthrift::ProtocolReader,
9154{
9155    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9156        static FIELDS: &[::fbthrift::Field] = &[
9157            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9158            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9159            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 3),
9160        ];
9161        let mut field_code = ::std::option::Option::None;
9162        let mut field_leader = ::std::option::Option::None;
9163        let mut field_parts = ::std::option::Option::None;
9164        let _ = p.read_struct_begin(|_| ())?;
9165        loop {
9166            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9167            match (fty, fid as ::std::primitive::i32) {
9168                (::fbthrift::TType::Stop, _) => break,
9169                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9170                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9171                (::fbthrift::TType::List, 3) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9172                (fty, _) => p.skip(fty)?,
9173            }
9174            p.read_field_end()?;
9175        }
9176        p.read_struct_end()?;
9177        ::std::result::Result::Ok(Self {
9178            code: field_code.unwrap_or_default(),
9179            leader: field_leader.unwrap_or_default(),
9180            parts: field_parts.unwrap_or_default(),
9181            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9182        })
9183    }
9184}
9185
9186
9187#[allow(clippy::derivable_impls)]
9188impl ::std::default::Default for self::GetPartsAllocReq {
9189    fn default() -> Self {
9190        Self {
9191            space_id: ::std::default::Default::default(),
9192            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9193        }
9194    }
9195}
9196
9197impl ::std::fmt::Debug for self::GetPartsAllocReq {
9198    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9199        formatter
9200            .debug_struct("GetPartsAllocReq")
9201            .field("space_id", &self.space_id)
9202            .finish()
9203    }
9204}
9205
9206unsafe impl ::std::marker::Send for self::GetPartsAllocReq {}
9207unsafe impl ::std::marker::Sync for self::GetPartsAllocReq {}
9208
9209impl ::fbthrift::GetTType for self::GetPartsAllocReq {
9210    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9211}
9212
9213impl<P> ::fbthrift::Serialize<P> for self::GetPartsAllocReq
9214where
9215    P: ::fbthrift::ProtocolWriter,
9216{
9217    fn write(&self, p: &mut P) {
9218        p.write_struct_begin("GetPartsAllocReq");
9219        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
9220        ::fbthrift::Serialize::write(&self.space_id, p);
9221        p.write_field_end();
9222        p.write_field_stop();
9223        p.write_struct_end();
9224    }
9225}
9226
9227impl<P> ::fbthrift::Deserialize<P> for self::GetPartsAllocReq
9228where
9229    P: ::fbthrift::ProtocolReader,
9230{
9231    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9232        static FIELDS: &[::fbthrift::Field] = &[
9233            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
9234        ];
9235        let mut field_space_id = ::std::option::Option::None;
9236        let _ = p.read_struct_begin(|_| ())?;
9237        loop {
9238            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9239            match (fty, fid as ::std::primitive::i32) {
9240                (::fbthrift::TType::Stop, _) => break,
9241                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9242                (fty, _) => p.skip(fty)?,
9243            }
9244            p.read_field_end()?;
9245        }
9246        p.read_struct_end()?;
9247        ::std::result::Result::Ok(Self {
9248            space_id: field_space_id.unwrap_or_default(),
9249            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9250        })
9251    }
9252}
9253
9254
9255#[allow(clippy::derivable_impls)]
9256impl ::std::default::Default for self::GetPartsAllocResp {
9257    fn default() -> Self {
9258        Self {
9259            code: ::std::default::Default::default(),
9260            leader: ::std::default::Default::default(),
9261            parts: ::std::default::Default::default(),
9262            terms: ::std::option::Option::None,
9263            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9264        }
9265    }
9266}
9267
9268impl ::std::fmt::Debug for self::GetPartsAllocResp {
9269    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9270        formatter
9271            .debug_struct("GetPartsAllocResp")
9272            .field("code", &self.code)
9273            .field("leader", &self.leader)
9274            .field("parts", &self.parts)
9275            .field("terms", &self.terms)
9276            .finish()
9277    }
9278}
9279
9280unsafe impl ::std::marker::Send for self::GetPartsAllocResp {}
9281unsafe impl ::std::marker::Sync for self::GetPartsAllocResp {}
9282
9283impl ::fbthrift::GetTType for self::GetPartsAllocResp {
9284    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9285}
9286
9287impl<P> ::fbthrift::Serialize<P> for self::GetPartsAllocResp
9288where
9289    P: ::fbthrift::ProtocolWriter,
9290{
9291    fn write(&self, p: &mut P) {
9292        p.write_struct_begin("GetPartsAllocResp");
9293        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9294        ::fbthrift::Serialize::write(&self.code, p);
9295        p.write_field_end();
9296        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9297        ::fbthrift::Serialize::write(&self.leader, p);
9298        p.write_field_end();
9299        p.write_field_begin("parts", ::fbthrift::TType::Map, 3);
9300        ::fbthrift::Serialize::write(&self.parts, p);
9301        p.write_field_end();
9302        if let ::std::option::Option::Some(some) = &self.terms {
9303            p.write_field_begin("terms", ::fbthrift::TType::Map, 4);
9304            ::fbthrift::Serialize::write(some, p);
9305            p.write_field_end();
9306        }
9307        p.write_field_stop();
9308        p.write_struct_end();
9309    }
9310}
9311
9312impl<P> ::fbthrift::Deserialize<P> for self::GetPartsAllocResp
9313where
9314    P: ::fbthrift::ProtocolReader,
9315{
9316    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9317        static FIELDS: &[::fbthrift::Field] = &[
9318            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9319            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9320            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 3),
9321            ::fbthrift::Field::new("terms", ::fbthrift::TType::Map, 4),
9322        ];
9323        let mut field_code = ::std::option::Option::None;
9324        let mut field_leader = ::std::option::Option::None;
9325        let mut field_parts = ::std::option::Option::None;
9326        let mut field_terms = ::std::option::Option::None;
9327        let _ = p.read_struct_begin(|_| ())?;
9328        loop {
9329            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9330            match (fty, fid as ::std::primitive::i32) {
9331                (::fbthrift::TType::Stop, _) => break,
9332                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9333                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9334                (::fbthrift::TType::Map, 3) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9335                (::fbthrift::TType::Map, 4) => field_terms = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9336                (fty, _) => p.skip(fty)?,
9337            }
9338            p.read_field_end()?;
9339        }
9340        p.read_struct_end()?;
9341        ::std::result::Result::Ok(Self {
9342            code: field_code.unwrap_or_default(),
9343            leader: field_leader.unwrap_or_default(),
9344            parts: field_parts.unwrap_or_default(),
9345            terms: field_terms,
9346            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9347        })
9348    }
9349}
9350
9351
9352#[allow(clippy::derivable_impls)]
9353impl ::std::default::Default for self::GetWorkerIdReq {
9354    fn default() -> Self {
9355        Self {
9356            host: ::std::default::Default::default(),
9357            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9358        }
9359    }
9360}
9361
9362impl ::std::fmt::Debug for self::GetWorkerIdReq {
9363    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9364        formatter
9365            .debug_struct("GetWorkerIdReq")
9366            .field("host", &self.host)
9367            .finish()
9368    }
9369}
9370
9371unsafe impl ::std::marker::Send for self::GetWorkerIdReq {}
9372unsafe impl ::std::marker::Sync for self::GetWorkerIdReq {}
9373
9374impl ::fbthrift::GetTType for self::GetWorkerIdReq {
9375    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9376}
9377
9378impl<P> ::fbthrift::Serialize<P> for self::GetWorkerIdReq
9379where
9380    P: ::fbthrift::ProtocolWriter,
9381{
9382    fn write(&self, p: &mut P) {
9383        p.write_struct_begin("GetWorkerIdReq");
9384        p.write_field_begin("host", ::fbthrift::TType::String, 1);
9385        ::fbthrift::Serialize::write(&self.host, p);
9386        p.write_field_end();
9387        p.write_field_stop();
9388        p.write_struct_end();
9389    }
9390}
9391
9392impl<P> ::fbthrift::Deserialize<P> for self::GetWorkerIdReq
9393where
9394    P: ::fbthrift::ProtocolReader,
9395{
9396    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9397        static FIELDS: &[::fbthrift::Field] = &[
9398            ::fbthrift::Field::new("host", ::fbthrift::TType::String, 1),
9399        ];
9400        let mut field_host = ::std::option::Option::None;
9401        let _ = p.read_struct_begin(|_| ())?;
9402        loop {
9403            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9404            match (fty, fid as ::std::primitive::i32) {
9405                (::fbthrift::TType::Stop, _) => break,
9406                (::fbthrift::TType::String, 1) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9407                (fty, _) => p.skip(fty)?,
9408            }
9409            p.read_field_end()?;
9410        }
9411        p.read_struct_end()?;
9412        ::std::result::Result::Ok(Self {
9413            host: field_host.unwrap_or_default(),
9414            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9415        })
9416    }
9417}
9418
9419
9420#[allow(clippy::derivable_impls)]
9421impl ::std::default::Default for self::GetWorkerIdResp {
9422    fn default() -> Self {
9423        Self {
9424            code: ::std::default::Default::default(),
9425            leader: ::std::default::Default::default(),
9426            workerid: ::std::default::Default::default(),
9427            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9428        }
9429    }
9430}
9431
9432impl ::std::fmt::Debug for self::GetWorkerIdResp {
9433    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9434        formatter
9435            .debug_struct("GetWorkerIdResp")
9436            .field("code", &self.code)
9437            .field("leader", &self.leader)
9438            .field("workerid", &self.workerid)
9439            .finish()
9440    }
9441}
9442
9443unsafe impl ::std::marker::Send for self::GetWorkerIdResp {}
9444unsafe impl ::std::marker::Sync for self::GetWorkerIdResp {}
9445
9446impl ::fbthrift::GetTType for self::GetWorkerIdResp {
9447    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9448}
9449
9450impl<P> ::fbthrift::Serialize<P> for self::GetWorkerIdResp
9451where
9452    P: ::fbthrift::ProtocolWriter,
9453{
9454    fn write(&self, p: &mut P) {
9455        p.write_struct_begin("GetWorkerIdResp");
9456        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9457        ::fbthrift::Serialize::write(&self.code, p);
9458        p.write_field_end();
9459        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9460        ::fbthrift::Serialize::write(&self.leader, p);
9461        p.write_field_end();
9462        p.write_field_begin("workerid", ::fbthrift::TType::I64, 3);
9463        ::fbthrift::Serialize::write(&self.workerid, p);
9464        p.write_field_end();
9465        p.write_field_stop();
9466        p.write_struct_end();
9467    }
9468}
9469
9470impl<P> ::fbthrift::Deserialize<P> for self::GetWorkerIdResp
9471where
9472    P: ::fbthrift::ProtocolReader,
9473{
9474    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9475        static FIELDS: &[::fbthrift::Field] = &[
9476            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9477            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9478            ::fbthrift::Field::new("workerid", ::fbthrift::TType::I64, 3),
9479        ];
9480        let mut field_code = ::std::option::Option::None;
9481        let mut field_leader = ::std::option::Option::None;
9482        let mut field_workerid = ::std::option::Option::None;
9483        let _ = p.read_struct_begin(|_| ())?;
9484        loop {
9485            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9486            match (fty, fid as ::std::primitive::i32) {
9487                (::fbthrift::TType::Stop, _) => break,
9488                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9489                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9490                (::fbthrift::TType::I64, 3) => field_workerid = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9491                (fty, _) => p.skip(fty)?,
9492            }
9493            p.read_field_end()?;
9494        }
9495        p.read_struct_end()?;
9496        ::std::result::Result::Ok(Self {
9497            code: field_code.unwrap_or_default(),
9498            leader: field_leader.unwrap_or_default(),
9499            workerid: field_workerid.unwrap_or_default(),
9500            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9501        })
9502    }
9503}
9504
9505
9506#[allow(clippy::derivable_impls)]
9507impl ::std::default::Default for self::GetSegmentIdReq {
9508    fn default() -> Self {
9509        Self {
9510            length: ::std::default::Default::default(),
9511            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9512        }
9513    }
9514}
9515
9516impl ::std::fmt::Debug for self::GetSegmentIdReq {
9517    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9518        formatter
9519            .debug_struct("GetSegmentIdReq")
9520            .field("length", &self.length)
9521            .finish()
9522    }
9523}
9524
9525unsafe impl ::std::marker::Send for self::GetSegmentIdReq {}
9526unsafe impl ::std::marker::Sync for self::GetSegmentIdReq {}
9527
9528impl ::fbthrift::GetTType for self::GetSegmentIdReq {
9529    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9530}
9531
9532impl<P> ::fbthrift::Serialize<P> for self::GetSegmentIdReq
9533where
9534    P: ::fbthrift::ProtocolWriter,
9535{
9536    fn write(&self, p: &mut P) {
9537        p.write_struct_begin("GetSegmentIdReq");
9538        p.write_field_begin("length", ::fbthrift::TType::I64, 1);
9539        ::fbthrift::Serialize::write(&self.length, p);
9540        p.write_field_end();
9541        p.write_field_stop();
9542        p.write_struct_end();
9543    }
9544}
9545
9546impl<P> ::fbthrift::Deserialize<P> for self::GetSegmentIdReq
9547where
9548    P: ::fbthrift::ProtocolReader,
9549{
9550    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9551        static FIELDS: &[::fbthrift::Field] = &[
9552            ::fbthrift::Field::new("length", ::fbthrift::TType::I64, 1),
9553        ];
9554        let mut field_length = ::std::option::Option::None;
9555        let _ = p.read_struct_begin(|_| ())?;
9556        loop {
9557            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9558            match (fty, fid as ::std::primitive::i32) {
9559                (::fbthrift::TType::Stop, _) => break,
9560                (::fbthrift::TType::I64, 1) => field_length = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9561                (fty, _) => p.skip(fty)?,
9562            }
9563            p.read_field_end()?;
9564        }
9565        p.read_struct_end()?;
9566        ::std::result::Result::Ok(Self {
9567            length: field_length.unwrap_or_default(),
9568            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9569        })
9570    }
9571}
9572
9573
9574#[allow(clippy::derivable_impls)]
9575impl ::std::default::Default for self::GetSegmentIdResp {
9576    fn default() -> Self {
9577        Self {
9578            code: ::std::default::Default::default(),
9579            leader: ::std::default::Default::default(),
9580            segment_id: ::std::default::Default::default(),
9581            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9582        }
9583    }
9584}
9585
9586impl ::std::fmt::Debug for self::GetSegmentIdResp {
9587    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9588        formatter
9589            .debug_struct("GetSegmentIdResp")
9590            .field("code", &self.code)
9591            .field("leader", &self.leader)
9592            .field("segment_id", &self.segment_id)
9593            .finish()
9594    }
9595}
9596
9597unsafe impl ::std::marker::Send for self::GetSegmentIdResp {}
9598unsafe impl ::std::marker::Sync for self::GetSegmentIdResp {}
9599
9600impl ::fbthrift::GetTType for self::GetSegmentIdResp {
9601    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9602}
9603
9604impl<P> ::fbthrift::Serialize<P> for self::GetSegmentIdResp
9605where
9606    P: ::fbthrift::ProtocolWriter,
9607{
9608    fn write(&self, p: &mut P) {
9609        p.write_struct_begin("GetSegmentIdResp");
9610        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9611        ::fbthrift::Serialize::write(&self.code, p);
9612        p.write_field_end();
9613        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9614        ::fbthrift::Serialize::write(&self.leader, p);
9615        p.write_field_end();
9616        p.write_field_begin("segment_id", ::fbthrift::TType::I64, 3);
9617        ::fbthrift::Serialize::write(&self.segment_id, p);
9618        p.write_field_end();
9619        p.write_field_stop();
9620        p.write_struct_end();
9621    }
9622}
9623
9624impl<P> ::fbthrift::Deserialize<P> for self::GetSegmentIdResp
9625where
9626    P: ::fbthrift::ProtocolReader,
9627{
9628    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9629        static FIELDS: &[::fbthrift::Field] = &[
9630            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9631            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9632            ::fbthrift::Field::new("segment_id", ::fbthrift::TType::I64, 3),
9633        ];
9634        let mut field_code = ::std::option::Option::None;
9635        let mut field_leader = ::std::option::Option::None;
9636        let mut field_segment_id = ::std::option::Option::None;
9637        let _ = p.read_struct_begin(|_| ())?;
9638        loop {
9639            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9640            match (fty, fid as ::std::primitive::i32) {
9641                (::fbthrift::TType::Stop, _) => break,
9642                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9643                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9644                (::fbthrift::TType::I64, 3) => field_segment_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9645                (fty, _) => p.skip(fty)?,
9646            }
9647            p.read_field_end()?;
9648        }
9649        p.read_struct_end()?;
9650        ::std::result::Result::Ok(Self {
9651            code: field_code.unwrap_or_default(),
9652            leader: field_leader.unwrap_or_default(),
9653            segment_id: field_segment_id.unwrap_or_default(),
9654            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9655        })
9656    }
9657}
9658
9659
9660#[allow(clippy::derivable_impls)]
9661impl ::std::default::Default for self::HBResp {
9662    fn default() -> Self {
9663        Self {
9664            code: ::std::default::Default::default(),
9665            leader: ::std::default::Default::default(),
9666            cluster_id: ::std::default::Default::default(),
9667            last_update_time_in_ms: ::std::default::Default::default(),
9668            meta_version: ::std::default::Default::default(),
9669            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9670        }
9671    }
9672}
9673
9674impl ::std::fmt::Debug for self::HBResp {
9675    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9676        formatter
9677            .debug_struct("HBResp")
9678            .field("code", &self.code)
9679            .field("leader", &self.leader)
9680            .field("cluster_id", &self.cluster_id)
9681            .field("last_update_time_in_ms", &self.last_update_time_in_ms)
9682            .field("meta_version", &self.meta_version)
9683            .finish()
9684    }
9685}
9686
9687unsafe impl ::std::marker::Send for self::HBResp {}
9688unsafe impl ::std::marker::Sync for self::HBResp {}
9689
9690impl ::fbthrift::GetTType for self::HBResp {
9691    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9692}
9693
9694impl<P> ::fbthrift::Serialize<P> for self::HBResp
9695where
9696    P: ::fbthrift::ProtocolWriter,
9697{
9698    fn write(&self, p: &mut P) {
9699        p.write_struct_begin("HBResp");
9700        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9701        ::fbthrift::Serialize::write(&self.code, p);
9702        p.write_field_end();
9703        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9704        ::fbthrift::Serialize::write(&self.leader, p);
9705        p.write_field_end();
9706        p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 3);
9707        ::fbthrift::Serialize::write(&self.cluster_id, p);
9708        p.write_field_end();
9709        p.write_field_begin("last_update_time_in_ms", ::fbthrift::TType::I64, 4);
9710        ::fbthrift::Serialize::write(&self.last_update_time_in_ms, p);
9711        p.write_field_end();
9712        p.write_field_begin("meta_version", ::fbthrift::TType::I32, 5);
9713        ::fbthrift::Serialize::write(&self.meta_version, p);
9714        p.write_field_end();
9715        p.write_field_stop();
9716        p.write_struct_end();
9717    }
9718}
9719
9720impl<P> ::fbthrift::Deserialize<P> for self::HBResp
9721where
9722    P: ::fbthrift::ProtocolReader,
9723{
9724    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9725        static FIELDS: &[::fbthrift::Field] = &[
9726            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 3),
9727            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9728            ::fbthrift::Field::new("last_update_time_in_ms", ::fbthrift::TType::I64, 4),
9729            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9730            ::fbthrift::Field::new("meta_version", ::fbthrift::TType::I32, 5),
9731        ];
9732        let mut field_code = ::std::option::Option::None;
9733        let mut field_leader = ::std::option::Option::None;
9734        let mut field_cluster_id = ::std::option::Option::None;
9735        let mut field_last_update_time_in_ms = ::std::option::Option::None;
9736        let mut field_meta_version = ::std::option::Option::None;
9737        let _ = p.read_struct_begin(|_| ())?;
9738        loop {
9739            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9740            match (fty, fid as ::std::primitive::i32) {
9741                (::fbthrift::TType::Stop, _) => break,
9742                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9743                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9744                (::fbthrift::TType::I64, 3) => field_cluster_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9745                (::fbthrift::TType::I64, 4) => field_last_update_time_in_ms = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9746                (::fbthrift::TType::I32, 5) => field_meta_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9747                (fty, _) => p.skip(fty)?,
9748            }
9749            p.read_field_end()?;
9750        }
9751        p.read_struct_end()?;
9752        ::std::result::Result::Ok(Self {
9753            code: field_code.unwrap_or_default(),
9754            leader: field_leader.unwrap_or_default(),
9755            cluster_id: field_cluster_id.unwrap_or_default(),
9756            last_update_time_in_ms: field_last_update_time_in_ms.unwrap_or_default(),
9757            meta_version: field_meta_version.unwrap_or_default(),
9758            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9759        })
9760    }
9761}
9762
9763
9764#[allow(clippy::derivable_impls)]
9765impl ::std::default::Default for self::LeaderInfo {
9766    fn default() -> Self {
9767        Self {
9768            part_id: ::std::default::Default::default(),
9769            term: ::std::default::Default::default(),
9770            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9771        }
9772    }
9773}
9774
9775impl ::std::fmt::Debug for self::LeaderInfo {
9776    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9777        formatter
9778            .debug_struct("LeaderInfo")
9779            .field("part_id", &self.part_id)
9780            .field("term", &self.term)
9781            .finish()
9782    }
9783}
9784
9785unsafe impl ::std::marker::Send for self::LeaderInfo {}
9786unsafe impl ::std::marker::Sync for self::LeaderInfo {}
9787
9788impl ::fbthrift::GetTType for self::LeaderInfo {
9789    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9790}
9791
9792impl<P> ::fbthrift::Serialize<P> for self::LeaderInfo
9793where
9794    P: ::fbthrift::ProtocolWriter,
9795{
9796    fn write(&self, p: &mut P) {
9797        p.write_struct_begin("LeaderInfo");
9798        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
9799        ::fbthrift::Serialize::write(&self.part_id, p);
9800        p.write_field_end();
9801        p.write_field_begin("term", ::fbthrift::TType::I64, 2);
9802        ::fbthrift::Serialize::write(&self.term, p);
9803        p.write_field_end();
9804        p.write_field_stop();
9805        p.write_struct_end();
9806    }
9807}
9808
9809impl<P> ::fbthrift::Deserialize<P> for self::LeaderInfo
9810where
9811    P: ::fbthrift::ProtocolReader,
9812{
9813    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9814        static FIELDS: &[::fbthrift::Field] = &[
9815            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
9816            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 2),
9817        ];
9818        let mut field_part_id = ::std::option::Option::None;
9819        let mut field_term = ::std::option::Option::None;
9820        let _ = p.read_struct_begin(|_| ())?;
9821        loop {
9822            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9823            match (fty, fid as ::std::primitive::i32) {
9824                (::fbthrift::TType::Stop, _) => break,
9825                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9826                (::fbthrift::TType::I64, 2) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9827                (fty, _) => p.skip(fty)?,
9828            }
9829            p.read_field_end()?;
9830        }
9831        p.read_struct_end()?;
9832        ::std::result::Result::Ok(Self {
9833            part_id: field_part_id.unwrap_or_default(),
9834            term: field_term.unwrap_or_default(),
9835            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9836        })
9837    }
9838}
9839
9840
9841#[allow(clippy::derivable_impls)]
9842impl ::std::default::Default for self::PartitionList {
9843    fn default() -> Self {
9844        Self {
9845            part_list: ::std::default::Default::default(),
9846            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9847        }
9848    }
9849}
9850
9851impl ::std::fmt::Debug for self::PartitionList {
9852    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9853        formatter
9854            .debug_struct("PartitionList")
9855            .field("part_list", &self.part_list)
9856            .finish()
9857    }
9858}
9859
9860unsafe impl ::std::marker::Send for self::PartitionList {}
9861unsafe impl ::std::marker::Sync for self::PartitionList {}
9862
9863impl ::fbthrift::GetTType for self::PartitionList {
9864    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9865}
9866
9867impl<P> ::fbthrift::Serialize<P> for self::PartitionList
9868where
9869    P: ::fbthrift::ProtocolWriter,
9870{
9871    fn write(&self, p: &mut P) {
9872        p.write_struct_begin("PartitionList");
9873        p.write_field_begin("part_list", ::fbthrift::TType::List, 1);
9874        ::fbthrift::Serialize::write(&self.part_list, p);
9875        p.write_field_end();
9876        p.write_field_stop();
9877        p.write_struct_end();
9878    }
9879}
9880
9881impl<P> ::fbthrift::Deserialize<P> for self::PartitionList
9882where
9883    P: ::fbthrift::ProtocolReader,
9884{
9885    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9886        static FIELDS: &[::fbthrift::Field] = &[
9887            ::fbthrift::Field::new("part_list", ::fbthrift::TType::List, 1),
9888        ];
9889        let mut field_part_list = ::std::option::Option::None;
9890        let _ = p.read_struct_begin(|_| ())?;
9891        loop {
9892            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9893            match (fty, fid as ::std::primitive::i32) {
9894                (::fbthrift::TType::Stop, _) => break,
9895                (::fbthrift::TType::List, 1) => field_part_list = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9896                (fty, _) => p.skip(fty)?,
9897            }
9898            p.read_field_end()?;
9899        }
9900        p.read_struct_end()?;
9901        ::std::result::Result::Ok(Self {
9902            part_list: field_part_list.unwrap_or_default(),
9903            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9904        })
9905    }
9906}
9907
9908
9909#[allow(clippy::derivable_impls)]
9910impl ::std::default::Default for self::HBReq {
9911    fn default() -> Self {
9912        Self {
9913            role: ::std::default::Default::default(),
9914            host: ::std::default::Default::default(),
9915            cluster_id: ::std::default::Default::default(),
9916            leader_partIds: ::std::option::Option::None,
9917            git_info_sha: ::std::default::Default::default(),
9918            disk_parts: ::std::option::Option::None,
9919            dir: ::std::option::Option::None,
9920            version: ::std::option::Option::None,
9921            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9922        }
9923    }
9924}
9925
9926impl ::std::fmt::Debug for self::HBReq {
9927    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9928        formatter
9929            .debug_struct("HBReq")
9930            .field("role", &self.role)
9931            .field("host", &self.host)
9932            .field("cluster_id", &self.cluster_id)
9933            .field("leader_partIds", &self.leader_partIds)
9934            .field("git_info_sha", &self.git_info_sha)
9935            .field("disk_parts", &self.disk_parts)
9936            .field("dir", &self.dir)
9937            .field("version", &self.version)
9938            .finish()
9939    }
9940}
9941
9942unsafe impl ::std::marker::Send for self::HBReq {}
9943unsafe impl ::std::marker::Sync for self::HBReq {}
9944
9945impl ::fbthrift::GetTType for self::HBReq {
9946    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9947}
9948
9949impl<P> ::fbthrift::Serialize<P> for self::HBReq
9950where
9951    P: ::fbthrift::ProtocolWriter,
9952{
9953    fn write(&self, p: &mut P) {
9954        p.write_struct_begin("HBReq");
9955        p.write_field_begin("role", ::fbthrift::TType::I32, 1);
9956        ::fbthrift::Serialize::write(&self.role, p);
9957        p.write_field_end();
9958        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
9959        ::fbthrift::Serialize::write(&self.host, p);
9960        p.write_field_end();
9961        p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 3);
9962        ::fbthrift::Serialize::write(&self.cluster_id, p);
9963        p.write_field_end();
9964        if let ::std::option::Option::Some(some) = &self.leader_partIds {
9965            p.write_field_begin("leader_partIds", ::fbthrift::TType::Map, 4);
9966            ::fbthrift::Serialize::write(some, p);
9967            p.write_field_end();
9968        }
9969        p.write_field_begin("git_info_sha", ::fbthrift::TType::String, 5);
9970        ::fbthrift::Serialize::write(&self.git_info_sha, p);
9971        p.write_field_end();
9972        if let ::std::option::Option::Some(some) = &self.disk_parts {
9973            p.write_field_begin("disk_parts", ::fbthrift::TType::Map, 6);
9974            ::fbthrift::Serialize::write(some, p);
9975            p.write_field_end();
9976        }
9977        if let ::std::option::Option::Some(some) = &self.dir {
9978            p.write_field_begin("dir", ::fbthrift::TType::Struct, 7);
9979            ::fbthrift::Serialize::write(some, p);
9980            p.write_field_end();
9981        }
9982        if let ::std::option::Option::Some(some) = &self.version {
9983            p.write_field_begin("version", ::fbthrift::TType::String, 8);
9984            ::fbthrift::Serialize::write(some, p);
9985            p.write_field_end();
9986        }
9987        p.write_field_stop();
9988        p.write_struct_end();
9989    }
9990}
9991
9992impl<P> ::fbthrift::Deserialize<P> for self::HBReq
9993where
9994    P: ::fbthrift::ProtocolReader,
9995{
9996    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9997        static FIELDS: &[::fbthrift::Field] = &[
9998            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 3),
9999            ::fbthrift::Field::new("dir", ::fbthrift::TType::Struct, 7),
10000            ::fbthrift::Field::new("disk_parts", ::fbthrift::TType::Map, 6),
10001            ::fbthrift::Field::new("git_info_sha", ::fbthrift::TType::String, 5),
10002            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
10003            ::fbthrift::Field::new("leader_partIds", ::fbthrift::TType::Map, 4),
10004            ::fbthrift::Field::new("role", ::fbthrift::TType::I32, 1),
10005            ::fbthrift::Field::new("version", ::fbthrift::TType::String, 8),
10006        ];
10007        let mut field_role = ::std::option::Option::None;
10008        let mut field_host = ::std::option::Option::None;
10009        let mut field_cluster_id = ::std::option::Option::None;
10010        let mut field_leader_partIds = ::std::option::Option::None;
10011        let mut field_git_info_sha = ::std::option::Option::None;
10012        let mut field_disk_parts = ::std::option::Option::None;
10013        let mut field_dir = ::std::option::Option::None;
10014        let mut field_version = ::std::option::Option::None;
10015        let _ = p.read_struct_begin(|_| ())?;
10016        loop {
10017            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10018            match (fty, fid as ::std::primitive::i32) {
10019                (::fbthrift::TType::Stop, _) => break,
10020                (::fbthrift::TType::I32, 1) => field_role = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10021                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10022                (::fbthrift::TType::I64, 3) => field_cluster_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10023                (::fbthrift::TType::Map, 4) => field_leader_partIds = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10024                (::fbthrift::TType::String, 5) => field_git_info_sha = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10025                (::fbthrift::TType::Map, 6) => field_disk_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10026                (::fbthrift::TType::Struct, 7) => field_dir = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10027                (::fbthrift::TType::String, 8) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10028                (fty, _) => p.skip(fty)?,
10029            }
10030            p.read_field_end()?;
10031        }
10032        p.read_struct_end()?;
10033        ::std::result::Result::Ok(Self {
10034            role: field_role.unwrap_or_default(),
10035            host: field_host.unwrap_or_default(),
10036            cluster_id: field_cluster_id.unwrap_or_default(),
10037            leader_partIds: field_leader_partIds,
10038            git_info_sha: field_git_info_sha.unwrap_or_default(),
10039            disk_parts: field_disk_parts,
10040            dir: field_dir,
10041            version: field_version,
10042            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10043        })
10044    }
10045}
10046
10047
10048#[allow(clippy::derivable_impls)]
10049impl ::std::default::Default for self::ServiceInfo {
10050    fn default() -> Self {
10051        Self {
10052            dir: ::std::default::Default::default(),
10053            addr: ::std::default::Default::default(),
10054            role: ::std::default::Default::default(),
10055            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10056        }
10057    }
10058}
10059
10060impl ::std::fmt::Debug for self::ServiceInfo {
10061    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10062        formatter
10063            .debug_struct("ServiceInfo")
10064            .field("dir", &self.dir)
10065            .field("addr", &self.addr)
10066            .field("role", &self.role)
10067            .finish()
10068    }
10069}
10070
10071unsafe impl ::std::marker::Send for self::ServiceInfo {}
10072unsafe impl ::std::marker::Sync for self::ServiceInfo {}
10073
10074impl ::fbthrift::GetTType for self::ServiceInfo {
10075    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10076}
10077
10078impl<P> ::fbthrift::Serialize<P> for self::ServiceInfo
10079where
10080    P: ::fbthrift::ProtocolWriter,
10081{
10082    fn write(&self, p: &mut P) {
10083        p.write_struct_begin("ServiceInfo");
10084        p.write_field_begin("dir", ::fbthrift::TType::Struct, 1);
10085        ::fbthrift::Serialize::write(&self.dir, p);
10086        p.write_field_end();
10087        p.write_field_begin("addr", ::fbthrift::TType::Struct, 2);
10088        ::fbthrift::Serialize::write(&self.addr, p);
10089        p.write_field_end();
10090        p.write_field_begin("role", ::fbthrift::TType::I32, 3);
10091        ::fbthrift::Serialize::write(&self.role, p);
10092        p.write_field_end();
10093        p.write_field_stop();
10094        p.write_struct_end();
10095    }
10096}
10097
10098impl<P> ::fbthrift::Deserialize<P> for self::ServiceInfo
10099where
10100    P: ::fbthrift::ProtocolReader,
10101{
10102    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10103        static FIELDS: &[::fbthrift::Field] = &[
10104            ::fbthrift::Field::new("addr", ::fbthrift::TType::Struct, 2),
10105            ::fbthrift::Field::new("dir", ::fbthrift::TType::Struct, 1),
10106            ::fbthrift::Field::new("role", ::fbthrift::TType::I32, 3),
10107        ];
10108        let mut field_dir = ::std::option::Option::None;
10109        let mut field_addr = ::std::option::Option::None;
10110        let mut field_role = ::std::option::Option::None;
10111        let _ = p.read_struct_begin(|_| ())?;
10112        loop {
10113            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10114            match (fty, fid as ::std::primitive::i32) {
10115                (::fbthrift::TType::Stop, _) => break,
10116                (::fbthrift::TType::Struct, 1) => field_dir = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10117                (::fbthrift::TType::Struct, 2) => field_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10118                (::fbthrift::TType::I32, 3) => field_role = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10119                (fty, _) => p.skip(fty)?,
10120            }
10121            p.read_field_end()?;
10122        }
10123        p.read_struct_end()?;
10124        ::std::result::Result::Ok(Self {
10125            dir: field_dir.unwrap_or_default(),
10126            addr: field_addr.unwrap_or_default(),
10127            role: field_role.unwrap_or_default(),
10128            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10129        })
10130    }
10131}
10132
10133
10134#[allow(clippy::derivable_impls)]
10135impl ::std::default::Default for self::AgentHBReq {
10136    fn default() -> Self {
10137        Self {
10138            host: ::std::default::Default::default(),
10139            git_info_sha: ::std::default::Default::default(),
10140            version: ::std::option::Option::None,
10141            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10142        }
10143    }
10144}
10145
10146impl ::std::fmt::Debug for self::AgentHBReq {
10147    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10148        formatter
10149            .debug_struct("AgentHBReq")
10150            .field("host", &self.host)
10151            .field("git_info_sha", &self.git_info_sha)
10152            .field("version", &self.version)
10153            .finish()
10154    }
10155}
10156
10157unsafe impl ::std::marker::Send for self::AgentHBReq {}
10158unsafe impl ::std::marker::Sync for self::AgentHBReq {}
10159
10160impl ::fbthrift::GetTType for self::AgentHBReq {
10161    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10162}
10163
10164impl<P> ::fbthrift::Serialize<P> for self::AgentHBReq
10165where
10166    P: ::fbthrift::ProtocolWriter,
10167{
10168    fn write(&self, p: &mut P) {
10169        p.write_struct_begin("AgentHBReq");
10170        p.write_field_begin("host", ::fbthrift::TType::Struct, 1);
10171        ::fbthrift::Serialize::write(&self.host, p);
10172        p.write_field_end();
10173        p.write_field_begin("git_info_sha", ::fbthrift::TType::String, 2);
10174        ::fbthrift::Serialize::write(&self.git_info_sha, p);
10175        p.write_field_end();
10176        if let ::std::option::Option::Some(some) = &self.version {
10177            p.write_field_begin("version", ::fbthrift::TType::String, 3);
10178            ::fbthrift::Serialize::write(some, p);
10179            p.write_field_end();
10180        }
10181        p.write_field_stop();
10182        p.write_struct_end();
10183    }
10184}
10185
10186impl<P> ::fbthrift::Deserialize<P> for self::AgentHBReq
10187where
10188    P: ::fbthrift::ProtocolReader,
10189{
10190    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10191        static FIELDS: &[::fbthrift::Field] = &[
10192            ::fbthrift::Field::new("git_info_sha", ::fbthrift::TType::String, 2),
10193            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 1),
10194            ::fbthrift::Field::new("version", ::fbthrift::TType::String, 3),
10195        ];
10196        let mut field_host = ::std::option::Option::None;
10197        let mut field_git_info_sha = ::std::option::Option::None;
10198        let mut field_version = ::std::option::Option::None;
10199        let _ = p.read_struct_begin(|_| ())?;
10200        loop {
10201            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10202            match (fty, fid as ::std::primitive::i32) {
10203                (::fbthrift::TType::Stop, _) => break,
10204                (::fbthrift::TType::Struct, 1) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10205                (::fbthrift::TType::String, 2) => field_git_info_sha = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10206                (::fbthrift::TType::String, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10207                (fty, _) => p.skip(fty)?,
10208            }
10209            p.read_field_end()?;
10210        }
10211        p.read_struct_end()?;
10212        ::std::result::Result::Ok(Self {
10213            host: field_host.unwrap_or_default(),
10214            git_info_sha: field_git_info_sha.unwrap_or_default(),
10215            version: field_version,
10216            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10217        })
10218    }
10219}
10220
10221
10222#[allow(clippy::derivable_impls)]
10223impl ::std::default::Default for self::AgentHBResp {
10224    fn default() -> Self {
10225        Self {
10226            code: ::std::default::Default::default(),
10227            leader: ::std::default::Default::default(),
10228            service_list: ::std::default::Default::default(),
10229            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10230        }
10231    }
10232}
10233
10234impl ::std::fmt::Debug for self::AgentHBResp {
10235    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10236        formatter
10237            .debug_struct("AgentHBResp")
10238            .field("code", &self.code)
10239            .field("leader", &self.leader)
10240            .field("service_list", &self.service_list)
10241            .finish()
10242    }
10243}
10244
10245unsafe impl ::std::marker::Send for self::AgentHBResp {}
10246unsafe impl ::std::marker::Sync for self::AgentHBResp {}
10247
10248impl ::fbthrift::GetTType for self::AgentHBResp {
10249    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10250}
10251
10252impl<P> ::fbthrift::Serialize<P> for self::AgentHBResp
10253where
10254    P: ::fbthrift::ProtocolWriter,
10255{
10256    fn write(&self, p: &mut P) {
10257        p.write_struct_begin("AgentHBResp");
10258        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
10259        ::fbthrift::Serialize::write(&self.code, p);
10260        p.write_field_end();
10261        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
10262        ::fbthrift::Serialize::write(&self.leader, p);
10263        p.write_field_end();
10264        p.write_field_begin("service_list", ::fbthrift::TType::List, 3);
10265        ::fbthrift::Serialize::write(&self.service_list, p);
10266        p.write_field_end();
10267        p.write_field_stop();
10268        p.write_struct_end();
10269    }
10270}
10271
10272impl<P> ::fbthrift::Deserialize<P> for self::AgentHBResp
10273where
10274    P: ::fbthrift::ProtocolReader,
10275{
10276    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10277        static FIELDS: &[::fbthrift::Field] = &[
10278            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
10279            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
10280            ::fbthrift::Field::new("service_list", ::fbthrift::TType::List, 3),
10281        ];
10282        let mut field_code = ::std::option::Option::None;
10283        let mut field_leader = ::std::option::Option::None;
10284        let mut field_service_list = ::std::option::Option::None;
10285        let _ = p.read_struct_begin(|_| ())?;
10286        loop {
10287            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10288            match (fty, fid as ::std::primitive::i32) {
10289                (::fbthrift::TType::Stop, _) => break,
10290                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10291                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10292                (::fbthrift::TType::List, 3) => field_service_list = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10293                (fty, _) => p.skip(fty)?,
10294            }
10295            p.read_field_end()?;
10296        }
10297        p.read_struct_end()?;
10298        ::std::result::Result::Ok(Self {
10299            code: field_code.unwrap_or_default(),
10300            leader: field_leader.unwrap_or_default(),
10301            service_list: field_service_list.unwrap_or_default(),
10302            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10303        })
10304    }
10305}
10306
10307
10308#[allow(clippy::derivable_impls)]
10309impl ::std::default::Default for self::IndexFieldDef {
10310    fn default() -> Self {
10311        Self {
10312            name: ::std::default::Default::default(),
10313            type_length: ::std::option::Option::None,
10314            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10315        }
10316    }
10317}
10318
10319impl ::std::fmt::Debug for self::IndexFieldDef {
10320    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10321        formatter
10322            .debug_struct("IndexFieldDef")
10323            .field("name", &self.name)
10324            .field("type_length", &self.type_length)
10325            .finish()
10326    }
10327}
10328
10329unsafe impl ::std::marker::Send for self::IndexFieldDef {}
10330unsafe impl ::std::marker::Sync for self::IndexFieldDef {}
10331
10332impl ::fbthrift::GetTType for self::IndexFieldDef {
10333    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10334}
10335
10336impl<P> ::fbthrift::Serialize<P> for self::IndexFieldDef
10337where
10338    P: ::fbthrift::ProtocolWriter,
10339{
10340    fn write(&self, p: &mut P) {
10341        p.write_struct_begin("IndexFieldDef");
10342        p.write_field_begin("name", ::fbthrift::TType::String, 1);
10343        ::fbthrift::Serialize::write(&self.name, p);
10344        p.write_field_end();
10345        if let ::std::option::Option::Some(some) = &self.type_length {
10346            p.write_field_begin("type_length", ::fbthrift::TType::I16, 2);
10347            ::fbthrift::Serialize::write(some, p);
10348            p.write_field_end();
10349        }
10350        p.write_field_stop();
10351        p.write_struct_end();
10352    }
10353}
10354
10355impl<P> ::fbthrift::Deserialize<P> for self::IndexFieldDef
10356where
10357    P: ::fbthrift::ProtocolReader,
10358{
10359    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10360        static FIELDS: &[::fbthrift::Field] = &[
10361            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
10362            ::fbthrift::Field::new("type_length", ::fbthrift::TType::I16, 2),
10363        ];
10364        let mut field_name = ::std::option::Option::None;
10365        let mut field_type_length = ::std::option::Option::None;
10366        let _ = p.read_struct_begin(|_| ())?;
10367        loop {
10368            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10369            match (fty, fid as ::std::primitive::i32) {
10370                (::fbthrift::TType::Stop, _) => break,
10371                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10372                (::fbthrift::TType::I16, 2) => field_type_length = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10373                (fty, _) => p.skip(fty)?,
10374            }
10375            p.read_field_end()?;
10376        }
10377        p.read_struct_end()?;
10378        ::std::result::Result::Ok(Self {
10379            name: field_name.unwrap_or_default(),
10380            type_length: field_type_length,
10381            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10382        })
10383    }
10384}
10385
10386
10387#[allow(clippy::derivable_impls)]
10388impl ::std::default::Default for self::CreateTagIndexReq {
10389    fn default() -> Self {
10390        Self {
10391            space_id: ::std::default::Default::default(),
10392            index_name: ::std::default::Default::default(),
10393            tag_name: ::std::default::Default::default(),
10394            fields: ::std::default::Default::default(),
10395            if_not_exists: ::std::default::Default::default(),
10396            comment: ::std::option::Option::None,
10397            index_params: ::std::option::Option::None,
10398            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10399        }
10400    }
10401}
10402
10403impl ::std::fmt::Debug for self::CreateTagIndexReq {
10404    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10405        formatter
10406            .debug_struct("CreateTagIndexReq")
10407            .field("space_id", &self.space_id)
10408            .field("index_name", &self.index_name)
10409            .field("tag_name", &self.tag_name)
10410            .field("fields", &self.fields)
10411            .field("if_not_exists", &self.if_not_exists)
10412            .field("comment", &self.comment)
10413            .field("index_params", &self.index_params)
10414            .finish()
10415    }
10416}
10417
10418unsafe impl ::std::marker::Send for self::CreateTagIndexReq {}
10419unsafe impl ::std::marker::Sync for self::CreateTagIndexReq {}
10420
10421impl ::fbthrift::GetTType for self::CreateTagIndexReq {
10422    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10423}
10424
10425impl<P> ::fbthrift::Serialize<P> for self::CreateTagIndexReq
10426where
10427    P: ::fbthrift::ProtocolWriter,
10428{
10429    fn write(&self, p: &mut P) {
10430        p.write_struct_begin("CreateTagIndexReq");
10431        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10432        ::fbthrift::Serialize::write(&self.space_id, p);
10433        p.write_field_end();
10434        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10435        ::fbthrift::Serialize::write(&self.index_name, p);
10436        p.write_field_end();
10437        p.write_field_begin("tag_name", ::fbthrift::TType::String, 3);
10438        ::fbthrift::Serialize::write(&self.tag_name, p);
10439        p.write_field_end();
10440        p.write_field_begin("fields", ::fbthrift::TType::List, 4);
10441        ::fbthrift::Serialize::write(&self.fields, p);
10442        p.write_field_end();
10443        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 5);
10444        ::fbthrift::Serialize::write(&self.if_not_exists, p);
10445        p.write_field_end();
10446        if let ::std::option::Option::Some(some) = &self.comment {
10447            p.write_field_begin("comment", ::fbthrift::TType::String, 6);
10448            ::fbthrift::Serialize::write(some, p);
10449            p.write_field_end();
10450        }
10451        if let ::std::option::Option::Some(some) = &self.index_params {
10452            p.write_field_begin("index_params", ::fbthrift::TType::Struct, 7);
10453            ::fbthrift::Serialize::write(some, p);
10454            p.write_field_end();
10455        }
10456        p.write_field_stop();
10457        p.write_struct_end();
10458    }
10459}
10460
10461impl<P> ::fbthrift::Deserialize<P> for self::CreateTagIndexReq
10462where
10463    P: ::fbthrift::ProtocolReader,
10464{
10465    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10466        static FIELDS: &[::fbthrift::Field] = &[
10467            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 6),
10468            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 4),
10469            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 5),
10470            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10471            ::fbthrift::Field::new("index_params", ::fbthrift::TType::Struct, 7),
10472            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10473            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 3),
10474        ];
10475        let mut field_space_id = ::std::option::Option::None;
10476        let mut field_index_name = ::std::option::Option::None;
10477        let mut field_tag_name = ::std::option::Option::None;
10478        let mut field_fields = ::std::option::Option::None;
10479        let mut field_if_not_exists = ::std::option::Option::None;
10480        let mut field_comment = ::std::option::Option::None;
10481        let mut field_index_params = ::std::option::Option::None;
10482        let _ = p.read_struct_begin(|_| ())?;
10483        loop {
10484            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10485            match (fty, fid as ::std::primitive::i32) {
10486                (::fbthrift::TType::Stop, _) => break,
10487                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10488                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10489                (::fbthrift::TType::String, 3) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10490                (::fbthrift::TType::List, 4) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10491                (::fbthrift::TType::Bool, 5) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10492                (::fbthrift::TType::String, 6) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10493                (::fbthrift::TType::Struct, 7) => field_index_params = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10494                (fty, _) => p.skip(fty)?,
10495            }
10496            p.read_field_end()?;
10497        }
10498        p.read_struct_end()?;
10499        ::std::result::Result::Ok(Self {
10500            space_id: field_space_id.unwrap_or_default(),
10501            index_name: field_index_name.unwrap_or_default(),
10502            tag_name: field_tag_name.unwrap_or_default(),
10503            fields: field_fields.unwrap_or_default(),
10504            if_not_exists: field_if_not_exists.unwrap_or_default(),
10505            comment: field_comment,
10506            index_params: field_index_params,
10507            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10508        })
10509    }
10510}
10511
10512
10513#[allow(clippy::derivable_impls)]
10514impl ::std::default::Default for self::DropTagIndexReq {
10515    fn default() -> Self {
10516        Self {
10517            space_id: ::std::default::Default::default(),
10518            index_name: ::std::default::Default::default(),
10519            if_exists: ::std::default::Default::default(),
10520            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10521        }
10522    }
10523}
10524
10525impl ::std::fmt::Debug for self::DropTagIndexReq {
10526    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10527        formatter
10528            .debug_struct("DropTagIndexReq")
10529            .field("space_id", &self.space_id)
10530            .field("index_name", &self.index_name)
10531            .field("if_exists", &self.if_exists)
10532            .finish()
10533    }
10534}
10535
10536unsafe impl ::std::marker::Send for self::DropTagIndexReq {}
10537unsafe impl ::std::marker::Sync for self::DropTagIndexReq {}
10538
10539impl ::fbthrift::GetTType for self::DropTagIndexReq {
10540    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10541}
10542
10543impl<P> ::fbthrift::Serialize<P> for self::DropTagIndexReq
10544where
10545    P: ::fbthrift::ProtocolWriter,
10546{
10547    fn write(&self, p: &mut P) {
10548        p.write_struct_begin("DropTagIndexReq");
10549        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10550        ::fbthrift::Serialize::write(&self.space_id, p);
10551        p.write_field_end();
10552        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10553        ::fbthrift::Serialize::write(&self.index_name, p);
10554        p.write_field_end();
10555        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
10556        ::fbthrift::Serialize::write(&self.if_exists, p);
10557        p.write_field_end();
10558        p.write_field_stop();
10559        p.write_struct_end();
10560    }
10561}
10562
10563impl<P> ::fbthrift::Deserialize<P> for self::DropTagIndexReq
10564where
10565    P: ::fbthrift::ProtocolReader,
10566{
10567    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10568        static FIELDS: &[::fbthrift::Field] = &[
10569            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
10570            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10571            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10572        ];
10573        let mut field_space_id = ::std::option::Option::None;
10574        let mut field_index_name = ::std::option::Option::None;
10575        let mut field_if_exists = ::std::option::Option::None;
10576        let _ = p.read_struct_begin(|_| ())?;
10577        loop {
10578            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10579            match (fty, fid as ::std::primitive::i32) {
10580                (::fbthrift::TType::Stop, _) => break,
10581                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10582                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10583                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10584                (fty, _) => p.skip(fty)?,
10585            }
10586            p.read_field_end()?;
10587        }
10588        p.read_struct_end()?;
10589        ::std::result::Result::Ok(Self {
10590            space_id: field_space_id.unwrap_or_default(),
10591            index_name: field_index_name.unwrap_or_default(),
10592            if_exists: field_if_exists.unwrap_or_default(),
10593            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10594        })
10595    }
10596}
10597
10598
10599#[allow(clippy::derivable_impls)]
10600impl ::std::default::Default for self::GetTagIndexReq {
10601    fn default() -> Self {
10602        Self {
10603            space_id: ::std::default::Default::default(),
10604            index_name: ::std::default::Default::default(),
10605            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10606        }
10607    }
10608}
10609
10610impl ::std::fmt::Debug for self::GetTagIndexReq {
10611    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10612        formatter
10613            .debug_struct("GetTagIndexReq")
10614            .field("space_id", &self.space_id)
10615            .field("index_name", &self.index_name)
10616            .finish()
10617    }
10618}
10619
10620unsafe impl ::std::marker::Send for self::GetTagIndexReq {}
10621unsafe impl ::std::marker::Sync for self::GetTagIndexReq {}
10622
10623impl ::fbthrift::GetTType for self::GetTagIndexReq {
10624    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10625}
10626
10627impl<P> ::fbthrift::Serialize<P> for self::GetTagIndexReq
10628where
10629    P: ::fbthrift::ProtocolWriter,
10630{
10631    fn write(&self, p: &mut P) {
10632        p.write_struct_begin("GetTagIndexReq");
10633        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10634        ::fbthrift::Serialize::write(&self.space_id, p);
10635        p.write_field_end();
10636        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10637        ::fbthrift::Serialize::write(&self.index_name, p);
10638        p.write_field_end();
10639        p.write_field_stop();
10640        p.write_struct_end();
10641    }
10642}
10643
10644impl<P> ::fbthrift::Deserialize<P> for self::GetTagIndexReq
10645where
10646    P: ::fbthrift::ProtocolReader,
10647{
10648    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10649        static FIELDS: &[::fbthrift::Field] = &[
10650            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10651            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10652        ];
10653        let mut field_space_id = ::std::option::Option::None;
10654        let mut field_index_name = ::std::option::Option::None;
10655        let _ = p.read_struct_begin(|_| ())?;
10656        loop {
10657            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10658            match (fty, fid as ::std::primitive::i32) {
10659                (::fbthrift::TType::Stop, _) => break,
10660                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10661                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10662                (fty, _) => p.skip(fty)?,
10663            }
10664            p.read_field_end()?;
10665        }
10666        p.read_struct_end()?;
10667        ::std::result::Result::Ok(Self {
10668            space_id: field_space_id.unwrap_or_default(),
10669            index_name: field_index_name.unwrap_or_default(),
10670            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10671        })
10672    }
10673}
10674
10675
10676#[allow(clippy::derivable_impls)]
10677impl ::std::default::Default for self::GetTagIndexResp {
10678    fn default() -> Self {
10679        Self {
10680            code: ::std::default::Default::default(),
10681            leader: ::std::default::Default::default(),
10682            item: ::std::default::Default::default(),
10683            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10684        }
10685    }
10686}
10687
10688impl ::std::fmt::Debug for self::GetTagIndexResp {
10689    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10690        formatter
10691            .debug_struct("GetTagIndexResp")
10692            .field("code", &self.code)
10693            .field("leader", &self.leader)
10694            .field("item", &self.item)
10695            .finish()
10696    }
10697}
10698
10699unsafe impl ::std::marker::Send for self::GetTagIndexResp {}
10700unsafe impl ::std::marker::Sync for self::GetTagIndexResp {}
10701
10702impl ::fbthrift::GetTType for self::GetTagIndexResp {
10703    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10704}
10705
10706impl<P> ::fbthrift::Serialize<P> for self::GetTagIndexResp
10707where
10708    P: ::fbthrift::ProtocolWriter,
10709{
10710    fn write(&self, p: &mut P) {
10711        p.write_struct_begin("GetTagIndexResp");
10712        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
10713        ::fbthrift::Serialize::write(&self.code, p);
10714        p.write_field_end();
10715        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
10716        ::fbthrift::Serialize::write(&self.leader, p);
10717        p.write_field_end();
10718        p.write_field_begin("item", ::fbthrift::TType::Struct, 3);
10719        ::fbthrift::Serialize::write(&self.item, p);
10720        p.write_field_end();
10721        p.write_field_stop();
10722        p.write_struct_end();
10723    }
10724}
10725
10726impl<P> ::fbthrift::Deserialize<P> for self::GetTagIndexResp
10727where
10728    P: ::fbthrift::ProtocolReader,
10729{
10730    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10731        static FIELDS: &[::fbthrift::Field] = &[
10732            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
10733            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 3),
10734            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
10735        ];
10736        let mut field_code = ::std::option::Option::None;
10737        let mut field_leader = ::std::option::Option::None;
10738        let mut field_item = ::std::option::Option::None;
10739        let _ = p.read_struct_begin(|_| ())?;
10740        loop {
10741            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10742            match (fty, fid as ::std::primitive::i32) {
10743                (::fbthrift::TType::Stop, _) => break,
10744                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10745                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10746                (::fbthrift::TType::Struct, 3) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10747                (fty, _) => p.skip(fty)?,
10748            }
10749            p.read_field_end()?;
10750        }
10751        p.read_struct_end()?;
10752        ::std::result::Result::Ok(Self {
10753            code: field_code.unwrap_or_default(),
10754            leader: field_leader.unwrap_or_default(),
10755            item: field_item.unwrap_or_default(),
10756            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10757        })
10758    }
10759}
10760
10761
10762#[allow(clippy::derivable_impls)]
10763impl ::std::default::Default for self::ListTagIndexesReq {
10764    fn default() -> Self {
10765        Self {
10766            space_id: ::std::default::Default::default(),
10767            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10768        }
10769    }
10770}
10771
10772impl ::std::fmt::Debug for self::ListTagIndexesReq {
10773    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10774        formatter
10775            .debug_struct("ListTagIndexesReq")
10776            .field("space_id", &self.space_id)
10777            .finish()
10778    }
10779}
10780
10781unsafe impl ::std::marker::Send for self::ListTagIndexesReq {}
10782unsafe impl ::std::marker::Sync for self::ListTagIndexesReq {}
10783
10784impl ::fbthrift::GetTType for self::ListTagIndexesReq {
10785    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10786}
10787
10788impl<P> ::fbthrift::Serialize<P> for self::ListTagIndexesReq
10789where
10790    P: ::fbthrift::ProtocolWriter,
10791{
10792    fn write(&self, p: &mut P) {
10793        p.write_struct_begin("ListTagIndexesReq");
10794        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10795        ::fbthrift::Serialize::write(&self.space_id, p);
10796        p.write_field_end();
10797        p.write_field_stop();
10798        p.write_struct_end();
10799    }
10800}
10801
10802impl<P> ::fbthrift::Deserialize<P> for self::ListTagIndexesReq
10803where
10804    P: ::fbthrift::ProtocolReader,
10805{
10806    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10807        static FIELDS: &[::fbthrift::Field] = &[
10808            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10809        ];
10810        let mut field_space_id = ::std::option::Option::None;
10811        let _ = p.read_struct_begin(|_| ())?;
10812        loop {
10813            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10814            match (fty, fid as ::std::primitive::i32) {
10815                (::fbthrift::TType::Stop, _) => break,
10816                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10817                (fty, _) => p.skip(fty)?,
10818            }
10819            p.read_field_end()?;
10820        }
10821        p.read_struct_end()?;
10822        ::std::result::Result::Ok(Self {
10823            space_id: field_space_id.unwrap_or_default(),
10824            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10825        })
10826    }
10827}
10828
10829
10830#[allow(clippy::derivable_impls)]
10831impl ::std::default::Default for self::ListTagIndexesResp {
10832    fn default() -> Self {
10833        Self {
10834            code: ::std::default::Default::default(),
10835            leader: ::std::default::Default::default(),
10836            items: ::std::default::Default::default(),
10837            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10838        }
10839    }
10840}
10841
10842impl ::std::fmt::Debug for self::ListTagIndexesResp {
10843    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10844        formatter
10845            .debug_struct("ListTagIndexesResp")
10846            .field("code", &self.code)
10847            .field("leader", &self.leader)
10848            .field("items", &self.items)
10849            .finish()
10850    }
10851}
10852
10853unsafe impl ::std::marker::Send for self::ListTagIndexesResp {}
10854unsafe impl ::std::marker::Sync for self::ListTagIndexesResp {}
10855
10856impl ::fbthrift::GetTType for self::ListTagIndexesResp {
10857    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10858}
10859
10860impl<P> ::fbthrift::Serialize<P> for self::ListTagIndexesResp
10861where
10862    P: ::fbthrift::ProtocolWriter,
10863{
10864    fn write(&self, p: &mut P) {
10865        p.write_struct_begin("ListTagIndexesResp");
10866        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
10867        ::fbthrift::Serialize::write(&self.code, p);
10868        p.write_field_end();
10869        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
10870        ::fbthrift::Serialize::write(&self.leader, p);
10871        p.write_field_end();
10872        p.write_field_begin("items", ::fbthrift::TType::List, 3);
10873        ::fbthrift::Serialize::write(&self.items, p);
10874        p.write_field_end();
10875        p.write_field_stop();
10876        p.write_struct_end();
10877    }
10878}
10879
10880impl<P> ::fbthrift::Deserialize<P> for self::ListTagIndexesResp
10881where
10882    P: ::fbthrift::ProtocolReader,
10883{
10884    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10885        static FIELDS: &[::fbthrift::Field] = &[
10886            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
10887            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
10888            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
10889        ];
10890        let mut field_code = ::std::option::Option::None;
10891        let mut field_leader = ::std::option::Option::None;
10892        let mut field_items = ::std::option::Option::None;
10893        let _ = p.read_struct_begin(|_| ())?;
10894        loop {
10895            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10896            match (fty, fid as ::std::primitive::i32) {
10897                (::fbthrift::TType::Stop, _) => break,
10898                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10899                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10900                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10901                (fty, _) => p.skip(fty)?,
10902            }
10903            p.read_field_end()?;
10904        }
10905        p.read_struct_end()?;
10906        ::std::result::Result::Ok(Self {
10907            code: field_code.unwrap_or_default(),
10908            leader: field_leader.unwrap_or_default(),
10909            items: field_items.unwrap_or_default(),
10910            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10911        })
10912    }
10913}
10914
10915
10916#[allow(clippy::derivable_impls)]
10917impl ::std::default::Default for self::CreateEdgeIndexReq {
10918    fn default() -> Self {
10919        Self {
10920            space_id: ::std::default::Default::default(),
10921            index_name: ::std::default::Default::default(),
10922            edge_name: ::std::default::Default::default(),
10923            fields: ::std::default::Default::default(),
10924            if_not_exists: ::std::default::Default::default(),
10925            comment: ::std::option::Option::None,
10926            index_params: ::std::option::Option::None,
10927            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10928        }
10929    }
10930}
10931
10932impl ::std::fmt::Debug for self::CreateEdgeIndexReq {
10933    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10934        formatter
10935            .debug_struct("CreateEdgeIndexReq")
10936            .field("space_id", &self.space_id)
10937            .field("index_name", &self.index_name)
10938            .field("edge_name", &self.edge_name)
10939            .field("fields", &self.fields)
10940            .field("if_not_exists", &self.if_not_exists)
10941            .field("comment", &self.comment)
10942            .field("index_params", &self.index_params)
10943            .finish()
10944    }
10945}
10946
10947unsafe impl ::std::marker::Send for self::CreateEdgeIndexReq {}
10948unsafe impl ::std::marker::Sync for self::CreateEdgeIndexReq {}
10949
10950impl ::fbthrift::GetTType for self::CreateEdgeIndexReq {
10951    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10952}
10953
10954impl<P> ::fbthrift::Serialize<P> for self::CreateEdgeIndexReq
10955where
10956    P: ::fbthrift::ProtocolWriter,
10957{
10958    fn write(&self, p: &mut P) {
10959        p.write_struct_begin("CreateEdgeIndexReq");
10960        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10961        ::fbthrift::Serialize::write(&self.space_id, p);
10962        p.write_field_end();
10963        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10964        ::fbthrift::Serialize::write(&self.index_name, p);
10965        p.write_field_end();
10966        p.write_field_begin("edge_name", ::fbthrift::TType::String, 3);
10967        ::fbthrift::Serialize::write(&self.edge_name, p);
10968        p.write_field_end();
10969        p.write_field_begin("fields", ::fbthrift::TType::List, 4);
10970        ::fbthrift::Serialize::write(&self.fields, p);
10971        p.write_field_end();
10972        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 5);
10973        ::fbthrift::Serialize::write(&self.if_not_exists, p);
10974        p.write_field_end();
10975        if let ::std::option::Option::Some(some) = &self.comment {
10976            p.write_field_begin("comment", ::fbthrift::TType::String, 6);
10977            ::fbthrift::Serialize::write(some, p);
10978            p.write_field_end();
10979        }
10980        if let ::std::option::Option::Some(some) = &self.index_params {
10981            p.write_field_begin("index_params", ::fbthrift::TType::Struct, 7);
10982            ::fbthrift::Serialize::write(some, p);
10983            p.write_field_end();
10984        }
10985        p.write_field_stop();
10986        p.write_struct_end();
10987    }
10988}
10989
10990impl<P> ::fbthrift::Deserialize<P> for self::CreateEdgeIndexReq
10991where
10992    P: ::fbthrift::ProtocolReader,
10993{
10994    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10995        static FIELDS: &[::fbthrift::Field] = &[
10996            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 6),
10997            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 3),
10998            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 4),
10999            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 5),
11000            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
11001            ::fbthrift::Field::new("index_params", ::fbthrift::TType::Struct, 7),
11002            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11003        ];
11004        let mut field_space_id = ::std::option::Option::None;
11005        let mut field_index_name = ::std::option::Option::None;
11006        let mut field_edge_name = ::std::option::Option::None;
11007        let mut field_fields = ::std::option::Option::None;
11008        let mut field_if_not_exists = ::std::option::Option::None;
11009        let mut field_comment = ::std::option::Option::None;
11010        let mut field_index_params = ::std::option::Option::None;
11011        let _ = p.read_struct_begin(|_| ())?;
11012        loop {
11013            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11014            match (fty, fid as ::std::primitive::i32) {
11015                (::fbthrift::TType::Stop, _) => break,
11016                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11017                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11018                (::fbthrift::TType::String, 3) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11019                (::fbthrift::TType::List, 4) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11020                (::fbthrift::TType::Bool, 5) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11021                (::fbthrift::TType::String, 6) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11022                (::fbthrift::TType::Struct, 7) => field_index_params = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11023                (fty, _) => p.skip(fty)?,
11024            }
11025            p.read_field_end()?;
11026        }
11027        p.read_struct_end()?;
11028        ::std::result::Result::Ok(Self {
11029            space_id: field_space_id.unwrap_or_default(),
11030            index_name: field_index_name.unwrap_or_default(),
11031            edge_name: field_edge_name.unwrap_or_default(),
11032            fields: field_fields.unwrap_or_default(),
11033            if_not_exists: field_if_not_exists.unwrap_or_default(),
11034            comment: field_comment,
11035            index_params: field_index_params,
11036            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11037        })
11038    }
11039}
11040
11041
11042#[allow(clippy::derivable_impls)]
11043impl ::std::default::Default for self::DropEdgeIndexReq {
11044    fn default() -> Self {
11045        Self {
11046            space_id: ::std::default::Default::default(),
11047            index_name: ::std::default::Default::default(),
11048            if_exists: ::std::default::Default::default(),
11049            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11050        }
11051    }
11052}
11053
11054impl ::std::fmt::Debug for self::DropEdgeIndexReq {
11055    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11056        formatter
11057            .debug_struct("DropEdgeIndexReq")
11058            .field("space_id", &self.space_id)
11059            .field("index_name", &self.index_name)
11060            .field("if_exists", &self.if_exists)
11061            .finish()
11062    }
11063}
11064
11065unsafe impl ::std::marker::Send for self::DropEdgeIndexReq {}
11066unsafe impl ::std::marker::Sync for self::DropEdgeIndexReq {}
11067
11068impl ::fbthrift::GetTType for self::DropEdgeIndexReq {
11069    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11070}
11071
11072impl<P> ::fbthrift::Serialize<P> for self::DropEdgeIndexReq
11073where
11074    P: ::fbthrift::ProtocolWriter,
11075{
11076    fn write(&self, p: &mut P) {
11077        p.write_struct_begin("DropEdgeIndexReq");
11078        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11079        ::fbthrift::Serialize::write(&self.space_id, p);
11080        p.write_field_end();
11081        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
11082        ::fbthrift::Serialize::write(&self.index_name, p);
11083        p.write_field_end();
11084        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
11085        ::fbthrift::Serialize::write(&self.if_exists, p);
11086        p.write_field_end();
11087        p.write_field_stop();
11088        p.write_struct_end();
11089    }
11090}
11091
11092impl<P> ::fbthrift::Deserialize<P> for self::DropEdgeIndexReq
11093where
11094    P: ::fbthrift::ProtocolReader,
11095{
11096    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11097        static FIELDS: &[::fbthrift::Field] = &[
11098            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
11099            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
11100            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11101        ];
11102        let mut field_space_id = ::std::option::Option::None;
11103        let mut field_index_name = ::std::option::Option::None;
11104        let mut field_if_exists = ::std::option::Option::None;
11105        let _ = p.read_struct_begin(|_| ())?;
11106        loop {
11107            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11108            match (fty, fid as ::std::primitive::i32) {
11109                (::fbthrift::TType::Stop, _) => break,
11110                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11111                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11112                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11113                (fty, _) => p.skip(fty)?,
11114            }
11115            p.read_field_end()?;
11116        }
11117        p.read_struct_end()?;
11118        ::std::result::Result::Ok(Self {
11119            space_id: field_space_id.unwrap_or_default(),
11120            index_name: field_index_name.unwrap_or_default(),
11121            if_exists: field_if_exists.unwrap_or_default(),
11122            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11123        })
11124    }
11125}
11126
11127
11128#[allow(clippy::derivable_impls)]
11129impl ::std::default::Default for self::GetEdgeIndexReq {
11130    fn default() -> Self {
11131        Self {
11132            space_id: ::std::default::Default::default(),
11133            index_name: ::std::default::Default::default(),
11134            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11135        }
11136    }
11137}
11138
11139impl ::std::fmt::Debug for self::GetEdgeIndexReq {
11140    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11141        formatter
11142            .debug_struct("GetEdgeIndexReq")
11143            .field("space_id", &self.space_id)
11144            .field("index_name", &self.index_name)
11145            .finish()
11146    }
11147}
11148
11149unsafe impl ::std::marker::Send for self::GetEdgeIndexReq {}
11150unsafe impl ::std::marker::Sync for self::GetEdgeIndexReq {}
11151
11152impl ::fbthrift::GetTType for self::GetEdgeIndexReq {
11153    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11154}
11155
11156impl<P> ::fbthrift::Serialize<P> for self::GetEdgeIndexReq
11157where
11158    P: ::fbthrift::ProtocolWriter,
11159{
11160    fn write(&self, p: &mut P) {
11161        p.write_struct_begin("GetEdgeIndexReq");
11162        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11163        ::fbthrift::Serialize::write(&self.space_id, p);
11164        p.write_field_end();
11165        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
11166        ::fbthrift::Serialize::write(&self.index_name, p);
11167        p.write_field_end();
11168        p.write_field_stop();
11169        p.write_struct_end();
11170    }
11171}
11172
11173impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeIndexReq
11174where
11175    P: ::fbthrift::ProtocolReader,
11176{
11177    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11178        static FIELDS: &[::fbthrift::Field] = &[
11179            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
11180            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11181        ];
11182        let mut field_space_id = ::std::option::Option::None;
11183        let mut field_index_name = ::std::option::Option::None;
11184        let _ = p.read_struct_begin(|_| ())?;
11185        loop {
11186            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11187            match (fty, fid as ::std::primitive::i32) {
11188                (::fbthrift::TType::Stop, _) => break,
11189                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11190                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11191                (fty, _) => p.skip(fty)?,
11192            }
11193            p.read_field_end()?;
11194        }
11195        p.read_struct_end()?;
11196        ::std::result::Result::Ok(Self {
11197            space_id: field_space_id.unwrap_or_default(),
11198            index_name: field_index_name.unwrap_or_default(),
11199            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11200        })
11201    }
11202}
11203
11204
11205#[allow(clippy::derivable_impls)]
11206impl ::std::default::Default for self::GetEdgeIndexResp {
11207    fn default() -> Self {
11208        Self {
11209            code: ::std::default::Default::default(),
11210            leader: ::std::default::Default::default(),
11211            item: ::std::default::Default::default(),
11212            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11213        }
11214    }
11215}
11216
11217impl ::std::fmt::Debug for self::GetEdgeIndexResp {
11218    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11219        formatter
11220            .debug_struct("GetEdgeIndexResp")
11221            .field("code", &self.code)
11222            .field("leader", &self.leader)
11223            .field("item", &self.item)
11224            .finish()
11225    }
11226}
11227
11228unsafe impl ::std::marker::Send for self::GetEdgeIndexResp {}
11229unsafe impl ::std::marker::Sync for self::GetEdgeIndexResp {}
11230
11231impl ::fbthrift::GetTType for self::GetEdgeIndexResp {
11232    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11233}
11234
11235impl<P> ::fbthrift::Serialize<P> for self::GetEdgeIndexResp
11236where
11237    P: ::fbthrift::ProtocolWriter,
11238{
11239    fn write(&self, p: &mut P) {
11240        p.write_struct_begin("GetEdgeIndexResp");
11241        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
11242        ::fbthrift::Serialize::write(&self.code, p);
11243        p.write_field_end();
11244        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
11245        ::fbthrift::Serialize::write(&self.leader, p);
11246        p.write_field_end();
11247        p.write_field_begin("item", ::fbthrift::TType::Struct, 3);
11248        ::fbthrift::Serialize::write(&self.item, p);
11249        p.write_field_end();
11250        p.write_field_stop();
11251        p.write_struct_end();
11252    }
11253}
11254
11255impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeIndexResp
11256where
11257    P: ::fbthrift::ProtocolReader,
11258{
11259    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11260        static FIELDS: &[::fbthrift::Field] = &[
11261            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
11262            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 3),
11263            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
11264        ];
11265        let mut field_code = ::std::option::Option::None;
11266        let mut field_leader = ::std::option::Option::None;
11267        let mut field_item = ::std::option::Option::None;
11268        let _ = p.read_struct_begin(|_| ())?;
11269        loop {
11270            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11271            match (fty, fid as ::std::primitive::i32) {
11272                (::fbthrift::TType::Stop, _) => break,
11273                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11274                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11275                (::fbthrift::TType::Struct, 3) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11276                (fty, _) => p.skip(fty)?,
11277            }
11278            p.read_field_end()?;
11279        }
11280        p.read_struct_end()?;
11281        ::std::result::Result::Ok(Self {
11282            code: field_code.unwrap_or_default(),
11283            leader: field_leader.unwrap_or_default(),
11284            item: field_item.unwrap_or_default(),
11285            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11286        })
11287    }
11288}
11289
11290
11291#[allow(clippy::derivable_impls)]
11292impl ::std::default::Default for self::ListEdgeIndexesReq {
11293    fn default() -> Self {
11294        Self {
11295            space_id: ::std::default::Default::default(),
11296            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11297        }
11298    }
11299}
11300
11301impl ::std::fmt::Debug for self::ListEdgeIndexesReq {
11302    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11303        formatter
11304            .debug_struct("ListEdgeIndexesReq")
11305            .field("space_id", &self.space_id)
11306            .finish()
11307    }
11308}
11309
11310unsafe impl ::std::marker::Send for self::ListEdgeIndexesReq {}
11311unsafe impl ::std::marker::Sync for self::ListEdgeIndexesReq {}
11312
11313impl ::fbthrift::GetTType for self::ListEdgeIndexesReq {
11314    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11315}
11316
11317impl<P> ::fbthrift::Serialize<P> for self::ListEdgeIndexesReq
11318where
11319    P: ::fbthrift::ProtocolWriter,
11320{
11321    fn write(&self, p: &mut P) {
11322        p.write_struct_begin("ListEdgeIndexesReq");
11323        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11324        ::fbthrift::Serialize::write(&self.space_id, p);
11325        p.write_field_end();
11326        p.write_field_stop();
11327        p.write_struct_end();
11328    }
11329}
11330
11331impl<P> ::fbthrift::Deserialize<P> for self::ListEdgeIndexesReq
11332where
11333    P: ::fbthrift::ProtocolReader,
11334{
11335    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11336        static FIELDS: &[::fbthrift::Field] = &[
11337            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11338        ];
11339        let mut field_space_id = ::std::option::Option::None;
11340        let _ = p.read_struct_begin(|_| ())?;
11341        loop {
11342            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11343            match (fty, fid as ::std::primitive::i32) {
11344                (::fbthrift::TType::Stop, _) => break,
11345                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11346                (fty, _) => p.skip(fty)?,
11347            }
11348            p.read_field_end()?;
11349        }
11350        p.read_struct_end()?;
11351        ::std::result::Result::Ok(Self {
11352            space_id: field_space_id.unwrap_or_default(),
11353            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11354        })
11355    }
11356}
11357
11358
11359#[allow(clippy::derivable_impls)]
11360impl ::std::default::Default for self::ListEdgeIndexesResp {
11361    fn default() -> Self {
11362        Self {
11363            code: ::std::default::Default::default(),
11364            leader: ::std::default::Default::default(),
11365            items: ::std::default::Default::default(),
11366            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11367        }
11368    }
11369}
11370
11371impl ::std::fmt::Debug for self::ListEdgeIndexesResp {
11372    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11373        formatter
11374            .debug_struct("ListEdgeIndexesResp")
11375            .field("code", &self.code)
11376            .field("leader", &self.leader)
11377            .field("items", &self.items)
11378            .finish()
11379    }
11380}
11381
11382unsafe impl ::std::marker::Send for self::ListEdgeIndexesResp {}
11383unsafe impl ::std::marker::Sync for self::ListEdgeIndexesResp {}
11384
11385impl ::fbthrift::GetTType for self::ListEdgeIndexesResp {
11386    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11387}
11388
11389impl<P> ::fbthrift::Serialize<P> for self::ListEdgeIndexesResp
11390where
11391    P: ::fbthrift::ProtocolWriter,
11392{
11393    fn write(&self, p: &mut P) {
11394        p.write_struct_begin("ListEdgeIndexesResp");
11395        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
11396        ::fbthrift::Serialize::write(&self.code, p);
11397        p.write_field_end();
11398        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
11399        ::fbthrift::Serialize::write(&self.leader, p);
11400        p.write_field_end();
11401        p.write_field_begin("items", ::fbthrift::TType::List, 3);
11402        ::fbthrift::Serialize::write(&self.items, p);
11403        p.write_field_end();
11404        p.write_field_stop();
11405        p.write_struct_end();
11406    }
11407}
11408
11409impl<P> ::fbthrift::Deserialize<P> for self::ListEdgeIndexesResp
11410where
11411    P: ::fbthrift::ProtocolReader,
11412{
11413    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11414        static FIELDS: &[::fbthrift::Field] = &[
11415            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
11416            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
11417            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
11418        ];
11419        let mut field_code = ::std::option::Option::None;
11420        let mut field_leader = ::std::option::Option::None;
11421        let mut field_items = ::std::option::Option::None;
11422        let _ = p.read_struct_begin(|_| ())?;
11423        loop {
11424            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11425            match (fty, fid as ::std::primitive::i32) {
11426                (::fbthrift::TType::Stop, _) => break,
11427                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11428                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11429                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11430                (fty, _) => p.skip(fty)?,
11431            }
11432            p.read_field_end()?;
11433        }
11434        p.read_struct_end()?;
11435        ::std::result::Result::Ok(Self {
11436            code: field_code.unwrap_or_default(),
11437            leader: field_leader.unwrap_or_default(),
11438            items: field_items.unwrap_or_default(),
11439            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11440        })
11441    }
11442}
11443
11444
11445#[allow(clippy::derivable_impls)]
11446impl ::std::default::Default for self::RebuildIndexReq {
11447    fn default() -> Self {
11448        Self {
11449            space_id: ::std::default::Default::default(),
11450            index_name: ::std::default::Default::default(),
11451            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11452        }
11453    }
11454}
11455
11456impl ::std::fmt::Debug for self::RebuildIndexReq {
11457    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11458        formatter
11459            .debug_struct("RebuildIndexReq")
11460            .field("space_id", &self.space_id)
11461            .field("index_name", &self.index_name)
11462            .finish()
11463    }
11464}
11465
11466unsafe impl ::std::marker::Send for self::RebuildIndexReq {}
11467unsafe impl ::std::marker::Sync for self::RebuildIndexReq {}
11468
11469impl ::fbthrift::GetTType for self::RebuildIndexReq {
11470    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11471}
11472
11473impl<P> ::fbthrift::Serialize<P> for self::RebuildIndexReq
11474where
11475    P: ::fbthrift::ProtocolWriter,
11476{
11477    fn write(&self, p: &mut P) {
11478        p.write_struct_begin("RebuildIndexReq");
11479        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11480        ::fbthrift::Serialize::write(&self.space_id, p);
11481        p.write_field_end();
11482        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
11483        ::fbthrift::Serialize::write(&self.index_name, p);
11484        p.write_field_end();
11485        p.write_field_stop();
11486        p.write_struct_end();
11487    }
11488}
11489
11490impl<P> ::fbthrift::Deserialize<P> for self::RebuildIndexReq
11491where
11492    P: ::fbthrift::ProtocolReader,
11493{
11494    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11495        static FIELDS: &[::fbthrift::Field] = &[
11496            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
11497            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11498        ];
11499        let mut field_space_id = ::std::option::Option::None;
11500        let mut field_index_name = ::std::option::Option::None;
11501        let _ = p.read_struct_begin(|_| ())?;
11502        loop {
11503            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11504            match (fty, fid as ::std::primitive::i32) {
11505                (::fbthrift::TType::Stop, _) => break,
11506                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11507                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11508                (fty, _) => p.skip(fty)?,
11509            }
11510            p.read_field_end()?;
11511        }
11512        p.read_struct_end()?;
11513        ::std::result::Result::Ok(Self {
11514            space_id: field_space_id.unwrap_or_default(),
11515            index_name: field_index_name.unwrap_or_default(),
11516            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11517        })
11518    }
11519}
11520
11521
11522#[allow(clippy::derivable_impls)]
11523impl ::std::default::Default for self::CreateUserReq {
11524    fn default() -> Self {
11525        Self {
11526            account: ::std::default::Default::default(),
11527            encoded_pwd: ::std::default::Default::default(),
11528            if_not_exists: ::std::default::Default::default(),
11529            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11530        }
11531    }
11532}
11533
11534impl ::std::fmt::Debug for self::CreateUserReq {
11535    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11536        formatter
11537            .debug_struct("CreateUserReq")
11538            .field("account", &self.account)
11539            .field("encoded_pwd", &self.encoded_pwd)
11540            .field("if_not_exists", &self.if_not_exists)
11541            .finish()
11542    }
11543}
11544
11545unsafe impl ::std::marker::Send for self::CreateUserReq {}
11546unsafe impl ::std::marker::Sync for self::CreateUserReq {}
11547
11548impl ::fbthrift::GetTType for self::CreateUserReq {
11549    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11550}
11551
11552impl<P> ::fbthrift::Serialize<P> for self::CreateUserReq
11553where
11554    P: ::fbthrift::ProtocolWriter,
11555{
11556    fn write(&self, p: &mut P) {
11557        p.write_struct_begin("CreateUserReq");
11558        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11559        ::fbthrift::Serialize::write(&self.account, p);
11560        p.write_field_end();
11561        p.write_field_begin("encoded_pwd", ::fbthrift::TType::String, 2);
11562        ::fbthrift::Serialize::write(&self.encoded_pwd, p);
11563        p.write_field_end();
11564        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 3);
11565        ::fbthrift::Serialize::write(&self.if_not_exists, p);
11566        p.write_field_end();
11567        p.write_field_stop();
11568        p.write_struct_end();
11569    }
11570}
11571
11572impl<P> ::fbthrift::Deserialize<P> for self::CreateUserReq
11573where
11574    P: ::fbthrift::ProtocolReader,
11575{
11576    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11577        static FIELDS: &[::fbthrift::Field] = &[
11578            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11579            ::fbthrift::Field::new("encoded_pwd", ::fbthrift::TType::String, 2),
11580            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 3),
11581        ];
11582        let mut field_account = ::std::option::Option::None;
11583        let mut field_encoded_pwd = ::std::option::Option::None;
11584        let mut field_if_not_exists = ::std::option::Option::None;
11585        let _ = p.read_struct_begin(|_| ())?;
11586        loop {
11587            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11588            match (fty, fid as ::std::primitive::i32) {
11589                (::fbthrift::TType::Stop, _) => break,
11590                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11591                (::fbthrift::TType::String, 2) => field_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11592                (::fbthrift::TType::Bool, 3) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11593                (fty, _) => p.skip(fty)?,
11594            }
11595            p.read_field_end()?;
11596        }
11597        p.read_struct_end()?;
11598        ::std::result::Result::Ok(Self {
11599            account: field_account.unwrap_or_default(),
11600            encoded_pwd: field_encoded_pwd.unwrap_or_default(),
11601            if_not_exists: field_if_not_exists.unwrap_or_default(),
11602            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11603        })
11604    }
11605}
11606
11607
11608#[allow(clippy::derivable_impls)]
11609impl ::std::default::Default for self::DropUserReq {
11610    fn default() -> Self {
11611        Self {
11612            account: ::std::default::Default::default(),
11613            if_exists: ::std::default::Default::default(),
11614            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11615        }
11616    }
11617}
11618
11619impl ::std::fmt::Debug for self::DropUserReq {
11620    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11621        formatter
11622            .debug_struct("DropUserReq")
11623            .field("account", &self.account)
11624            .field("if_exists", &self.if_exists)
11625            .finish()
11626    }
11627}
11628
11629unsafe impl ::std::marker::Send for self::DropUserReq {}
11630unsafe impl ::std::marker::Sync for self::DropUserReq {}
11631
11632impl ::fbthrift::GetTType for self::DropUserReq {
11633    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11634}
11635
11636impl<P> ::fbthrift::Serialize<P> for self::DropUserReq
11637where
11638    P: ::fbthrift::ProtocolWriter,
11639{
11640    fn write(&self, p: &mut P) {
11641        p.write_struct_begin("DropUserReq");
11642        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11643        ::fbthrift::Serialize::write(&self.account, p);
11644        p.write_field_end();
11645        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 2);
11646        ::fbthrift::Serialize::write(&self.if_exists, p);
11647        p.write_field_end();
11648        p.write_field_stop();
11649        p.write_struct_end();
11650    }
11651}
11652
11653impl<P> ::fbthrift::Deserialize<P> for self::DropUserReq
11654where
11655    P: ::fbthrift::ProtocolReader,
11656{
11657    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11658        static FIELDS: &[::fbthrift::Field] = &[
11659            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11660            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 2),
11661        ];
11662        let mut field_account = ::std::option::Option::None;
11663        let mut field_if_exists = ::std::option::Option::None;
11664        let _ = p.read_struct_begin(|_| ())?;
11665        loop {
11666            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11667            match (fty, fid as ::std::primitive::i32) {
11668                (::fbthrift::TType::Stop, _) => break,
11669                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11670                (::fbthrift::TType::Bool, 2) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11671                (fty, _) => p.skip(fty)?,
11672            }
11673            p.read_field_end()?;
11674        }
11675        p.read_struct_end()?;
11676        ::std::result::Result::Ok(Self {
11677            account: field_account.unwrap_or_default(),
11678            if_exists: field_if_exists.unwrap_or_default(),
11679            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11680        })
11681    }
11682}
11683
11684
11685#[allow(clippy::derivable_impls)]
11686impl ::std::default::Default for self::AlterUserReq {
11687    fn default() -> Self {
11688        Self {
11689            account: ::std::default::Default::default(),
11690            encoded_pwd: ::std::default::Default::default(),
11691            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11692        }
11693    }
11694}
11695
11696impl ::std::fmt::Debug for self::AlterUserReq {
11697    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11698        formatter
11699            .debug_struct("AlterUserReq")
11700            .field("account", &self.account)
11701            .field("encoded_pwd", &self.encoded_pwd)
11702            .finish()
11703    }
11704}
11705
11706unsafe impl ::std::marker::Send for self::AlterUserReq {}
11707unsafe impl ::std::marker::Sync for self::AlterUserReq {}
11708
11709impl ::fbthrift::GetTType for self::AlterUserReq {
11710    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11711}
11712
11713impl<P> ::fbthrift::Serialize<P> for self::AlterUserReq
11714where
11715    P: ::fbthrift::ProtocolWriter,
11716{
11717    fn write(&self, p: &mut P) {
11718        p.write_struct_begin("AlterUserReq");
11719        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11720        ::fbthrift::Serialize::write(&self.account, p);
11721        p.write_field_end();
11722        p.write_field_begin("encoded_pwd", ::fbthrift::TType::String, 2);
11723        ::fbthrift::Serialize::write(&self.encoded_pwd, p);
11724        p.write_field_end();
11725        p.write_field_stop();
11726        p.write_struct_end();
11727    }
11728}
11729
11730impl<P> ::fbthrift::Deserialize<P> for self::AlterUserReq
11731where
11732    P: ::fbthrift::ProtocolReader,
11733{
11734    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11735        static FIELDS: &[::fbthrift::Field] = &[
11736            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11737            ::fbthrift::Field::new("encoded_pwd", ::fbthrift::TType::String, 2),
11738        ];
11739        let mut field_account = ::std::option::Option::None;
11740        let mut field_encoded_pwd = ::std::option::Option::None;
11741        let _ = p.read_struct_begin(|_| ())?;
11742        loop {
11743            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11744            match (fty, fid as ::std::primitive::i32) {
11745                (::fbthrift::TType::Stop, _) => break,
11746                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11747                (::fbthrift::TType::String, 2) => field_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11748                (fty, _) => p.skip(fty)?,
11749            }
11750            p.read_field_end()?;
11751        }
11752        p.read_struct_end()?;
11753        ::std::result::Result::Ok(Self {
11754            account: field_account.unwrap_or_default(),
11755            encoded_pwd: field_encoded_pwd.unwrap_or_default(),
11756            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11757        })
11758    }
11759}
11760
11761
11762#[allow(clippy::derivable_impls)]
11763impl ::std::default::Default for self::GrantRoleReq {
11764    fn default() -> Self {
11765        Self {
11766            role_item: ::std::default::Default::default(),
11767            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11768        }
11769    }
11770}
11771
11772impl ::std::fmt::Debug for self::GrantRoleReq {
11773    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11774        formatter
11775            .debug_struct("GrantRoleReq")
11776            .field("role_item", &self.role_item)
11777            .finish()
11778    }
11779}
11780
11781unsafe impl ::std::marker::Send for self::GrantRoleReq {}
11782unsafe impl ::std::marker::Sync for self::GrantRoleReq {}
11783
11784impl ::fbthrift::GetTType for self::GrantRoleReq {
11785    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11786}
11787
11788impl<P> ::fbthrift::Serialize<P> for self::GrantRoleReq
11789where
11790    P: ::fbthrift::ProtocolWriter,
11791{
11792    fn write(&self, p: &mut P) {
11793        p.write_struct_begin("GrantRoleReq");
11794        p.write_field_begin("role_item", ::fbthrift::TType::Struct, 1);
11795        ::fbthrift::Serialize::write(&self.role_item, p);
11796        p.write_field_end();
11797        p.write_field_stop();
11798        p.write_struct_end();
11799    }
11800}
11801
11802impl<P> ::fbthrift::Deserialize<P> for self::GrantRoleReq
11803where
11804    P: ::fbthrift::ProtocolReader,
11805{
11806    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11807        static FIELDS: &[::fbthrift::Field] = &[
11808            ::fbthrift::Field::new("role_item", ::fbthrift::TType::Struct, 1),
11809        ];
11810        let mut field_role_item = ::std::option::Option::None;
11811        let _ = p.read_struct_begin(|_| ())?;
11812        loop {
11813            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11814            match (fty, fid as ::std::primitive::i32) {
11815                (::fbthrift::TType::Stop, _) => break,
11816                (::fbthrift::TType::Struct, 1) => field_role_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11817                (fty, _) => p.skip(fty)?,
11818            }
11819            p.read_field_end()?;
11820        }
11821        p.read_struct_end()?;
11822        ::std::result::Result::Ok(Self {
11823            role_item: field_role_item.unwrap_or_default(),
11824            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11825        })
11826    }
11827}
11828
11829
11830#[allow(clippy::derivable_impls)]
11831impl ::std::default::Default for self::RevokeRoleReq {
11832    fn default() -> Self {
11833        Self {
11834            role_item: ::std::default::Default::default(),
11835            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11836        }
11837    }
11838}
11839
11840impl ::std::fmt::Debug for self::RevokeRoleReq {
11841    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11842        formatter
11843            .debug_struct("RevokeRoleReq")
11844            .field("role_item", &self.role_item)
11845            .finish()
11846    }
11847}
11848
11849unsafe impl ::std::marker::Send for self::RevokeRoleReq {}
11850unsafe impl ::std::marker::Sync for self::RevokeRoleReq {}
11851
11852impl ::fbthrift::GetTType for self::RevokeRoleReq {
11853    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11854}
11855
11856impl<P> ::fbthrift::Serialize<P> for self::RevokeRoleReq
11857where
11858    P: ::fbthrift::ProtocolWriter,
11859{
11860    fn write(&self, p: &mut P) {
11861        p.write_struct_begin("RevokeRoleReq");
11862        p.write_field_begin("role_item", ::fbthrift::TType::Struct, 1);
11863        ::fbthrift::Serialize::write(&self.role_item, p);
11864        p.write_field_end();
11865        p.write_field_stop();
11866        p.write_struct_end();
11867    }
11868}
11869
11870impl<P> ::fbthrift::Deserialize<P> for self::RevokeRoleReq
11871where
11872    P: ::fbthrift::ProtocolReader,
11873{
11874    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11875        static FIELDS: &[::fbthrift::Field] = &[
11876            ::fbthrift::Field::new("role_item", ::fbthrift::TType::Struct, 1),
11877        ];
11878        let mut field_role_item = ::std::option::Option::None;
11879        let _ = p.read_struct_begin(|_| ())?;
11880        loop {
11881            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11882            match (fty, fid as ::std::primitive::i32) {
11883                (::fbthrift::TType::Stop, _) => break,
11884                (::fbthrift::TType::Struct, 1) => field_role_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11885                (fty, _) => p.skip(fty)?,
11886            }
11887            p.read_field_end()?;
11888        }
11889        p.read_struct_end()?;
11890        ::std::result::Result::Ok(Self {
11891            role_item: field_role_item.unwrap_or_default(),
11892            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11893        })
11894    }
11895}
11896
11897
11898#[allow(clippy::derivable_impls)]
11899impl ::std::default::Default for self::ListUsersReq {
11900    fn default() -> Self {
11901        Self {
11902            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11903        }
11904    }
11905}
11906
11907impl ::std::fmt::Debug for self::ListUsersReq {
11908    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11909        formatter
11910            .debug_struct("ListUsersReq")
11911            .finish()
11912    }
11913}
11914
11915unsafe impl ::std::marker::Send for self::ListUsersReq {}
11916unsafe impl ::std::marker::Sync for self::ListUsersReq {}
11917
11918impl ::fbthrift::GetTType for self::ListUsersReq {
11919    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11920}
11921
11922impl<P> ::fbthrift::Serialize<P> for self::ListUsersReq
11923where
11924    P: ::fbthrift::ProtocolWriter,
11925{
11926    fn write(&self, p: &mut P) {
11927        p.write_struct_begin("ListUsersReq");
11928        p.write_field_stop();
11929        p.write_struct_end();
11930    }
11931}
11932
11933impl<P> ::fbthrift::Deserialize<P> for self::ListUsersReq
11934where
11935    P: ::fbthrift::ProtocolReader,
11936{
11937    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11938        static FIELDS: &[::fbthrift::Field] = &[
11939        ];
11940        let _ = p.read_struct_begin(|_| ())?;
11941        loop {
11942            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11943            match (fty, fid as ::std::primitive::i32) {
11944                (::fbthrift::TType::Stop, _) => break,
11945                (fty, _) => p.skip(fty)?,
11946            }
11947            p.read_field_end()?;
11948        }
11949        p.read_struct_end()?;
11950        ::std::result::Result::Ok(Self {
11951            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11952        })
11953    }
11954}
11955
11956
11957#[allow(clippy::derivable_impls)]
11958impl ::std::default::Default for self::ListUsersResp {
11959    fn default() -> Self {
11960        Self {
11961            code: ::std::default::Default::default(),
11962            leader: ::std::default::Default::default(),
11963            users: ::std::default::Default::default(),
11964            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11965        }
11966    }
11967}
11968
11969impl ::std::fmt::Debug for self::ListUsersResp {
11970    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11971        formatter
11972            .debug_struct("ListUsersResp")
11973            .field("code", &self.code)
11974            .field("leader", &self.leader)
11975            .field("users", &self.users)
11976            .finish()
11977    }
11978}
11979
11980unsafe impl ::std::marker::Send for self::ListUsersResp {}
11981unsafe impl ::std::marker::Sync for self::ListUsersResp {}
11982
11983impl ::fbthrift::GetTType for self::ListUsersResp {
11984    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11985}
11986
11987impl<P> ::fbthrift::Serialize<P> for self::ListUsersResp
11988where
11989    P: ::fbthrift::ProtocolWriter,
11990{
11991    fn write(&self, p: &mut P) {
11992        p.write_struct_begin("ListUsersResp");
11993        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
11994        ::fbthrift::Serialize::write(&self.code, p);
11995        p.write_field_end();
11996        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
11997        ::fbthrift::Serialize::write(&self.leader, p);
11998        p.write_field_end();
11999        p.write_field_begin("users", ::fbthrift::TType::Map, 3);
12000        ::fbthrift::Serialize::write(&self.users, p);
12001        p.write_field_end();
12002        p.write_field_stop();
12003        p.write_struct_end();
12004    }
12005}
12006
12007impl<P> ::fbthrift::Deserialize<P> for self::ListUsersResp
12008where
12009    P: ::fbthrift::ProtocolReader,
12010{
12011    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12012        static FIELDS: &[::fbthrift::Field] = &[
12013            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12014            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
12015            ::fbthrift::Field::new("users", ::fbthrift::TType::Map, 3),
12016        ];
12017        let mut field_code = ::std::option::Option::None;
12018        let mut field_leader = ::std::option::Option::None;
12019        let mut field_users = ::std::option::Option::None;
12020        let _ = p.read_struct_begin(|_| ())?;
12021        loop {
12022            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12023            match (fty, fid as ::std::primitive::i32) {
12024                (::fbthrift::TType::Stop, _) => break,
12025                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12026                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12027                (::fbthrift::TType::Map, 3) => field_users = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12028                (fty, _) => p.skip(fty)?,
12029            }
12030            p.read_field_end()?;
12031        }
12032        p.read_struct_end()?;
12033        ::std::result::Result::Ok(Self {
12034            code: field_code.unwrap_or_default(),
12035            leader: field_leader.unwrap_or_default(),
12036            users: field_users.unwrap_or_default(),
12037            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12038        })
12039    }
12040}
12041
12042
12043#[allow(clippy::derivable_impls)]
12044impl ::std::default::Default for self::ListRolesReq {
12045    fn default() -> Self {
12046        Self {
12047            space_id: ::std::default::Default::default(),
12048            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12049        }
12050    }
12051}
12052
12053impl ::std::fmt::Debug for self::ListRolesReq {
12054    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12055        formatter
12056            .debug_struct("ListRolesReq")
12057            .field("space_id", &self.space_id)
12058            .finish()
12059    }
12060}
12061
12062unsafe impl ::std::marker::Send for self::ListRolesReq {}
12063unsafe impl ::std::marker::Sync for self::ListRolesReq {}
12064
12065impl ::fbthrift::GetTType for self::ListRolesReq {
12066    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12067}
12068
12069impl<P> ::fbthrift::Serialize<P> for self::ListRolesReq
12070where
12071    P: ::fbthrift::ProtocolWriter,
12072{
12073    fn write(&self, p: &mut P) {
12074        p.write_struct_begin("ListRolesReq");
12075        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
12076        ::fbthrift::Serialize::write(&self.space_id, p);
12077        p.write_field_end();
12078        p.write_field_stop();
12079        p.write_struct_end();
12080    }
12081}
12082
12083impl<P> ::fbthrift::Deserialize<P> for self::ListRolesReq
12084where
12085    P: ::fbthrift::ProtocolReader,
12086{
12087    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12088        static FIELDS: &[::fbthrift::Field] = &[
12089            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
12090        ];
12091        let mut field_space_id = ::std::option::Option::None;
12092        let _ = p.read_struct_begin(|_| ())?;
12093        loop {
12094            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12095            match (fty, fid as ::std::primitive::i32) {
12096                (::fbthrift::TType::Stop, _) => break,
12097                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12098                (fty, _) => p.skip(fty)?,
12099            }
12100            p.read_field_end()?;
12101        }
12102        p.read_struct_end()?;
12103        ::std::result::Result::Ok(Self {
12104            space_id: field_space_id.unwrap_or_default(),
12105            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12106        })
12107    }
12108}
12109
12110
12111#[allow(clippy::derivable_impls)]
12112impl ::std::default::Default for self::ListRolesResp {
12113    fn default() -> Self {
12114        Self {
12115            code: ::std::default::Default::default(),
12116            leader: ::std::default::Default::default(),
12117            roles: ::std::default::Default::default(),
12118            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12119        }
12120    }
12121}
12122
12123impl ::std::fmt::Debug for self::ListRolesResp {
12124    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12125        formatter
12126            .debug_struct("ListRolesResp")
12127            .field("code", &self.code)
12128            .field("leader", &self.leader)
12129            .field("roles", &self.roles)
12130            .finish()
12131    }
12132}
12133
12134unsafe impl ::std::marker::Send for self::ListRolesResp {}
12135unsafe impl ::std::marker::Sync for self::ListRolesResp {}
12136
12137impl ::fbthrift::GetTType for self::ListRolesResp {
12138    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12139}
12140
12141impl<P> ::fbthrift::Serialize<P> for self::ListRolesResp
12142where
12143    P: ::fbthrift::ProtocolWriter,
12144{
12145    fn write(&self, p: &mut P) {
12146        p.write_struct_begin("ListRolesResp");
12147        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
12148        ::fbthrift::Serialize::write(&self.code, p);
12149        p.write_field_end();
12150        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
12151        ::fbthrift::Serialize::write(&self.leader, p);
12152        p.write_field_end();
12153        p.write_field_begin("roles", ::fbthrift::TType::List, 3);
12154        ::fbthrift::Serialize::write(&self.roles, p);
12155        p.write_field_end();
12156        p.write_field_stop();
12157        p.write_struct_end();
12158    }
12159}
12160
12161impl<P> ::fbthrift::Deserialize<P> for self::ListRolesResp
12162where
12163    P: ::fbthrift::ProtocolReader,
12164{
12165    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12166        static FIELDS: &[::fbthrift::Field] = &[
12167            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12168            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
12169            ::fbthrift::Field::new("roles", ::fbthrift::TType::List, 3),
12170        ];
12171        let mut field_code = ::std::option::Option::None;
12172        let mut field_leader = ::std::option::Option::None;
12173        let mut field_roles = ::std::option::Option::None;
12174        let _ = p.read_struct_begin(|_| ())?;
12175        loop {
12176            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12177            match (fty, fid as ::std::primitive::i32) {
12178                (::fbthrift::TType::Stop, _) => break,
12179                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12180                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12181                (::fbthrift::TType::List, 3) => field_roles = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12182                (fty, _) => p.skip(fty)?,
12183            }
12184            p.read_field_end()?;
12185        }
12186        p.read_struct_end()?;
12187        ::std::result::Result::Ok(Self {
12188            code: field_code.unwrap_or_default(),
12189            leader: field_leader.unwrap_or_default(),
12190            roles: field_roles.unwrap_or_default(),
12191            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12192        })
12193    }
12194}
12195
12196
12197#[allow(clippy::derivable_impls)]
12198impl ::std::default::Default for self::GetUserRolesReq {
12199    fn default() -> Self {
12200        Self {
12201            account: ::std::default::Default::default(),
12202            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12203        }
12204    }
12205}
12206
12207impl ::std::fmt::Debug for self::GetUserRolesReq {
12208    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12209        formatter
12210            .debug_struct("GetUserRolesReq")
12211            .field("account", &self.account)
12212            .finish()
12213    }
12214}
12215
12216unsafe impl ::std::marker::Send for self::GetUserRolesReq {}
12217unsafe impl ::std::marker::Sync for self::GetUserRolesReq {}
12218
12219impl ::fbthrift::GetTType for self::GetUserRolesReq {
12220    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12221}
12222
12223impl<P> ::fbthrift::Serialize<P> for self::GetUserRolesReq
12224where
12225    P: ::fbthrift::ProtocolWriter,
12226{
12227    fn write(&self, p: &mut P) {
12228        p.write_struct_begin("GetUserRolesReq");
12229        p.write_field_begin("account", ::fbthrift::TType::String, 1);
12230        ::fbthrift::Serialize::write(&self.account, p);
12231        p.write_field_end();
12232        p.write_field_stop();
12233        p.write_struct_end();
12234    }
12235}
12236
12237impl<P> ::fbthrift::Deserialize<P> for self::GetUserRolesReq
12238where
12239    P: ::fbthrift::ProtocolReader,
12240{
12241    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12242        static FIELDS: &[::fbthrift::Field] = &[
12243            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
12244        ];
12245        let mut field_account = ::std::option::Option::None;
12246        let _ = p.read_struct_begin(|_| ())?;
12247        loop {
12248            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12249            match (fty, fid as ::std::primitive::i32) {
12250                (::fbthrift::TType::Stop, _) => break,
12251                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12252                (fty, _) => p.skip(fty)?,
12253            }
12254            p.read_field_end()?;
12255        }
12256        p.read_struct_end()?;
12257        ::std::result::Result::Ok(Self {
12258            account: field_account.unwrap_or_default(),
12259            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12260        })
12261    }
12262}
12263
12264
12265#[allow(clippy::derivable_impls)]
12266impl ::std::default::Default for self::ChangePasswordReq {
12267    fn default() -> Self {
12268        Self {
12269            account: ::std::default::Default::default(),
12270            new_encoded_pwd: ::std::default::Default::default(),
12271            old_encoded_pwd: ::std::default::Default::default(),
12272            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12273        }
12274    }
12275}
12276
12277impl ::std::fmt::Debug for self::ChangePasswordReq {
12278    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12279        formatter
12280            .debug_struct("ChangePasswordReq")
12281            .field("account", &self.account)
12282            .field("new_encoded_pwd", &self.new_encoded_pwd)
12283            .field("old_encoded_pwd", &self.old_encoded_pwd)
12284            .finish()
12285    }
12286}
12287
12288unsafe impl ::std::marker::Send for self::ChangePasswordReq {}
12289unsafe impl ::std::marker::Sync for self::ChangePasswordReq {}
12290
12291impl ::fbthrift::GetTType for self::ChangePasswordReq {
12292    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12293}
12294
12295impl<P> ::fbthrift::Serialize<P> for self::ChangePasswordReq
12296where
12297    P: ::fbthrift::ProtocolWriter,
12298{
12299    fn write(&self, p: &mut P) {
12300        p.write_struct_begin("ChangePasswordReq");
12301        p.write_field_begin("account", ::fbthrift::TType::String, 1);
12302        ::fbthrift::Serialize::write(&self.account, p);
12303        p.write_field_end();
12304        p.write_field_begin("new_encoded_pwd", ::fbthrift::TType::String, 2);
12305        ::fbthrift::Serialize::write(&self.new_encoded_pwd, p);
12306        p.write_field_end();
12307        p.write_field_begin("old_encoded_pwd", ::fbthrift::TType::String, 3);
12308        ::fbthrift::Serialize::write(&self.old_encoded_pwd, p);
12309        p.write_field_end();
12310        p.write_field_stop();
12311        p.write_struct_end();
12312    }
12313}
12314
12315impl<P> ::fbthrift::Deserialize<P> for self::ChangePasswordReq
12316where
12317    P: ::fbthrift::ProtocolReader,
12318{
12319    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12320        static FIELDS: &[::fbthrift::Field] = &[
12321            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
12322            ::fbthrift::Field::new("new_encoded_pwd", ::fbthrift::TType::String, 2),
12323            ::fbthrift::Field::new("old_encoded_pwd", ::fbthrift::TType::String, 3),
12324        ];
12325        let mut field_account = ::std::option::Option::None;
12326        let mut field_new_encoded_pwd = ::std::option::Option::None;
12327        let mut field_old_encoded_pwd = ::std::option::Option::None;
12328        let _ = p.read_struct_begin(|_| ())?;
12329        loop {
12330            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12331            match (fty, fid as ::std::primitive::i32) {
12332                (::fbthrift::TType::Stop, _) => break,
12333                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12334                (::fbthrift::TType::String, 2) => field_new_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12335                (::fbthrift::TType::String, 3) => field_old_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12336                (fty, _) => p.skip(fty)?,
12337            }
12338            p.read_field_end()?;
12339        }
12340        p.read_struct_end()?;
12341        ::std::result::Result::Ok(Self {
12342            account: field_account.unwrap_or_default(),
12343            new_encoded_pwd: field_new_encoded_pwd.unwrap_or_default(),
12344            old_encoded_pwd: field_old_encoded_pwd.unwrap_or_default(),
12345            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12346        })
12347    }
12348}
12349
12350
12351#[allow(clippy::derivable_impls)]
12352impl ::std::default::Default for self::BalanceTask {
12353    fn default() -> Self {
12354        Self {
12355            id: ::std::default::Default::default(),
12356            command: ::std::default::Default::default(),
12357            result: ::std::default::Default::default(),
12358            start_time: ::std::default::Default::default(),
12359            stop_time: ::std::default::Default::default(),
12360            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12361        }
12362    }
12363}
12364
12365impl ::std::fmt::Debug for self::BalanceTask {
12366    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12367        formatter
12368            .debug_struct("BalanceTask")
12369            .field("id", &self.id)
12370            .field("command", &self.command)
12371            .field("result", &self.result)
12372            .field("start_time", &self.start_time)
12373            .field("stop_time", &self.stop_time)
12374            .finish()
12375    }
12376}
12377
12378unsafe impl ::std::marker::Send for self::BalanceTask {}
12379unsafe impl ::std::marker::Sync for self::BalanceTask {}
12380
12381impl ::fbthrift::GetTType for self::BalanceTask {
12382    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12383}
12384
12385impl<P> ::fbthrift::Serialize<P> for self::BalanceTask
12386where
12387    P: ::fbthrift::ProtocolWriter,
12388{
12389    fn write(&self, p: &mut P) {
12390        p.write_struct_begin("BalanceTask");
12391        p.write_field_begin("id", ::fbthrift::TType::String, 1);
12392        ::fbthrift::Serialize::write(&self.id, p);
12393        p.write_field_end();
12394        p.write_field_begin("command", ::fbthrift::TType::String, 2);
12395        ::fbthrift::Serialize::write(&self.command, p);
12396        p.write_field_end();
12397        p.write_field_begin("result", ::fbthrift::TType::I32, 3);
12398        ::fbthrift::Serialize::write(&self.result, p);
12399        p.write_field_end();
12400        p.write_field_begin("start_time", ::fbthrift::TType::I64, 4);
12401        ::fbthrift::Serialize::write(&self.start_time, p);
12402        p.write_field_end();
12403        p.write_field_begin("stop_time", ::fbthrift::TType::I64, 5);
12404        ::fbthrift::Serialize::write(&self.stop_time, p);
12405        p.write_field_end();
12406        p.write_field_stop();
12407        p.write_struct_end();
12408    }
12409}
12410
12411impl<P> ::fbthrift::Deserialize<P> for self::BalanceTask
12412where
12413    P: ::fbthrift::ProtocolReader,
12414{
12415    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12416        static FIELDS: &[::fbthrift::Field] = &[
12417            ::fbthrift::Field::new("command", ::fbthrift::TType::String, 2),
12418            ::fbthrift::Field::new("id", ::fbthrift::TType::String, 1),
12419            ::fbthrift::Field::new("result", ::fbthrift::TType::I32, 3),
12420            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 4),
12421            ::fbthrift::Field::new("stop_time", ::fbthrift::TType::I64, 5),
12422        ];
12423        let mut field_id = ::std::option::Option::None;
12424        let mut field_command = ::std::option::Option::None;
12425        let mut field_result = ::std::option::Option::None;
12426        let mut field_start_time = ::std::option::Option::None;
12427        let mut field_stop_time = ::std::option::Option::None;
12428        let _ = p.read_struct_begin(|_| ())?;
12429        loop {
12430            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12431            match (fty, fid as ::std::primitive::i32) {
12432                (::fbthrift::TType::Stop, _) => break,
12433                (::fbthrift::TType::String, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12434                (::fbthrift::TType::String, 2) => field_command = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12435                (::fbthrift::TType::I32, 3) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12436                (::fbthrift::TType::I64, 4) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12437                (::fbthrift::TType::I64, 5) => field_stop_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12438                (fty, _) => p.skip(fty)?,
12439            }
12440            p.read_field_end()?;
12441        }
12442        p.read_struct_end()?;
12443        ::std::result::Result::Ok(Self {
12444            id: field_id.unwrap_or_default(),
12445            command: field_command.unwrap_or_default(),
12446            result: field_result.unwrap_or_default(),
12447            start_time: field_start_time.unwrap_or_default(),
12448            stop_time: field_stop_time.unwrap_or_default(),
12449            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12450        })
12451    }
12452}
12453
12454
12455#[allow(clippy::derivable_impls)]
12456impl ::std::default::Default for self::ConfigItem {
12457    fn default() -> Self {
12458        Self {
12459            module: ::std::default::Default::default(),
12460            name: ::std::default::Default::default(),
12461            mode: ::std::default::Default::default(),
12462            value: ::std::default::Default::default(),
12463            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12464        }
12465    }
12466}
12467
12468impl ::std::fmt::Debug for self::ConfigItem {
12469    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12470        formatter
12471            .debug_struct("ConfigItem")
12472            .field("module", &self.module)
12473            .field("name", &self.name)
12474            .field("mode", &self.mode)
12475            .field("value", &self.value)
12476            .finish()
12477    }
12478}
12479
12480unsafe impl ::std::marker::Send for self::ConfigItem {}
12481unsafe impl ::std::marker::Sync for self::ConfigItem {}
12482
12483impl ::fbthrift::GetTType for self::ConfigItem {
12484    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12485}
12486
12487impl<P> ::fbthrift::Serialize<P> for self::ConfigItem
12488where
12489    P: ::fbthrift::ProtocolWriter,
12490{
12491    fn write(&self, p: &mut P) {
12492        p.write_struct_begin("ConfigItem");
12493        p.write_field_begin("module", ::fbthrift::TType::I32, 1);
12494        ::fbthrift::Serialize::write(&self.module, p);
12495        p.write_field_end();
12496        p.write_field_begin("name", ::fbthrift::TType::String, 2);
12497        ::fbthrift::Serialize::write(&self.name, p);
12498        p.write_field_end();
12499        p.write_field_begin("mode", ::fbthrift::TType::I32, 3);
12500        ::fbthrift::Serialize::write(&self.mode, p);
12501        p.write_field_end();
12502        p.write_field_begin("value", ::fbthrift::TType::Struct, 4);
12503        ::fbthrift::Serialize::write(&self.value, p);
12504        p.write_field_end();
12505        p.write_field_stop();
12506        p.write_struct_end();
12507    }
12508}
12509
12510impl<P> ::fbthrift::Deserialize<P> for self::ConfigItem
12511where
12512    P: ::fbthrift::ProtocolReader,
12513{
12514    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12515        static FIELDS: &[::fbthrift::Field] = &[
12516            ::fbthrift::Field::new("mode", ::fbthrift::TType::I32, 3),
12517            ::fbthrift::Field::new("module", ::fbthrift::TType::I32, 1),
12518            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
12519            ::fbthrift::Field::new("value", ::fbthrift::TType::Struct, 4),
12520        ];
12521        let mut field_module = ::std::option::Option::None;
12522        let mut field_name = ::std::option::Option::None;
12523        let mut field_mode = ::std::option::Option::None;
12524        let mut field_value = ::std::option::Option::None;
12525        let _ = p.read_struct_begin(|_| ())?;
12526        loop {
12527            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12528            match (fty, fid as ::std::primitive::i32) {
12529                (::fbthrift::TType::Stop, _) => break,
12530                (::fbthrift::TType::I32, 1) => field_module = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12531                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12532                (::fbthrift::TType::I32, 3) => field_mode = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12533                (::fbthrift::TType::Struct, 4) => field_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12534                (fty, _) => p.skip(fty)?,
12535            }
12536            p.read_field_end()?;
12537        }
12538        p.read_struct_end()?;
12539        ::std::result::Result::Ok(Self {
12540            module: field_module.unwrap_or_default(),
12541            name: field_name.unwrap_or_default(),
12542            mode: field_mode.unwrap_or_default(),
12543            value: field_value.unwrap_or_default(),
12544            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12545        })
12546    }
12547}
12548
12549
12550#[allow(clippy::derivable_impls)]
12551impl ::std::default::Default for self::RegConfigReq {
12552    fn default() -> Self {
12553        Self {
12554            items: ::std::default::Default::default(),
12555            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12556        }
12557    }
12558}
12559
12560impl ::std::fmt::Debug for self::RegConfigReq {
12561    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12562        formatter
12563            .debug_struct("RegConfigReq")
12564            .field("items", &self.items)
12565            .finish()
12566    }
12567}
12568
12569unsafe impl ::std::marker::Send for self::RegConfigReq {}
12570unsafe impl ::std::marker::Sync for self::RegConfigReq {}
12571
12572impl ::fbthrift::GetTType for self::RegConfigReq {
12573    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12574}
12575
12576impl<P> ::fbthrift::Serialize<P> for self::RegConfigReq
12577where
12578    P: ::fbthrift::ProtocolWriter,
12579{
12580    fn write(&self, p: &mut P) {
12581        p.write_struct_begin("RegConfigReq");
12582        p.write_field_begin("items", ::fbthrift::TType::List, 1);
12583        ::fbthrift::Serialize::write(&self.items, p);
12584        p.write_field_end();
12585        p.write_field_stop();
12586        p.write_struct_end();
12587    }
12588}
12589
12590impl<P> ::fbthrift::Deserialize<P> for self::RegConfigReq
12591where
12592    P: ::fbthrift::ProtocolReader,
12593{
12594    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12595        static FIELDS: &[::fbthrift::Field] = &[
12596            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 1),
12597        ];
12598        let mut field_items = ::std::option::Option::None;
12599        let _ = p.read_struct_begin(|_| ())?;
12600        loop {
12601            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12602            match (fty, fid as ::std::primitive::i32) {
12603                (::fbthrift::TType::Stop, _) => break,
12604                (::fbthrift::TType::List, 1) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12605                (fty, _) => p.skip(fty)?,
12606            }
12607            p.read_field_end()?;
12608        }
12609        p.read_struct_end()?;
12610        ::std::result::Result::Ok(Self {
12611            items: field_items.unwrap_or_default(),
12612            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12613        })
12614    }
12615}
12616
12617
12618#[allow(clippy::derivable_impls)]
12619impl ::std::default::Default for self::GetConfigReq {
12620    fn default() -> Self {
12621        Self {
12622            item: ::std::default::Default::default(),
12623            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12624        }
12625    }
12626}
12627
12628impl ::std::fmt::Debug for self::GetConfigReq {
12629    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12630        formatter
12631            .debug_struct("GetConfigReq")
12632            .field("item", &self.item)
12633            .finish()
12634    }
12635}
12636
12637unsafe impl ::std::marker::Send for self::GetConfigReq {}
12638unsafe impl ::std::marker::Sync for self::GetConfigReq {}
12639
12640impl ::fbthrift::GetTType for self::GetConfigReq {
12641    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12642}
12643
12644impl<P> ::fbthrift::Serialize<P> for self::GetConfigReq
12645where
12646    P: ::fbthrift::ProtocolWriter,
12647{
12648    fn write(&self, p: &mut P) {
12649        p.write_struct_begin("GetConfigReq");
12650        p.write_field_begin("item", ::fbthrift::TType::Struct, 1);
12651        ::fbthrift::Serialize::write(&self.item, p);
12652        p.write_field_end();
12653        p.write_field_stop();
12654        p.write_struct_end();
12655    }
12656}
12657
12658impl<P> ::fbthrift::Deserialize<P> for self::GetConfigReq
12659where
12660    P: ::fbthrift::ProtocolReader,
12661{
12662    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12663        static FIELDS: &[::fbthrift::Field] = &[
12664            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 1),
12665        ];
12666        let mut field_item = ::std::option::Option::None;
12667        let _ = p.read_struct_begin(|_| ())?;
12668        loop {
12669            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12670            match (fty, fid as ::std::primitive::i32) {
12671                (::fbthrift::TType::Stop, _) => break,
12672                (::fbthrift::TType::Struct, 1) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12673                (fty, _) => p.skip(fty)?,
12674            }
12675            p.read_field_end()?;
12676        }
12677        p.read_struct_end()?;
12678        ::std::result::Result::Ok(Self {
12679            item: field_item.unwrap_or_default(),
12680            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12681        })
12682    }
12683}
12684
12685
12686#[allow(clippy::derivable_impls)]
12687impl ::std::default::Default for self::GetConfigResp {
12688    fn default() -> Self {
12689        Self {
12690            code: ::std::default::Default::default(),
12691            leader: ::std::default::Default::default(),
12692            items: ::std::default::Default::default(),
12693            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12694        }
12695    }
12696}
12697
12698impl ::std::fmt::Debug for self::GetConfigResp {
12699    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12700        formatter
12701            .debug_struct("GetConfigResp")
12702            .field("code", &self.code)
12703            .field("leader", &self.leader)
12704            .field("items", &self.items)
12705            .finish()
12706    }
12707}
12708
12709unsafe impl ::std::marker::Send for self::GetConfigResp {}
12710unsafe impl ::std::marker::Sync for self::GetConfigResp {}
12711
12712impl ::fbthrift::GetTType for self::GetConfigResp {
12713    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12714}
12715
12716impl<P> ::fbthrift::Serialize<P> for self::GetConfigResp
12717where
12718    P: ::fbthrift::ProtocolWriter,
12719{
12720    fn write(&self, p: &mut P) {
12721        p.write_struct_begin("GetConfigResp");
12722        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
12723        ::fbthrift::Serialize::write(&self.code, p);
12724        p.write_field_end();
12725        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
12726        ::fbthrift::Serialize::write(&self.leader, p);
12727        p.write_field_end();
12728        p.write_field_begin("items", ::fbthrift::TType::List, 3);
12729        ::fbthrift::Serialize::write(&self.items, p);
12730        p.write_field_end();
12731        p.write_field_stop();
12732        p.write_struct_end();
12733    }
12734}
12735
12736impl<P> ::fbthrift::Deserialize<P> for self::GetConfigResp
12737where
12738    P: ::fbthrift::ProtocolReader,
12739{
12740    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12741        static FIELDS: &[::fbthrift::Field] = &[
12742            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12743            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
12744            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
12745        ];
12746        let mut field_code = ::std::option::Option::None;
12747        let mut field_leader = ::std::option::Option::None;
12748        let mut field_items = ::std::option::Option::None;
12749        let _ = p.read_struct_begin(|_| ())?;
12750        loop {
12751            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12752            match (fty, fid as ::std::primitive::i32) {
12753                (::fbthrift::TType::Stop, _) => break,
12754                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12755                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12756                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12757                (fty, _) => p.skip(fty)?,
12758            }
12759            p.read_field_end()?;
12760        }
12761        p.read_struct_end()?;
12762        ::std::result::Result::Ok(Self {
12763            code: field_code.unwrap_or_default(),
12764            leader: field_leader.unwrap_or_default(),
12765            items: field_items.unwrap_or_default(),
12766            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12767        })
12768    }
12769}
12770
12771
12772#[allow(clippy::derivable_impls)]
12773impl ::std::default::Default for self::SetConfigReq {
12774    fn default() -> Self {
12775        Self {
12776            item: ::std::default::Default::default(),
12777            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12778        }
12779    }
12780}
12781
12782impl ::std::fmt::Debug for self::SetConfigReq {
12783    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12784        formatter
12785            .debug_struct("SetConfigReq")
12786            .field("item", &self.item)
12787            .finish()
12788    }
12789}
12790
12791unsafe impl ::std::marker::Send for self::SetConfigReq {}
12792unsafe impl ::std::marker::Sync for self::SetConfigReq {}
12793
12794impl ::fbthrift::GetTType for self::SetConfigReq {
12795    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12796}
12797
12798impl<P> ::fbthrift::Serialize<P> for self::SetConfigReq
12799where
12800    P: ::fbthrift::ProtocolWriter,
12801{
12802    fn write(&self, p: &mut P) {
12803        p.write_struct_begin("SetConfigReq");
12804        p.write_field_begin("item", ::fbthrift::TType::Struct, 1);
12805        ::fbthrift::Serialize::write(&self.item, p);
12806        p.write_field_end();
12807        p.write_field_stop();
12808        p.write_struct_end();
12809    }
12810}
12811
12812impl<P> ::fbthrift::Deserialize<P> for self::SetConfigReq
12813where
12814    P: ::fbthrift::ProtocolReader,
12815{
12816    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12817        static FIELDS: &[::fbthrift::Field] = &[
12818            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 1),
12819        ];
12820        let mut field_item = ::std::option::Option::None;
12821        let _ = p.read_struct_begin(|_| ())?;
12822        loop {
12823            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12824            match (fty, fid as ::std::primitive::i32) {
12825                (::fbthrift::TType::Stop, _) => break,
12826                (::fbthrift::TType::Struct, 1) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12827                (fty, _) => p.skip(fty)?,
12828            }
12829            p.read_field_end()?;
12830        }
12831        p.read_struct_end()?;
12832        ::std::result::Result::Ok(Self {
12833            item: field_item.unwrap_or_default(),
12834            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12835        })
12836    }
12837}
12838
12839
12840#[allow(clippy::derivable_impls)]
12841impl ::std::default::Default for self::ListConfigsReq {
12842    fn default() -> Self {
12843        Self {
12844            space: ::std::default::Default::default(),
12845            module: ::std::default::Default::default(),
12846            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12847        }
12848    }
12849}
12850
12851impl ::std::fmt::Debug for self::ListConfigsReq {
12852    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12853        formatter
12854            .debug_struct("ListConfigsReq")
12855            .field("space", &self.space)
12856            .field("module", &self.module)
12857            .finish()
12858    }
12859}
12860
12861unsafe impl ::std::marker::Send for self::ListConfigsReq {}
12862unsafe impl ::std::marker::Sync for self::ListConfigsReq {}
12863
12864impl ::fbthrift::GetTType for self::ListConfigsReq {
12865    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12866}
12867
12868impl<P> ::fbthrift::Serialize<P> for self::ListConfigsReq
12869where
12870    P: ::fbthrift::ProtocolWriter,
12871{
12872    fn write(&self, p: &mut P) {
12873        p.write_struct_begin("ListConfigsReq");
12874        p.write_field_begin("space", ::fbthrift::TType::String, 1);
12875        ::fbthrift::Serialize::write(&self.space, p);
12876        p.write_field_end();
12877        p.write_field_begin("module", ::fbthrift::TType::I32, 2);
12878        ::fbthrift::Serialize::write(&self.module, p);
12879        p.write_field_end();
12880        p.write_field_stop();
12881        p.write_struct_end();
12882    }
12883}
12884
12885impl<P> ::fbthrift::Deserialize<P> for self::ListConfigsReq
12886where
12887    P: ::fbthrift::ProtocolReader,
12888{
12889    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12890        static FIELDS: &[::fbthrift::Field] = &[
12891            ::fbthrift::Field::new("module", ::fbthrift::TType::I32, 2),
12892            ::fbthrift::Field::new("space", ::fbthrift::TType::String, 1),
12893        ];
12894        let mut field_space = ::std::option::Option::None;
12895        let mut field_module = ::std::option::Option::None;
12896        let _ = p.read_struct_begin(|_| ())?;
12897        loop {
12898            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12899            match (fty, fid as ::std::primitive::i32) {
12900                (::fbthrift::TType::Stop, _) => break,
12901                (::fbthrift::TType::String, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12902                (::fbthrift::TType::I32, 2) => field_module = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12903                (fty, _) => p.skip(fty)?,
12904            }
12905            p.read_field_end()?;
12906        }
12907        p.read_struct_end()?;
12908        ::std::result::Result::Ok(Self {
12909            space: field_space.unwrap_or_default(),
12910            module: field_module.unwrap_or_default(),
12911            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12912        })
12913    }
12914}
12915
12916
12917#[allow(clippy::derivable_impls)]
12918impl ::std::default::Default for self::ListConfigsResp {
12919    fn default() -> Self {
12920        Self {
12921            code: ::std::default::Default::default(),
12922            leader: ::std::default::Default::default(),
12923            items: ::std::default::Default::default(),
12924            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12925        }
12926    }
12927}
12928
12929impl ::std::fmt::Debug for self::ListConfigsResp {
12930    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12931        formatter
12932            .debug_struct("ListConfigsResp")
12933            .field("code", &self.code)
12934            .field("leader", &self.leader)
12935            .field("items", &self.items)
12936            .finish()
12937    }
12938}
12939
12940unsafe impl ::std::marker::Send for self::ListConfigsResp {}
12941unsafe impl ::std::marker::Sync for self::ListConfigsResp {}
12942
12943impl ::fbthrift::GetTType for self::ListConfigsResp {
12944    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12945}
12946
12947impl<P> ::fbthrift::Serialize<P> for self::ListConfigsResp
12948where
12949    P: ::fbthrift::ProtocolWriter,
12950{
12951    fn write(&self, p: &mut P) {
12952        p.write_struct_begin("ListConfigsResp");
12953        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
12954        ::fbthrift::Serialize::write(&self.code, p);
12955        p.write_field_end();
12956        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
12957        ::fbthrift::Serialize::write(&self.leader, p);
12958        p.write_field_end();
12959        p.write_field_begin("items", ::fbthrift::TType::List, 3);
12960        ::fbthrift::Serialize::write(&self.items, p);
12961        p.write_field_end();
12962        p.write_field_stop();
12963        p.write_struct_end();
12964    }
12965}
12966
12967impl<P> ::fbthrift::Deserialize<P> for self::ListConfigsResp
12968where
12969    P: ::fbthrift::ProtocolReader,
12970{
12971    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12972        static FIELDS: &[::fbthrift::Field] = &[
12973            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12974            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
12975            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
12976        ];
12977        let mut field_code = ::std::option::Option::None;
12978        let mut field_leader = ::std::option::Option::None;
12979        let mut field_items = ::std::option::Option::None;
12980        let _ = p.read_struct_begin(|_| ())?;
12981        loop {
12982            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12983            match (fty, fid as ::std::primitive::i32) {
12984                (::fbthrift::TType::Stop, _) => break,
12985                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12986                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12987                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12988                (fty, _) => p.skip(fty)?,
12989            }
12990            p.read_field_end()?;
12991        }
12992        p.read_struct_end()?;
12993        ::std::result::Result::Ok(Self {
12994            code: field_code.unwrap_or_default(),
12995            leader: field_leader.unwrap_or_default(),
12996            items: field_items.unwrap_or_default(),
12997            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12998        })
12999    }
13000}
13001
13002
13003#[allow(clippy::derivable_impls)]
13004impl ::std::default::Default for self::CreateSnapshotReq {
13005    fn default() -> Self {
13006        Self {
13007            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13008        }
13009    }
13010}
13011
13012impl ::std::fmt::Debug for self::CreateSnapshotReq {
13013    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13014        formatter
13015            .debug_struct("CreateSnapshotReq")
13016            .finish()
13017    }
13018}
13019
13020unsafe impl ::std::marker::Send for self::CreateSnapshotReq {}
13021unsafe impl ::std::marker::Sync for self::CreateSnapshotReq {}
13022
13023impl ::fbthrift::GetTType for self::CreateSnapshotReq {
13024    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13025}
13026
13027impl<P> ::fbthrift::Serialize<P> for self::CreateSnapshotReq
13028where
13029    P: ::fbthrift::ProtocolWriter,
13030{
13031    fn write(&self, p: &mut P) {
13032        p.write_struct_begin("CreateSnapshotReq");
13033        p.write_field_stop();
13034        p.write_struct_end();
13035    }
13036}
13037
13038impl<P> ::fbthrift::Deserialize<P> for self::CreateSnapshotReq
13039where
13040    P: ::fbthrift::ProtocolReader,
13041{
13042    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13043        static FIELDS: &[::fbthrift::Field] = &[
13044        ];
13045        let _ = p.read_struct_begin(|_| ())?;
13046        loop {
13047            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13048            match (fty, fid as ::std::primitive::i32) {
13049                (::fbthrift::TType::Stop, _) => break,
13050                (fty, _) => p.skip(fty)?,
13051            }
13052            p.read_field_end()?;
13053        }
13054        p.read_struct_end()?;
13055        ::std::result::Result::Ok(Self {
13056            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13057        })
13058    }
13059}
13060
13061
13062#[allow(clippy::derivable_impls)]
13063impl ::std::default::Default for self::DropSnapshotReq {
13064    fn default() -> Self {
13065        Self {
13066            names: ::std::default::Default::default(),
13067            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13068        }
13069    }
13070}
13071
13072impl ::std::fmt::Debug for self::DropSnapshotReq {
13073    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13074        formatter
13075            .debug_struct("DropSnapshotReq")
13076            .field("names", &self.names)
13077            .finish()
13078    }
13079}
13080
13081unsafe impl ::std::marker::Send for self::DropSnapshotReq {}
13082unsafe impl ::std::marker::Sync for self::DropSnapshotReq {}
13083
13084impl ::fbthrift::GetTType for self::DropSnapshotReq {
13085    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13086}
13087
13088impl<P> ::fbthrift::Serialize<P> for self::DropSnapshotReq
13089where
13090    P: ::fbthrift::ProtocolWriter,
13091{
13092    fn write(&self, p: &mut P) {
13093        p.write_struct_begin("DropSnapshotReq");
13094        p.write_field_begin("names", ::fbthrift::TType::List, 1);
13095        ::fbthrift::Serialize::write(&self.names, p);
13096        p.write_field_end();
13097        p.write_field_stop();
13098        p.write_struct_end();
13099    }
13100}
13101
13102impl<P> ::fbthrift::Deserialize<P> for self::DropSnapshotReq
13103where
13104    P: ::fbthrift::ProtocolReader,
13105{
13106    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13107        static FIELDS: &[::fbthrift::Field] = &[
13108            ::fbthrift::Field::new("names", ::fbthrift::TType::List, 1),
13109        ];
13110        let mut field_names = ::std::option::Option::None;
13111        let _ = p.read_struct_begin(|_| ())?;
13112        loop {
13113            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13114            match (fty, fid as ::std::primitive::i32) {
13115                (::fbthrift::TType::Stop, _) => break,
13116                (::fbthrift::TType::List, 1) => field_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13117                (fty, _) => p.skip(fty)?,
13118            }
13119            p.read_field_end()?;
13120        }
13121        p.read_struct_end()?;
13122        ::std::result::Result::Ok(Self {
13123            names: field_names.unwrap_or_default(),
13124            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13125        })
13126    }
13127}
13128
13129
13130#[allow(clippy::derivable_impls)]
13131impl ::std::default::Default for self::ListSnapshotsReq {
13132    fn default() -> Self {
13133        Self {
13134            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13135        }
13136    }
13137}
13138
13139impl ::std::fmt::Debug for self::ListSnapshotsReq {
13140    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13141        formatter
13142            .debug_struct("ListSnapshotsReq")
13143            .finish()
13144    }
13145}
13146
13147unsafe impl ::std::marker::Send for self::ListSnapshotsReq {}
13148unsafe impl ::std::marker::Sync for self::ListSnapshotsReq {}
13149
13150impl ::fbthrift::GetTType for self::ListSnapshotsReq {
13151    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13152}
13153
13154impl<P> ::fbthrift::Serialize<P> for self::ListSnapshotsReq
13155where
13156    P: ::fbthrift::ProtocolWriter,
13157{
13158    fn write(&self, p: &mut P) {
13159        p.write_struct_begin("ListSnapshotsReq");
13160        p.write_field_stop();
13161        p.write_struct_end();
13162    }
13163}
13164
13165impl<P> ::fbthrift::Deserialize<P> for self::ListSnapshotsReq
13166where
13167    P: ::fbthrift::ProtocolReader,
13168{
13169    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13170        static FIELDS: &[::fbthrift::Field] = &[
13171        ];
13172        let _ = p.read_struct_begin(|_| ())?;
13173        loop {
13174            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13175            match (fty, fid as ::std::primitive::i32) {
13176                (::fbthrift::TType::Stop, _) => break,
13177                (fty, _) => p.skip(fty)?,
13178            }
13179            p.read_field_end()?;
13180        }
13181        p.read_struct_end()?;
13182        ::std::result::Result::Ok(Self {
13183            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13184        })
13185    }
13186}
13187
13188
13189#[allow(clippy::derivable_impls)]
13190impl ::std::default::Default for self::Snapshot {
13191    fn default() -> Self {
13192        Self {
13193            name: ::std::default::Default::default(),
13194            status: ::std::default::Default::default(),
13195            hosts: ::std::default::Default::default(),
13196            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13197        }
13198    }
13199}
13200
13201impl ::std::fmt::Debug for self::Snapshot {
13202    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13203        formatter
13204            .debug_struct("Snapshot")
13205            .field("name", &self.name)
13206            .field("status", &self.status)
13207            .field("hosts", &self.hosts)
13208            .finish()
13209    }
13210}
13211
13212unsafe impl ::std::marker::Send for self::Snapshot {}
13213unsafe impl ::std::marker::Sync for self::Snapshot {}
13214
13215impl ::fbthrift::GetTType for self::Snapshot {
13216    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13217}
13218
13219impl<P> ::fbthrift::Serialize<P> for self::Snapshot
13220where
13221    P: ::fbthrift::ProtocolWriter,
13222{
13223    fn write(&self, p: &mut P) {
13224        p.write_struct_begin("Snapshot");
13225        p.write_field_begin("name", ::fbthrift::TType::String, 1);
13226        ::fbthrift::Serialize::write(&self.name, p);
13227        p.write_field_end();
13228        p.write_field_begin("status", ::fbthrift::TType::I32, 2);
13229        ::fbthrift::Serialize::write(&self.status, p);
13230        p.write_field_end();
13231        p.write_field_begin("hosts", ::fbthrift::TType::String, 3);
13232        ::fbthrift::Serialize::write(&self.hosts, p);
13233        p.write_field_end();
13234        p.write_field_stop();
13235        p.write_struct_end();
13236    }
13237}
13238
13239impl<P> ::fbthrift::Deserialize<P> for self::Snapshot
13240where
13241    P: ::fbthrift::ProtocolReader,
13242{
13243    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13244        static FIELDS: &[::fbthrift::Field] = &[
13245            ::fbthrift::Field::new("hosts", ::fbthrift::TType::String, 3),
13246            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
13247            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 2),
13248        ];
13249        let mut field_name = ::std::option::Option::None;
13250        let mut field_status = ::std::option::Option::None;
13251        let mut field_hosts = ::std::option::Option::None;
13252        let _ = p.read_struct_begin(|_| ())?;
13253        loop {
13254            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13255            match (fty, fid as ::std::primitive::i32) {
13256                (::fbthrift::TType::Stop, _) => break,
13257                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13258                (::fbthrift::TType::I32, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13259                (::fbthrift::TType::String, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13260                (fty, _) => p.skip(fty)?,
13261            }
13262            p.read_field_end()?;
13263        }
13264        p.read_struct_end()?;
13265        ::std::result::Result::Ok(Self {
13266            name: field_name.unwrap_or_default(),
13267            status: field_status.unwrap_or_default(),
13268            hosts: field_hosts.unwrap_or_default(),
13269            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13270        })
13271    }
13272}
13273
13274
13275#[allow(clippy::derivable_impls)]
13276impl ::std::default::Default for self::ListSnapshotsResp {
13277    fn default() -> Self {
13278        Self {
13279            code: ::std::default::Default::default(),
13280            leader: ::std::default::Default::default(),
13281            snapshots: ::std::default::Default::default(),
13282            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13283        }
13284    }
13285}
13286
13287impl ::std::fmt::Debug for self::ListSnapshotsResp {
13288    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13289        formatter
13290            .debug_struct("ListSnapshotsResp")
13291            .field("code", &self.code)
13292            .field("leader", &self.leader)
13293            .field("snapshots", &self.snapshots)
13294            .finish()
13295    }
13296}
13297
13298unsafe impl ::std::marker::Send for self::ListSnapshotsResp {}
13299unsafe impl ::std::marker::Sync for self::ListSnapshotsResp {}
13300
13301impl ::fbthrift::GetTType for self::ListSnapshotsResp {
13302    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13303}
13304
13305impl<P> ::fbthrift::Serialize<P> for self::ListSnapshotsResp
13306where
13307    P: ::fbthrift::ProtocolWriter,
13308{
13309    fn write(&self, p: &mut P) {
13310        p.write_struct_begin("ListSnapshotsResp");
13311        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
13312        ::fbthrift::Serialize::write(&self.code, p);
13313        p.write_field_end();
13314        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
13315        ::fbthrift::Serialize::write(&self.leader, p);
13316        p.write_field_end();
13317        p.write_field_begin("snapshots", ::fbthrift::TType::List, 3);
13318        ::fbthrift::Serialize::write(&self.snapshots, p);
13319        p.write_field_end();
13320        p.write_field_stop();
13321        p.write_struct_end();
13322    }
13323}
13324
13325impl<P> ::fbthrift::Deserialize<P> for self::ListSnapshotsResp
13326where
13327    P: ::fbthrift::ProtocolReader,
13328{
13329    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13330        static FIELDS: &[::fbthrift::Field] = &[
13331            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
13332            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
13333            ::fbthrift::Field::new("snapshots", ::fbthrift::TType::List, 3),
13334        ];
13335        let mut field_code = ::std::option::Option::None;
13336        let mut field_leader = ::std::option::Option::None;
13337        let mut field_snapshots = ::std::option::Option::None;
13338        let _ = p.read_struct_begin(|_| ())?;
13339        loop {
13340            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13341            match (fty, fid as ::std::primitive::i32) {
13342                (::fbthrift::TType::Stop, _) => break,
13343                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13344                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13345                (::fbthrift::TType::List, 3) => field_snapshots = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13346                (fty, _) => p.skip(fty)?,
13347            }
13348            p.read_field_end()?;
13349        }
13350        p.read_struct_end()?;
13351        ::std::result::Result::Ok(Self {
13352            code: field_code.unwrap_or_default(),
13353            leader: field_leader.unwrap_or_default(),
13354            snapshots: field_snapshots.unwrap_or_default(),
13355            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13356        })
13357    }
13358}
13359
13360
13361#[allow(clippy::derivable_impls)]
13362impl ::std::default::Default for self::ListIndexStatusReq {
13363    fn default() -> Self {
13364        Self {
13365            space_id: ::std::default::Default::default(),
13366            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13367        }
13368    }
13369}
13370
13371impl ::std::fmt::Debug for self::ListIndexStatusReq {
13372    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13373        formatter
13374            .debug_struct("ListIndexStatusReq")
13375            .field("space_id", &self.space_id)
13376            .finish()
13377    }
13378}
13379
13380unsafe impl ::std::marker::Send for self::ListIndexStatusReq {}
13381unsafe impl ::std::marker::Sync for self::ListIndexStatusReq {}
13382
13383impl ::fbthrift::GetTType for self::ListIndexStatusReq {
13384    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13385}
13386
13387impl<P> ::fbthrift::Serialize<P> for self::ListIndexStatusReq
13388where
13389    P: ::fbthrift::ProtocolWriter,
13390{
13391    fn write(&self, p: &mut P) {
13392        p.write_struct_begin("ListIndexStatusReq");
13393        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
13394        ::fbthrift::Serialize::write(&self.space_id, p);
13395        p.write_field_end();
13396        p.write_field_stop();
13397        p.write_struct_end();
13398    }
13399}
13400
13401impl<P> ::fbthrift::Deserialize<P> for self::ListIndexStatusReq
13402where
13403    P: ::fbthrift::ProtocolReader,
13404{
13405    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13406        static FIELDS: &[::fbthrift::Field] = &[
13407            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
13408        ];
13409        let mut field_space_id = ::std::option::Option::None;
13410        let _ = p.read_struct_begin(|_| ())?;
13411        loop {
13412            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13413            match (fty, fid as ::std::primitive::i32) {
13414                (::fbthrift::TType::Stop, _) => break,
13415                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13416                (fty, _) => p.skip(fty)?,
13417            }
13418            p.read_field_end()?;
13419        }
13420        p.read_struct_end()?;
13421        ::std::result::Result::Ok(Self {
13422            space_id: field_space_id.unwrap_or_default(),
13423            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13424        })
13425    }
13426}
13427
13428
13429#[allow(clippy::derivable_impls)]
13430impl ::std::default::Default for self::IndexStatus {
13431    fn default() -> Self {
13432        Self {
13433            name: ::std::default::Default::default(),
13434            status: ::std::default::Default::default(),
13435            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13436        }
13437    }
13438}
13439
13440impl ::std::fmt::Debug for self::IndexStatus {
13441    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13442        formatter
13443            .debug_struct("IndexStatus")
13444            .field("name", &self.name)
13445            .field("status", &self.status)
13446            .finish()
13447    }
13448}
13449
13450unsafe impl ::std::marker::Send for self::IndexStatus {}
13451unsafe impl ::std::marker::Sync for self::IndexStatus {}
13452
13453impl ::fbthrift::GetTType for self::IndexStatus {
13454    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13455}
13456
13457impl<P> ::fbthrift::Serialize<P> for self::IndexStatus
13458where
13459    P: ::fbthrift::ProtocolWriter,
13460{
13461    fn write(&self, p: &mut P) {
13462        p.write_struct_begin("IndexStatus");
13463        p.write_field_begin("name", ::fbthrift::TType::String, 1);
13464        ::fbthrift::Serialize::write(&self.name, p);
13465        p.write_field_end();
13466        p.write_field_begin("status", ::fbthrift::TType::String, 2);
13467        ::fbthrift::Serialize::write(&self.status, p);
13468        p.write_field_end();
13469        p.write_field_stop();
13470        p.write_struct_end();
13471    }
13472}
13473
13474impl<P> ::fbthrift::Deserialize<P> for self::IndexStatus
13475where
13476    P: ::fbthrift::ProtocolReader,
13477{
13478    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13479        static FIELDS: &[::fbthrift::Field] = &[
13480            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
13481            ::fbthrift::Field::new("status", ::fbthrift::TType::String, 2),
13482        ];
13483        let mut field_name = ::std::option::Option::None;
13484        let mut field_status = ::std::option::Option::None;
13485        let _ = p.read_struct_begin(|_| ())?;
13486        loop {
13487            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13488            match (fty, fid as ::std::primitive::i32) {
13489                (::fbthrift::TType::Stop, _) => break,
13490                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13491                (::fbthrift::TType::String, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13492                (fty, _) => p.skip(fty)?,
13493            }
13494            p.read_field_end()?;
13495        }
13496        p.read_struct_end()?;
13497        ::std::result::Result::Ok(Self {
13498            name: field_name.unwrap_or_default(),
13499            status: field_status.unwrap_or_default(),
13500            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13501        })
13502    }
13503}
13504
13505
13506#[allow(clippy::derivable_impls)]
13507impl ::std::default::Default for self::ListIndexStatusResp {
13508    fn default() -> Self {
13509        Self {
13510            code: ::std::default::Default::default(),
13511            leader: ::std::default::Default::default(),
13512            statuses: ::std::default::Default::default(),
13513            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13514        }
13515    }
13516}
13517
13518impl ::std::fmt::Debug for self::ListIndexStatusResp {
13519    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13520        formatter
13521            .debug_struct("ListIndexStatusResp")
13522            .field("code", &self.code)
13523            .field("leader", &self.leader)
13524            .field("statuses", &self.statuses)
13525            .finish()
13526    }
13527}
13528
13529unsafe impl ::std::marker::Send for self::ListIndexStatusResp {}
13530unsafe impl ::std::marker::Sync for self::ListIndexStatusResp {}
13531
13532impl ::fbthrift::GetTType for self::ListIndexStatusResp {
13533    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13534}
13535
13536impl<P> ::fbthrift::Serialize<P> for self::ListIndexStatusResp
13537where
13538    P: ::fbthrift::ProtocolWriter,
13539{
13540    fn write(&self, p: &mut P) {
13541        p.write_struct_begin("ListIndexStatusResp");
13542        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
13543        ::fbthrift::Serialize::write(&self.code, p);
13544        p.write_field_end();
13545        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
13546        ::fbthrift::Serialize::write(&self.leader, p);
13547        p.write_field_end();
13548        p.write_field_begin("statuses", ::fbthrift::TType::List, 3);
13549        ::fbthrift::Serialize::write(&self.statuses, p);
13550        p.write_field_end();
13551        p.write_field_stop();
13552        p.write_struct_end();
13553    }
13554}
13555
13556impl<P> ::fbthrift::Deserialize<P> for self::ListIndexStatusResp
13557where
13558    P: ::fbthrift::ProtocolReader,
13559{
13560    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13561        static FIELDS: &[::fbthrift::Field] = &[
13562            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
13563            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
13564            ::fbthrift::Field::new("statuses", ::fbthrift::TType::List, 3),
13565        ];
13566        let mut field_code = ::std::option::Option::None;
13567        let mut field_leader = ::std::option::Option::None;
13568        let mut field_statuses = ::std::option::Option::None;
13569        let _ = p.read_struct_begin(|_| ())?;
13570        loop {
13571            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13572            match (fty, fid as ::std::primitive::i32) {
13573                (::fbthrift::TType::Stop, _) => break,
13574                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13575                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13576                (::fbthrift::TType::List, 3) => field_statuses = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13577                (fty, _) => p.skip(fty)?,
13578            }
13579            p.read_field_end()?;
13580        }
13581        p.read_struct_end()?;
13582        ::std::result::Result::Ok(Self {
13583            code: field_code.unwrap_or_default(),
13584            leader: field_leader.unwrap_or_default(),
13585            statuses: field_statuses.unwrap_or_default(),
13586            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13587        })
13588    }
13589}
13590
13591
13592#[allow(clippy::derivable_impls)]
13593impl ::std::default::Default for self::MergeZoneReq {
13594    fn default() -> Self {
13595        Self {
13596            zones: ::std::default::Default::default(),
13597            zone_name: ::std::default::Default::default(),
13598            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13599        }
13600    }
13601}
13602
13603impl ::std::fmt::Debug for self::MergeZoneReq {
13604    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13605        formatter
13606            .debug_struct("MergeZoneReq")
13607            .field("zones", &self.zones)
13608            .field("zone_name", &self.zone_name)
13609            .finish()
13610    }
13611}
13612
13613unsafe impl ::std::marker::Send for self::MergeZoneReq {}
13614unsafe impl ::std::marker::Sync for self::MergeZoneReq {}
13615
13616impl ::fbthrift::GetTType for self::MergeZoneReq {
13617    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13618}
13619
13620impl<P> ::fbthrift::Serialize<P> for self::MergeZoneReq
13621where
13622    P: ::fbthrift::ProtocolWriter,
13623{
13624    fn write(&self, p: &mut P) {
13625        p.write_struct_begin("MergeZoneReq");
13626        p.write_field_begin("zones", ::fbthrift::TType::List, 1);
13627        ::fbthrift::Serialize::write(&self.zones, p);
13628        p.write_field_end();
13629        p.write_field_begin("zone_name", ::fbthrift::TType::String, 2);
13630        ::fbthrift::Serialize::write(&self.zone_name, p);
13631        p.write_field_end();
13632        p.write_field_stop();
13633        p.write_struct_end();
13634    }
13635}
13636
13637impl<P> ::fbthrift::Deserialize<P> for self::MergeZoneReq
13638where
13639    P: ::fbthrift::ProtocolReader,
13640{
13641    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13642        static FIELDS: &[::fbthrift::Field] = &[
13643            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 2),
13644            ::fbthrift::Field::new("zones", ::fbthrift::TType::List, 1),
13645        ];
13646        let mut field_zones = ::std::option::Option::None;
13647        let mut field_zone_name = ::std::option::Option::None;
13648        let _ = p.read_struct_begin(|_| ())?;
13649        loop {
13650            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13651            match (fty, fid as ::std::primitive::i32) {
13652                (::fbthrift::TType::Stop, _) => break,
13653                (::fbthrift::TType::List, 1) => field_zones = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13654                (::fbthrift::TType::String, 2) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13655                (fty, _) => p.skip(fty)?,
13656            }
13657            p.read_field_end()?;
13658        }
13659        p.read_struct_end()?;
13660        ::std::result::Result::Ok(Self {
13661            zones: field_zones.unwrap_or_default(),
13662            zone_name: field_zone_name.unwrap_or_default(),
13663            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13664        })
13665    }
13666}
13667
13668
13669#[allow(clippy::derivable_impls)]
13670impl ::std::default::Default for self::DropZoneReq {
13671    fn default() -> Self {
13672        Self {
13673            zone_name: ::std::default::Default::default(),
13674            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13675        }
13676    }
13677}
13678
13679impl ::std::fmt::Debug for self::DropZoneReq {
13680    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13681        formatter
13682            .debug_struct("DropZoneReq")
13683            .field("zone_name", &self.zone_name)
13684            .finish()
13685    }
13686}
13687
13688unsafe impl ::std::marker::Send for self::DropZoneReq {}
13689unsafe impl ::std::marker::Sync for self::DropZoneReq {}
13690
13691impl ::fbthrift::GetTType for self::DropZoneReq {
13692    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13693}
13694
13695impl<P> ::fbthrift::Serialize<P> for self::DropZoneReq
13696where
13697    P: ::fbthrift::ProtocolWriter,
13698{
13699    fn write(&self, p: &mut P) {
13700        p.write_struct_begin("DropZoneReq");
13701        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
13702        ::fbthrift::Serialize::write(&self.zone_name, p);
13703        p.write_field_end();
13704        p.write_field_stop();
13705        p.write_struct_end();
13706    }
13707}
13708
13709impl<P> ::fbthrift::Deserialize<P> for self::DropZoneReq
13710where
13711    P: ::fbthrift::ProtocolReader,
13712{
13713    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13714        static FIELDS: &[::fbthrift::Field] = &[
13715            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
13716        ];
13717        let mut field_zone_name = ::std::option::Option::None;
13718        let _ = p.read_struct_begin(|_| ())?;
13719        loop {
13720            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13721            match (fty, fid as ::std::primitive::i32) {
13722                (::fbthrift::TType::Stop, _) => break,
13723                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13724                (fty, _) => p.skip(fty)?,
13725            }
13726            p.read_field_end()?;
13727        }
13728        p.read_struct_end()?;
13729        ::std::result::Result::Ok(Self {
13730            zone_name: field_zone_name.unwrap_or_default(),
13731            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13732        })
13733    }
13734}
13735
13736
13737#[allow(clippy::derivable_impls)]
13738impl ::std::default::Default for self::DivideZoneReq {
13739    fn default() -> Self {
13740        Self {
13741            zone_name: ::std::default::Default::default(),
13742            zone_items: ::std::default::Default::default(),
13743            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13744        }
13745    }
13746}
13747
13748impl ::std::fmt::Debug for self::DivideZoneReq {
13749    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13750        formatter
13751            .debug_struct("DivideZoneReq")
13752            .field("zone_name", &self.zone_name)
13753            .field("zone_items", &self.zone_items)
13754            .finish()
13755    }
13756}
13757
13758unsafe impl ::std::marker::Send for self::DivideZoneReq {}
13759unsafe impl ::std::marker::Sync for self::DivideZoneReq {}
13760
13761impl ::fbthrift::GetTType for self::DivideZoneReq {
13762    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13763}
13764
13765impl<P> ::fbthrift::Serialize<P> for self::DivideZoneReq
13766where
13767    P: ::fbthrift::ProtocolWriter,
13768{
13769    fn write(&self, p: &mut P) {
13770        p.write_struct_begin("DivideZoneReq");
13771        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
13772        ::fbthrift::Serialize::write(&self.zone_name, p);
13773        p.write_field_end();
13774        p.write_field_begin("zone_items", ::fbthrift::TType::Map, 2);
13775        ::fbthrift::Serialize::write(&self.zone_items, p);
13776        p.write_field_end();
13777        p.write_field_stop();
13778        p.write_struct_end();
13779    }
13780}
13781
13782impl<P> ::fbthrift::Deserialize<P> for self::DivideZoneReq
13783where
13784    P: ::fbthrift::ProtocolReader,
13785{
13786    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13787        static FIELDS: &[::fbthrift::Field] = &[
13788            ::fbthrift::Field::new("zone_items", ::fbthrift::TType::Map, 2),
13789            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
13790        ];
13791        let mut field_zone_name = ::std::option::Option::None;
13792        let mut field_zone_items = ::std::option::Option::None;
13793        let _ = p.read_struct_begin(|_| ())?;
13794        loop {
13795            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13796            match (fty, fid as ::std::primitive::i32) {
13797                (::fbthrift::TType::Stop, _) => break,
13798                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13799                (::fbthrift::TType::Map, 2) => field_zone_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13800                (fty, _) => p.skip(fty)?,
13801            }
13802            p.read_field_end()?;
13803        }
13804        p.read_struct_end()?;
13805        ::std::result::Result::Ok(Self {
13806            zone_name: field_zone_name.unwrap_or_default(),
13807            zone_items: field_zone_items.unwrap_or_default(),
13808            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13809        })
13810    }
13811}
13812
13813
13814#[allow(clippy::derivable_impls)]
13815impl ::std::default::Default for self::RenameZoneReq {
13816    fn default() -> Self {
13817        Self {
13818            original_zone_name: ::std::default::Default::default(),
13819            zone_name: ::std::default::Default::default(),
13820            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13821        }
13822    }
13823}
13824
13825impl ::std::fmt::Debug for self::RenameZoneReq {
13826    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13827        formatter
13828            .debug_struct("RenameZoneReq")
13829            .field("original_zone_name", &self.original_zone_name)
13830            .field("zone_name", &self.zone_name)
13831            .finish()
13832    }
13833}
13834
13835unsafe impl ::std::marker::Send for self::RenameZoneReq {}
13836unsafe impl ::std::marker::Sync for self::RenameZoneReq {}
13837
13838impl ::fbthrift::GetTType for self::RenameZoneReq {
13839    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13840}
13841
13842impl<P> ::fbthrift::Serialize<P> for self::RenameZoneReq
13843where
13844    P: ::fbthrift::ProtocolWriter,
13845{
13846    fn write(&self, p: &mut P) {
13847        p.write_struct_begin("RenameZoneReq");
13848        p.write_field_begin("original_zone_name", ::fbthrift::TType::String, 1);
13849        ::fbthrift::Serialize::write(&self.original_zone_name, p);
13850        p.write_field_end();
13851        p.write_field_begin("zone_name", ::fbthrift::TType::String, 2);
13852        ::fbthrift::Serialize::write(&self.zone_name, p);
13853        p.write_field_end();
13854        p.write_field_stop();
13855        p.write_struct_end();
13856    }
13857}
13858
13859impl<P> ::fbthrift::Deserialize<P> for self::RenameZoneReq
13860where
13861    P: ::fbthrift::ProtocolReader,
13862{
13863    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13864        static FIELDS: &[::fbthrift::Field] = &[
13865            ::fbthrift::Field::new("original_zone_name", ::fbthrift::TType::String, 1),
13866            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 2),
13867        ];
13868        let mut field_original_zone_name = ::std::option::Option::None;
13869        let mut field_zone_name = ::std::option::Option::None;
13870        let _ = p.read_struct_begin(|_| ())?;
13871        loop {
13872            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13873            match (fty, fid as ::std::primitive::i32) {
13874                (::fbthrift::TType::Stop, _) => break,
13875                (::fbthrift::TType::String, 1) => field_original_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13876                (::fbthrift::TType::String, 2) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13877                (fty, _) => p.skip(fty)?,
13878            }
13879            p.read_field_end()?;
13880        }
13881        p.read_struct_end()?;
13882        ::std::result::Result::Ok(Self {
13883            original_zone_name: field_original_zone_name.unwrap_or_default(),
13884            zone_name: field_zone_name.unwrap_or_default(),
13885            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13886        })
13887    }
13888}
13889
13890
13891#[allow(clippy::derivable_impls)]
13892impl ::std::default::Default for self::AddHostsIntoZoneReq {
13893    fn default() -> Self {
13894        Self {
13895            hosts: ::std::default::Default::default(),
13896            zone_name: ::std::default::Default::default(),
13897            is_new: ::std::default::Default::default(),
13898            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13899        }
13900    }
13901}
13902
13903impl ::std::fmt::Debug for self::AddHostsIntoZoneReq {
13904    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13905        formatter
13906            .debug_struct("AddHostsIntoZoneReq")
13907            .field("hosts", &self.hosts)
13908            .field("zone_name", &self.zone_name)
13909            .field("is_new", &self.is_new)
13910            .finish()
13911    }
13912}
13913
13914unsafe impl ::std::marker::Send for self::AddHostsIntoZoneReq {}
13915unsafe impl ::std::marker::Sync for self::AddHostsIntoZoneReq {}
13916
13917impl ::fbthrift::GetTType for self::AddHostsIntoZoneReq {
13918    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13919}
13920
13921impl<P> ::fbthrift::Serialize<P> for self::AddHostsIntoZoneReq
13922where
13923    P: ::fbthrift::ProtocolWriter,
13924{
13925    fn write(&self, p: &mut P) {
13926        p.write_struct_begin("AddHostsIntoZoneReq");
13927        p.write_field_begin("hosts", ::fbthrift::TType::List, 1);
13928        ::fbthrift::Serialize::write(&self.hosts, p);
13929        p.write_field_end();
13930        p.write_field_begin("zone_name", ::fbthrift::TType::String, 2);
13931        ::fbthrift::Serialize::write(&self.zone_name, p);
13932        p.write_field_end();
13933        p.write_field_begin("is_new", ::fbthrift::TType::Bool, 3);
13934        ::fbthrift::Serialize::write(&self.is_new, p);
13935        p.write_field_end();
13936        p.write_field_stop();
13937        p.write_struct_end();
13938    }
13939}
13940
13941impl<P> ::fbthrift::Deserialize<P> for self::AddHostsIntoZoneReq
13942where
13943    P: ::fbthrift::ProtocolReader,
13944{
13945    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13946        static FIELDS: &[::fbthrift::Field] = &[
13947            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 1),
13948            ::fbthrift::Field::new("is_new", ::fbthrift::TType::Bool, 3),
13949            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 2),
13950        ];
13951        let mut field_hosts = ::std::option::Option::None;
13952        let mut field_zone_name = ::std::option::Option::None;
13953        let mut field_is_new = ::std::option::Option::None;
13954        let _ = p.read_struct_begin(|_| ())?;
13955        loop {
13956            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13957            match (fty, fid as ::std::primitive::i32) {
13958                (::fbthrift::TType::Stop, _) => break,
13959                (::fbthrift::TType::List, 1) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13960                (::fbthrift::TType::String, 2) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13961                (::fbthrift::TType::Bool, 3) => field_is_new = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13962                (fty, _) => p.skip(fty)?,
13963            }
13964            p.read_field_end()?;
13965        }
13966        p.read_struct_end()?;
13967        ::std::result::Result::Ok(Self {
13968            hosts: field_hosts.unwrap_or_default(),
13969            zone_name: field_zone_name.unwrap_or_default(),
13970            is_new: field_is_new.unwrap_or_default(),
13971            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13972        })
13973    }
13974}
13975
13976
13977#[allow(clippy::derivable_impls)]
13978impl ::std::default::Default for self::GetZoneReq {
13979    fn default() -> Self {
13980        Self {
13981            zone_name: ::std::default::Default::default(),
13982            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13983        }
13984    }
13985}
13986
13987impl ::std::fmt::Debug for self::GetZoneReq {
13988    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13989        formatter
13990            .debug_struct("GetZoneReq")
13991            .field("zone_name", &self.zone_name)
13992            .finish()
13993    }
13994}
13995
13996unsafe impl ::std::marker::Send for self::GetZoneReq {}
13997unsafe impl ::std::marker::Sync for self::GetZoneReq {}
13998
13999impl ::fbthrift::GetTType for self::GetZoneReq {
14000    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14001}
14002
14003impl<P> ::fbthrift::Serialize<P> for self::GetZoneReq
14004where
14005    P: ::fbthrift::ProtocolWriter,
14006{
14007    fn write(&self, p: &mut P) {
14008        p.write_struct_begin("GetZoneReq");
14009        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
14010        ::fbthrift::Serialize::write(&self.zone_name, p);
14011        p.write_field_end();
14012        p.write_field_stop();
14013        p.write_struct_end();
14014    }
14015}
14016
14017impl<P> ::fbthrift::Deserialize<P> for self::GetZoneReq
14018where
14019    P: ::fbthrift::ProtocolReader,
14020{
14021    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14022        static FIELDS: &[::fbthrift::Field] = &[
14023            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
14024        ];
14025        let mut field_zone_name = ::std::option::Option::None;
14026        let _ = p.read_struct_begin(|_| ())?;
14027        loop {
14028            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14029            match (fty, fid as ::std::primitive::i32) {
14030                (::fbthrift::TType::Stop, _) => break,
14031                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14032                (fty, _) => p.skip(fty)?,
14033            }
14034            p.read_field_end()?;
14035        }
14036        p.read_struct_end()?;
14037        ::std::result::Result::Ok(Self {
14038            zone_name: field_zone_name.unwrap_or_default(),
14039            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14040        })
14041    }
14042}
14043
14044
14045#[allow(clippy::derivable_impls)]
14046impl ::std::default::Default for self::GetZoneResp {
14047    fn default() -> Self {
14048        Self {
14049            code: ::std::default::Default::default(),
14050            leader: ::std::default::Default::default(),
14051            hosts: ::std::default::Default::default(),
14052            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14053        }
14054    }
14055}
14056
14057impl ::std::fmt::Debug for self::GetZoneResp {
14058    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14059        formatter
14060            .debug_struct("GetZoneResp")
14061            .field("code", &self.code)
14062            .field("leader", &self.leader)
14063            .field("hosts", &self.hosts)
14064            .finish()
14065    }
14066}
14067
14068unsafe impl ::std::marker::Send for self::GetZoneResp {}
14069unsafe impl ::std::marker::Sync for self::GetZoneResp {}
14070
14071impl ::fbthrift::GetTType for self::GetZoneResp {
14072    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14073}
14074
14075impl<P> ::fbthrift::Serialize<P> for self::GetZoneResp
14076where
14077    P: ::fbthrift::ProtocolWriter,
14078{
14079    fn write(&self, p: &mut P) {
14080        p.write_struct_begin("GetZoneResp");
14081        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14082        ::fbthrift::Serialize::write(&self.code, p);
14083        p.write_field_end();
14084        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14085        ::fbthrift::Serialize::write(&self.leader, p);
14086        p.write_field_end();
14087        p.write_field_begin("hosts", ::fbthrift::TType::List, 3);
14088        ::fbthrift::Serialize::write(&self.hosts, p);
14089        p.write_field_end();
14090        p.write_field_stop();
14091        p.write_struct_end();
14092    }
14093}
14094
14095impl<P> ::fbthrift::Deserialize<P> for self::GetZoneResp
14096where
14097    P: ::fbthrift::ProtocolReader,
14098{
14099    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14100        static FIELDS: &[::fbthrift::Field] = &[
14101            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14102            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 3),
14103            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14104        ];
14105        let mut field_code = ::std::option::Option::None;
14106        let mut field_leader = ::std::option::Option::None;
14107        let mut field_hosts = ::std::option::Option::None;
14108        let _ = p.read_struct_begin(|_| ())?;
14109        loop {
14110            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14111            match (fty, fid as ::std::primitive::i32) {
14112                (::fbthrift::TType::Stop, _) => break,
14113                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14114                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14115                (::fbthrift::TType::List, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14116                (fty, _) => p.skip(fty)?,
14117            }
14118            p.read_field_end()?;
14119        }
14120        p.read_struct_end()?;
14121        ::std::result::Result::Ok(Self {
14122            code: field_code.unwrap_or_default(),
14123            leader: field_leader.unwrap_or_default(),
14124            hosts: field_hosts.unwrap_or_default(),
14125            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14126        })
14127    }
14128}
14129
14130
14131#[allow(clippy::derivable_impls)]
14132impl ::std::default::Default for self::ListZonesReq {
14133    fn default() -> Self {
14134        Self {
14135            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14136        }
14137    }
14138}
14139
14140impl ::std::fmt::Debug for self::ListZonesReq {
14141    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14142        formatter
14143            .debug_struct("ListZonesReq")
14144            .finish()
14145    }
14146}
14147
14148unsafe impl ::std::marker::Send for self::ListZonesReq {}
14149unsafe impl ::std::marker::Sync for self::ListZonesReq {}
14150
14151impl ::fbthrift::GetTType for self::ListZonesReq {
14152    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14153}
14154
14155impl<P> ::fbthrift::Serialize<P> for self::ListZonesReq
14156where
14157    P: ::fbthrift::ProtocolWriter,
14158{
14159    fn write(&self, p: &mut P) {
14160        p.write_struct_begin("ListZonesReq");
14161        p.write_field_stop();
14162        p.write_struct_end();
14163    }
14164}
14165
14166impl<P> ::fbthrift::Deserialize<P> for self::ListZonesReq
14167where
14168    P: ::fbthrift::ProtocolReader,
14169{
14170    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14171        static FIELDS: &[::fbthrift::Field] = &[
14172        ];
14173        let _ = p.read_struct_begin(|_| ())?;
14174        loop {
14175            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14176            match (fty, fid as ::std::primitive::i32) {
14177                (::fbthrift::TType::Stop, _) => break,
14178                (fty, _) => p.skip(fty)?,
14179            }
14180            p.read_field_end()?;
14181        }
14182        p.read_struct_end()?;
14183        ::std::result::Result::Ok(Self {
14184            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14185        })
14186    }
14187}
14188
14189
14190#[allow(clippy::derivable_impls)]
14191impl ::std::default::Default for self::Zone {
14192    fn default() -> Self {
14193        Self {
14194            zone_name: ::std::default::Default::default(),
14195            nodes: ::std::default::Default::default(),
14196            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14197        }
14198    }
14199}
14200
14201impl ::std::fmt::Debug for self::Zone {
14202    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14203        formatter
14204            .debug_struct("Zone")
14205            .field("zone_name", &self.zone_name)
14206            .field("nodes", &self.nodes)
14207            .finish()
14208    }
14209}
14210
14211unsafe impl ::std::marker::Send for self::Zone {}
14212unsafe impl ::std::marker::Sync for self::Zone {}
14213
14214impl ::fbthrift::GetTType for self::Zone {
14215    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14216}
14217
14218impl<P> ::fbthrift::Serialize<P> for self::Zone
14219where
14220    P: ::fbthrift::ProtocolWriter,
14221{
14222    fn write(&self, p: &mut P) {
14223        p.write_struct_begin("Zone");
14224        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
14225        ::fbthrift::Serialize::write(&self.zone_name, p);
14226        p.write_field_end();
14227        p.write_field_begin("nodes", ::fbthrift::TType::List, 2);
14228        ::fbthrift::Serialize::write(&self.nodes, p);
14229        p.write_field_end();
14230        p.write_field_stop();
14231        p.write_struct_end();
14232    }
14233}
14234
14235impl<P> ::fbthrift::Deserialize<P> for self::Zone
14236where
14237    P: ::fbthrift::ProtocolReader,
14238{
14239    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14240        static FIELDS: &[::fbthrift::Field] = &[
14241            ::fbthrift::Field::new("nodes", ::fbthrift::TType::List, 2),
14242            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
14243        ];
14244        let mut field_zone_name = ::std::option::Option::None;
14245        let mut field_nodes = ::std::option::Option::None;
14246        let _ = p.read_struct_begin(|_| ())?;
14247        loop {
14248            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14249            match (fty, fid as ::std::primitive::i32) {
14250                (::fbthrift::TType::Stop, _) => break,
14251                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14252                (::fbthrift::TType::List, 2) => field_nodes = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14253                (fty, _) => p.skip(fty)?,
14254            }
14255            p.read_field_end()?;
14256        }
14257        p.read_struct_end()?;
14258        ::std::result::Result::Ok(Self {
14259            zone_name: field_zone_name.unwrap_or_default(),
14260            nodes: field_nodes.unwrap_or_default(),
14261            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14262        })
14263    }
14264}
14265
14266
14267#[allow(clippy::derivable_impls)]
14268impl ::std::default::Default for self::ListZonesResp {
14269    fn default() -> Self {
14270        Self {
14271            code: ::std::default::Default::default(),
14272            leader: ::std::default::Default::default(),
14273            zones: ::std::default::Default::default(),
14274            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14275        }
14276    }
14277}
14278
14279impl ::std::fmt::Debug for self::ListZonesResp {
14280    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14281        formatter
14282            .debug_struct("ListZonesResp")
14283            .field("code", &self.code)
14284            .field("leader", &self.leader)
14285            .field("zones", &self.zones)
14286            .finish()
14287    }
14288}
14289
14290unsafe impl ::std::marker::Send for self::ListZonesResp {}
14291unsafe impl ::std::marker::Sync for self::ListZonesResp {}
14292
14293impl ::fbthrift::GetTType for self::ListZonesResp {
14294    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14295}
14296
14297impl<P> ::fbthrift::Serialize<P> for self::ListZonesResp
14298where
14299    P: ::fbthrift::ProtocolWriter,
14300{
14301    fn write(&self, p: &mut P) {
14302        p.write_struct_begin("ListZonesResp");
14303        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14304        ::fbthrift::Serialize::write(&self.code, p);
14305        p.write_field_end();
14306        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14307        ::fbthrift::Serialize::write(&self.leader, p);
14308        p.write_field_end();
14309        p.write_field_begin("zones", ::fbthrift::TType::List, 3);
14310        ::fbthrift::Serialize::write(&self.zones, p);
14311        p.write_field_end();
14312        p.write_field_stop();
14313        p.write_struct_end();
14314    }
14315}
14316
14317impl<P> ::fbthrift::Deserialize<P> for self::ListZonesResp
14318where
14319    P: ::fbthrift::ProtocolReader,
14320{
14321    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14322        static FIELDS: &[::fbthrift::Field] = &[
14323            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14324            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14325            ::fbthrift::Field::new("zones", ::fbthrift::TType::List, 3),
14326        ];
14327        let mut field_code = ::std::option::Option::None;
14328        let mut field_leader = ::std::option::Option::None;
14329        let mut field_zones = ::std::option::Option::None;
14330        let _ = p.read_struct_begin(|_| ())?;
14331        loop {
14332            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14333            match (fty, fid as ::std::primitive::i32) {
14334                (::fbthrift::TType::Stop, _) => break,
14335                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14336                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14337                (::fbthrift::TType::List, 3) => field_zones = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14338                (fty, _) => p.skip(fty)?,
14339            }
14340            p.read_field_end()?;
14341        }
14342        p.read_struct_end()?;
14343        ::std::result::Result::Ok(Self {
14344            code: field_code.unwrap_or_default(),
14345            leader: field_leader.unwrap_or_default(),
14346            zones: field_zones.unwrap_or_default(),
14347            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14348        })
14349    }
14350}
14351
14352
14353#[allow(clippy::derivable_impls)]
14354impl ::std::default::Default for self::AddListenerReq {
14355    fn default() -> Self {
14356        Self {
14357            space_id: ::std::default::Default::default(),
14358            r#type: ::std::default::Default::default(),
14359            hosts: ::std::default::Default::default(),
14360            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14361        }
14362    }
14363}
14364
14365impl ::std::fmt::Debug for self::AddListenerReq {
14366    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14367        formatter
14368            .debug_struct("AddListenerReq")
14369            .field("space_id", &self.space_id)
14370            .field("r#type", &self.r#type)
14371            .field("hosts", &self.hosts)
14372            .finish()
14373    }
14374}
14375
14376unsafe impl ::std::marker::Send for self::AddListenerReq {}
14377unsafe impl ::std::marker::Sync for self::AddListenerReq {}
14378
14379impl ::fbthrift::GetTType for self::AddListenerReq {
14380    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14381}
14382
14383impl<P> ::fbthrift::Serialize<P> for self::AddListenerReq
14384where
14385    P: ::fbthrift::ProtocolWriter,
14386{
14387    fn write(&self, p: &mut P) {
14388        p.write_struct_begin("AddListenerReq");
14389        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
14390        ::fbthrift::Serialize::write(&self.space_id, p);
14391        p.write_field_end();
14392        p.write_field_begin("type", ::fbthrift::TType::I32, 2);
14393        ::fbthrift::Serialize::write(&self.r#type, p);
14394        p.write_field_end();
14395        p.write_field_begin("hosts", ::fbthrift::TType::List, 3);
14396        ::fbthrift::Serialize::write(&self.hosts, p);
14397        p.write_field_end();
14398        p.write_field_stop();
14399        p.write_struct_end();
14400    }
14401}
14402
14403impl<P> ::fbthrift::Deserialize<P> for self::AddListenerReq
14404where
14405    P: ::fbthrift::ProtocolReader,
14406{
14407    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14408        static FIELDS: &[::fbthrift::Field] = &[
14409            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 3),
14410            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
14411            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 2),
14412        ];
14413        let mut field_space_id = ::std::option::Option::None;
14414        let mut field_type = ::std::option::Option::None;
14415        let mut field_hosts = ::std::option::Option::None;
14416        let _ = p.read_struct_begin(|_| ())?;
14417        loop {
14418            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14419            match (fty, fid as ::std::primitive::i32) {
14420                (::fbthrift::TType::Stop, _) => break,
14421                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14422                (::fbthrift::TType::I32, 2) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14423                (::fbthrift::TType::List, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14424                (fty, _) => p.skip(fty)?,
14425            }
14426            p.read_field_end()?;
14427        }
14428        p.read_struct_end()?;
14429        ::std::result::Result::Ok(Self {
14430            space_id: field_space_id.unwrap_or_default(),
14431            r#type: field_type.unwrap_or_default(),
14432            hosts: field_hosts.unwrap_or_default(),
14433            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14434        })
14435    }
14436}
14437
14438
14439#[allow(clippy::derivable_impls)]
14440impl ::std::default::Default for self::RemoveListenerReq {
14441    fn default() -> Self {
14442        Self {
14443            space_id: ::std::default::Default::default(),
14444            r#type: ::std::default::Default::default(),
14445            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14446        }
14447    }
14448}
14449
14450impl ::std::fmt::Debug for self::RemoveListenerReq {
14451    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14452        formatter
14453            .debug_struct("RemoveListenerReq")
14454            .field("space_id", &self.space_id)
14455            .field("r#type", &self.r#type)
14456            .finish()
14457    }
14458}
14459
14460unsafe impl ::std::marker::Send for self::RemoveListenerReq {}
14461unsafe impl ::std::marker::Sync for self::RemoveListenerReq {}
14462
14463impl ::fbthrift::GetTType for self::RemoveListenerReq {
14464    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14465}
14466
14467impl<P> ::fbthrift::Serialize<P> for self::RemoveListenerReq
14468where
14469    P: ::fbthrift::ProtocolWriter,
14470{
14471    fn write(&self, p: &mut P) {
14472        p.write_struct_begin("RemoveListenerReq");
14473        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
14474        ::fbthrift::Serialize::write(&self.space_id, p);
14475        p.write_field_end();
14476        p.write_field_begin("type", ::fbthrift::TType::I32, 2);
14477        ::fbthrift::Serialize::write(&self.r#type, p);
14478        p.write_field_end();
14479        p.write_field_stop();
14480        p.write_struct_end();
14481    }
14482}
14483
14484impl<P> ::fbthrift::Deserialize<P> for self::RemoveListenerReq
14485where
14486    P: ::fbthrift::ProtocolReader,
14487{
14488    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14489        static FIELDS: &[::fbthrift::Field] = &[
14490            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
14491            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 2),
14492        ];
14493        let mut field_space_id = ::std::option::Option::None;
14494        let mut field_type = ::std::option::Option::None;
14495        let _ = p.read_struct_begin(|_| ())?;
14496        loop {
14497            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14498            match (fty, fid as ::std::primitive::i32) {
14499                (::fbthrift::TType::Stop, _) => break,
14500                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14501                (::fbthrift::TType::I32, 2) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14502                (fty, _) => p.skip(fty)?,
14503            }
14504            p.read_field_end()?;
14505        }
14506        p.read_struct_end()?;
14507        ::std::result::Result::Ok(Self {
14508            space_id: field_space_id.unwrap_or_default(),
14509            r#type: field_type.unwrap_or_default(),
14510            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14511        })
14512    }
14513}
14514
14515
14516#[allow(clippy::derivable_impls)]
14517impl ::std::default::Default for self::ListListenerReq {
14518    fn default() -> Self {
14519        Self {
14520            space_id: ::std::default::Default::default(),
14521            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14522        }
14523    }
14524}
14525
14526impl ::std::fmt::Debug for self::ListListenerReq {
14527    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14528        formatter
14529            .debug_struct("ListListenerReq")
14530            .field("space_id", &self.space_id)
14531            .finish()
14532    }
14533}
14534
14535unsafe impl ::std::marker::Send for self::ListListenerReq {}
14536unsafe impl ::std::marker::Sync for self::ListListenerReq {}
14537
14538impl ::fbthrift::GetTType for self::ListListenerReq {
14539    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14540}
14541
14542impl<P> ::fbthrift::Serialize<P> for self::ListListenerReq
14543where
14544    P: ::fbthrift::ProtocolWriter,
14545{
14546    fn write(&self, p: &mut P) {
14547        p.write_struct_begin("ListListenerReq");
14548        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
14549        ::fbthrift::Serialize::write(&self.space_id, p);
14550        p.write_field_end();
14551        p.write_field_stop();
14552        p.write_struct_end();
14553    }
14554}
14555
14556impl<P> ::fbthrift::Deserialize<P> for self::ListListenerReq
14557where
14558    P: ::fbthrift::ProtocolReader,
14559{
14560    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14561        static FIELDS: &[::fbthrift::Field] = &[
14562            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
14563        ];
14564        let mut field_space_id = ::std::option::Option::None;
14565        let _ = p.read_struct_begin(|_| ())?;
14566        loop {
14567            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14568            match (fty, fid as ::std::primitive::i32) {
14569                (::fbthrift::TType::Stop, _) => break,
14570                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14571                (fty, _) => p.skip(fty)?,
14572            }
14573            p.read_field_end()?;
14574        }
14575        p.read_struct_end()?;
14576        ::std::result::Result::Ok(Self {
14577            space_id: field_space_id.unwrap_or_default(),
14578            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14579        })
14580    }
14581}
14582
14583
14584#[allow(clippy::derivable_impls)]
14585impl ::std::default::Default for self::ListenerInfo {
14586    fn default() -> Self {
14587        Self {
14588            r#type: ::std::default::Default::default(),
14589            host: ::std::default::Default::default(),
14590            part_id: ::std::default::Default::default(),
14591            status: ::std::default::Default::default(),
14592            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14593        }
14594    }
14595}
14596
14597impl ::std::fmt::Debug for self::ListenerInfo {
14598    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14599        formatter
14600            .debug_struct("ListenerInfo")
14601            .field("r#type", &self.r#type)
14602            .field("host", &self.host)
14603            .field("part_id", &self.part_id)
14604            .field("status", &self.status)
14605            .finish()
14606    }
14607}
14608
14609unsafe impl ::std::marker::Send for self::ListenerInfo {}
14610unsafe impl ::std::marker::Sync for self::ListenerInfo {}
14611
14612impl ::fbthrift::GetTType for self::ListenerInfo {
14613    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14614}
14615
14616impl<P> ::fbthrift::Serialize<P> for self::ListenerInfo
14617where
14618    P: ::fbthrift::ProtocolWriter,
14619{
14620    fn write(&self, p: &mut P) {
14621        p.write_struct_begin("ListenerInfo");
14622        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
14623        ::fbthrift::Serialize::write(&self.r#type, p);
14624        p.write_field_end();
14625        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
14626        ::fbthrift::Serialize::write(&self.host, p);
14627        p.write_field_end();
14628        p.write_field_begin("part_id", ::fbthrift::TType::I32, 3);
14629        ::fbthrift::Serialize::write(&self.part_id, p);
14630        p.write_field_end();
14631        p.write_field_begin("status", ::fbthrift::TType::I32, 4);
14632        ::fbthrift::Serialize::write(&self.status, p);
14633        p.write_field_end();
14634        p.write_field_stop();
14635        p.write_struct_end();
14636    }
14637}
14638
14639impl<P> ::fbthrift::Deserialize<P> for self::ListenerInfo
14640where
14641    P: ::fbthrift::ProtocolReader,
14642{
14643    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14644        static FIELDS: &[::fbthrift::Field] = &[
14645            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
14646            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 3),
14647            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 4),
14648            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
14649        ];
14650        let mut field_type = ::std::option::Option::None;
14651        let mut field_host = ::std::option::Option::None;
14652        let mut field_part_id = ::std::option::Option::None;
14653        let mut field_status = ::std::option::Option::None;
14654        let _ = p.read_struct_begin(|_| ())?;
14655        loop {
14656            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14657            match (fty, fid as ::std::primitive::i32) {
14658                (::fbthrift::TType::Stop, _) => break,
14659                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14660                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14661                (::fbthrift::TType::I32, 3) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14662                (::fbthrift::TType::I32, 4) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14663                (fty, _) => p.skip(fty)?,
14664            }
14665            p.read_field_end()?;
14666        }
14667        p.read_struct_end()?;
14668        ::std::result::Result::Ok(Self {
14669            r#type: field_type.unwrap_or_default(),
14670            host: field_host.unwrap_or_default(),
14671            part_id: field_part_id.unwrap_or_default(),
14672            status: field_status.unwrap_or_default(),
14673            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14674        })
14675    }
14676}
14677
14678
14679#[allow(clippy::derivable_impls)]
14680impl ::std::default::Default for self::ListListenerResp {
14681    fn default() -> Self {
14682        Self {
14683            code: ::std::default::Default::default(),
14684            leader: ::std::default::Default::default(),
14685            listeners: ::std::default::Default::default(),
14686            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14687        }
14688    }
14689}
14690
14691impl ::std::fmt::Debug for self::ListListenerResp {
14692    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14693        formatter
14694            .debug_struct("ListListenerResp")
14695            .field("code", &self.code)
14696            .field("leader", &self.leader)
14697            .field("listeners", &self.listeners)
14698            .finish()
14699    }
14700}
14701
14702unsafe impl ::std::marker::Send for self::ListListenerResp {}
14703unsafe impl ::std::marker::Sync for self::ListListenerResp {}
14704
14705impl ::fbthrift::GetTType for self::ListListenerResp {
14706    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14707}
14708
14709impl<P> ::fbthrift::Serialize<P> for self::ListListenerResp
14710where
14711    P: ::fbthrift::ProtocolWriter,
14712{
14713    fn write(&self, p: &mut P) {
14714        p.write_struct_begin("ListListenerResp");
14715        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14716        ::fbthrift::Serialize::write(&self.code, p);
14717        p.write_field_end();
14718        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14719        ::fbthrift::Serialize::write(&self.leader, p);
14720        p.write_field_end();
14721        p.write_field_begin("listeners", ::fbthrift::TType::List, 3);
14722        ::fbthrift::Serialize::write(&self.listeners, p);
14723        p.write_field_end();
14724        p.write_field_stop();
14725        p.write_struct_end();
14726    }
14727}
14728
14729impl<P> ::fbthrift::Deserialize<P> for self::ListListenerResp
14730where
14731    P: ::fbthrift::ProtocolReader,
14732{
14733    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14734        static FIELDS: &[::fbthrift::Field] = &[
14735            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14736            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14737            ::fbthrift::Field::new("listeners", ::fbthrift::TType::List, 3),
14738        ];
14739        let mut field_code = ::std::option::Option::None;
14740        let mut field_leader = ::std::option::Option::None;
14741        let mut field_listeners = ::std::option::Option::None;
14742        let _ = p.read_struct_begin(|_| ())?;
14743        loop {
14744            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14745            match (fty, fid as ::std::primitive::i32) {
14746                (::fbthrift::TType::Stop, _) => break,
14747                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14748                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14749                (::fbthrift::TType::List, 3) => field_listeners = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14750                (fty, _) => p.skip(fty)?,
14751            }
14752            p.read_field_end()?;
14753        }
14754        p.read_struct_end()?;
14755        ::std::result::Result::Ok(Self {
14756            code: field_code.unwrap_or_default(),
14757            leader: field_leader.unwrap_or_default(),
14758            listeners: field_listeners.unwrap_or_default(),
14759            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14760        })
14761    }
14762}
14763
14764
14765#[allow(clippy::derivable_impls)]
14766impl ::std::default::Default for self::GetStatsReq {
14767    fn default() -> Self {
14768        Self {
14769            space_id: ::std::default::Default::default(),
14770            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14771        }
14772    }
14773}
14774
14775impl ::std::fmt::Debug for self::GetStatsReq {
14776    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14777        formatter
14778            .debug_struct("GetStatsReq")
14779            .field("space_id", &self.space_id)
14780            .finish()
14781    }
14782}
14783
14784unsafe impl ::std::marker::Send for self::GetStatsReq {}
14785unsafe impl ::std::marker::Sync for self::GetStatsReq {}
14786
14787impl ::fbthrift::GetTType for self::GetStatsReq {
14788    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14789}
14790
14791impl<P> ::fbthrift::Serialize<P> for self::GetStatsReq
14792where
14793    P: ::fbthrift::ProtocolWriter,
14794{
14795    fn write(&self, p: &mut P) {
14796        p.write_struct_begin("GetStatsReq");
14797        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
14798        ::fbthrift::Serialize::write(&self.space_id, p);
14799        p.write_field_end();
14800        p.write_field_stop();
14801        p.write_struct_end();
14802    }
14803}
14804
14805impl<P> ::fbthrift::Deserialize<P> for self::GetStatsReq
14806where
14807    P: ::fbthrift::ProtocolReader,
14808{
14809    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14810        static FIELDS: &[::fbthrift::Field] = &[
14811            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
14812        ];
14813        let mut field_space_id = ::std::option::Option::None;
14814        let _ = p.read_struct_begin(|_| ())?;
14815        loop {
14816            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14817            match (fty, fid as ::std::primitive::i32) {
14818                (::fbthrift::TType::Stop, _) => break,
14819                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14820                (fty, _) => p.skip(fty)?,
14821            }
14822            p.read_field_end()?;
14823        }
14824        p.read_struct_end()?;
14825        ::std::result::Result::Ok(Self {
14826            space_id: field_space_id.unwrap_or_default(),
14827            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14828        })
14829    }
14830}
14831
14832
14833#[allow(clippy::derivable_impls)]
14834impl ::std::default::Default for self::GetStatsResp {
14835    fn default() -> Self {
14836        Self {
14837            code: ::std::default::Default::default(),
14838            leader: ::std::default::Default::default(),
14839            stats: ::std::default::Default::default(),
14840            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14841        }
14842    }
14843}
14844
14845impl ::std::fmt::Debug for self::GetStatsResp {
14846    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14847        formatter
14848            .debug_struct("GetStatsResp")
14849            .field("code", &self.code)
14850            .field("leader", &self.leader)
14851            .field("stats", &self.stats)
14852            .finish()
14853    }
14854}
14855
14856unsafe impl ::std::marker::Send for self::GetStatsResp {}
14857unsafe impl ::std::marker::Sync for self::GetStatsResp {}
14858
14859impl ::fbthrift::GetTType for self::GetStatsResp {
14860    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14861}
14862
14863impl<P> ::fbthrift::Serialize<P> for self::GetStatsResp
14864where
14865    P: ::fbthrift::ProtocolWriter,
14866{
14867    fn write(&self, p: &mut P) {
14868        p.write_struct_begin("GetStatsResp");
14869        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14870        ::fbthrift::Serialize::write(&self.code, p);
14871        p.write_field_end();
14872        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14873        ::fbthrift::Serialize::write(&self.leader, p);
14874        p.write_field_end();
14875        p.write_field_begin("stats", ::fbthrift::TType::Struct, 3);
14876        ::fbthrift::Serialize::write(&self.stats, p);
14877        p.write_field_end();
14878        p.write_field_stop();
14879        p.write_struct_end();
14880    }
14881}
14882
14883impl<P> ::fbthrift::Deserialize<P> for self::GetStatsResp
14884where
14885    P: ::fbthrift::ProtocolReader,
14886{
14887    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14888        static FIELDS: &[::fbthrift::Field] = &[
14889            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14890            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14891            ::fbthrift::Field::new("stats", ::fbthrift::TType::Struct, 3),
14892        ];
14893        let mut field_code = ::std::option::Option::None;
14894        let mut field_leader = ::std::option::Option::None;
14895        let mut field_stats = ::std::option::Option::None;
14896        let _ = p.read_struct_begin(|_| ())?;
14897        loop {
14898            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14899            match (fty, fid as ::std::primitive::i32) {
14900                (::fbthrift::TType::Stop, _) => break,
14901                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14902                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14903                (::fbthrift::TType::Struct, 3) => field_stats = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14904                (fty, _) => p.skip(fty)?,
14905            }
14906            p.read_field_end()?;
14907        }
14908        p.read_struct_end()?;
14909        ::std::result::Result::Ok(Self {
14910            code: field_code.unwrap_or_default(),
14911            leader: field_leader.unwrap_or_default(),
14912            stats: field_stats.unwrap_or_default(),
14913            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14914        })
14915    }
14916}
14917
14918
14919#[allow(clippy::derivable_impls)]
14920impl ::std::default::Default for self::HostBackupInfo {
14921    fn default() -> Self {
14922        Self {
14923            host: ::std::default::Default::default(),
14924            checkpoints: ::std::default::Default::default(),
14925            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14926        }
14927    }
14928}
14929
14930impl ::std::fmt::Debug for self::HostBackupInfo {
14931    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14932        formatter
14933            .debug_struct("HostBackupInfo")
14934            .field("host", &self.host)
14935            .field("checkpoints", &self.checkpoints)
14936            .finish()
14937    }
14938}
14939
14940unsafe impl ::std::marker::Send for self::HostBackupInfo {}
14941unsafe impl ::std::marker::Sync for self::HostBackupInfo {}
14942
14943impl ::fbthrift::GetTType for self::HostBackupInfo {
14944    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14945}
14946
14947impl<P> ::fbthrift::Serialize<P> for self::HostBackupInfo
14948where
14949    P: ::fbthrift::ProtocolWriter,
14950{
14951    fn write(&self, p: &mut P) {
14952        p.write_struct_begin("HostBackupInfo");
14953        p.write_field_begin("host", ::fbthrift::TType::Struct, 1);
14954        ::fbthrift::Serialize::write(&self.host, p);
14955        p.write_field_end();
14956        p.write_field_begin("checkpoints", ::fbthrift::TType::List, 2);
14957        ::fbthrift::Serialize::write(&self.checkpoints, p);
14958        p.write_field_end();
14959        p.write_field_stop();
14960        p.write_struct_end();
14961    }
14962}
14963
14964impl<P> ::fbthrift::Deserialize<P> for self::HostBackupInfo
14965where
14966    P: ::fbthrift::ProtocolReader,
14967{
14968    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14969        static FIELDS: &[::fbthrift::Field] = &[
14970            ::fbthrift::Field::new("checkpoints", ::fbthrift::TType::List, 2),
14971            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 1),
14972        ];
14973        let mut field_host = ::std::option::Option::None;
14974        let mut field_checkpoints = ::std::option::Option::None;
14975        let _ = p.read_struct_begin(|_| ())?;
14976        loop {
14977            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14978            match (fty, fid as ::std::primitive::i32) {
14979                (::fbthrift::TType::Stop, _) => break,
14980                (::fbthrift::TType::Struct, 1) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14981                (::fbthrift::TType::List, 2) => field_checkpoints = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14982                (fty, _) => p.skip(fty)?,
14983            }
14984            p.read_field_end()?;
14985        }
14986        p.read_struct_end()?;
14987        ::std::result::Result::Ok(Self {
14988            host: field_host.unwrap_or_default(),
14989            checkpoints: field_checkpoints.unwrap_or_default(),
14990            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14991        })
14992    }
14993}
14994
14995
14996#[allow(clippy::derivable_impls)]
14997impl ::std::default::Default for self::SpaceBackupInfo {
14998    fn default() -> Self {
14999        Self {
15000            space: ::std::default::Default::default(),
15001            host_backups: ::std::default::Default::default(),
15002            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15003        }
15004    }
15005}
15006
15007impl ::std::fmt::Debug for self::SpaceBackupInfo {
15008    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15009        formatter
15010            .debug_struct("SpaceBackupInfo")
15011            .field("space", &self.space)
15012            .field("host_backups", &self.host_backups)
15013            .finish()
15014    }
15015}
15016
15017unsafe impl ::std::marker::Send for self::SpaceBackupInfo {}
15018unsafe impl ::std::marker::Sync for self::SpaceBackupInfo {}
15019
15020impl ::fbthrift::GetTType for self::SpaceBackupInfo {
15021    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15022}
15023
15024impl<P> ::fbthrift::Serialize<P> for self::SpaceBackupInfo
15025where
15026    P: ::fbthrift::ProtocolWriter,
15027{
15028    fn write(&self, p: &mut P) {
15029        p.write_struct_begin("SpaceBackupInfo");
15030        p.write_field_begin("space", ::fbthrift::TType::Struct, 1);
15031        ::fbthrift::Serialize::write(&self.space, p);
15032        p.write_field_end();
15033        p.write_field_begin("host_backups", ::fbthrift::TType::List, 2);
15034        ::fbthrift::Serialize::write(&self.host_backups, p);
15035        p.write_field_end();
15036        p.write_field_stop();
15037        p.write_struct_end();
15038    }
15039}
15040
15041impl<P> ::fbthrift::Deserialize<P> for self::SpaceBackupInfo
15042where
15043    P: ::fbthrift::ProtocolReader,
15044{
15045    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15046        static FIELDS: &[::fbthrift::Field] = &[
15047            ::fbthrift::Field::new("host_backups", ::fbthrift::TType::List, 2),
15048            ::fbthrift::Field::new("space", ::fbthrift::TType::Struct, 1),
15049        ];
15050        let mut field_space = ::std::option::Option::None;
15051        let mut field_host_backups = ::std::option::Option::None;
15052        let _ = p.read_struct_begin(|_| ())?;
15053        loop {
15054            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15055            match (fty, fid as ::std::primitive::i32) {
15056                (::fbthrift::TType::Stop, _) => break,
15057                (::fbthrift::TType::Struct, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15058                (::fbthrift::TType::List, 2) => field_host_backups = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15059                (fty, _) => p.skip(fty)?,
15060            }
15061            p.read_field_end()?;
15062        }
15063        p.read_struct_end()?;
15064        ::std::result::Result::Ok(Self {
15065            space: field_space.unwrap_or_default(),
15066            host_backups: field_host_backups.unwrap_or_default(),
15067            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15068        })
15069    }
15070}
15071
15072
15073#[allow(clippy::derivable_impls)]
15074impl ::std::default::Default for self::BackupMeta {
15075    fn default() -> Self {
15076        Self {
15077            space_backups: ::std::default::Default::default(),
15078            meta_files: ::std::default::Default::default(),
15079            backup_name: ::std::default::Default::default(),
15080            full: ::std::default::Default::default(),
15081            all_spaces: ::std::default::Default::default(),
15082            create_time: ::std::default::Default::default(),
15083            base_backup_name: ::std::default::Default::default(),
15084            storage_hosts: ::std::default::Default::default(),
15085            cluster_id: ::std::default::Default::default(),
15086            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15087        }
15088    }
15089}
15090
15091impl ::std::fmt::Debug for self::BackupMeta {
15092    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15093        formatter
15094            .debug_struct("BackupMeta")
15095            .field("space_backups", &self.space_backups)
15096            .field("meta_files", &self.meta_files)
15097            .field("backup_name", &self.backup_name)
15098            .field("full", &self.full)
15099            .field("all_spaces", &self.all_spaces)
15100            .field("create_time", &self.create_time)
15101            .field("base_backup_name", &self.base_backup_name)
15102            .field("storage_hosts", &self.storage_hosts)
15103            .field("cluster_id", &self.cluster_id)
15104            .finish()
15105    }
15106}
15107
15108unsafe impl ::std::marker::Send for self::BackupMeta {}
15109unsafe impl ::std::marker::Sync for self::BackupMeta {}
15110
15111impl ::fbthrift::GetTType for self::BackupMeta {
15112    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15113}
15114
15115impl<P> ::fbthrift::Serialize<P> for self::BackupMeta
15116where
15117    P: ::fbthrift::ProtocolWriter,
15118{
15119    fn write(&self, p: &mut P) {
15120        p.write_struct_begin("BackupMeta");
15121        p.write_field_begin("space_backups", ::fbthrift::TType::Map, 1);
15122        ::fbthrift::Serialize::write(&self.space_backups, p);
15123        p.write_field_end();
15124        p.write_field_begin("meta_files", ::fbthrift::TType::List, 2);
15125        ::fbthrift::Serialize::write(&self.meta_files, p);
15126        p.write_field_end();
15127        p.write_field_begin("backup_name", ::fbthrift::TType::String, 3);
15128        ::fbthrift::Serialize::write(&self.backup_name, p);
15129        p.write_field_end();
15130        p.write_field_begin("full", ::fbthrift::TType::Bool, 4);
15131        ::fbthrift::Serialize::write(&self.full, p);
15132        p.write_field_end();
15133        p.write_field_begin("all_spaces", ::fbthrift::TType::Bool, 5);
15134        ::fbthrift::Serialize::write(&self.all_spaces, p);
15135        p.write_field_end();
15136        p.write_field_begin("create_time", ::fbthrift::TType::I64, 6);
15137        ::fbthrift::Serialize::write(&self.create_time, p);
15138        p.write_field_end();
15139        p.write_field_begin("base_backup_name", ::fbthrift::TType::String, 7);
15140        ::fbthrift::Serialize::write(&self.base_backup_name, p);
15141        p.write_field_end();
15142        p.write_field_begin("storage_hosts", ::fbthrift::TType::List, 8);
15143        ::fbthrift::Serialize::write(&self.storage_hosts, p);
15144        p.write_field_end();
15145        p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 9);
15146        ::fbthrift::Serialize::write(&self.cluster_id, p);
15147        p.write_field_end();
15148        p.write_field_stop();
15149        p.write_struct_end();
15150    }
15151}
15152
15153impl<P> ::fbthrift::Deserialize<P> for self::BackupMeta
15154where
15155    P: ::fbthrift::ProtocolReader,
15156{
15157    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15158        static FIELDS: &[::fbthrift::Field] = &[
15159            ::fbthrift::Field::new("all_spaces", ::fbthrift::TType::Bool, 5),
15160            ::fbthrift::Field::new("backup_name", ::fbthrift::TType::String, 3),
15161            ::fbthrift::Field::new("base_backup_name", ::fbthrift::TType::String, 7),
15162            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 9),
15163            ::fbthrift::Field::new("create_time", ::fbthrift::TType::I64, 6),
15164            ::fbthrift::Field::new("full", ::fbthrift::TType::Bool, 4),
15165            ::fbthrift::Field::new("meta_files", ::fbthrift::TType::List, 2),
15166            ::fbthrift::Field::new("space_backups", ::fbthrift::TType::Map, 1),
15167            ::fbthrift::Field::new("storage_hosts", ::fbthrift::TType::List, 8),
15168        ];
15169        let mut field_space_backups = ::std::option::Option::None;
15170        let mut field_meta_files = ::std::option::Option::None;
15171        let mut field_backup_name = ::std::option::Option::None;
15172        let mut field_full = ::std::option::Option::None;
15173        let mut field_all_spaces = ::std::option::Option::None;
15174        let mut field_create_time = ::std::option::Option::None;
15175        let mut field_base_backup_name = ::std::option::Option::None;
15176        let mut field_storage_hosts = ::std::option::Option::None;
15177        let mut field_cluster_id = ::std::option::Option::None;
15178        let _ = p.read_struct_begin(|_| ())?;
15179        loop {
15180            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15181            match (fty, fid as ::std::primitive::i32) {
15182                (::fbthrift::TType::Stop, _) => break,
15183                (::fbthrift::TType::Map, 1) => field_space_backups = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15184                (::fbthrift::TType::List, 2) => field_meta_files = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15185                (::fbthrift::TType::String, 3) => field_backup_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15186                (::fbthrift::TType::Bool, 4) => field_full = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15187                (::fbthrift::TType::Bool, 5) => field_all_spaces = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15188                (::fbthrift::TType::I64, 6) => field_create_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15189                (::fbthrift::TType::String, 7) => field_base_backup_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15190                (::fbthrift::TType::List, 8) => field_storage_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15191                (::fbthrift::TType::I64, 9) => field_cluster_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15192                (fty, _) => p.skip(fty)?,
15193            }
15194            p.read_field_end()?;
15195        }
15196        p.read_struct_end()?;
15197        ::std::result::Result::Ok(Self {
15198            space_backups: field_space_backups.unwrap_or_default(),
15199            meta_files: field_meta_files.unwrap_or_default(),
15200            backup_name: field_backup_name.unwrap_or_default(),
15201            full: field_full.unwrap_or_default(),
15202            all_spaces: field_all_spaces.unwrap_or_default(),
15203            create_time: field_create_time.unwrap_or_default(),
15204            base_backup_name: field_base_backup_name.unwrap_or_default(),
15205            storage_hosts: field_storage_hosts.unwrap_or_default(),
15206            cluster_id: field_cluster_id.unwrap_or_default(),
15207            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15208        })
15209    }
15210}
15211
15212
15213#[allow(clippy::derivable_impls)]
15214impl ::std::default::Default for self::CreateBackupReq {
15215    fn default() -> Self {
15216        Self {
15217            spaces: ::std::option::Option::None,
15218            base_backup_name: ::std::option::Option::None,
15219            cluster_id: ::std::option::Option::None,
15220            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15221        }
15222    }
15223}
15224
15225impl ::std::fmt::Debug for self::CreateBackupReq {
15226    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15227        formatter
15228            .debug_struct("CreateBackupReq")
15229            .field("spaces", &self.spaces)
15230            .field("base_backup_name", &self.base_backup_name)
15231            .field("cluster_id", &self.cluster_id)
15232            .finish()
15233    }
15234}
15235
15236unsafe impl ::std::marker::Send for self::CreateBackupReq {}
15237unsafe impl ::std::marker::Sync for self::CreateBackupReq {}
15238
15239impl ::fbthrift::GetTType for self::CreateBackupReq {
15240    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15241}
15242
15243impl<P> ::fbthrift::Serialize<P> for self::CreateBackupReq
15244where
15245    P: ::fbthrift::ProtocolWriter,
15246{
15247    fn write(&self, p: &mut P) {
15248        p.write_struct_begin("CreateBackupReq");
15249        if let ::std::option::Option::Some(some) = &self.spaces {
15250            p.write_field_begin("spaces", ::fbthrift::TType::List, 1);
15251            ::fbthrift::Serialize::write(some, p);
15252            p.write_field_end();
15253        }
15254        if let ::std::option::Option::Some(some) = &self.base_backup_name {
15255            p.write_field_begin("base_backup_name", ::fbthrift::TType::String, 2);
15256            ::fbthrift::Serialize::write(some, p);
15257            p.write_field_end();
15258        }
15259        if let ::std::option::Option::Some(some) = &self.cluster_id {
15260            p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 3);
15261            ::fbthrift::Serialize::write(some, p);
15262            p.write_field_end();
15263        }
15264        p.write_field_stop();
15265        p.write_struct_end();
15266    }
15267}
15268
15269impl<P> ::fbthrift::Deserialize<P> for self::CreateBackupReq
15270where
15271    P: ::fbthrift::ProtocolReader,
15272{
15273    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15274        static FIELDS: &[::fbthrift::Field] = &[
15275            ::fbthrift::Field::new("base_backup_name", ::fbthrift::TType::String, 2),
15276            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 3),
15277            ::fbthrift::Field::new("spaces", ::fbthrift::TType::List, 1),
15278        ];
15279        let mut field_spaces = ::std::option::Option::None;
15280        let mut field_base_backup_name = ::std::option::Option::None;
15281        let mut field_cluster_id = ::std::option::Option::None;
15282        let _ = p.read_struct_begin(|_| ())?;
15283        loop {
15284            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15285            match (fty, fid as ::std::primitive::i32) {
15286                (::fbthrift::TType::Stop, _) => break,
15287                (::fbthrift::TType::List, 1) => field_spaces = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15288                (::fbthrift::TType::String, 2) => field_base_backup_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15289                (::fbthrift::TType::I64, 3) => field_cluster_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15290                (fty, _) => p.skip(fty)?,
15291            }
15292            p.read_field_end()?;
15293        }
15294        p.read_struct_end()?;
15295        ::std::result::Result::Ok(Self {
15296            spaces: field_spaces,
15297            base_backup_name: field_base_backup_name,
15298            cluster_id: field_cluster_id,
15299            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15300        })
15301    }
15302}
15303
15304
15305#[allow(clippy::derivable_impls)]
15306impl ::std::default::Default for self::CreateBackupResp {
15307    fn default() -> Self {
15308        Self {
15309            code: ::std::default::Default::default(),
15310            leader: ::std::default::Default::default(),
15311            meta: ::std::default::Default::default(),
15312            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15313        }
15314    }
15315}
15316
15317impl ::std::fmt::Debug for self::CreateBackupResp {
15318    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15319        formatter
15320            .debug_struct("CreateBackupResp")
15321            .field("code", &self.code)
15322            .field("leader", &self.leader)
15323            .field("meta", &self.meta)
15324            .finish()
15325    }
15326}
15327
15328unsafe impl ::std::marker::Send for self::CreateBackupResp {}
15329unsafe impl ::std::marker::Sync for self::CreateBackupResp {}
15330
15331impl ::fbthrift::GetTType for self::CreateBackupResp {
15332    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15333}
15334
15335impl<P> ::fbthrift::Serialize<P> for self::CreateBackupResp
15336where
15337    P: ::fbthrift::ProtocolWriter,
15338{
15339    fn write(&self, p: &mut P) {
15340        p.write_struct_begin("CreateBackupResp");
15341        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
15342        ::fbthrift::Serialize::write(&self.code, p);
15343        p.write_field_end();
15344        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
15345        ::fbthrift::Serialize::write(&self.leader, p);
15346        p.write_field_end();
15347        p.write_field_begin("meta", ::fbthrift::TType::Struct, 3);
15348        ::fbthrift::Serialize::write(&self.meta, p);
15349        p.write_field_end();
15350        p.write_field_stop();
15351        p.write_struct_end();
15352    }
15353}
15354
15355impl<P> ::fbthrift::Deserialize<P> for self::CreateBackupResp
15356where
15357    P: ::fbthrift::ProtocolReader,
15358{
15359    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15360        static FIELDS: &[::fbthrift::Field] = &[
15361            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
15362            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
15363            ::fbthrift::Field::new("meta", ::fbthrift::TType::Struct, 3),
15364        ];
15365        let mut field_code = ::std::option::Option::None;
15366        let mut field_leader = ::std::option::Option::None;
15367        let mut field_meta = ::std::option::Option::None;
15368        let _ = p.read_struct_begin(|_| ())?;
15369        loop {
15370            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15371            match (fty, fid as ::std::primitive::i32) {
15372                (::fbthrift::TType::Stop, _) => break,
15373                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15374                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15375                (::fbthrift::TType::Struct, 3) => field_meta = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15376                (fty, _) => p.skip(fty)?,
15377            }
15378            p.read_field_end()?;
15379        }
15380        p.read_struct_end()?;
15381        ::std::result::Result::Ok(Self {
15382            code: field_code.unwrap_or_default(),
15383            leader: field_leader.unwrap_or_default(),
15384            meta: field_meta.unwrap_or_default(),
15385            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15386        })
15387    }
15388}
15389
15390
15391#[allow(clippy::derivable_impls)]
15392impl ::std::default::Default for self::HostPair {
15393    fn default() -> Self {
15394        Self {
15395            from_host: ::std::default::Default::default(),
15396            to_host: ::std::default::Default::default(),
15397            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15398        }
15399    }
15400}
15401
15402impl ::std::fmt::Debug for self::HostPair {
15403    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15404        formatter
15405            .debug_struct("HostPair")
15406            .field("from_host", &self.from_host)
15407            .field("to_host", &self.to_host)
15408            .finish()
15409    }
15410}
15411
15412unsafe impl ::std::marker::Send for self::HostPair {}
15413unsafe impl ::std::marker::Sync for self::HostPair {}
15414
15415impl ::fbthrift::GetTType for self::HostPair {
15416    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15417}
15418
15419impl<P> ::fbthrift::Serialize<P> for self::HostPair
15420where
15421    P: ::fbthrift::ProtocolWriter,
15422{
15423    fn write(&self, p: &mut P) {
15424        p.write_struct_begin("HostPair");
15425        p.write_field_begin("from_host", ::fbthrift::TType::Struct, 1);
15426        ::fbthrift::Serialize::write(&self.from_host, p);
15427        p.write_field_end();
15428        p.write_field_begin("to_host", ::fbthrift::TType::Struct, 2);
15429        ::fbthrift::Serialize::write(&self.to_host, p);
15430        p.write_field_end();
15431        p.write_field_stop();
15432        p.write_struct_end();
15433    }
15434}
15435
15436impl<P> ::fbthrift::Deserialize<P> for self::HostPair
15437where
15438    P: ::fbthrift::ProtocolReader,
15439{
15440    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15441        static FIELDS: &[::fbthrift::Field] = &[
15442            ::fbthrift::Field::new("from_host", ::fbthrift::TType::Struct, 1),
15443            ::fbthrift::Field::new("to_host", ::fbthrift::TType::Struct, 2),
15444        ];
15445        let mut field_from_host = ::std::option::Option::None;
15446        let mut field_to_host = ::std::option::Option::None;
15447        let _ = p.read_struct_begin(|_| ())?;
15448        loop {
15449            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15450            match (fty, fid as ::std::primitive::i32) {
15451                (::fbthrift::TType::Stop, _) => break,
15452                (::fbthrift::TType::Struct, 1) => field_from_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15453                (::fbthrift::TType::Struct, 2) => field_to_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15454                (fty, _) => p.skip(fty)?,
15455            }
15456            p.read_field_end()?;
15457        }
15458        p.read_struct_end()?;
15459        ::std::result::Result::Ok(Self {
15460            from_host: field_from_host.unwrap_or_default(),
15461            to_host: field_to_host.unwrap_or_default(),
15462            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15463        })
15464    }
15465}
15466
15467
15468#[allow(clippy::derivable_impls)]
15469impl ::std::default::Default for self::RestoreMetaReq {
15470    fn default() -> Self {
15471        Self {
15472            files: ::std::default::Default::default(),
15473            hosts: ::std::default::Default::default(),
15474            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15475        }
15476    }
15477}
15478
15479impl ::std::fmt::Debug for self::RestoreMetaReq {
15480    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15481        formatter
15482            .debug_struct("RestoreMetaReq")
15483            .field("files", &self.files)
15484            .field("hosts", &self.hosts)
15485            .finish()
15486    }
15487}
15488
15489unsafe impl ::std::marker::Send for self::RestoreMetaReq {}
15490unsafe impl ::std::marker::Sync for self::RestoreMetaReq {}
15491
15492impl ::fbthrift::GetTType for self::RestoreMetaReq {
15493    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15494}
15495
15496impl<P> ::fbthrift::Serialize<P> for self::RestoreMetaReq
15497where
15498    P: ::fbthrift::ProtocolWriter,
15499{
15500    fn write(&self, p: &mut P) {
15501        p.write_struct_begin("RestoreMetaReq");
15502        p.write_field_begin("files", ::fbthrift::TType::List, 1);
15503        ::fbthrift::Serialize::write(&self.files, p);
15504        p.write_field_end();
15505        p.write_field_begin("hosts", ::fbthrift::TType::List, 2);
15506        ::fbthrift::Serialize::write(&self.hosts, p);
15507        p.write_field_end();
15508        p.write_field_stop();
15509        p.write_struct_end();
15510    }
15511}
15512
15513impl<P> ::fbthrift::Deserialize<P> for self::RestoreMetaReq
15514where
15515    P: ::fbthrift::ProtocolReader,
15516{
15517    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15518        static FIELDS: &[::fbthrift::Field] = &[
15519            ::fbthrift::Field::new("files", ::fbthrift::TType::List, 1),
15520            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 2),
15521        ];
15522        let mut field_files = ::std::option::Option::None;
15523        let mut field_hosts = ::std::option::Option::None;
15524        let _ = p.read_struct_begin(|_| ())?;
15525        loop {
15526            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15527            match (fty, fid as ::std::primitive::i32) {
15528                (::fbthrift::TType::Stop, _) => break,
15529                (::fbthrift::TType::List, 1) => field_files = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15530                (::fbthrift::TType::List, 2) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15531                (fty, _) => p.skip(fty)?,
15532            }
15533            p.read_field_end()?;
15534        }
15535        p.read_struct_end()?;
15536        ::std::result::Result::Ok(Self {
15537            files: field_files.unwrap_or_default(),
15538            hosts: field_hosts.unwrap_or_default(),
15539            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15540        })
15541    }
15542}
15543
15544
15545#[allow(clippy::derivable_impls)]
15546impl ::std::default::Default for self::PartInfo {
15547    fn default() -> Self {
15548        Self {
15549            part_id: ::std::default::Default::default(),
15550            hosts: ::std::default::Default::default(),
15551            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15552        }
15553    }
15554}
15555
15556impl ::std::fmt::Debug for self::PartInfo {
15557    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15558        formatter
15559            .debug_struct("PartInfo")
15560            .field("part_id", &self.part_id)
15561            .field("hosts", &self.hosts)
15562            .finish()
15563    }
15564}
15565
15566unsafe impl ::std::marker::Send for self::PartInfo {}
15567unsafe impl ::std::marker::Sync for self::PartInfo {}
15568
15569impl ::fbthrift::GetTType for self::PartInfo {
15570    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15571}
15572
15573impl<P> ::fbthrift::Serialize<P> for self::PartInfo
15574where
15575    P: ::fbthrift::ProtocolWriter,
15576{
15577    fn write(&self, p: &mut P) {
15578        p.write_struct_begin("PartInfo");
15579        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
15580        ::fbthrift::Serialize::write(&self.part_id, p);
15581        p.write_field_end();
15582        p.write_field_begin("hosts", ::fbthrift::TType::List, 2);
15583        ::fbthrift::Serialize::write(&self.hosts, p);
15584        p.write_field_end();
15585        p.write_field_stop();
15586        p.write_struct_end();
15587    }
15588}
15589
15590impl<P> ::fbthrift::Deserialize<P> for self::PartInfo
15591where
15592    P: ::fbthrift::ProtocolReader,
15593{
15594    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15595        static FIELDS: &[::fbthrift::Field] = &[
15596            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 2),
15597            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
15598        ];
15599        let mut field_part_id = ::std::option::Option::None;
15600        let mut field_hosts = ::std::option::Option::None;
15601        let _ = p.read_struct_begin(|_| ())?;
15602        loop {
15603            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15604            match (fty, fid as ::std::primitive::i32) {
15605                (::fbthrift::TType::Stop, _) => break,
15606                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15607                (::fbthrift::TType::List, 2) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15608                (fty, _) => p.skip(fty)?,
15609            }
15610            p.read_field_end()?;
15611        }
15612        p.read_struct_end()?;
15613        ::std::result::Result::Ok(Self {
15614            part_id: field_part_id.unwrap_or_default(),
15615            hosts: field_hosts.unwrap_or_default(),
15616            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15617        })
15618    }
15619}
15620
15621
15622#[allow(clippy::derivable_impls)]
15623impl ::std::default::Default for self::RestoreMetaResp {
15624    fn default() -> Self {
15625        Self {
15626            code: ::std::default::Default::default(),
15627            leader: ::std::default::Default::default(),
15628            part_hosts: ::std::default::Default::default(),
15629            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15630        }
15631    }
15632}
15633
15634impl ::std::fmt::Debug for self::RestoreMetaResp {
15635    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15636        formatter
15637            .debug_struct("RestoreMetaResp")
15638            .field("code", &self.code)
15639            .field("leader", &self.leader)
15640            .field("part_hosts", &self.part_hosts)
15641            .finish()
15642    }
15643}
15644
15645unsafe impl ::std::marker::Send for self::RestoreMetaResp {}
15646unsafe impl ::std::marker::Sync for self::RestoreMetaResp {}
15647
15648impl ::fbthrift::GetTType for self::RestoreMetaResp {
15649    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15650}
15651
15652impl<P> ::fbthrift::Serialize<P> for self::RestoreMetaResp
15653where
15654    P: ::fbthrift::ProtocolWriter,
15655{
15656    fn write(&self, p: &mut P) {
15657        p.write_struct_begin("RestoreMetaResp");
15658        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
15659        ::fbthrift::Serialize::write(&self.code, p);
15660        p.write_field_end();
15661        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
15662        ::fbthrift::Serialize::write(&self.leader, p);
15663        p.write_field_end();
15664        p.write_field_begin("part_hosts", ::fbthrift::TType::Map, 3);
15665        ::fbthrift::Serialize::write(&self.part_hosts, p);
15666        p.write_field_end();
15667        p.write_field_stop();
15668        p.write_struct_end();
15669    }
15670}
15671
15672impl<P> ::fbthrift::Deserialize<P> for self::RestoreMetaResp
15673where
15674    P: ::fbthrift::ProtocolReader,
15675{
15676    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15677        static FIELDS: &[::fbthrift::Field] = &[
15678            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
15679            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
15680            ::fbthrift::Field::new("part_hosts", ::fbthrift::TType::Map, 3),
15681        ];
15682        let mut field_code = ::std::option::Option::None;
15683        let mut field_leader = ::std::option::Option::None;
15684        let mut field_part_hosts = ::std::option::Option::None;
15685        let _ = p.read_struct_begin(|_| ())?;
15686        loop {
15687            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15688            match (fty, fid as ::std::primitive::i32) {
15689                (::fbthrift::TType::Stop, _) => break,
15690                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15691                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15692                (::fbthrift::TType::Map, 3) => field_part_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15693                (fty, _) => p.skip(fty)?,
15694            }
15695            p.read_field_end()?;
15696        }
15697        p.read_struct_end()?;
15698        ::std::result::Result::Ok(Self {
15699            code: field_code.unwrap_or_default(),
15700            leader: field_leader.unwrap_or_default(),
15701            part_hosts: field_part_hosts.unwrap_or_default(),
15702            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15703        })
15704    }
15705}
15706
15707
15708#[allow(clippy::derivable_impls)]
15709impl ::std::default::Default for self::ServiceClient {
15710    fn default() -> Self {
15711        Self {
15712            host: ::std::default::Default::default(),
15713            user: ::std::option::Option::None,
15714            pwd: ::std::option::Option::None,
15715            conn_type: ::std::option::Option::None,
15716            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15717        }
15718    }
15719}
15720
15721impl ::std::fmt::Debug for self::ServiceClient {
15722    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15723        formatter
15724            .debug_struct("ServiceClient")
15725            .field("host", &self.host)
15726            .field("user", &self.user)
15727            .field("pwd", &self.pwd)
15728            .field("conn_type", &self.conn_type)
15729            .finish()
15730    }
15731}
15732
15733unsafe impl ::std::marker::Send for self::ServiceClient {}
15734unsafe impl ::std::marker::Sync for self::ServiceClient {}
15735
15736impl ::fbthrift::GetTType for self::ServiceClient {
15737    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15738}
15739
15740impl<P> ::fbthrift::Serialize<P> for self::ServiceClient
15741where
15742    P: ::fbthrift::ProtocolWriter,
15743{
15744    fn write(&self, p: &mut P) {
15745        p.write_struct_begin("ServiceClient");
15746        p.write_field_begin("host", ::fbthrift::TType::Struct, 1);
15747        ::fbthrift::Serialize::write(&self.host, p);
15748        p.write_field_end();
15749        if let ::std::option::Option::Some(some) = &self.user {
15750            p.write_field_begin("user", ::fbthrift::TType::String, 2);
15751            ::fbthrift::Serialize::write(some, p);
15752            p.write_field_end();
15753        }
15754        if let ::std::option::Option::Some(some) = &self.pwd {
15755            p.write_field_begin("pwd", ::fbthrift::TType::String, 3);
15756            ::fbthrift::Serialize::write(some, p);
15757            p.write_field_end();
15758        }
15759        if let ::std::option::Option::Some(some) = &self.conn_type {
15760            p.write_field_begin("conn_type", ::fbthrift::TType::String, 4);
15761            ::fbthrift::Serialize::write(some, p);
15762            p.write_field_end();
15763        }
15764        p.write_field_stop();
15765        p.write_struct_end();
15766    }
15767}
15768
15769impl<P> ::fbthrift::Deserialize<P> for self::ServiceClient
15770where
15771    P: ::fbthrift::ProtocolReader,
15772{
15773    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15774        static FIELDS: &[::fbthrift::Field] = &[
15775            ::fbthrift::Field::new("conn_type", ::fbthrift::TType::String, 4),
15776            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 1),
15777            ::fbthrift::Field::new("pwd", ::fbthrift::TType::String, 3),
15778            ::fbthrift::Field::new("user", ::fbthrift::TType::String, 2),
15779        ];
15780        let mut field_host = ::std::option::Option::None;
15781        let mut field_user = ::std::option::Option::None;
15782        let mut field_pwd = ::std::option::Option::None;
15783        let mut field_conn_type = ::std::option::Option::None;
15784        let _ = p.read_struct_begin(|_| ())?;
15785        loop {
15786            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15787            match (fty, fid as ::std::primitive::i32) {
15788                (::fbthrift::TType::Stop, _) => break,
15789                (::fbthrift::TType::Struct, 1) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15790                (::fbthrift::TType::String, 2) => field_user = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15791                (::fbthrift::TType::String, 3) => field_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15792                (::fbthrift::TType::String, 4) => field_conn_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15793                (fty, _) => p.skip(fty)?,
15794            }
15795            p.read_field_end()?;
15796        }
15797        p.read_struct_end()?;
15798        ::std::result::Result::Ok(Self {
15799            host: field_host.unwrap_or_default(),
15800            user: field_user,
15801            pwd: field_pwd,
15802            conn_type: field_conn_type,
15803            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15804        })
15805    }
15806}
15807
15808
15809#[allow(clippy::derivable_impls)]
15810impl ::std::default::Default for self::SignInServiceReq {
15811    fn default() -> Self {
15812        Self {
15813            r#type: ::std::default::Default::default(),
15814            clients: ::std::default::Default::default(),
15815            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15816        }
15817    }
15818}
15819
15820impl ::std::fmt::Debug for self::SignInServiceReq {
15821    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15822        formatter
15823            .debug_struct("SignInServiceReq")
15824            .field("r#type", &self.r#type)
15825            .field("clients", &self.clients)
15826            .finish()
15827    }
15828}
15829
15830unsafe impl ::std::marker::Send for self::SignInServiceReq {}
15831unsafe impl ::std::marker::Sync for self::SignInServiceReq {}
15832
15833impl ::fbthrift::GetTType for self::SignInServiceReq {
15834    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15835}
15836
15837impl<P> ::fbthrift::Serialize<P> for self::SignInServiceReq
15838where
15839    P: ::fbthrift::ProtocolWriter,
15840{
15841    fn write(&self, p: &mut P) {
15842        p.write_struct_begin("SignInServiceReq");
15843        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
15844        ::fbthrift::Serialize::write(&self.r#type, p);
15845        p.write_field_end();
15846        p.write_field_begin("clients", ::fbthrift::TType::List, 2);
15847        ::fbthrift::Serialize::write(&self.clients, p);
15848        p.write_field_end();
15849        p.write_field_stop();
15850        p.write_struct_end();
15851    }
15852}
15853
15854impl<P> ::fbthrift::Deserialize<P> for self::SignInServiceReq
15855where
15856    P: ::fbthrift::ProtocolReader,
15857{
15858    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15859        static FIELDS: &[::fbthrift::Field] = &[
15860            ::fbthrift::Field::new("clients", ::fbthrift::TType::List, 2),
15861            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
15862        ];
15863        let mut field_type = ::std::option::Option::None;
15864        let mut field_clients = ::std::option::Option::None;
15865        let _ = p.read_struct_begin(|_| ())?;
15866        loop {
15867            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15868            match (fty, fid as ::std::primitive::i32) {
15869                (::fbthrift::TType::Stop, _) => break,
15870                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15871                (::fbthrift::TType::List, 2) => field_clients = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15872                (fty, _) => p.skip(fty)?,
15873            }
15874            p.read_field_end()?;
15875        }
15876        p.read_struct_end()?;
15877        ::std::result::Result::Ok(Self {
15878            r#type: field_type.unwrap_or_default(),
15879            clients: field_clients.unwrap_or_default(),
15880            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15881        })
15882    }
15883}
15884
15885
15886#[allow(clippy::derivable_impls)]
15887impl ::std::default::Default for self::SignOutServiceReq {
15888    fn default() -> Self {
15889        Self {
15890            r#type: ::std::default::Default::default(),
15891            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15892        }
15893    }
15894}
15895
15896impl ::std::fmt::Debug for self::SignOutServiceReq {
15897    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15898        formatter
15899            .debug_struct("SignOutServiceReq")
15900            .field("r#type", &self.r#type)
15901            .finish()
15902    }
15903}
15904
15905unsafe impl ::std::marker::Send for self::SignOutServiceReq {}
15906unsafe impl ::std::marker::Sync for self::SignOutServiceReq {}
15907
15908impl ::fbthrift::GetTType for self::SignOutServiceReq {
15909    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15910}
15911
15912impl<P> ::fbthrift::Serialize<P> for self::SignOutServiceReq
15913where
15914    P: ::fbthrift::ProtocolWriter,
15915{
15916    fn write(&self, p: &mut P) {
15917        p.write_struct_begin("SignOutServiceReq");
15918        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
15919        ::fbthrift::Serialize::write(&self.r#type, p);
15920        p.write_field_end();
15921        p.write_field_stop();
15922        p.write_struct_end();
15923    }
15924}
15925
15926impl<P> ::fbthrift::Deserialize<P> for self::SignOutServiceReq
15927where
15928    P: ::fbthrift::ProtocolReader,
15929{
15930    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15931        static FIELDS: &[::fbthrift::Field] = &[
15932            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
15933        ];
15934        let mut field_type = ::std::option::Option::None;
15935        let _ = p.read_struct_begin(|_| ())?;
15936        loop {
15937            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15938            match (fty, fid as ::std::primitive::i32) {
15939                (::fbthrift::TType::Stop, _) => break,
15940                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15941                (fty, _) => p.skip(fty)?,
15942            }
15943            p.read_field_end()?;
15944        }
15945        p.read_struct_end()?;
15946        ::std::result::Result::Ok(Self {
15947            r#type: field_type.unwrap_or_default(),
15948            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15949        })
15950    }
15951}
15952
15953
15954#[allow(clippy::derivable_impls)]
15955impl ::std::default::Default for self::ListServiceClientsReq {
15956    fn default() -> Self {
15957        Self {
15958            r#type: ::std::default::Default::default(),
15959            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15960        }
15961    }
15962}
15963
15964impl ::std::fmt::Debug for self::ListServiceClientsReq {
15965    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15966        formatter
15967            .debug_struct("ListServiceClientsReq")
15968            .field("r#type", &self.r#type)
15969            .finish()
15970    }
15971}
15972
15973unsafe impl ::std::marker::Send for self::ListServiceClientsReq {}
15974unsafe impl ::std::marker::Sync for self::ListServiceClientsReq {}
15975
15976impl ::fbthrift::GetTType for self::ListServiceClientsReq {
15977    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15978}
15979
15980impl<P> ::fbthrift::Serialize<P> for self::ListServiceClientsReq
15981where
15982    P: ::fbthrift::ProtocolWriter,
15983{
15984    fn write(&self, p: &mut P) {
15985        p.write_struct_begin("ListServiceClientsReq");
15986        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
15987        ::fbthrift::Serialize::write(&self.r#type, p);
15988        p.write_field_end();
15989        p.write_field_stop();
15990        p.write_struct_end();
15991    }
15992}
15993
15994impl<P> ::fbthrift::Deserialize<P> for self::ListServiceClientsReq
15995where
15996    P: ::fbthrift::ProtocolReader,
15997{
15998    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15999        static FIELDS: &[::fbthrift::Field] = &[
16000            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
16001        ];
16002        let mut field_type = ::std::option::Option::None;
16003        let _ = p.read_struct_begin(|_| ())?;
16004        loop {
16005            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16006            match (fty, fid as ::std::primitive::i32) {
16007                (::fbthrift::TType::Stop, _) => break,
16008                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16009                (fty, _) => p.skip(fty)?,
16010            }
16011            p.read_field_end()?;
16012        }
16013        p.read_struct_end()?;
16014        ::std::result::Result::Ok(Self {
16015            r#type: field_type.unwrap_or_default(),
16016            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16017        })
16018    }
16019}
16020
16021
16022#[allow(clippy::derivable_impls)]
16023impl ::std::default::Default for self::ListServiceClientsResp {
16024    fn default() -> Self {
16025        Self {
16026            code: ::std::default::Default::default(),
16027            leader: ::std::default::Default::default(),
16028            clients: ::std::default::Default::default(),
16029            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16030        }
16031    }
16032}
16033
16034impl ::std::fmt::Debug for self::ListServiceClientsResp {
16035    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16036        formatter
16037            .debug_struct("ListServiceClientsResp")
16038            .field("code", &self.code)
16039            .field("leader", &self.leader)
16040            .field("clients", &self.clients)
16041            .finish()
16042    }
16043}
16044
16045unsafe impl ::std::marker::Send for self::ListServiceClientsResp {}
16046unsafe impl ::std::marker::Sync for self::ListServiceClientsResp {}
16047
16048impl ::fbthrift::GetTType for self::ListServiceClientsResp {
16049    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16050}
16051
16052impl<P> ::fbthrift::Serialize<P> for self::ListServiceClientsResp
16053where
16054    P: ::fbthrift::ProtocolWriter,
16055{
16056    fn write(&self, p: &mut P) {
16057        p.write_struct_begin("ListServiceClientsResp");
16058        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
16059        ::fbthrift::Serialize::write(&self.code, p);
16060        p.write_field_end();
16061        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
16062        ::fbthrift::Serialize::write(&self.leader, p);
16063        p.write_field_end();
16064        p.write_field_begin("clients", ::fbthrift::TType::Map, 3);
16065        ::fbthrift::Serialize::write(&self.clients, p);
16066        p.write_field_end();
16067        p.write_field_stop();
16068        p.write_struct_end();
16069    }
16070}
16071
16072impl<P> ::fbthrift::Deserialize<P> for self::ListServiceClientsResp
16073where
16074    P: ::fbthrift::ProtocolReader,
16075{
16076    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16077        static FIELDS: &[::fbthrift::Field] = &[
16078            ::fbthrift::Field::new("clients", ::fbthrift::TType::Map, 3),
16079            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
16080            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
16081        ];
16082        let mut field_code = ::std::option::Option::None;
16083        let mut field_leader = ::std::option::Option::None;
16084        let mut field_clients = ::std::option::Option::None;
16085        let _ = p.read_struct_begin(|_| ())?;
16086        loop {
16087            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16088            match (fty, fid as ::std::primitive::i32) {
16089                (::fbthrift::TType::Stop, _) => break,
16090                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16091                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16092                (::fbthrift::TType::Map, 3) => field_clients = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16093                (fty, _) => p.skip(fty)?,
16094            }
16095            p.read_field_end()?;
16096        }
16097        p.read_struct_end()?;
16098        ::std::result::Result::Ok(Self {
16099            code: field_code.unwrap_or_default(),
16100            leader: field_leader.unwrap_or_default(),
16101            clients: field_clients.unwrap_or_default(),
16102            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16103        })
16104    }
16105}
16106
16107
16108#[allow(clippy::derivable_impls)]
16109impl ::std::default::Default for self::FTIndex {
16110    fn default() -> Self {
16111        Self {
16112            space_id: ::std::default::Default::default(),
16113            depend_schema: ::std::default::Default::default(),
16114            fields: ::std::default::Default::default(),
16115            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16116        }
16117    }
16118}
16119
16120impl ::std::fmt::Debug for self::FTIndex {
16121    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16122        formatter
16123            .debug_struct("FTIndex")
16124            .field("space_id", &self.space_id)
16125            .field("depend_schema", &self.depend_schema)
16126            .field("fields", &self.fields)
16127            .finish()
16128    }
16129}
16130
16131unsafe impl ::std::marker::Send for self::FTIndex {}
16132unsafe impl ::std::marker::Sync for self::FTIndex {}
16133
16134impl ::fbthrift::GetTType for self::FTIndex {
16135    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16136}
16137
16138impl<P> ::fbthrift::Serialize<P> for self::FTIndex
16139where
16140    P: ::fbthrift::ProtocolWriter,
16141{
16142    fn write(&self, p: &mut P) {
16143        p.write_struct_begin("FTIndex");
16144        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
16145        ::fbthrift::Serialize::write(&self.space_id, p);
16146        p.write_field_end();
16147        p.write_field_begin("depend_schema", ::fbthrift::TType::Struct, 2);
16148        ::fbthrift::Serialize::write(&self.depend_schema, p);
16149        p.write_field_end();
16150        p.write_field_begin("fields", ::fbthrift::TType::List, 3);
16151        ::fbthrift::Serialize::write(&self.fields, p);
16152        p.write_field_end();
16153        p.write_field_stop();
16154        p.write_struct_end();
16155    }
16156}
16157
16158impl<P> ::fbthrift::Deserialize<P> for self::FTIndex
16159where
16160    P: ::fbthrift::ProtocolReader,
16161{
16162    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16163        static FIELDS: &[::fbthrift::Field] = &[
16164            ::fbthrift::Field::new("depend_schema", ::fbthrift::TType::Struct, 2),
16165            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 3),
16166            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
16167        ];
16168        let mut field_space_id = ::std::option::Option::None;
16169        let mut field_depend_schema = ::std::option::Option::None;
16170        let mut field_fields = ::std::option::Option::None;
16171        let _ = p.read_struct_begin(|_| ())?;
16172        loop {
16173            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16174            match (fty, fid as ::std::primitive::i32) {
16175                (::fbthrift::TType::Stop, _) => break,
16176                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16177                (::fbthrift::TType::Struct, 2) => field_depend_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16178                (::fbthrift::TType::List, 3) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16179                (fty, _) => p.skip(fty)?,
16180            }
16181            p.read_field_end()?;
16182        }
16183        p.read_struct_end()?;
16184        ::std::result::Result::Ok(Self {
16185            space_id: field_space_id.unwrap_or_default(),
16186            depend_schema: field_depend_schema.unwrap_or_default(),
16187            fields: field_fields.unwrap_or_default(),
16188            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16189        })
16190    }
16191}
16192
16193
16194#[allow(clippy::derivable_impls)]
16195impl ::std::default::Default for self::CreateFTIndexReq {
16196    fn default() -> Self {
16197        Self {
16198            fulltext_index_name: ::std::default::Default::default(),
16199            index: ::std::default::Default::default(),
16200            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16201        }
16202    }
16203}
16204
16205impl ::std::fmt::Debug for self::CreateFTIndexReq {
16206    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16207        formatter
16208            .debug_struct("CreateFTIndexReq")
16209            .field("fulltext_index_name", &self.fulltext_index_name)
16210            .field("index", &self.index)
16211            .finish()
16212    }
16213}
16214
16215unsafe impl ::std::marker::Send for self::CreateFTIndexReq {}
16216unsafe impl ::std::marker::Sync for self::CreateFTIndexReq {}
16217
16218impl ::fbthrift::GetTType for self::CreateFTIndexReq {
16219    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16220}
16221
16222impl<P> ::fbthrift::Serialize<P> for self::CreateFTIndexReq
16223where
16224    P: ::fbthrift::ProtocolWriter,
16225{
16226    fn write(&self, p: &mut P) {
16227        p.write_struct_begin("CreateFTIndexReq");
16228        p.write_field_begin("fulltext_index_name", ::fbthrift::TType::String, 1);
16229        ::fbthrift::Serialize::write(&self.fulltext_index_name, p);
16230        p.write_field_end();
16231        p.write_field_begin("index", ::fbthrift::TType::Struct, 2);
16232        ::fbthrift::Serialize::write(&self.index, p);
16233        p.write_field_end();
16234        p.write_field_stop();
16235        p.write_struct_end();
16236    }
16237}
16238
16239impl<P> ::fbthrift::Deserialize<P> for self::CreateFTIndexReq
16240where
16241    P: ::fbthrift::ProtocolReader,
16242{
16243    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16244        static FIELDS: &[::fbthrift::Field] = &[
16245            ::fbthrift::Field::new("fulltext_index_name", ::fbthrift::TType::String, 1),
16246            ::fbthrift::Field::new("index", ::fbthrift::TType::Struct, 2),
16247        ];
16248        let mut field_fulltext_index_name = ::std::option::Option::None;
16249        let mut field_index = ::std::option::Option::None;
16250        let _ = p.read_struct_begin(|_| ())?;
16251        loop {
16252            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16253            match (fty, fid as ::std::primitive::i32) {
16254                (::fbthrift::TType::Stop, _) => break,
16255                (::fbthrift::TType::String, 1) => field_fulltext_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16256                (::fbthrift::TType::Struct, 2) => field_index = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16257                (fty, _) => p.skip(fty)?,
16258            }
16259            p.read_field_end()?;
16260        }
16261        p.read_struct_end()?;
16262        ::std::result::Result::Ok(Self {
16263            fulltext_index_name: field_fulltext_index_name.unwrap_or_default(),
16264            index: field_index.unwrap_or_default(),
16265            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16266        })
16267    }
16268}
16269
16270
16271#[allow(clippy::derivable_impls)]
16272impl ::std::default::Default for self::DropFTIndexReq {
16273    fn default() -> Self {
16274        Self {
16275            space_id: ::std::default::Default::default(),
16276            fulltext_index_name: ::std::default::Default::default(),
16277            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16278        }
16279    }
16280}
16281
16282impl ::std::fmt::Debug for self::DropFTIndexReq {
16283    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16284        formatter
16285            .debug_struct("DropFTIndexReq")
16286            .field("space_id", &self.space_id)
16287            .field("fulltext_index_name", &self.fulltext_index_name)
16288            .finish()
16289    }
16290}
16291
16292unsafe impl ::std::marker::Send for self::DropFTIndexReq {}
16293unsafe impl ::std::marker::Sync for self::DropFTIndexReq {}
16294
16295impl ::fbthrift::GetTType for self::DropFTIndexReq {
16296    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16297}
16298
16299impl<P> ::fbthrift::Serialize<P> for self::DropFTIndexReq
16300where
16301    P: ::fbthrift::ProtocolWriter,
16302{
16303    fn write(&self, p: &mut P) {
16304        p.write_struct_begin("DropFTIndexReq");
16305        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
16306        ::fbthrift::Serialize::write(&self.space_id, p);
16307        p.write_field_end();
16308        p.write_field_begin("fulltext_index_name", ::fbthrift::TType::String, 2);
16309        ::fbthrift::Serialize::write(&self.fulltext_index_name, p);
16310        p.write_field_end();
16311        p.write_field_stop();
16312        p.write_struct_end();
16313    }
16314}
16315
16316impl<P> ::fbthrift::Deserialize<P> for self::DropFTIndexReq
16317where
16318    P: ::fbthrift::ProtocolReader,
16319{
16320    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16321        static FIELDS: &[::fbthrift::Field] = &[
16322            ::fbthrift::Field::new("fulltext_index_name", ::fbthrift::TType::String, 2),
16323            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
16324        ];
16325        let mut field_space_id = ::std::option::Option::None;
16326        let mut field_fulltext_index_name = ::std::option::Option::None;
16327        let _ = p.read_struct_begin(|_| ())?;
16328        loop {
16329            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16330            match (fty, fid as ::std::primitive::i32) {
16331                (::fbthrift::TType::Stop, _) => break,
16332                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16333                (::fbthrift::TType::String, 2) => field_fulltext_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16334                (fty, _) => p.skip(fty)?,
16335            }
16336            p.read_field_end()?;
16337        }
16338        p.read_struct_end()?;
16339        ::std::result::Result::Ok(Self {
16340            space_id: field_space_id.unwrap_or_default(),
16341            fulltext_index_name: field_fulltext_index_name.unwrap_or_default(),
16342            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16343        })
16344    }
16345}
16346
16347
16348#[allow(clippy::derivable_impls)]
16349impl ::std::default::Default for self::ListFTIndexesReq {
16350    fn default() -> Self {
16351        Self {
16352            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16353        }
16354    }
16355}
16356
16357impl ::std::fmt::Debug for self::ListFTIndexesReq {
16358    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16359        formatter
16360            .debug_struct("ListFTIndexesReq")
16361            .finish()
16362    }
16363}
16364
16365unsafe impl ::std::marker::Send for self::ListFTIndexesReq {}
16366unsafe impl ::std::marker::Sync for self::ListFTIndexesReq {}
16367
16368impl ::fbthrift::GetTType for self::ListFTIndexesReq {
16369    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16370}
16371
16372impl<P> ::fbthrift::Serialize<P> for self::ListFTIndexesReq
16373where
16374    P: ::fbthrift::ProtocolWriter,
16375{
16376    fn write(&self, p: &mut P) {
16377        p.write_struct_begin("ListFTIndexesReq");
16378        p.write_field_stop();
16379        p.write_struct_end();
16380    }
16381}
16382
16383impl<P> ::fbthrift::Deserialize<P> for self::ListFTIndexesReq
16384where
16385    P: ::fbthrift::ProtocolReader,
16386{
16387    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16388        static FIELDS: &[::fbthrift::Field] = &[
16389        ];
16390        let _ = p.read_struct_begin(|_| ())?;
16391        loop {
16392            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16393            match (fty, fid as ::std::primitive::i32) {
16394                (::fbthrift::TType::Stop, _) => break,
16395                (fty, _) => p.skip(fty)?,
16396            }
16397            p.read_field_end()?;
16398        }
16399        p.read_struct_end()?;
16400        ::std::result::Result::Ok(Self {
16401            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16402        })
16403    }
16404}
16405
16406
16407#[allow(clippy::derivable_impls)]
16408impl ::std::default::Default for self::ListFTIndexesResp {
16409    fn default() -> Self {
16410        Self {
16411            code: ::std::default::Default::default(),
16412            leader: ::std::default::Default::default(),
16413            indexes: ::std::default::Default::default(),
16414            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16415        }
16416    }
16417}
16418
16419impl ::std::fmt::Debug for self::ListFTIndexesResp {
16420    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16421        formatter
16422            .debug_struct("ListFTIndexesResp")
16423            .field("code", &self.code)
16424            .field("leader", &self.leader)
16425            .field("indexes", &self.indexes)
16426            .finish()
16427    }
16428}
16429
16430unsafe impl ::std::marker::Send for self::ListFTIndexesResp {}
16431unsafe impl ::std::marker::Sync for self::ListFTIndexesResp {}
16432
16433impl ::fbthrift::GetTType for self::ListFTIndexesResp {
16434    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16435}
16436
16437impl<P> ::fbthrift::Serialize<P> for self::ListFTIndexesResp
16438where
16439    P: ::fbthrift::ProtocolWriter,
16440{
16441    fn write(&self, p: &mut P) {
16442        p.write_struct_begin("ListFTIndexesResp");
16443        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
16444        ::fbthrift::Serialize::write(&self.code, p);
16445        p.write_field_end();
16446        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
16447        ::fbthrift::Serialize::write(&self.leader, p);
16448        p.write_field_end();
16449        p.write_field_begin("indexes", ::fbthrift::TType::Map, 3);
16450        ::fbthrift::Serialize::write(&self.indexes, p);
16451        p.write_field_end();
16452        p.write_field_stop();
16453        p.write_struct_end();
16454    }
16455}
16456
16457impl<P> ::fbthrift::Deserialize<P> for self::ListFTIndexesResp
16458where
16459    P: ::fbthrift::ProtocolReader,
16460{
16461    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16462        static FIELDS: &[::fbthrift::Field] = &[
16463            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
16464            ::fbthrift::Field::new("indexes", ::fbthrift::TType::Map, 3),
16465            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
16466        ];
16467        let mut field_code = ::std::option::Option::None;
16468        let mut field_leader = ::std::option::Option::None;
16469        let mut field_indexes = ::std::option::Option::None;
16470        let _ = p.read_struct_begin(|_| ())?;
16471        loop {
16472            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16473            match (fty, fid as ::std::primitive::i32) {
16474                (::fbthrift::TType::Stop, _) => break,
16475                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16476                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16477                (::fbthrift::TType::Map, 3) => field_indexes = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16478                (fty, _) => p.skip(fty)?,
16479            }
16480            p.read_field_end()?;
16481        }
16482        p.read_struct_end()?;
16483        ::std::result::Result::Ok(Self {
16484            code: field_code.unwrap_or_default(),
16485            leader: field_leader.unwrap_or_default(),
16486            indexes: field_indexes.unwrap_or_default(),
16487            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16488        })
16489    }
16490}
16491
16492
16493#[allow(clippy::derivable_impls)]
16494impl ::std::default::Default for self::QueryDesc {
16495    fn default() -> Self {
16496        Self {
16497            start_time: ::std::default::Default::default(),
16498            status: ::std::default::Default::default(),
16499            duration: ::std::default::Default::default(),
16500            query: ::std::default::Default::default(),
16501            graph_addr: ::std::default::Default::default(),
16502            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16503        }
16504    }
16505}
16506
16507impl ::std::fmt::Debug for self::QueryDesc {
16508    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16509        formatter
16510            .debug_struct("QueryDesc")
16511            .field("start_time", &self.start_time)
16512            .field("status", &self.status)
16513            .field("duration", &self.duration)
16514            .field("query", &self.query)
16515            .field("graph_addr", &self.graph_addr)
16516            .finish()
16517    }
16518}
16519
16520unsafe impl ::std::marker::Send for self::QueryDesc {}
16521unsafe impl ::std::marker::Sync for self::QueryDesc {}
16522
16523impl ::fbthrift::GetTType for self::QueryDesc {
16524    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16525}
16526
16527impl<P> ::fbthrift::Serialize<P> for self::QueryDesc
16528where
16529    P: ::fbthrift::ProtocolWriter,
16530{
16531    fn write(&self, p: &mut P) {
16532        p.write_struct_begin("QueryDesc");
16533        p.write_field_begin("start_time", ::fbthrift::TType::I64, 1);
16534        ::fbthrift::Serialize::write(&self.start_time, p);
16535        p.write_field_end();
16536        p.write_field_begin("status", ::fbthrift::TType::I32, 2);
16537        ::fbthrift::Serialize::write(&self.status, p);
16538        p.write_field_end();
16539        p.write_field_begin("duration", ::fbthrift::TType::I64, 3);
16540        ::fbthrift::Serialize::write(&self.duration, p);
16541        p.write_field_end();
16542        p.write_field_begin("query", ::fbthrift::TType::String, 4);
16543        ::fbthrift::Serialize::write(&self.query, p);
16544        p.write_field_end();
16545        p.write_field_begin("graph_addr", ::fbthrift::TType::Struct, 5);
16546        ::fbthrift::Serialize::write(&self.graph_addr, p);
16547        p.write_field_end();
16548        p.write_field_stop();
16549        p.write_struct_end();
16550    }
16551}
16552
16553impl<P> ::fbthrift::Deserialize<P> for self::QueryDesc
16554where
16555    P: ::fbthrift::ProtocolReader,
16556{
16557    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16558        static FIELDS: &[::fbthrift::Field] = &[
16559            ::fbthrift::Field::new("duration", ::fbthrift::TType::I64, 3),
16560            ::fbthrift::Field::new("graph_addr", ::fbthrift::TType::Struct, 5),
16561            ::fbthrift::Field::new("query", ::fbthrift::TType::String, 4),
16562            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 1),
16563            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 2),
16564        ];
16565        let mut field_start_time = ::std::option::Option::None;
16566        let mut field_status = ::std::option::Option::None;
16567        let mut field_duration = ::std::option::Option::None;
16568        let mut field_query = ::std::option::Option::None;
16569        let mut field_graph_addr = ::std::option::Option::None;
16570        let _ = p.read_struct_begin(|_| ())?;
16571        loop {
16572            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16573            match (fty, fid as ::std::primitive::i32) {
16574                (::fbthrift::TType::Stop, _) => break,
16575                (::fbthrift::TType::I64, 1) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16576                (::fbthrift::TType::I32, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16577                (::fbthrift::TType::I64, 3) => field_duration = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16578                (::fbthrift::TType::String, 4) => field_query = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16579                (::fbthrift::TType::Struct, 5) => field_graph_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16580                (fty, _) => p.skip(fty)?,
16581            }
16582            p.read_field_end()?;
16583        }
16584        p.read_struct_end()?;
16585        ::std::result::Result::Ok(Self {
16586            start_time: field_start_time.unwrap_or_default(),
16587            status: field_status.unwrap_or_default(),
16588            duration: field_duration.unwrap_or_default(),
16589            query: field_query.unwrap_or_default(),
16590            graph_addr: field_graph_addr.unwrap_or_default(),
16591            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16592        })
16593    }
16594}
16595
16596
16597#[allow(clippy::derivable_impls)]
16598impl ::std::default::Default for self::Session {
16599    fn default() -> Self {
16600        Self {
16601            session_id: ::std::default::Default::default(),
16602            create_time: ::std::default::Default::default(),
16603            update_time: ::std::default::Default::default(),
16604            user_name: ::std::default::Default::default(),
16605            space_name: ::std::default::Default::default(),
16606            graph_addr: ::std::default::Default::default(),
16607            timezone: ::std::default::Default::default(),
16608            client_ip: ::std::default::Default::default(),
16609            configs: ::std::default::Default::default(),
16610            queries: ::std::default::Default::default(),
16611            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16612        }
16613    }
16614}
16615
16616impl ::std::fmt::Debug for self::Session {
16617    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16618        formatter
16619            .debug_struct("Session")
16620            .field("session_id", &self.session_id)
16621            .field("create_time", &self.create_time)
16622            .field("update_time", &self.update_time)
16623            .field("user_name", &self.user_name)
16624            .field("space_name", &self.space_name)
16625            .field("graph_addr", &self.graph_addr)
16626            .field("timezone", &self.timezone)
16627            .field("client_ip", &self.client_ip)
16628            .field("configs", &self.configs)
16629            .field("queries", &self.queries)
16630            .finish()
16631    }
16632}
16633
16634unsafe impl ::std::marker::Send for self::Session {}
16635unsafe impl ::std::marker::Sync for self::Session {}
16636
16637impl ::fbthrift::GetTType for self::Session {
16638    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16639}
16640
16641impl<P> ::fbthrift::Serialize<P> for self::Session
16642where
16643    P: ::fbthrift::ProtocolWriter,
16644{
16645    fn write(&self, p: &mut P) {
16646        p.write_struct_begin("Session");
16647        p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
16648        ::fbthrift::Serialize::write(&self.session_id, p);
16649        p.write_field_end();
16650        p.write_field_begin("create_time", ::fbthrift::TType::I64, 2);
16651        ::fbthrift::Serialize::write(&self.create_time, p);
16652        p.write_field_end();
16653        p.write_field_begin("update_time", ::fbthrift::TType::I64, 3);
16654        ::fbthrift::Serialize::write(&self.update_time, p);
16655        p.write_field_end();
16656        p.write_field_begin("user_name", ::fbthrift::TType::String, 4);
16657        ::fbthrift::Serialize::write(&self.user_name, p);
16658        p.write_field_end();
16659        p.write_field_begin("space_name", ::fbthrift::TType::String, 5);
16660        ::fbthrift::Serialize::write(&self.space_name, p);
16661        p.write_field_end();
16662        p.write_field_begin("graph_addr", ::fbthrift::TType::Struct, 6);
16663        ::fbthrift::Serialize::write(&self.graph_addr, p);
16664        p.write_field_end();
16665        p.write_field_begin("timezone", ::fbthrift::TType::I32, 7);
16666        ::fbthrift::Serialize::write(&self.timezone, p);
16667        p.write_field_end();
16668        p.write_field_begin("client_ip", ::fbthrift::TType::String, 8);
16669        ::fbthrift::Serialize::write(&self.client_ip, p);
16670        p.write_field_end();
16671        p.write_field_begin("configs", ::fbthrift::TType::Map, 9);
16672        ::fbthrift::Serialize::write(&self.configs, p);
16673        p.write_field_end();
16674        p.write_field_begin("queries", ::fbthrift::TType::Map, 10);
16675        ::fbthrift::Serialize::write(&self.queries, p);
16676        p.write_field_end();
16677        p.write_field_stop();
16678        p.write_struct_end();
16679    }
16680}
16681
16682impl<P> ::fbthrift::Deserialize<P> for self::Session
16683where
16684    P: ::fbthrift::ProtocolReader,
16685{
16686    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16687        static FIELDS: &[::fbthrift::Field] = &[
16688            ::fbthrift::Field::new("client_ip", ::fbthrift::TType::String, 8),
16689            ::fbthrift::Field::new("configs", ::fbthrift::TType::Map, 9),
16690            ::fbthrift::Field::new("create_time", ::fbthrift::TType::I64, 2),
16691            ::fbthrift::Field::new("graph_addr", ::fbthrift::TType::Struct, 6),
16692            ::fbthrift::Field::new("queries", ::fbthrift::TType::Map, 10),
16693            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
16694            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 5),
16695            ::fbthrift::Field::new("timezone", ::fbthrift::TType::I32, 7),
16696            ::fbthrift::Field::new("update_time", ::fbthrift::TType::I64, 3),
16697            ::fbthrift::Field::new("user_name", ::fbthrift::TType::String, 4),
16698        ];
16699        let mut field_session_id = ::std::option::Option::None;
16700        let mut field_create_time = ::std::option::Option::None;
16701        let mut field_update_time = ::std::option::Option::None;
16702        let mut field_user_name = ::std::option::Option::None;
16703        let mut field_space_name = ::std::option::Option::None;
16704        let mut field_graph_addr = ::std::option::Option::None;
16705        let mut field_timezone = ::std::option::Option::None;
16706        let mut field_client_ip = ::std::option::Option::None;
16707        let mut field_configs = ::std::option::Option::None;
16708        let mut field_queries = ::std::option::Option::None;
16709        let _ = p.read_struct_begin(|_| ())?;
16710        loop {
16711            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16712            match (fty, fid as ::std::primitive::i32) {
16713                (::fbthrift::TType::Stop, _) => break,
16714                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16715                (::fbthrift::TType::I64, 2) => field_create_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16716                (::fbthrift::TType::I64, 3) => field_update_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16717                (::fbthrift::TType::String, 4) => field_user_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16718                (::fbthrift::TType::String, 5) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16719                (::fbthrift::TType::Struct, 6) => field_graph_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16720                (::fbthrift::TType::I32, 7) => field_timezone = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16721                (::fbthrift::TType::String, 8) => field_client_ip = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16722                (::fbthrift::TType::Map, 9) => field_configs = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16723                (::fbthrift::TType::Map, 10) => field_queries = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16724                (fty, _) => p.skip(fty)?,
16725            }
16726            p.read_field_end()?;
16727        }
16728        p.read_struct_end()?;
16729        ::std::result::Result::Ok(Self {
16730            session_id: field_session_id.unwrap_or_default(),
16731            create_time: field_create_time.unwrap_or_default(),
16732            update_time: field_update_time.unwrap_or_default(),
16733            user_name: field_user_name.unwrap_or_default(),
16734            space_name: field_space_name.unwrap_or_default(),
16735            graph_addr: field_graph_addr.unwrap_or_default(),
16736            timezone: field_timezone.unwrap_or_default(),
16737            client_ip: field_client_ip.unwrap_or_default(),
16738            configs: field_configs.unwrap_or_default(),
16739            queries: field_queries.unwrap_or_default(),
16740            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16741        })
16742    }
16743}
16744
16745
16746#[allow(clippy::derivable_impls)]
16747impl ::std::default::Default for self::CreateSessionReq {
16748    fn default() -> Self {
16749        Self {
16750            user: ::std::default::Default::default(),
16751            graph_addr: ::std::default::Default::default(),
16752            client_ip: ::std::default::Default::default(),
16753            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16754        }
16755    }
16756}
16757
16758impl ::std::fmt::Debug for self::CreateSessionReq {
16759    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16760        formatter
16761            .debug_struct("CreateSessionReq")
16762            .field("user", &self.user)
16763            .field("graph_addr", &self.graph_addr)
16764            .field("client_ip", &self.client_ip)
16765            .finish()
16766    }
16767}
16768
16769unsafe impl ::std::marker::Send for self::CreateSessionReq {}
16770unsafe impl ::std::marker::Sync for self::CreateSessionReq {}
16771
16772impl ::fbthrift::GetTType for self::CreateSessionReq {
16773    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16774}
16775
16776impl<P> ::fbthrift::Serialize<P> for self::CreateSessionReq
16777where
16778    P: ::fbthrift::ProtocolWriter,
16779{
16780    fn write(&self, p: &mut P) {
16781        p.write_struct_begin("CreateSessionReq");
16782        p.write_field_begin("user", ::fbthrift::TType::String, 1);
16783        ::fbthrift::Serialize::write(&self.user, p);
16784        p.write_field_end();
16785        p.write_field_begin("graph_addr", ::fbthrift::TType::Struct, 2);
16786        ::fbthrift::Serialize::write(&self.graph_addr, p);
16787        p.write_field_end();
16788        p.write_field_begin("client_ip", ::fbthrift::TType::String, 3);
16789        ::fbthrift::Serialize::write(&self.client_ip, p);
16790        p.write_field_end();
16791        p.write_field_stop();
16792        p.write_struct_end();
16793    }
16794}
16795
16796impl<P> ::fbthrift::Deserialize<P> for self::CreateSessionReq
16797where
16798    P: ::fbthrift::ProtocolReader,
16799{
16800    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16801        static FIELDS: &[::fbthrift::Field] = &[
16802            ::fbthrift::Field::new("client_ip", ::fbthrift::TType::String, 3),
16803            ::fbthrift::Field::new("graph_addr", ::fbthrift::TType::Struct, 2),
16804            ::fbthrift::Field::new("user", ::fbthrift::TType::String, 1),
16805        ];
16806        let mut field_user = ::std::option::Option::None;
16807        let mut field_graph_addr = ::std::option::Option::None;
16808        let mut field_client_ip = ::std::option::Option::None;
16809        let _ = p.read_struct_begin(|_| ())?;
16810        loop {
16811            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16812            match (fty, fid as ::std::primitive::i32) {
16813                (::fbthrift::TType::Stop, _) => break,
16814                (::fbthrift::TType::String, 1) => field_user = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16815                (::fbthrift::TType::Struct, 2) => field_graph_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16816                (::fbthrift::TType::String, 3) => field_client_ip = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16817                (fty, _) => p.skip(fty)?,
16818            }
16819            p.read_field_end()?;
16820        }
16821        p.read_struct_end()?;
16822        ::std::result::Result::Ok(Self {
16823            user: field_user.unwrap_or_default(),
16824            graph_addr: field_graph_addr.unwrap_or_default(),
16825            client_ip: field_client_ip.unwrap_or_default(),
16826            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16827        })
16828    }
16829}
16830
16831
16832#[allow(clippy::derivable_impls)]
16833impl ::std::default::Default for self::CreateSessionResp {
16834    fn default() -> Self {
16835        Self {
16836            code: ::std::default::Default::default(),
16837            leader: ::std::default::Default::default(),
16838            session: ::std::default::Default::default(),
16839            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16840        }
16841    }
16842}
16843
16844impl ::std::fmt::Debug for self::CreateSessionResp {
16845    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16846        formatter
16847            .debug_struct("CreateSessionResp")
16848            .field("code", &self.code)
16849            .field("leader", &self.leader)
16850            .field("session", &self.session)
16851            .finish()
16852    }
16853}
16854
16855unsafe impl ::std::marker::Send for self::CreateSessionResp {}
16856unsafe impl ::std::marker::Sync for self::CreateSessionResp {}
16857
16858impl ::fbthrift::GetTType for self::CreateSessionResp {
16859    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16860}
16861
16862impl<P> ::fbthrift::Serialize<P> for self::CreateSessionResp
16863where
16864    P: ::fbthrift::ProtocolWriter,
16865{
16866    fn write(&self, p: &mut P) {
16867        p.write_struct_begin("CreateSessionResp");
16868        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
16869        ::fbthrift::Serialize::write(&self.code, p);
16870        p.write_field_end();
16871        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
16872        ::fbthrift::Serialize::write(&self.leader, p);
16873        p.write_field_end();
16874        p.write_field_begin("session", ::fbthrift::TType::Struct, 3);
16875        ::fbthrift::Serialize::write(&self.session, p);
16876        p.write_field_end();
16877        p.write_field_stop();
16878        p.write_struct_end();
16879    }
16880}
16881
16882impl<P> ::fbthrift::Deserialize<P> for self::CreateSessionResp
16883where
16884    P: ::fbthrift::ProtocolReader,
16885{
16886    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16887        static FIELDS: &[::fbthrift::Field] = &[
16888            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
16889            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
16890            ::fbthrift::Field::new("session", ::fbthrift::TType::Struct, 3),
16891        ];
16892        let mut field_code = ::std::option::Option::None;
16893        let mut field_leader = ::std::option::Option::None;
16894        let mut field_session = ::std::option::Option::None;
16895        let _ = p.read_struct_begin(|_| ())?;
16896        loop {
16897            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16898            match (fty, fid as ::std::primitive::i32) {
16899                (::fbthrift::TType::Stop, _) => break,
16900                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16901                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16902                (::fbthrift::TType::Struct, 3) => field_session = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16903                (fty, _) => p.skip(fty)?,
16904            }
16905            p.read_field_end()?;
16906        }
16907        p.read_struct_end()?;
16908        ::std::result::Result::Ok(Self {
16909            code: field_code.unwrap_or_default(),
16910            leader: field_leader.unwrap_or_default(),
16911            session: field_session.unwrap_or_default(),
16912            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16913        })
16914    }
16915}
16916
16917
16918#[allow(clippy::derivable_impls)]
16919impl ::std::default::Default for self::UpdateSessionsReq {
16920    fn default() -> Self {
16921        Self {
16922            sessions: ::std::default::Default::default(),
16923            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16924        }
16925    }
16926}
16927
16928impl ::std::fmt::Debug for self::UpdateSessionsReq {
16929    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16930        formatter
16931            .debug_struct("UpdateSessionsReq")
16932            .field("sessions", &self.sessions)
16933            .finish()
16934    }
16935}
16936
16937unsafe impl ::std::marker::Send for self::UpdateSessionsReq {}
16938unsafe impl ::std::marker::Sync for self::UpdateSessionsReq {}
16939
16940impl ::fbthrift::GetTType for self::UpdateSessionsReq {
16941    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16942}
16943
16944impl<P> ::fbthrift::Serialize<P> for self::UpdateSessionsReq
16945where
16946    P: ::fbthrift::ProtocolWriter,
16947{
16948    fn write(&self, p: &mut P) {
16949        p.write_struct_begin("UpdateSessionsReq");
16950        p.write_field_begin("sessions", ::fbthrift::TType::List, 1);
16951        ::fbthrift::Serialize::write(&self.sessions, p);
16952        p.write_field_end();
16953        p.write_field_stop();
16954        p.write_struct_end();
16955    }
16956}
16957
16958impl<P> ::fbthrift::Deserialize<P> for self::UpdateSessionsReq
16959where
16960    P: ::fbthrift::ProtocolReader,
16961{
16962    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16963        static FIELDS: &[::fbthrift::Field] = &[
16964            ::fbthrift::Field::new("sessions", ::fbthrift::TType::List, 1),
16965        ];
16966        let mut field_sessions = ::std::option::Option::None;
16967        let _ = p.read_struct_begin(|_| ())?;
16968        loop {
16969            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16970            match (fty, fid as ::std::primitive::i32) {
16971                (::fbthrift::TType::Stop, _) => break,
16972                (::fbthrift::TType::List, 1) => field_sessions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16973                (fty, _) => p.skip(fty)?,
16974            }
16975            p.read_field_end()?;
16976        }
16977        p.read_struct_end()?;
16978        ::std::result::Result::Ok(Self {
16979            sessions: field_sessions.unwrap_or_default(),
16980            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16981        })
16982    }
16983}
16984
16985
16986#[allow(clippy::derivable_impls)]
16987impl ::std::default::Default for self::UpdateSessionsResp {
16988    fn default() -> Self {
16989        Self {
16990            code: ::std::default::Default::default(),
16991            leader: ::std::default::Default::default(),
16992            killed_queries: ::std::default::Default::default(),
16993            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16994        }
16995    }
16996}
16997
16998impl ::std::fmt::Debug for self::UpdateSessionsResp {
16999    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17000        formatter
17001            .debug_struct("UpdateSessionsResp")
17002            .field("code", &self.code)
17003            .field("leader", &self.leader)
17004            .field("killed_queries", &self.killed_queries)
17005            .finish()
17006    }
17007}
17008
17009unsafe impl ::std::marker::Send for self::UpdateSessionsResp {}
17010unsafe impl ::std::marker::Sync for self::UpdateSessionsResp {}
17011
17012impl ::fbthrift::GetTType for self::UpdateSessionsResp {
17013    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17014}
17015
17016impl<P> ::fbthrift::Serialize<P> for self::UpdateSessionsResp
17017where
17018    P: ::fbthrift::ProtocolWriter,
17019{
17020    fn write(&self, p: &mut P) {
17021        p.write_struct_begin("UpdateSessionsResp");
17022        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17023        ::fbthrift::Serialize::write(&self.code, p);
17024        p.write_field_end();
17025        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17026        ::fbthrift::Serialize::write(&self.leader, p);
17027        p.write_field_end();
17028        p.write_field_begin("killed_queries", ::fbthrift::TType::Map, 3);
17029        ::fbthrift::Serialize::write(&self.killed_queries, p);
17030        p.write_field_end();
17031        p.write_field_stop();
17032        p.write_struct_end();
17033    }
17034}
17035
17036impl<P> ::fbthrift::Deserialize<P> for self::UpdateSessionsResp
17037where
17038    P: ::fbthrift::ProtocolReader,
17039{
17040    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17041        static FIELDS: &[::fbthrift::Field] = &[
17042            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17043            ::fbthrift::Field::new("killed_queries", ::fbthrift::TType::Map, 3),
17044            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17045        ];
17046        let mut field_code = ::std::option::Option::None;
17047        let mut field_leader = ::std::option::Option::None;
17048        let mut field_killed_queries = ::std::option::Option::None;
17049        let _ = p.read_struct_begin(|_| ())?;
17050        loop {
17051            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17052            match (fty, fid as ::std::primitive::i32) {
17053                (::fbthrift::TType::Stop, _) => break,
17054                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17055                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17056                (::fbthrift::TType::Map, 3) => field_killed_queries = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17057                (fty, _) => p.skip(fty)?,
17058            }
17059            p.read_field_end()?;
17060        }
17061        p.read_struct_end()?;
17062        ::std::result::Result::Ok(Self {
17063            code: field_code.unwrap_or_default(),
17064            leader: field_leader.unwrap_or_default(),
17065            killed_queries: field_killed_queries.unwrap_or_default(),
17066            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17067        })
17068    }
17069}
17070
17071
17072#[allow(clippy::derivable_impls)]
17073impl ::std::default::Default for self::ListSessionsReq {
17074    fn default() -> Self {
17075        Self {
17076            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17077        }
17078    }
17079}
17080
17081impl ::std::fmt::Debug for self::ListSessionsReq {
17082    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17083        formatter
17084            .debug_struct("ListSessionsReq")
17085            .finish()
17086    }
17087}
17088
17089unsafe impl ::std::marker::Send for self::ListSessionsReq {}
17090unsafe impl ::std::marker::Sync for self::ListSessionsReq {}
17091
17092impl ::fbthrift::GetTType for self::ListSessionsReq {
17093    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17094}
17095
17096impl<P> ::fbthrift::Serialize<P> for self::ListSessionsReq
17097where
17098    P: ::fbthrift::ProtocolWriter,
17099{
17100    fn write(&self, p: &mut P) {
17101        p.write_struct_begin("ListSessionsReq");
17102        p.write_field_stop();
17103        p.write_struct_end();
17104    }
17105}
17106
17107impl<P> ::fbthrift::Deserialize<P> for self::ListSessionsReq
17108where
17109    P: ::fbthrift::ProtocolReader,
17110{
17111    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17112        static FIELDS: &[::fbthrift::Field] = &[
17113        ];
17114        let _ = p.read_struct_begin(|_| ())?;
17115        loop {
17116            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17117            match (fty, fid as ::std::primitive::i32) {
17118                (::fbthrift::TType::Stop, _) => break,
17119                (fty, _) => p.skip(fty)?,
17120            }
17121            p.read_field_end()?;
17122        }
17123        p.read_struct_end()?;
17124        ::std::result::Result::Ok(Self {
17125            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17126        })
17127    }
17128}
17129
17130
17131#[allow(clippy::derivable_impls)]
17132impl ::std::default::Default for self::ListSessionsResp {
17133    fn default() -> Self {
17134        Self {
17135            code: ::std::default::Default::default(),
17136            leader: ::std::default::Default::default(),
17137            sessions: ::std::default::Default::default(),
17138            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17139        }
17140    }
17141}
17142
17143impl ::std::fmt::Debug for self::ListSessionsResp {
17144    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17145        formatter
17146            .debug_struct("ListSessionsResp")
17147            .field("code", &self.code)
17148            .field("leader", &self.leader)
17149            .field("sessions", &self.sessions)
17150            .finish()
17151    }
17152}
17153
17154unsafe impl ::std::marker::Send for self::ListSessionsResp {}
17155unsafe impl ::std::marker::Sync for self::ListSessionsResp {}
17156
17157impl ::fbthrift::GetTType for self::ListSessionsResp {
17158    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17159}
17160
17161impl<P> ::fbthrift::Serialize<P> for self::ListSessionsResp
17162where
17163    P: ::fbthrift::ProtocolWriter,
17164{
17165    fn write(&self, p: &mut P) {
17166        p.write_struct_begin("ListSessionsResp");
17167        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17168        ::fbthrift::Serialize::write(&self.code, p);
17169        p.write_field_end();
17170        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17171        ::fbthrift::Serialize::write(&self.leader, p);
17172        p.write_field_end();
17173        p.write_field_begin("sessions", ::fbthrift::TType::List, 3);
17174        ::fbthrift::Serialize::write(&self.sessions, p);
17175        p.write_field_end();
17176        p.write_field_stop();
17177        p.write_struct_end();
17178    }
17179}
17180
17181impl<P> ::fbthrift::Deserialize<P> for self::ListSessionsResp
17182where
17183    P: ::fbthrift::ProtocolReader,
17184{
17185    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17186        static FIELDS: &[::fbthrift::Field] = &[
17187            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17188            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17189            ::fbthrift::Field::new("sessions", ::fbthrift::TType::List, 3),
17190        ];
17191        let mut field_code = ::std::option::Option::None;
17192        let mut field_leader = ::std::option::Option::None;
17193        let mut field_sessions = ::std::option::Option::None;
17194        let _ = p.read_struct_begin(|_| ())?;
17195        loop {
17196            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17197            match (fty, fid as ::std::primitive::i32) {
17198                (::fbthrift::TType::Stop, _) => break,
17199                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17200                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17201                (::fbthrift::TType::List, 3) => field_sessions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17202                (fty, _) => p.skip(fty)?,
17203            }
17204            p.read_field_end()?;
17205        }
17206        p.read_struct_end()?;
17207        ::std::result::Result::Ok(Self {
17208            code: field_code.unwrap_or_default(),
17209            leader: field_leader.unwrap_or_default(),
17210            sessions: field_sessions.unwrap_or_default(),
17211            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17212        })
17213    }
17214}
17215
17216
17217#[allow(clippy::derivable_impls)]
17218impl ::std::default::Default for self::GetSessionReq {
17219    fn default() -> Self {
17220        Self {
17221            session_id: ::std::default::Default::default(),
17222            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17223        }
17224    }
17225}
17226
17227impl ::std::fmt::Debug for self::GetSessionReq {
17228    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17229        formatter
17230            .debug_struct("GetSessionReq")
17231            .field("session_id", &self.session_id)
17232            .finish()
17233    }
17234}
17235
17236unsafe impl ::std::marker::Send for self::GetSessionReq {}
17237unsafe impl ::std::marker::Sync for self::GetSessionReq {}
17238
17239impl ::fbthrift::GetTType for self::GetSessionReq {
17240    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17241}
17242
17243impl<P> ::fbthrift::Serialize<P> for self::GetSessionReq
17244where
17245    P: ::fbthrift::ProtocolWriter,
17246{
17247    fn write(&self, p: &mut P) {
17248        p.write_struct_begin("GetSessionReq");
17249        p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
17250        ::fbthrift::Serialize::write(&self.session_id, p);
17251        p.write_field_end();
17252        p.write_field_stop();
17253        p.write_struct_end();
17254    }
17255}
17256
17257impl<P> ::fbthrift::Deserialize<P> for self::GetSessionReq
17258where
17259    P: ::fbthrift::ProtocolReader,
17260{
17261    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17262        static FIELDS: &[::fbthrift::Field] = &[
17263            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
17264        ];
17265        let mut field_session_id = ::std::option::Option::None;
17266        let _ = p.read_struct_begin(|_| ())?;
17267        loop {
17268            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17269            match (fty, fid as ::std::primitive::i32) {
17270                (::fbthrift::TType::Stop, _) => break,
17271                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17272                (fty, _) => p.skip(fty)?,
17273            }
17274            p.read_field_end()?;
17275        }
17276        p.read_struct_end()?;
17277        ::std::result::Result::Ok(Self {
17278            session_id: field_session_id.unwrap_or_default(),
17279            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17280        })
17281    }
17282}
17283
17284
17285#[allow(clippy::derivable_impls)]
17286impl ::std::default::Default for self::GetSessionResp {
17287    fn default() -> Self {
17288        Self {
17289            code: ::std::default::Default::default(),
17290            leader: ::std::default::Default::default(),
17291            session: ::std::default::Default::default(),
17292            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17293        }
17294    }
17295}
17296
17297impl ::std::fmt::Debug for self::GetSessionResp {
17298    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17299        formatter
17300            .debug_struct("GetSessionResp")
17301            .field("code", &self.code)
17302            .field("leader", &self.leader)
17303            .field("session", &self.session)
17304            .finish()
17305    }
17306}
17307
17308unsafe impl ::std::marker::Send for self::GetSessionResp {}
17309unsafe impl ::std::marker::Sync for self::GetSessionResp {}
17310
17311impl ::fbthrift::GetTType for self::GetSessionResp {
17312    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17313}
17314
17315impl<P> ::fbthrift::Serialize<P> for self::GetSessionResp
17316where
17317    P: ::fbthrift::ProtocolWriter,
17318{
17319    fn write(&self, p: &mut P) {
17320        p.write_struct_begin("GetSessionResp");
17321        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17322        ::fbthrift::Serialize::write(&self.code, p);
17323        p.write_field_end();
17324        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17325        ::fbthrift::Serialize::write(&self.leader, p);
17326        p.write_field_end();
17327        p.write_field_begin("session", ::fbthrift::TType::Struct, 3);
17328        ::fbthrift::Serialize::write(&self.session, p);
17329        p.write_field_end();
17330        p.write_field_stop();
17331        p.write_struct_end();
17332    }
17333}
17334
17335impl<P> ::fbthrift::Deserialize<P> for self::GetSessionResp
17336where
17337    P: ::fbthrift::ProtocolReader,
17338{
17339    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17340        static FIELDS: &[::fbthrift::Field] = &[
17341            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17342            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17343            ::fbthrift::Field::new("session", ::fbthrift::TType::Struct, 3),
17344        ];
17345        let mut field_code = ::std::option::Option::None;
17346        let mut field_leader = ::std::option::Option::None;
17347        let mut field_session = ::std::option::Option::None;
17348        let _ = p.read_struct_begin(|_| ())?;
17349        loop {
17350            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17351            match (fty, fid as ::std::primitive::i32) {
17352                (::fbthrift::TType::Stop, _) => break,
17353                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17354                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17355                (::fbthrift::TType::Struct, 3) => field_session = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17356                (fty, _) => p.skip(fty)?,
17357            }
17358            p.read_field_end()?;
17359        }
17360        p.read_struct_end()?;
17361        ::std::result::Result::Ok(Self {
17362            code: field_code.unwrap_or_default(),
17363            leader: field_leader.unwrap_or_default(),
17364            session: field_session.unwrap_or_default(),
17365            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17366        })
17367    }
17368}
17369
17370
17371#[allow(clippy::derivable_impls)]
17372impl ::std::default::Default for self::RemoveSessionReq {
17373    fn default() -> Self {
17374        Self {
17375            session_id: ::std::default::Default::default(),
17376            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17377        }
17378    }
17379}
17380
17381impl ::std::fmt::Debug for self::RemoveSessionReq {
17382    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17383        formatter
17384            .debug_struct("RemoveSessionReq")
17385            .field("session_id", &self.session_id)
17386            .finish()
17387    }
17388}
17389
17390unsafe impl ::std::marker::Send for self::RemoveSessionReq {}
17391unsafe impl ::std::marker::Sync for self::RemoveSessionReq {}
17392
17393impl ::fbthrift::GetTType for self::RemoveSessionReq {
17394    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17395}
17396
17397impl<P> ::fbthrift::Serialize<P> for self::RemoveSessionReq
17398where
17399    P: ::fbthrift::ProtocolWriter,
17400{
17401    fn write(&self, p: &mut P) {
17402        p.write_struct_begin("RemoveSessionReq");
17403        p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
17404        ::fbthrift::Serialize::write(&self.session_id, p);
17405        p.write_field_end();
17406        p.write_field_stop();
17407        p.write_struct_end();
17408    }
17409}
17410
17411impl<P> ::fbthrift::Deserialize<P> for self::RemoveSessionReq
17412where
17413    P: ::fbthrift::ProtocolReader,
17414{
17415    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17416        static FIELDS: &[::fbthrift::Field] = &[
17417            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
17418        ];
17419        let mut field_session_id = ::std::option::Option::None;
17420        let _ = p.read_struct_begin(|_| ())?;
17421        loop {
17422            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17423            match (fty, fid as ::std::primitive::i32) {
17424                (::fbthrift::TType::Stop, _) => break,
17425                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17426                (fty, _) => p.skip(fty)?,
17427            }
17428            p.read_field_end()?;
17429        }
17430        p.read_struct_end()?;
17431        ::std::result::Result::Ok(Self {
17432            session_id: field_session_id.unwrap_or_default(),
17433            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17434        })
17435    }
17436}
17437
17438
17439#[allow(clippy::derivable_impls)]
17440impl ::std::default::Default for self::KillQueryReq {
17441    fn default() -> Self {
17442        Self {
17443            kill_queries: ::std::default::Default::default(),
17444            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17445        }
17446    }
17447}
17448
17449impl ::std::fmt::Debug for self::KillQueryReq {
17450    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17451        formatter
17452            .debug_struct("KillQueryReq")
17453            .field("kill_queries", &self.kill_queries)
17454            .finish()
17455    }
17456}
17457
17458unsafe impl ::std::marker::Send for self::KillQueryReq {}
17459unsafe impl ::std::marker::Sync for self::KillQueryReq {}
17460
17461impl ::fbthrift::GetTType for self::KillQueryReq {
17462    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17463}
17464
17465impl<P> ::fbthrift::Serialize<P> for self::KillQueryReq
17466where
17467    P: ::fbthrift::ProtocolWriter,
17468{
17469    fn write(&self, p: &mut P) {
17470        p.write_struct_begin("KillQueryReq");
17471        p.write_field_begin("kill_queries", ::fbthrift::TType::Map, 1);
17472        ::fbthrift::Serialize::write(&self.kill_queries, p);
17473        p.write_field_end();
17474        p.write_field_stop();
17475        p.write_struct_end();
17476    }
17477}
17478
17479impl<P> ::fbthrift::Deserialize<P> for self::KillQueryReq
17480where
17481    P: ::fbthrift::ProtocolReader,
17482{
17483    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17484        static FIELDS: &[::fbthrift::Field] = &[
17485            ::fbthrift::Field::new("kill_queries", ::fbthrift::TType::Map, 1),
17486        ];
17487        let mut field_kill_queries = ::std::option::Option::None;
17488        let _ = p.read_struct_begin(|_| ())?;
17489        loop {
17490            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17491            match (fty, fid as ::std::primitive::i32) {
17492                (::fbthrift::TType::Stop, _) => break,
17493                (::fbthrift::TType::Map, 1) => field_kill_queries = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17494                (fty, _) => p.skip(fty)?,
17495            }
17496            p.read_field_end()?;
17497        }
17498        p.read_struct_end()?;
17499        ::std::result::Result::Ok(Self {
17500            kill_queries: field_kill_queries.unwrap_or_default(),
17501            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17502        })
17503    }
17504}
17505
17506
17507#[allow(clippy::derivable_impls)]
17508impl ::std::default::Default for self::ReportTaskReq {
17509    fn default() -> Self {
17510        Self {
17511            code: ::std::default::Default::default(),
17512            space_id: ::std::default::Default::default(),
17513            job_id: ::std::default::Default::default(),
17514            task_id: ::std::default::Default::default(),
17515            stats: ::std::option::Option::None,
17516            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17517        }
17518    }
17519}
17520
17521impl ::std::fmt::Debug for self::ReportTaskReq {
17522    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17523        formatter
17524            .debug_struct("ReportTaskReq")
17525            .field("code", &self.code)
17526            .field("space_id", &self.space_id)
17527            .field("job_id", &self.job_id)
17528            .field("task_id", &self.task_id)
17529            .field("stats", &self.stats)
17530            .finish()
17531    }
17532}
17533
17534unsafe impl ::std::marker::Send for self::ReportTaskReq {}
17535unsafe impl ::std::marker::Sync for self::ReportTaskReq {}
17536
17537impl ::fbthrift::GetTType for self::ReportTaskReq {
17538    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17539}
17540
17541impl<P> ::fbthrift::Serialize<P> for self::ReportTaskReq
17542where
17543    P: ::fbthrift::ProtocolWriter,
17544{
17545    fn write(&self, p: &mut P) {
17546        p.write_struct_begin("ReportTaskReq");
17547        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17548        ::fbthrift::Serialize::write(&self.code, p);
17549        p.write_field_end();
17550        p.write_field_begin("space_id", ::fbthrift::TType::I32, 2);
17551        ::fbthrift::Serialize::write(&self.space_id, p);
17552        p.write_field_end();
17553        p.write_field_begin("job_id", ::fbthrift::TType::I32, 3);
17554        ::fbthrift::Serialize::write(&self.job_id, p);
17555        p.write_field_end();
17556        p.write_field_begin("task_id", ::fbthrift::TType::I32, 4);
17557        ::fbthrift::Serialize::write(&self.task_id, p);
17558        p.write_field_end();
17559        if let ::std::option::Option::Some(some) = &self.stats {
17560            p.write_field_begin("stats", ::fbthrift::TType::Struct, 5);
17561            ::fbthrift::Serialize::write(some, p);
17562            p.write_field_end();
17563        }
17564        p.write_field_stop();
17565        p.write_struct_end();
17566    }
17567}
17568
17569impl<P> ::fbthrift::Deserialize<P> for self::ReportTaskReq
17570where
17571    P: ::fbthrift::ProtocolReader,
17572{
17573    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17574        static FIELDS: &[::fbthrift::Field] = &[
17575            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17576            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 3),
17577            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 2),
17578            ::fbthrift::Field::new("stats", ::fbthrift::TType::Struct, 5),
17579            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 4),
17580        ];
17581        let mut field_code = ::std::option::Option::None;
17582        let mut field_space_id = ::std::option::Option::None;
17583        let mut field_job_id = ::std::option::Option::None;
17584        let mut field_task_id = ::std::option::Option::None;
17585        let mut field_stats = ::std::option::Option::None;
17586        let _ = p.read_struct_begin(|_| ())?;
17587        loop {
17588            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17589            match (fty, fid as ::std::primitive::i32) {
17590                (::fbthrift::TType::Stop, _) => break,
17591                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17592                (::fbthrift::TType::I32, 2) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17593                (::fbthrift::TType::I32, 3) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17594                (::fbthrift::TType::I32, 4) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17595                (::fbthrift::TType::Struct, 5) => field_stats = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17596                (fty, _) => p.skip(fty)?,
17597            }
17598            p.read_field_end()?;
17599        }
17600        p.read_struct_end()?;
17601        ::std::result::Result::Ok(Self {
17602            code: field_code.unwrap_or_default(),
17603            space_id: field_space_id.unwrap_or_default(),
17604            job_id: field_job_id.unwrap_or_default(),
17605            task_id: field_task_id.unwrap_or_default(),
17606            stats: field_stats,
17607            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17608        })
17609    }
17610}
17611
17612
17613#[allow(clippy::derivable_impls)]
17614impl ::std::default::Default for self::ListClusterInfoResp {
17615    fn default() -> Self {
17616        Self {
17617            code: ::std::default::Default::default(),
17618            leader: ::std::default::Default::default(),
17619            host_services: ::std::default::Default::default(),
17620            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17621        }
17622    }
17623}
17624
17625impl ::std::fmt::Debug for self::ListClusterInfoResp {
17626    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17627        formatter
17628            .debug_struct("ListClusterInfoResp")
17629            .field("code", &self.code)
17630            .field("leader", &self.leader)
17631            .field("host_services", &self.host_services)
17632            .finish()
17633    }
17634}
17635
17636unsafe impl ::std::marker::Send for self::ListClusterInfoResp {}
17637unsafe impl ::std::marker::Sync for self::ListClusterInfoResp {}
17638
17639impl ::fbthrift::GetTType for self::ListClusterInfoResp {
17640    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17641}
17642
17643impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoResp
17644where
17645    P: ::fbthrift::ProtocolWriter,
17646{
17647    fn write(&self, p: &mut P) {
17648        p.write_struct_begin("ListClusterInfoResp");
17649        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17650        ::fbthrift::Serialize::write(&self.code, p);
17651        p.write_field_end();
17652        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17653        ::fbthrift::Serialize::write(&self.leader, p);
17654        p.write_field_end();
17655        p.write_field_begin("host_services", ::fbthrift::TType::Map, 3);
17656        ::fbthrift::Serialize::write(&self.host_services, p);
17657        p.write_field_end();
17658        p.write_field_stop();
17659        p.write_struct_end();
17660    }
17661}
17662
17663impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoResp
17664where
17665    P: ::fbthrift::ProtocolReader,
17666{
17667    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17668        static FIELDS: &[::fbthrift::Field] = &[
17669            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17670            ::fbthrift::Field::new("host_services", ::fbthrift::TType::Map, 3),
17671            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17672        ];
17673        let mut field_code = ::std::option::Option::None;
17674        let mut field_leader = ::std::option::Option::None;
17675        let mut field_host_services = ::std::option::Option::None;
17676        let _ = p.read_struct_begin(|_| ())?;
17677        loop {
17678            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17679            match (fty, fid as ::std::primitive::i32) {
17680                (::fbthrift::TType::Stop, _) => break,
17681                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17682                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17683                (::fbthrift::TType::Map, 3) => field_host_services = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17684                (fty, _) => p.skip(fty)?,
17685            }
17686            p.read_field_end()?;
17687        }
17688        p.read_struct_end()?;
17689        ::std::result::Result::Ok(Self {
17690            code: field_code.unwrap_or_default(),
17691            leader: field_leader.unwrap_or_default(),
17692            host_services: field_host_services.unwrap_or_default(),
17693            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17694        })
17695    }
17696}
17697
17698
17699#[allow(clippy::derivable_impls)]
17700impl ::std::default::Default for self::ListClusterInfoReq {
17701    fn default() -> Self {
17702        Self {
17703            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17704        }
17705    }
17706}
17707
17708impl ::std::fmt::Debug for self::ListClusterInfoReq {
17709    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17710        formatter
17711            .debug_struct("ListClusterInfoReq")
17712            .finish()
17713    }
17714}
17715
17716unsafe impl ::std::marker::Send for self::ListClusterInfoReq {}
17717unsafe impl ::std::marker::Sync for self::ListClusterInfoReq {}
17718
17719impl ::fbthrift::GetTType for self::ListClusterInfoReq {
17720    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17721}
17722
17723impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoReq
17724where
17725    P: ::fbthrift::ProtocolWriter,
17726{
17727    fn write(&self, p: &mut P) {
17728        p.write_struct_begin("ListClusterInfoReq");
17729        p.write_field_stop();
17730        p.write_struct_end();
17731    }
17732}
17733
17734impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoReq
17735where
17736    P: ::fbthrift::ProtocolReader,
17737{
17738    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17739        static FIELDS: &[::fbthrift::Field] = &[
17740        ];
17741        let _ = p.read_struct_begin(|_| ())?;
17742        loop {
17743            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17744            match (fty, fid as ::std::primitive::i32) {
17745                (::fbthrift::TType::Stop, _) => break,
17746                (fty, _) => p.skip(fty)?,
17747            }
17748            p.read_field_end()?;
17749        }
17750        p.read_struct_end()?;
17751        ::std::result::Result::Ok(Self {
17752            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17753        })
17754    }
17755}
17756
17757
17758#[allow(clippy::derivable_impls)]
17759impl ::std::default::Default for self::GetMetaDirInfoResp {
17760    fn default() -> Self {
17761        Self {
17762            code: ::std::default::Default::default(),
17763            dir: ::std::default::Default::default(),
17764            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17765        }
17766    }
17767}
17768
17769impl ::std::fmt::Debug for self::GetMetaDirInfoResp {
17770    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17771        formatter
17772            .debug_struct("GetMetaDirInfoResp")
17773            .field("code", &self.code)
17774            .field("dir", &self.dir)
17775            .finish()
17776    }
17777}
17778
17779unsafe impl ::std::marker::Send for self::GetMetaDirInfoResp {}
17780unsafe impl ::std::marker::Sync for self::GetMetaDirInfoResp {}
17781
17782impl ::fbthrift::GetTType for self::GetMetaDirInfoResp {
17783    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17784}
17785
17786impl<P> ::fbthrift::Serialize<P> for self::GetMetaDirInfoResp
17787where
17788    P: ::fbthrift::ProtocolWriter,
17789{
17790    fn write(&self, p: &mut P) {
17791        p.write_struct_begin("GetMetaDirInfoResp");
17792        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17793        ::fbthrift::Serialize::write(&self.code, p);
17794        p.write_field_end();
17795        p.write_field_begin("dir", ::fbthrift::TType::Struct, 2);
17796        ::fbthrift::Serialize::write(&self.dir, p);
17797        p.write_field_end();
17798        p.write_field_stop();
17799        p.write_struct_end();
17800    }
17801}
17802
17803impl<P> ::fbthrift::Deserialize<P> for self::GetMetaDirInfoResp
17804where
17805    P: ::fbthrift::ProtocolReader,
17806{
17807    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17808        static FIELDS: &[::fbthrift::Field] = &[
17809            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17810            ::fbthrift::Field::new("dir", ::fbthrift::TType::Struct, 2),
17811        ];
17812        let mut field_code = ::std::option::Option::None;
17813        let mut field_dir = ::std::option::Option::None;
17814        let _ = p.read_struct_begin(|_| ())?;
17815        loop {
17816            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17817            match (fty, fid as ::std::primitive::i32) {
17818                (::fbthrift::TType::Stop, _) => break,
17819                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17820                (::fbthrift::TType::Struct, 2) => field_dir = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17821                (fty, _) => p.skip(fty)?,
17822            }
17823            p.read_field_end()?;
17824        }
17825        p.read_struct_end()?;
17826        ::std::result::Result::Ok(Self {
17827            code: field_code.unwrap_or_default(),
17828            dir: field_dir.unwrap_or_default(),
17829            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17830        })
17831    }
17832}
17833
17834
17835#[allow(clippy::derivable_impls)]
17836impl ::std::default::Default for self::GetMetaDirInfoReq {
17837    fn default() -> Self {
17838        Self {
17839            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17840        }
17841    }
17842}
17843
17844impl ::std::fmt::Debug for self::GetMetaDirInfoReq {
17845    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17846        formatter
17847            .debug_struct("GetMetaDirInfoReq")
17848            .finish()
17849    }
17850}
17851
17852unsafe impl ::std::marker::Send for self::GetMetaDirInfoReq {}
17853unsafe impl ::std::marker::Sync for self::GetMetaDirInfoReq {}
17854
17855impl ::fbthrift::GetTType for self::GetMetaDirInfoReq {
17856    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17857}
17858
17859impl<P> ::fbthrift::Serialize<P> for self::GetMetaDirInfoReq
17860where
17861    P: ::fbthrift::ProtocolWriter,
17862{
17863    fn write(&self, p: &mut P) {
17864        p.write_struct_begin("GetMetaDirInfoReq");
17865        p.write_field_stop();
17866        p.write_struct_end();
17867    }
17868}
17869
17870impl<P> ::fbthrift::Deserialize<P> for self::GetMetaDirInfoReq
17871where
17872    P: ::fbthrift::ProtocolReader,
17873{
17874    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17875        static FIELDS: &[::fbthrift::Field] = &[
17876        ];
17877        let _ = p.read_struct_begin(|_| ())?;
17878        loop {
17879            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17880            match (fty, fid as ::std::primitive::i32) {
17881                (::fbthrift::TType::Stop, _) => break,
17882                (fty, _) => p.skip(fty)?,
17883            }
17884            p.read_field_end()?;
17885        }
17886        p.read_struct_end()?;
17887        ::std::result::Result::Ok(Self {
17888            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17889        })
17890    }
17891}
17892
17893
17894#[allow(clippy::derivable_impls)]
17895impl ::std::default::Default for self::VerifyClientVersionResp {
17896    fn default() -> Self {
17897        Self {
17898            code: ::std::default::Default::default(),
17899            leader: ::std::default::Default::default(),
17900            error_msg: ::std::option::Option::None,
17901            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17902        }
17903    }
17904}
17905
17906impl ::std::fmt::Debug for self::VerifyClientVersionResp {
17907    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17908        formatter
17909            .debug_struct("VerifyClientVersionResp")
17910            .field("code", &self.code)
17911            .field("leader", &self.leader)
17912            .field("error_msg", &self.error_msg)
17913            .finish()
17914    }
17915}
17916
17917unsafe impl ::std::marker::Send for self::VerifyClientVersionResp {}
17918unsafe impl ::std::marker::Sync for self::VerifyClientVersionResp {}
17919
17920impl ::fbthrift::GetTType for self::VerifyClientVersionResp {
17921    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17922}
17923
17924impl<P> ::fbthrift::Serialize<P> for self::VerifyClientVersionResp
17925where
17926    P: ::fbthrift::ProtocolWriter,
17927{
17928    fn write(&self, p: &mut P) {
17929        p.write_struct_begin("VerifyClientVersionResp");
17930        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17931        ::fbthrift::Serialize::write(&self.code, p);
17932        p.write_field_end();
17933        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17934        ::fbthrift::Serialize::write(&self.leader, p);
17935        p.write_field_end();
17936        if let ::std::option::Option::Some(some) = &self.error_msg {
17937            p.write_field_begin("error_msg", ::fbthrift::TType::String, 3);
17938            ::fbthrift::Serialize::write(some, p);
17939            p.write_field_end();
17940        }
17941        p.write_field_stop();
17942        p.write_struct_end();
17943    }
17944}
17945
17946impl<P> ::fbthrift::Deserialize<P> for self::VerifyClientVersionResp
17947where
17948    P: ::fbthrift::ProtocolReader,
17949{
17950    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17951        static FIELDS: &[::fbthrift::Field] = &[
17952            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17953            ::fbthrift::Field::new("error_msg", ::fbthrift::TType::String, 3),
17954            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17955        ];
17956        let mut field_code = ::std::option::Option::None;
17957        let mut field_leader = ::std::option::Option::None;
17958        let mut field_error_msg = ::std::option::Option::None;
17959        let _ = p.read_struct_begin(|_| ())?;
17960        loop {
17961            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17962            match (fty, fid as ::std::primitive::i32) {
17963                (::fbthrift::TType::Stop, _) => break,
17964                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17965                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17966                (::fbthrift::TType::String, 3) => field_error_msg = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17967                (fty, _) => p.skip(fty)?,
17968            }
17969            p.read_field_end()?;
17970        }
17971        p.read_struct_end()?;
17972        ::std::result::Result::Ok(Self {
17973            code: field_code.unwrap_or_default(),
17974            leader: field_leader.unwrap_or_default(),
17975            error_msg: field_error_msg,
17976            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17977        })
17978    }
17979}
17980
17981
17982#[allow(clippy::derivable_impls)]
17983impl ::std::default::Default for self::VerifyClientVersionReq {
17984    fn default() -> Self {
17985        Self {
17986            client_version: "3.0.0".as_bytes().into(),
17987            host: ::std::default::Default::default(),
17988            build_version: ::std::default::Default::default(),
17989            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17990        }
17991    }
17992}
17993
17994impl ::std::fmt::Debug for self::VerifyClientVersionReq {
17995    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17996        formatter
17997            .debug_struct("VerifyClientVersionReq")
17998            .field("client_version", &self.client_version)
17999            .field("host", &self.host)
18000            .field("build_version", &self.build_version)
18001            .finish()
18002    }
18003}
18004
18005unsafe impl ::std::marker::Send for self::VerifyClientVersionReq {}
18006unsafe impl ::std::marker::Sync for self::VerifyClientVersionReq {}
18007
18008impl ::fbthrift::GetTType for self::VerifyClientVersionReq {
18009    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18010}
18011
18012impl<P> ::fbthrift::Serialize<P> for self::VerifyClientVersionReq
18013where
18014    P: ::fbthrift::ProtocolWriter,
18015{
18016    fn write(&self, p: &mut P) {
18017        p.write_struct_begin("VerifyClientVersionReq");
18018        p.write_field_begin("client_version", ::fbthrift::TType::String, 1);
18019        ::fbthrift::Serialize::write(&self.client_version, p);
18020        p.write_field_end();
18021        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
18022        ::fbthrift::Serialize::write(&self.host, p);
18023        p.write_field_end();
18024        p.write_field_begin("build_version", ::fbthrift::TType::String, 3);
18025        ::fbthrift::Serialize::write(&self.build_version, p);
18026        p.write_field_end();
18027        p.write_field_stop();
18028        p.write_struct_end();
18029    }
18030}
18031
18032impl<P> ::fbthrift::Deserialize<P> for self::VerifyClientVersionReq
18033where
18034    P: ::fbthrift::ProtocolReader,
18035{
18036    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18037        static FIELDS: &[::fbthrift::Field] = &[
18038            ::fbthrift::Field::new("build_version", ::fbthrift::TType::String, 3),
18039            ::fbthrift::Field::new("client_version", ::fbthrift::TType::String, 1),
18040            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
18041        ];
18042        let mut field_client_version = ::std::option::Option::None;
18043        let mut field_host = ::std::option::Option::None;
18044        let mut field_build_version = ::std::option::Option::None;
18045        let _ = p.read_struct_begin(|_| ())?;
18046        loop {
18047            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18048            match (fty, fid as ::std::primitive::i32) {
18049                (::fbthrift::TType::Stop, _) => break,
18050                (::fbthrift::TType::String, 1) => field_client_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18051                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18052                (::fbthrift::TType::String, 3) => field_build_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18053                (fty, _) => p.skip(fty)?,
18054            }
18055            p.read_field_end()?;
18056        }
18057        p.read_struct_end()?;
18058        ::std::result::Result::Ok(Self {
18059            client_version: field_client_version.unwrap_or_else(|| "3.0.0".as_bytes().into()),
18060            host: field_host.unwrap_or_default(),
18061            build_version: field_build_version.unwrap_or_default(),
18062            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18063        })
18064    }
18065}
18066
18067
18068#[allow(clippy::derivable_impls)]
18069impl ::std::default::Default for self::SaveGraphVersionResp {
18070    fn default() -> Self {
18071        Self {
18072            code: ::std::default::Default::default(),
18073            leader: ::std::default::Default::default(),
18074            error_msg: ::std::option::Option::None,
18075            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18076        }
18077    }
18078}
18079
18080impl ::std::fmt::Debug for self::SaveGraphVersionResp {
18081    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18082        formatter
18083            .debug_struct("SaveGraphVersionResp")
18084            .field("code", &self.code)
18085            .field("leader", &self.leader)
18086            .field("error_msg", &self.error_msg)
18087            .finish()
18088    }
18089}
18090
18091unsafe impl ::std::marker::Send for self::SaveGraphVersionResp {}
18092unsafe impl ::std::marker::Sync for self::SaveGraphVersionResp {}
18093
18094impl ::fbthrift::GetTType for self::SaveGraphVersionResp {
18095    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18096}
18097
18098impl<P> ::fbthrift::Serialize<P> for self::SaveGraphVersionResp
18099where
18100    P: ::fbthrift::ProtocolWriter,
18101{
18102    fn write(&self, p: &mut P) {
18103        p.write_struct_begin("SaveGraphVersionResp");
18104        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
18105        ::fbthrift::Serialize::write(&self.code, p);
18106        p.write_field_end();
18107        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
18108        ::fbthrift::Serialize::write(&self.leader, p);
18109        p.write_field_end();
18110        if let ::std::option::Option::Some(some) = &self.error_msg {
18111            p.write_field_begin("error_msg", ::fbthrift::TType::String, 3);
18112            ::fbthrift::Serialize::write(some, p);
18113            p.write_field_end();
18114        }
18115        p.write_field_stop();
18116        p.write_struct_end();
18117    }
18118}
18119
18120impl<P> ::fbthrift::Deserialize<P> for self::SaveGraphVersionResp
18121where
18122    P: ::fbthrift::ProtocolReader,
18123{
18124    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18125        static FIELDS: &[::fbthrift::Field] = &[
18126            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
18127            ::fbthrift::Field::new("error_msg", ::fbthrift::TType::String, 3),
18128            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
18129        ];
18130        let mut field_code = ::std::option::Option::None;
18131        let mut field_leader = ::std::option::Option::None;
18132        let mut field_error_msg = ::std::option::Option::None;
18133        let _ = p.read_struct_begin(|_| ())?;
18134        loop {
18135            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18136            match (fty, fid as ::std::primitive::i32) {
18137                (::fbthrift::TType::Stop, _) => break,
18138                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18139                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18140                (::fbthrift::TType::String, 3) => field_error_msg = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18141                (fty, _) => p.skip(fty)?,
18142            }
18143            p.read_field_end()?;
18144        }
18145        p.read_struct_end()?;
18146        ::std::result::Result::Ok(Self {
18147            code: field_code.unwrap_or_default(),
18148            leader: field_leader.unwrap_or_default(),
18149            error_msg: field_error_msg,
18150            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18151        })
18152    }
18153}
18154
18155
18156#[allow(clippy::derivable_impls)]
18157impl ::std::default::Default for self::SaveGraphVersionReq {
18158    fn default() -> Self {
18159        Self {
18160            client_version: "3.0.0".as_bytes().into(),
18161            host: ::std::default::Default::default(),
18162            build_version: ::std::default::Default::default(),
18163            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18164        }
18165    }
18166}
18167
18168impl ::std::fmt::Debug for self::SaveGraphVersionReq {
18169    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18170        formatter
18171            .debug_struct("SaveGraphVersionReq")
18172            .field("client_version", &self.client_version)
18173            .field("host", &self.host)
18174            .field("build_version", &self.build_version)
18175            .finish()
18176    }
18177}
18178
18179unsafe impl ::std::marker::Send for self::SaveGraphVersionReq {}
18180unsafe impl ::std::marker::Sync for self::SaveGraphVersionReq {}
18181
18182impl ::fbthrift::GetTType for self::SaveGraphVersionReq {
18183    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18184}
18185
18186impl<P> ::fbthrift::Serialize<P> for self::SaveGraphVersionReq
18187where
18188    P: ::fbthrift::ProtocolWriter,
18189{
18190    fn write(&self, p: &mut P) {
18191        p.write_struct_begin("SaveGraphVersionReq");
18192        p.write_field_begin("client_version", ::fbthrift::TType::String, 1);
18193        ::fbthrift::Serialize::write(&self.client_version, p);
18194        p.write_field_end();
18195        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
18196        ::fbthrift::Serialize::write(&self.host, p);
18197        p.write_field_end();
18198        p.write_field_begin("build_version", ::fbthrift::TType::String, 3);
18199        ::fbthrift::Serialize::write(&self.build_version, p);
18200        p.write_field_end();
18201        p.write_field_stop();
18202        p.write_struct_end();
18203    }
18204}
18205
18206impl<P> ::fbthrift::Deserialize<P> for self::SaveGraphVersionReq
18207where
18208    P: ::fbthrift::ProtocolReader,
18209{
18210    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18211        static FIELDS: &[::fbthrift::Field] = &[
18212            ::fbthrift::Field::new("build_version", ::fbthrift::TType::String, 3),
18213            ::fbthrift::Field::new("client_version", ::fbthrift::TType::String, 1),
18214            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
18215        ];
18216        let mut field_client_version = ::std::option::Option::None;
18217        let mut field_host = ::std::option::Option::None;
18218        let mut field_build_version = ::std::option::Option::None;
18219        let _ = p.read_struct_begin(|_| ())?;
18220        loop {
18221            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18222            match (fty, fid as ::std::primitive::i32) {
18223                (::fbthrift::TType::Stop, _) => break,
18224                (::fbthrift::TType::String, 1) => field_client_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18225                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18226                (::fbthrift::TType::String, 3) => field_build_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18227                (fty, _) => p.skip(fty)?,
18228            }
18229            p.read_field_end()?;
18230        }
18231        p.read_struct_end()?;
18232        ::std::result::Result::Ok(Self {
18233            client_version: field_client_version.unwrap_or_else(|| "3.0.0".as_bytes().into()),
18234            host: field_host.unwrap_or_default(),
18235            build_version: field_build_version.unwrap_or_default(),
18236            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18237        })
18238    }
18239}
18240
18241
18242mod dot_dot {
18243    #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18244    pub struct OtherFields(pub(crate) ());
18245
18246    #[allow(dead_code)] // if serde isn't being used
18247    pub(super) fn default_for_serde_deserialize() -> OtherFields {
18248        OtherFields(())
18249    }
18250}