nebula_fbthrift_meta_v2/
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: crate::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 group_name: ::std::option::Option<::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)]
160pub struct IndexItem {
161    pub index_id: common::types::IndexID,
162    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
163    pub schema_id: common::types::SchemaID,
164    pub schema_name: ::std::vec::Vec<::std::primitive::u8>,
165    pub fields: ::std::vec::Vec<crate::types::ColumnDef>,
166    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
167    // This field forces `..Default::default()` when instantiating this
168    // struct, to make code future-proof against new fields added later to
169    // the definition in Thrift. If you don't want this, add the annotation
170    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
171    #[doc(hidden)]
172    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
173}
174
175#[derive(Clone, PartialEq)]
176pub struct HostItem {
177    pub hostAddr: common::types::HostAddr,
178    pub status: crate::types::HostStatus,
179    pub leader_parts: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<common::types::PartitionID>>,
180    pub all_parts: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<common::types::PartitionID>>,
181    pub role: crate::types::HostRole,
182    pub git_info_sha: ::std::vec::Vec<::std::primitive::u8>,
183    pub zone_name: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
184    pub version: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
185    // This field forces `..Default::default()` when instantiating this
186    // struct, to make code future-proof against new fields added later to
187    // the definition in Thrift. If you don't want this, add the annotation
188    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
189    #[doc(hidden)]
190    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
191}
192
193#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
194pub struct UserItem {
195    pub account: ::std::vec::Vec<::std::primitive::u8>,
196    pub is_lock: ::std::primitive::bool,
197    pub max_queries_per_hour: ::std::primitive::i32,
198    pub max_updates_per_hour: ::std::primitive::i32,
199    pub max_connections_per_hour: ::std::primitive::i32,
200    pub max_user_connections: ::std::primitive::i32,
201    // This field forces `..Default::default()` when instantiating this
202    // struct, to make code future-proof against new fields added later to
203    // the definition in Thrift. If you don't want this, add the annotation
204    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
205    #[doc(hidden)]
206    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
207}
208
209#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
210pub struct RoleItem {
211    pub user_id: ::std::vec::Vec<::std::primitive::u8>,
212    pub space_id: common::types::GraphSpaceID,
213    pub role_type: crate::types::RoleType,
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)]
223pub struct ExecResp {
224    pub code: common::types::ErrorCode,
225    pub id: crate::types::ID,
226    pub leader: common::types::HostAddr,
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, Eq, PartialOrd, Ord, Hash)]
236pub struct AdminJobReq {
237    pub op: crate::types::AdminJobOp,
238    pub cmd: crate::types::AdminCmd,
239    pub paras: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
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 JobDesc {
250    pub id: ::std::primitive::i32,
251    pub cmd: crate::types::AdminCmd,
252    pub paras: ::std::vec::Vec<::std::string::String>,
253    pub status: crate::types::JobStatus,
254    pub start_time: ::std::primitive::i64,
255    pub stop_time: ::std::primitive::i64,
256    // This field forces `..Default::default()` when instantiating this
257    // struct, to make code future-proof against new fields added later to
258    // the definition in Thrift. If you don't want this, add the annotation
259    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
260    #[doc(hidden)]
261    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
262}
263
264#[derive(Clone, PartialEq)]
265pub struct TaskDesc {
266    pub task_id: ::std::primitive::i32,
267    pub host: common::types::HostAddr,
268    pub status: crate::types::JobStatus,
269    pub start_time: ::std::primitive::i64,
270    pub stop_time: ::std::primitive::i64,
271    pub job_id: ::std::primitive::i32,
272    // This field forces `..Default::default()` when instantiating this
273    // struct, to make code future-proof against new fields added later to
274    // the definition in Thrift. If you don't want this, add the annotation
275    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
276    #[doc(hidden)]
277    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
278}
279
280#[derive(Clone, PartialEq)]
281pub struct AdminJobResult {
282    pub job_id: ::std::option::Option<::std::primitive::i32>,
283    pub job_desc: ::std::option::Option<::std::vec::Vec<crate::types::JobDesc>>,
284    pub task_desc: ::std::option::Option<::std::vec::Vec<crate::types::TaskDesc>>,
285    pub recovered_job_num: ::std::option::Option<::std::primitive::i32>,
286    // This field forces `..Default::default()` when instantiating this
287    // struct, to make code future-proof against new fields added later to
288    // the definition in Thrift. If you don't want this, add the annotation
289    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
290    #[doc(hidden)]
291    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
292}
293
294#[derive(Clone, PartialEq)]
295pub struct AdminJobResp {
296    pub code: common::types::ErrorCode,
297    pub leader: common::types::HostAddr,
298    pub result: crate::types::AdminJobResult,
299    // This field forces `..Default::default()` when instantiating this
300    // struct, to make code future-proof against new fields added later to
301    // the definition in Thrift. If you don't want this, add the annotation
302    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
303    #[doc(hidden)]
304    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
305}
306
307#[derive(Clone, PartialEq)]
308pub struct Correlativity {
309    pub part_id: common::types::PartitionID,
310    pub proportion: ::std::primitive::f64,
311    // This field forces `..Default::default()` when instantiating this
312    // struct, to make code future-proof against new fields added later to
313    // the definition in Thrift. If you don't want this, add the annotation
314    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
315    #[doc(hidden)]
316    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
317}
318
319#[derive(Clone, PartialEq)]
320pub struct StatsItem {
321    pub tag_vertices: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::primitive::i64>,
322    pub edges: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::primitive::i64>,
323    pub space_vertices: ::std::primitive::i64,
324    pub space_edges: ::std::primitive::i64,
325    pub positive_part_correlativity: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::Correlativity>>,
326    pub negative_part_correlativity: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::Correlativity>>,
327    pub status: crate::types::JobStatus,
328    // This field forces `..Default::default()` when instantiating this
329    // struct, to make code future-proof against new fields added later to
330    // the definition in Thrift. If you don't want this, add the annotation
331    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
332    #[doc(hidden)]
333    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
334}
335
336#[derive(Clone, PartialEq)]
337pub struct CreateSpaceReq {
338    pub properties: crate::types::SpaceDesc,
339    pub if_not_exists: ::std::primitive::bool,
340    // This field forces `..Default::default()` when instantiating this
341    // struct, to make code future-proof against new fields added later to
342    // the definition in Thrift. If you don't want this, add the annotation
343    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
344    #[doc(hidden)]
345    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
346}
347
348#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
349pub struct CreateSpaceAsReq {
350    pub old_space_name: ::std::vec::Vec<::std::primitive::u8>,
351    pub new_space_name: ::std::vec::Vec<::std::primitive::u8>,
352    // This field forces `..Default::default()` when instantiating this
353    // struct, to make code future-proof against new fields added later to
354    // the definition in Thrift. If you don't want this, add the annotation
355    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
356    #[doc(hidden)]
357    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
358}
359
360#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
361pub struct DropSpaceReq {
362    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
363    pub if_exists: ::std::primitive::bool,
364    // This field forces `..Default::default()` when instantiating this
365    // struct, to make code future-proof against new fields added later to
366    // the definition in Thrift. If you don't want this, add the annotation
367    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
368    #[doc(hidden)]
369    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
370}
371
372#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
373pub struct ListSpacesReq {
374    // This field forces `..Default::default()` when instantiating this
375    // struct, to make code future-proof against new fields added later to
376    // the definition in Thrift. If you don't want this, add the annotation
377    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
378    #[doc(hidden)]
379    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
380}
381
382#[derive(Clone, PartialEq)]
383pub struct ListSpacesResp {
384    pub code: common::types::ErrorCode,
385    pub leader: common::types::HostAddr,
386    pub spaces: ::std::vec::Vec<crate::types::IdName>,
387    // This field forces `..Default::default()` when instantiating this
388    // struct, to make code future-proof against new fields added later to
389    // the definition in Thrift. If you don't want this, add the annotation
390    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
391    #[doc(hidden)]
392    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
393}
394
395#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
396pub struct GetSpaceReq {
397    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
398    // This field forces `..Default::default()` when instantiating this
399    // struct, to make code future-proof against new fields added later to
400    // the definition in Thrift. If you don't want this, add the annotation
401    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
402    #[doc(hidden)]
403    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
404}
405
406#[derive(Clone, PartialEq)]
407pub struct GetSpaceResp {
408    pub code: common::types::ErrorCode,
409    pub leader: common::types::HostAddr,
410    pub item: crate::types::SpaceItem,
411    // This field forces `..Default::default()` when instantiating this
412    // struct, to make code future-proof against new fields added later to
413    // the definition in Thrift. If you don't want this, add the annotation
414    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
415    #[doc(hidden)]
416    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
417}
418
419#[derive(Clone, PartialEq)]
420pub struct CreateTagReq {
421    pub space_id: common::types::GraphSpaceID,
422    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
423    pub schema: crate::types::Schema,
424    pub if_not_exists: ::std::primitive::bool,
425    // This field forces `..Default::default()` when instantiating this
426    // struct, to make code future-proof against new fields added later to
427    // the definition in Thrift. If you don't want this, add the annotation
428    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
429    #[doc(hidden)]
430    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
431}
432
433#[derive(Clone, PartialEq)]
434pub struct AlterTagReq {
435    pub space_id: common::types::GraphSpaceID,
436    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
437    pub tag_items: ::std::vec::Vec<crate::types::AlterSchemaItem>,
438    pub schema_prop: crate::types::SchemaProp,
439    // This field forces `..Default::default()` when instantiating this
440    // struct, to make code future-proof against new fields added later to
441    // the definition in Thrift. If you don't want this, add the annotation
442    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
443    #[doc(hidden)]
444    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
445}
446
447#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
448pub struct DropTagReq {
449    pub space_id: common::types::GraphSpaceID,
450    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
451    pub if_exists: ::std::primitive::bool,
452    // This field forces `..Default::default()` when instantiating this
453    // struct, to make code future-proof against new fields added later to
454    // the definition in Thrift. If you don't want this, add the annotation
455    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
456    #[doc(hidden)]
457    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
458}
459
460#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
461pub struct ListTagsReq {
462    pub space_id: common::types::GraphSpaceID,
463    // This field forces `..Default::default()` when instantiating this
464    // struct, to make code future-proof against new fields added later to
465    // the definition in Thrift. If you don't want this, add the annotation
466    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
467    #[doc(hidden)]
468    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
469}
470
471#[derive(Clone, PartialEq)]
472pub struct ListTagsResp {
473    pub code: common::types::ErrorCode,
474    pub leader: common::types::HostAddr,
475    pub tags: ::std::vec::Vec<crate::types::TagItem>,
476    // This field forces `..Default::default()` when instantiating this
477    // struct, to make code future-proof against new fields added later to
478    // the definition in Thrift. If you don't want this, add the annotation
479    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
480    #[doc(hidden)]
481    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
482}
483
484#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
485pub struct GetTagReq {
486    pub space_id: common::types::GraphSpaceID,
487    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
488    pub version: crate::types::SchemaVer,
489    // This field forces `..Default::default()` when instantiating this
490    // struct, to make code future-proof against new fields added later to
491    // the definition in Thrift. If you don't want this, add the annotation
492    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
493    #[doc(hidden)]
494    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
495}
496
497#[derive(Clone, PartialEq)]
498pub struct GetTagResp {
499    pub code: common::types::ErrorCode,
500    pub leader: common::types::HostAddr,
501    pub schema: crate::types::Schema,
502    // This field forces `..Default::default()` when instantiating this
503    // struct, to make code future-proof against new fields added later to
504    // the definition in Thrift. If you don't want this, add the annotation
505    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
506    #[doc(hidden)]
507    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
508}
509
510#[derive(Clone, PartialEq)]
511pub struct CreateEdgeReq {
512    pub space_id: common::types::GraphSpaceID,
513    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
514    pub schema: crate::types::Schema,
515    pub if_not_exists: ::std::primitive::bool,
516    // This field forces `..Default::default()` when instantiating this
517    // struct, to make code future-proof against new fields added later to
518    // the definition in Thrift. If you don't want this, add the annotation
519    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
520    #[doc(hidden)]
521    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
522}
523
524#[derive(Clone, PartialEq)]
525pub struct AlterEdgeReq {
526    pub space_id: common::types::GraphSpaceID,
527    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
528    pub edge_items: ::std::vec::Vec<crate::types::AlterSchemaItem>,
529    pub schema_prop: crate::types::SchemaProp,
530    // This field forces `..Default::default()` when instantiating this
531    // struct, to make code future-proof against new fields added later to
532    // the definition in Thrift. If you don't want this, add the annotation
533    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
534    #[doc(hidden)]
535    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
536}
537
538#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
539pub struct GetEdgeReq {
540    pub space_id: common::types::GraphSpaceID,
541    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
542    pub version: crate::types::SchemaVer,
543    // This field forces `..Default::default()` when instantiating this
544    // struct, to make code future-proof against new fields added later to
545    // the definition in Thrift. If you don't want this, add the annotation
546    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
547    #[doc(hidden)]
548    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
549}
550
551#[derive(Clone, PartialEq)]
552pub struct GetEdgeResp {
553    pub code: common::types::ErrorCode,
554    pub leader: common::types::HostAddr,
555    pub schema: crate::types::Schema,
556    // This field forces `..Default::default()` when instantiating this
557    // struct, to make code future-proof against new fields added later to
558    // the definition in Thrift. If you don't want this, add the annotation
559    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
560    #[doc(hidden)]
561    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
562}
563
564#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
565pub struct DropEdgeReq {
566    pub space_id: common::types::GraphSpaceID,
567    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
568    pub if_exists: ::std::primitive::bool,
569    // This field forces `..Default::default()` when instantiating this
570    // struct, to make code future-proof against new fields added later to
571    // the definition in Thrift. If you don't want this, add the annotation
572    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
573    #[doc(hidden)]
574    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
575}
576
577#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
578pub struct ListEdgesReq {
579    pub space_id: common::types::GraphSpaceID,
580    // This field forces `..Default::default()` when instantiating this
581    // struct, to make code future-proof against new fields added later to
582    // the definition in Thrift. If you don't want this, add the annotation
583    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
584    #[doc(hidden)]
585    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
586}
587
588#[derive(Clone, PartialEq)]
589pub struct ListEdgesResp {
590    pub code: common::types::ErrorCode,
591    pub leader: common::types::HostAddr,
592    pub edges: ::std::vec::Vec<crate::types::EdgeItem>,
593    // This field forces `..Default::default()` when instantiating this
594    // struct, to make code future-proof against new fields added later to
595    // the definition in Thrift. If you don't want this, add the annotation
596    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
597    #[doc(hidden)]
598    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
599}
600
601#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
602pub struct ListHostsReq {
603    pub r#type: crate::types::ListHostType,
604    // This field forces `..Default::default()` when instantiating this
605    // struct, to make code future-proof against new fields added later to
606    // the definition in Thrift. If you don't want this, add the annotation
607    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
608    #[doc(hidden)]
609    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
610}
611
612#[derive(Clone, PartialEq)]
613pub struct ListHostsResp {
614    pub code: common::types::ErrorCode,
615    pub leader: common::types::HostAddr,
616    pub hosts: ::std::vec::Vec<crate::types::HostItem>,
617    // This field forces `..Default::default()` when instantiating this
618    // struct, to make code future-proof against new fields added later to
619    // the definition in Thrift. If you don't want this, add the annotation
620    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
621    #[doc(hidden)]
622    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
623}
624
625#[derive(Clone, PartialEq)]
626pub struct PartItem {
627    pub part_id: common::types::PartitionID,
628    pub leader: ::std::option::Option<common::types::HostAddr>,
629    pub peers: ::std::vec::Vec<common::types::HostAddr>,
630    pub losts: ::std::vec::Vec<common::types::HostAddr>,
631    // This field forces `..Default::default()` when instantiating this
632    // struct, to make code future-proof against new fields added later to
633    // the definition in Thrift. If you don't want this, add the annotation
634    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
635    #[doc(hidden)]
636    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
637}
638
639#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
640pub struct ListPartsReq {
641    pub space_id: common::types::GraphSpaceID,
642    pub part_ids: ::std::vec::Vec<common::types::PartitionID>,
643    // This field forces `..Default::default()` when instantiating this
644    // struct, to make code future-proof against new fields added later to
645    // the definition in Thrift. If you don't want this, add the annotation
646    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
647    #[doc(hidden)]
648    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
649}
650
651#[derive(Clone, PartialEq)]
652pub struct ListPartsResp {
653    pub code: common::types::ErrorCode,
654    pub leader: common::types::HostAddr,
655    pub parts: ::std::vec::Vec<crate::types::PartItem>,
656    // This field forces `..Default::default()` when instantiating this
657    // struct, to make code future-proof against new fields added later to
658    // the definition in Thrift. If you don't want this, add the annotation
659    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
660    #[doc(hidden)]
661    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
662}
663
664#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
665pub struct GetPartsAllocReq {
666    pub space_id: common::types::GraphSpaceID,
667    // This field forces `..Default::default()` when instantiating this
668    // struct, to make code future-proof against new fields added later to
669    // the definition in Thrift. If you don't want this, add the annotation
670    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
671    #[doc(hidden)]
672    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
673}
674
675#[derive(Clone, PartialEq)]
676pub struct GetPartsAllocResp {
677    pub code: common::types::ErrorCode,
678    pub leader: common::types::HostAddr,
679    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::HostAddr>>,
680    pub terms: ::std::option::Option<::std::collections::BTreeMap<common::types::PartitionID, ::std::primitive::i64>>,
681    // This field forces `..Default::default()` when instantiating this
682    // struct, to make code future-proof against new fields added later to
683    // the definition in Thrift. If you don't want this, add the annotation
684    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
685    #[doc(hidden)]
686    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
687}
688
689#[derive(Clone, PartialEq)]
690pub struct MultiPutReq {
691    pub segment: ::std::vec::Vec<::std::primitive::u8>,
692    pub pairs: ::std::vec::Vec<common::types::KeyValue>,
693    // This field forces `..Default::default()` when instantiating this
694    // struct, to make code future-proof against new fields added later to
695    // the definition in Thrift. If you don't want this, add the annotation
696    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
697    #[doc(hidden)]
698    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
699}
700
701#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
702pub struct GetReq {
703    pub segment: ::std::vec::Vec<::std::primitive::u8>,
704    pub key: ::std::vec::Vec<::std::primitive::u8>,
705    // This field forces `..Default::default()` when instantiating this
706    // struct, to make code future-proof against new fields added later to
707    // the definition in Thrift. If you don't want this, add the annotation
708    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
709    #[doc(hidden)]
710    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
711}
712
713#[derive(Clone, PartialEq)]
714pub struct GetResp {
715    pub code: common::types::ErrorCode,
716    pub leader: common::types::HostAddr,
717    pub value: ::std::vec::Vec<::std::primitive::u8>,
718    // This field forces `..Default::default()` when instantiating this
719    // struct, to make code future-proof against new fields added later to
720    // the definition in Thrift. If you don't want this, add the annotation
721    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
722    #[doc(hidden)]
723    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
724}
725
726#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
727pub struct MultiGetReq {
728    pub segment: ::std::vec::Vec<::std::primitive::u8>,
729    pub keys: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
730    // This field forces `..Default::default()` when instantiating this
731    // struct, to make code future-proof against new fields added later to
732    // the definition in Thrift. If you don't want this, add the annotation
733    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
734    #[doc(hidden)]
735    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
736}
737
738#[derive(Clone, PartialEq)]
739pub struct MultiGetResp {
740    pub code: common::types::ErrorCode,
741    pub leader: common::types::HostAddr,
742    pub values: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
743    // This field forces `..Default::default()` when instantiating this
744    // struct, to make code future-proof against new fields added later to
745    // the definition in Thrift. If you don't want this, add the annotation
746    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
747    #[doc(hidden)]
748    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
749}
750
751#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
752pub struct RemoveReq {
753    pub segment: ::std::vec::Vec<::std::primitive::u8>,
754    pub key: ::std::vec::Vec<::std::primitive::u8>,
755    // This field forces `..Default::default()` when instantiating this
756    // struct, to make code future-proof against new fields added later to
757    // the definition in Thrift. If you don't want this, add the annotation
758    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
759    #[doc(hidden)]
760    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
761}
762
763#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
764pub struct RemoveRangeReq {
765    pub segment: ::std::vec::Vec<::std::primitive::u8>,
766    pub start: ::std::vec::Vec<::std::primitive::u8>,
767    pub end: ::std::vec::Vec<::std::primitive::u8>,
768    // This field forces `..Default::default()` when instantiating this
769    // struct, to make code future-proof against new fields added later to
770    // the definition in Thrift. If you don't want this, add the annotation
771    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
772    #[doc(hidden)]
773    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
774}
775
776#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
777pub struct ScanReq {
778    pub segment: ::std::vec::Vec<::std::primitive::u8>,
779    pub start: ::std::vec::Vec<::std::primitive::u8>,
780    pub end: ::std::vec::Vec<::std::primitive::u8>,
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 ScanResp {
791    pub code: common::types::ErrorCode,
792    pub leader: common::types::HostAddr,
793    pub values: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
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)]
830pub struct HBReq {
831    pub role: crate::types::HostRole,
832    pub host: common::types::HostAddr,
833    pub cluster_id: crate::types::ClusterID,
834    pub leader_partIds: ::std::option::Option<::std::collections::BTreeMap<common::types::GraphSpaceID, ::std::vec::Vec<crate::types::LeaderInfo>>>,
835    pub git_info_sha: ::std::vec::Vec<::std::primitive::u8>,
836    pub version: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
837    // This field forces `..Default::default()` when instantiating this
838    // struct, to make code future-proof against new fields added later to
839    // the definition in Thrift. If you don't want this, add the annotation
840    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
841    #[doc(hidden)]
842    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
843}
844
845#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
846pub struct IndexFieldDef {
847    pub name: ::std::vec::Vec<::std::primitive::u8>,
848    pub type_length: ::std::option::Option<::std::primitive::i16>,
849    // This field forces `..Default::default()` when instantiating this
850    // struct, to make code future-proof against new fields added later to
851    // the definition in Thrift. If you don't want this, add the annotation
852    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
853    #[doc(hidden)]
854    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
855}
856
857#[derive(Clone, PartialEq)]
858pub struct CreateTagIndexReq {
859    pub space_id: common::types::GraphSpaceID,
860    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
861    pub tag_name: ::std::vec::Vec<::std::primitive::u8>,
862    pub fields: ::std::vec::Vec<crate::types::IndexFieldDef>,
863    pub if_not_exists: ::std::primitive::bool,
864    pub comment: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
865    // This field forces `..Default::default()` when instantiating this
866    // struct, to make code future-proof against new fields added later to
867    // the definition in Thrift. If you don't want this, add the annotation
868    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
869    #[doc(hidden)]
870    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
871}
872
873#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
874pub struct DropTagIndexReq {
875    pub space_id: common::types::GraphSpaceID,
876    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
877    pub if_exists: ::std::primitive::bool,
878    // This field forces `..Default::default()` when instantiating this
879    // struct, to make code future-proof against new fields added later to
880    // the definition in Thrift. If you don't want this, add the annotation
881    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
882    #[doc(hidden)]
883    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
884}
885
886#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
887pub struct GetTagIndexReq {
888    pub space_id: common::types::GraphSpaceID,
889    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
890    // This field forces `..Default::default()` when instantiating this
891    // struct, to make code future-proof against new fields added later to
892    // the definition in Thrift. If you don't want this, add the annotation
893    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
894    #[doc(hidden)]
895    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
896}
897
898#[derive(Clone, PartialEq)]
899pub struct GetTagIndexResp {
900    pub code: common::types::ErrorCode,
901    pub leader: common::types::HostAddr,
902    pub item: crate::types::IndexItem,
903    // This field forces `..Default::default()` when instantiating this
904    // struct, to make code future-proof against new fields added later to
905    // the definition in Thrift. If you don't want this, add the annotation
906    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
907    #[doc(hidden)]
908    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
909}
910
911#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
912pub struct ListTagIndexesReq {
913    pub space_id: common::types::GraphSpaceID,
914    // This field forces `..Default::default()` when instantiating this
915    // struct, to make code future-proof against new fields added later to
916    // the definition in Thrift. If you don't want this, add the annotation
917    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
918    #[doc(hidden)]
919    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
920}
921
922#[derive(Clone, PartialEq)]
923pub struct ListTagIndexesResp {
924    pub code: common::types::ErrorCode,
925    pub leader: common::types::HostAddr,
926    pub items: ::std::vec::Vec<crate::types::IndexItem>,
927    // This field forces `..Default::default()` when instantiating this
928    // struct, to make code future-proof against new fields added later to
929    // the definition in Thrift. If you don't want this, add the annotation
930    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
931    #[doc(hidden)]
932    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
933}
934
935#[derive(Clone, PartialEq)]
936pub struct CreateEdgeIndexReq {
937    pub space_id: common::types::GraphSpaceID,
938    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
939    pub edge_name: ::std::vec::Vec<::std::primitive::u8>,
940    pub fields: ::std::vec::Vec<crate::types::IndexFieldDef>,
941    pub if_not_exists: ::std::primitive::bool,
942    pub comment: ::std::option::Option<::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, Eq, PartialOrd, Ord, Hash)]
952pub struct DropEdgeIndexReq {
953    pub space_id: common::types::GraphSpaceID,
954    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
955    pub if_exists: ::std::primitive::bool,
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 GetEdgeIndexReq {
966    pub space_id: common::types::GraphSpaceID,
967    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
968    // This field forces `..Default::default()` when instantiating this
969    // struct, to make code future-proof against new fields added later to
970    // the definition in Thrift. If you don't want this, add the annotation
971    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
972    #[doc(hidden)]
973    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
974}
975
976#[derive(Clone, PartialEq)]
977pub struct GetEdgeIndexResp {
978    pub code: common::types::ErrorCode,
979    pub leader: common::types::HostAddr,
980    pub item: crate::types::IndexItem,
981    // This field forces `..Default::default()` when instantiating this
982    // struct, to make code future-proof against new fields added later to
983    // the definition in Thrift. If you don't want this, add the annotation
984    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
985    #[doc(hidden)]
986    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
987}
988
989#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
990pub struct ListEdgeIndexesReq {
991    pub space_id: common::types::GraphSpaceID,
992    // This field forces `..Default::default()` when instantiating this
993    // struct, to make code future-proof against new fields added later to
994    // the definition in Thrift. If you don't want this, add the annotation
995    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
996    #[doc(hidden)]
997    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
998}
999
1000#[derive(Clone, PartialEq)]
1001pub struct ListEdgeIndexesResp {
1002    pub code: common::types::ErrorCode,
1003    pub leader: common::types::HostAddr,
1004    pub items: ::std::vec::Vec<crate::types::IndexItem>,
1005    // This field forces `..Default::default()` when instantiating this
1006    // struct, to make code future-proof against new fields added later to
1007    // the definition in Thrift. If you don't want this, add the annotation
1008    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1009    #[doc(hidden)]
1010    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1011}
1012
1013#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1014pub struct RebuildIndexReq {
1015    pub space_id: common::types::GraphSpaceID,
1016    pub index_name: ::std::vec::Vec<::std::primitive::u8>,
1017    // This field forces `..Default::default()` when instantiating this
1018    // struct, to make code future-proof against new fields added later to
1019    // the definition in Thrift. If you don't want this, add the annotation
1020    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1021    #[doc(hidden)]
1022    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1023}
1024
1025#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1026pub struct CreateUserReq {
1027    pub account: ::std::vec::Vec<::std::primitive::u8>,
1028    pub encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1029    pub if_not_exists: ::std::primitive::bool,
1030    // This field forces `..Default::default()` when instantiating this
1031    // struct, to make code future-proof against new fields added later to
1032    // the definition in Thrift. If you don't want this, add the annotation
1033    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1034    #[doc(hidden)]
1035    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1036}
1037
1038#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1039pub struct DropUserReq {
1040    pub account: ::std::vec::Vec<::std::primitive::u8>,
1041    pub if_exists: ::std::primitive::bool,
1042    // This field forces `..Default::default()` when instantiating this
1043    // struct, to make code future-proof against new fields added later to
1044    // the definition in Thrift. If you don't want this, add the annotation
1045    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1046    #[doc(hidden)]
1047    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1048}
1049
1050#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1051pub struct AlterUserReq {
1052    pub account: ::std::vec::Vec<::std::primitive::u8>,
1053    pub encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1054    // This field forces `..Default::default()` when instantiating this
1055    // struct, to make code future-proof against new fields added later to
1056    // the definition in Thrift. If you don't want this, add the annotation
1057    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1058    #[doc(hidden)]
1059    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1060}
1061
1062#[derive(Clone, PartialEq)]
1063pub struct GrantRoleReq {
1064    pub role_item: crate::types::RoleItem,
1065    // This field forces `..Default::default()` when instantiating this
1066    // struct, to make code future-proof against new fields added later to
1067    // the definition in Thrift. If you don't want this, add the annotation
1068    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1069    #[doc(hidden)]
1070    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1071}
1072
1073#[derive(Clone, PartialEq)]
1074pub struct RevokeRoleReq {
1075    pub role_item: crate::types::RoleItem,
1076    // This field forces `..Default::default()` when instantiating this
1077    // struct, to make code future-proof against new fields added later to
1078    // the definition in Thrift. If you don't want this, add the annotation
1079    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1080    #[doc(hidden)]
1081    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1082}
1083
1084#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1085pub struct ListUsersReq {
1086    // This field forces `..Default::default()` when instantiating this
1087    // struct, to make code future-proof against new fields added later to
1088    // the definition in Thrift. If you don't want this, add the annotation
1089    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1090    #[doc(hidden)]
1091    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1092}
1093
1094#[derive(Clone, PartialEq)]
1095pub struct ListUsersResp {
1096    pub code: common::types::ErrorCode,
1097    pub leader: common::types::HostAddr,
1098    pub users: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<::std::primitive::u8>>,
1099    // This field forces `..Default::default()` when instantiating this
1100    // struct, to make code future-proof against new fields added later to
1101    // the definition in Thrift. If you don't want this, add the annotation
1102    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1103    #[doc(hidden)]
1104    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1105}
1106
1107#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1108pub struct ListRolesReq {
1109    pub space_id: common::types::GraphSpaceID,
1110    // This field forces `..Default::default()` when instantiating this
1111    // struct, to make code future-proof against new fields added later to
1112    // the definition in Thrift. If you don't want this, add the annotation
1113    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1114    #[doc(hidden)]
1115    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1116}
1117
1118#[derive(Clone, PartialEq)]
1119pub struct ListRolesResp {
1120    pub code: common::types::ErrorCode,
1121    pub leader: common::types::HostAddr,
1122    pub roles: ::std::vec::Vec<crate::types::RoleItem>,
1123    // This field forces `..Default::default()` when instantiating this
1124    // struct, to make code future-proof against new fields added later to
1125    // the definition in Thrift. If you don't want this, add the annotation
1126    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1127    #[doc(hidden)]
1128    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1129}
1130
1131#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1132pub struct GetUserRolesReq {
1133    pub account: ::std::vec::Vec<::std::primitive::u8>,
1134    // This field forces `..Default::default()` when instantiating this
1135    // struct, to make code future-proof against new fields added later to
1136    // the definition in Thrift. If you don't want this, add the annotation
1137    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1138    #[doc(hidden)]
1139    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1140}
1141
1142#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1143pub struct ChangePasswordReq {
1144    pub account: ::std::vec::Vec<::std::primitive::u8>,
1145    pub new_encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1146    pub old_encoded_pwd: ::std::vec::Vec<::std::primitive::u8>,
1147    // This field forces `..Default::default()` when instantiating this
1148    // struct, to make code future-proof against new fields added later to
1149    // the definition in Thrift. If you don't want this, add the annotation
1150    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1151    #[doc(hidden)]
1152    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1153}
1154
1155#[derive(Clone, PartialEq)]
1156pub struct BalanceReq {
1157    pub space_id: ::std::option::Option<common::types::GraphSpaceID>,
1158    pub id: ::std::option::Option<::std::primitive::i64>,
1159    pub host_del: ::std::option::Option<::std::vec::Vec<common::types::HostAddr>>,
1160    pub stop: ::std::option::Option<::std::primitive::bool>,
1161    pub reset: ::std::option::Option<::std::primitive::bool>,
1162    // This field forces `..Default::default()` when instantiating this
1163    // struct, to make code future-proof against new fields added later to
1164    // the definition in Thrift. If you don't want this, add the annotation
1165    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1166    #[doc(hidden)]
1167    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1168}
1169
1170#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1171pub struct BalanceTask {
1172    pub id: ::std::vec::Vec<::std::primitive::u8>,
1173    pub result: crate::types::TaskResult,
1174    // This field forces `..Default::default()` when instantiating this
1175    // struct, to make code future-proof against new fields added later to
1176    // the definition in Thrift. If you don't want this, add the annotation
1177    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1178    #[doc(hidden)]
1179    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1180}
1181
1182#[derive(Clone, PartialEq)]
1183pub struct BalanceResp {
1184    pub code: common::types::ErrorCode,
1185    pub id: ::std::primitive::i64,
1186    pub leader: common::types::HostAddr,
1187    pub tasks: ::std::vec::Vec<crate::types::BalanceTask>,
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 LeaderBalanceReq {
1198    // This field forces `..Default::default()` when instantiating this
1199    // struct, to make code future-proof against new fields added later to
1200    // the definition in Thrift. If you don't want this, add the annotation
1201    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1202    #[doc(hidden)]
1203    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1204}
1205
1206#[derive(Clone, PartialEq)]
1207pub struct ConfigItem {
1208    pub module: crate::types::ConfigModule,
1209    pub name: ::std::vec::Vec<::std::primitive::u8>,
1210    pub mode: crate::types::ConfigMode,
1211    pub value: common::types::Value,
1212    // This field forces `..Default::default()` when instantiating this
1213    // struct, to make code future-proof against new fields added later to
1214    // the definition in Thrift. If you don't want this, add the annotation
1215    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1216    #[doc(hidden)]
1217    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1218}
1219
1220#[derive(Clone, PartialEq)]
1221pub struct RegConfigReq {
1222    pub items: ::std::vec::Vec<crate::types::ConfigItem>,
1223    // This field forces `..Default::default()` when instantiating this
1224    // struct, to make code future-proof against new fields added later to
1225    // the definition in Thrift. If you don't want this, add the annotation
1226    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1227    #[doc(hidden)]
1228    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1229}
1230
1231#[derive(Clone, PartialEq)]
1232pub struct GetConfigReq {
1233    pub item: crate::types::ConfigItem,
1234    // This field forces `..Default::default()` when instantiating this
1235    // struct, to make code future-proof against new fields added later to
1236    // the definition in Thrift. If you don't want this, add the annotation
1237    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1238    #[doc(hidden)]
1239    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1240}
1241
1242#[derive(Clone, PartialEq)]
1243pub struct GetConfigResp {
1244    pub code: common::types::ErrorCode,
1245    pub leader: common::types::HostAddr,
1246    pub items: ::std::vec::Vec<crate::types::ConfigItem>,
1247    // This field forces `..Default::default()` when instantiating this
1248    // struct, to make code future-proof against new fields added later to
1249    // the definition in Thrift. If you don't want this, add the annotation
1250    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1251    #[doc(hidden)]
1252    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1253}
1254
1255#[derive(Clone, PartialEq)]
1256pub struct SetConfigReq {
1257    pub item: crate::types::ConfigItem,
1258    // This field forces `..Default::default()` when instantiating this
1259    // struct, to make code future-proof against new fields added later to
1260    // the definition in Thrift. If you don't want this, add the annotation
1261    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1262    #[doc(hidden)]
1263    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1264}
1265
1266#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1267pub struct ListConfigsReq {
1268    pub space: ::std::vec::Vec<::std::primitive::u8>,
1269    pub module: crate::types::ConfigModule,
1270    // This field forces `..Default::default()` when instantiating this
1271    // struct, to make code future-proof against new fields added later to
1272    // the definition in Thrift. If you don't want this, add the annotation
1273    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1274    #[doc(hidden)]
1275    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1276}
1277
1278#[derive(Clone, PartialEq)]
1279pub struct ListConfigsResp {
1280    pub code: common::types::ErrorCode,
1281    pub leader: common::types::HostAddr,
1282    pub items: ::std::vec::Vec<crate::types::ConfigItem>,
1283    // This field forces `..Default::default()` when instantiating this
1284    // struct, to make code future-proof against new fields added later to
1285    // the definition in Thrift. If you don't want this, add the annotation
1286    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1287    #[doc(hidden)]
1288    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1289}
1290
1291#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1292pub struct CreateSnapshotReq {
1293    // This field forces `..Default::default()` when instantiating this
1294    // struct, to make code future-proof against new fields added later to
1295    // the definition in Thrift. If you don't want this, add the annotation
1296    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1297    #[doc(hidden)]
1298    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1299}
1300
1301#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1302pub struct DropSnapshotReq {
1303    pub name: ::std::vec::Vec<::std::primitive::u8>,
1304    // This field forces `..Default::default()` when instantiating this
1305    // struct, to make code future-proof against new fields added later to
1306    // the definition in Thrift. If you don't want this, add the annotation
1307    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1308    #[doc(hidden)]
1309    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1310}
1311
1312#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1313pub struct ListSnapshotsReq {
1314    // This field forces `..Default::default()` when instantiating this
1315    // struct, to make code future-proof against new fields added later to
1316    // the definition in Thrift. If you don't want this, add the annotation
1317    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1318    #[doc(hidden)]
1319    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1320}
1321
1322#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1323pub struct Snapshot {
1324    pub name: ::std::vec::Vec<::std::primitive::u8>,
1325    pub status: crate::types::SnapshotStatus,
1326    pub hosts: ::std::vec::Vec<::std::primitive::u8>,
1327    // This field forces `..Default::default()` when instantiating this
1328    // struct, to make code future-proof against new fields added later to
1329    // the definition in Thrift. If you don't want this, add the annotation
1330    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1331    #[doc(hidden)]
1332    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1333}
1334
1335#[derive(Clone, PartialEq)]
1336pub struct ListSnapshotsResp {
1337    pub code: common::types::ErrorCode,
1338    pub leader: common::types::HostAddr,
1339    pub snapshots: ::std::vec::Vec<crate::types::Snapshot>,
1340    // This field forces `..Default::default()` when instantiating this
1341    // struct, to make code future-proof against new fields added later to
1342    // the definition in Thrift. If you don't want this, add the annotation
1343    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1344    #[doc(hidden)]
1345    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1346}
1347
1348#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1349pub struct ListIndexStatusReq {
1350    pub space_id: common::types::GraphSpaceID,
1351    // This field forces `..Default::default()` when instantiating this
1352    // struct, to make code future-proof against new fields added later to
1353    // the definition in Thrift. If you don't want this, add the annotation
1354    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1355    #[doc(hidden)]
1356    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1357}
1358
1359#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1360pub struct IndexStatus {
1361    pub name: ::std::vec::Vec<::std::primitive::u8>,
1362    pub status: ::std::vec::Vec<::std::primitive::u8>,
1363    // This field forces `..Default::default()` when instantiating this
1364    // struct, to make code future-proof against new fields added later to
1365    // the definition in Thrift. If you don't want this, add the annotation
1366    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1367    #[doc(hidden)]
1368    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1369}
1370
1371#[derive(Clone, PartialEq)]
1372pub struct ListIndexStatusResp {
1373    pub code: common::types::ErrorCode,
1374    pub leader: common::types::HostAddr,
1375    pub statuses: ::std::vec::Vec<crate::types::IndexStatus>,
1376    // This field forces `..Default::default()` when instantiating this
1377    // struct, to make code future-proof against new fields added later to
1378    // the definition in Thrift. If you don't want this, add the annotation
1379    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1380    #[doc(hidden)]
1381    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1382}
1383
1384#[derive(Clone, PartialEq)]
1385pub struct AddZoneReq {
1386    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1387    pub nodes: ::std::vec::Vec<common::types::HostAddr>,
1388    // This field forces `..Default::default()` when instantiating this
1389    // struct, to make code future-proof against new fields added later to
1390    // the definition in Thrift. If you don't want this, add the annotation
1391    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1392    #[doc(hidden)]
1393    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1394}
1395
1396#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1397pub struct DropZoneReq {
1398    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1399    // This field forces `..Default::default()` when instantiating this
1400    // struct, to make code future-proof against new fields added later to
1401    // the definition in Thrift. If you don't want this, add the annotation
1402    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1403    #[doc(hidden)]
1404    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1405}
1406
1407#[derive(Clone, PartialEq)]
1408pub struct AddHostIntoZoneReq {
1409    pub node: common::types::HostAddr,
1410    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1411    // This field forces `..Default::default()` when instantiating this
1412    // struct, to make code future-proof against new fields added later to
1413    // the definition in Thrift. If you don't want this, add the annotation
1414    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1415    #[doc(hidden)]
1416    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1417}
1418
1419#[derive(Clone, PartialEq)]
1420pub struct DropHostFromZoneReq {
1421    pub node: common::types::HostAddr,
1422    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1423    // This field forces `..Default::default()` when instantiating this
1424    // struct, to make code future-proof against new fields added later to
1425    // the definition in Thrift. If you don't want this, add the annotation
1426    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1427    #[doc(hidden)]
1428    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1429}
1430
1431#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1432pub struct GetZoneReq {
1433    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1434    // This field forces `..Default::default()` when instantiating this
1435    // struct, to make code future-proof against new fields added later to
1436    // the definition in Thrift. If you don't want this, add the annotation
1437    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1438    #[doc(hidden)]
1439    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1440}
1441
1442#[derive(Clone, PartialEq)]
1443pub struct GetZoneResp {
1444    pub code: common::types::ErrorCode,
1445    pub leader: common::types::HostAddr,
1446    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
1447    // This field forces `..Default::default()` when instantiating this
1448    // struct, to make code future-proof against new fields added later to
1449    // the definition in Thrift. If you don't want this, add the annotation
1450    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1451    #[doc(hidden)]
1452    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1453}
1454
1455#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1456pub struct ListZonesReq {
1457    // This field forces `..Default::default()` when instantiating this
1458    // struct, to make code future-proof against new fields added later to
1459    // the definition in Thrift. If you don't want this, add the annotation
1460    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1461    #[doc(hidden)]
1462    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1463}
1464
1465#[derive(Clone, PartialEq)]
1466pub struct Zone {
1467    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1468    pub nodes: ::std::vec::Vec<common::types::HostAddr>,
1469    // This field forces `..Default::default()` when instantiating this
1470    // struct, to make code future-proof against new fields added later to
1471    // the definition in Thrift. If you don't want this, add the annotation
1472    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1473    #[doc(hidden)]
1474    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1475}
1476
1477#[derive(Clone, PartialEq)]
1478pub struct ListZonesResp {
1479    pub code: common::types::ErrorCode,
1480    pub leader: common::types::HostAddr,
1481    pub zones: ::std::vec::Vec<crate::types::Zone>,
1482    // This field forces `..Default::default()` when instantiating this
1483    // struct, to make code future-proof against new fields added later to
1484    // the definition in Thrift. If you don't want this, add the annotation
1485    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1486    #[doc(hidden)]
1487    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1488}
1489
1490#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1491pub struct AddGroupReq {
1492    pub group_name: ::std::vec::Vec<::std::primitive::u8>,
1493    pub zone_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1494    // This field forces `..Default::default()` when instantiating this
1495    // struct, to make code future-proof against new fields added later to
1496    // the definition in Thrift. If you don't want this, add the annotation
1497    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1498    #[doc(hidden)]
1499    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1500}
1501
1502#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1503pub struct DropGroupReq {
1504    pub group_name: ::std::vec::Vec<::std::primitive::u8>,
1505    // This field forces `..Default::default()` when instantiating this
1506    // struct, to make code future-proof against new fields added later to
1507    // the definition in Thrift. If you don't want this, add the annotation
1508    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1509    #[doc(hidden)]
1510    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1511}
1512
1513#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1514pub struct AddZoneIntoGroupReq {
1515    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1516    pub group_name: ::std::vec::Vec<::std::primitive::u8>,
1517    // This field forces `..Default::default()` when instantiating this
1518    // struct, to make code future-proof against new fields added later to
1519    // the definition in Thrift. If you don't want this, add the annotation
1520    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1521    #[doc(hidden)]
1522    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1523}
1524
1525#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1526pub struct DropZoneFromGroupReq {
1527    pub zone_name: ::std::vec::Vec<::std::primitive::u8>,
1528    pub group_name: ::std::vec::Vec<::std::primitive::u8>,
1529    // This field forces `..Default::default()` when instantiating this
1530    // struct, to make code future-proof against new fields added later to
1531    // the definition in Thrift. If you don't want this, add the annotation
1532    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1533    #[doc(hidden)]
1534    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1535}
1536
1537#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1538pub struct GetGroupReq {
1539    pub group_name: ::std::vec::Vec<::std::primitive::u8>,
1540    // This field forces `..Default::default()` when instantiating this
1541    // struct, to make code future-proof against new fields added later to
1542    // the definition in Thrift. If you don't want this, add the annotation
1543    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1544    #[doc(hidden)]
1545    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1546}
1547
1548#[derive(Clone, PartialEq)]
1549pub struct GetGroupResp {
1550    pub code: common::types::ErrorCode,
1551    pub leader: common::types::HostAddr,
1552    pub zone_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1553    // This field forces `..Default::default()` when instantiating this
1554    // struct, to make code future-proof against new fields added later to
1555    // the definition in Thrift. If you don't want this, add the annotation
1556    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1557    #[doc(hidden)]
1558    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1559}
1560
1561#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1562pub struct ListGroupsReq {
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, Eq, PartialOrd, Ord, Hash)]
1572pub struct Group {
1573    pub group_name: ::std::vec::Vec<::std::primitive::u8>,
1574    pub zone_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1575    // This field forces `..Default::default()` when instantiating this
1576    // struct, to make code future-proof against new fields added later to
1577    // the definition in Thrift. If you don't want this, add the annotation
1578    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1579    #[doc(hidden)]
1580    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1581}
1582
1583#[derive(Clone, PartialEq)]
1584pub struct ListGroupsResp {
1585    pub code: common::types::ErrorCode,
1586    pub leader: common::types::HostAddr,
1587    pub groups: ::std::vec::Vec<crate::types::Group>,
1588    // This field forces `..Default::default()` when instantiating this
1589    // struct, to make code future-proof against new fields added later to
1590    // the definition in Thrift. If you don't want this, add the annotation
1591    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1592    #[doc(hidden)]
1593    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1594}
1595
1596#[derive(Clone, PartialEq)]
1597pub struct AddListenerReq {
1598    pub space_id: common::types::GraphSpaceID,
1599    pub r#type: crate::types::ListenerType,
1600    pub hosts: ::std::vec::Vec<common::types::HostAddr>,
1601    // This field forces `..Default::default()` when instantiating this
1602    // struct, to make code future-proof against new fields added later to
1603    // the definition in Thrift. If you don't want this, add the annotation
1604    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1605    #[doc(hidden)]
1606    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1607}
1608
1609#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1610pub struct RemoveListenerReq {
1611    pub space_id: common::types::GraphSpaceID,
1612    pub r#type: crate::types::ListenerType,
1613    // This field forces `..Default::default()` when instantiating this
1614    // struct, to make code future-proof against new fields added later to
1615    // the definition in Thrift. If you don't want this, add the annotation
1616    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1617    #[doc(hidden)]
1618    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1619}
1620
1621#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1622pub struct ListListenerReq {
1623    pub space_id: common::types::GraphSpaceID,
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 ListenerInfo {
1634    pub r#type: crate::types::ListenerType,
1635    pub host: common::types::HostAddr,
1636    pub part_id: common::types::PartitionID,
1637    pub status: crate::types::HostStatus,
1638    // This field forces `..Default::default()` when instantiating this
1639    // struct, to make code future-proof against new fields added later to
1640    // the definition in Thrift. If you don't want this, add the annotation
1641    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1642    #[doc(hidden)]
1643    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1644}
1645
1646#[derive(Clone, PartialEq)]
1647pub struct ListListenerResp {
1648    pub code: common::types::ErrorCode,
1649    pub leader: common::types::HostAddr,
1650    pub listeners: ::std::vec::Vec<crate::types::ListenerInfo>,
1651    // This field forces `..Default::default()` when instantiating this
1652    // struct, to make code future-proof against new fields added later to
1653    // the definition in Thrift. If you don't want this, add the annotation
1654    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1655    #[doc(hidden)]
1656    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1657}
1658
1659#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1660pub struct GetStatsReq {
1661    pub space_id: common::types::GraphSpaceID,
1662    // This field forces `..Default::default()` when instantiating this
1663    // struct, to make code future-proof against new fields added later to
1664    // the definition in Thrift. If you don't want this, add the annotation
1665    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1666    #[doc(hidden)]
1667    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1668}
1669
1670#[derive(Clone, PartialEq)]
1671pub struct GetStatsResp {
1672    pub code: common::types::ErrorCode,
1673    pub leader: common::types::HostAddr,
1674    pub stats: crate::types::StatsItem,
1675    // This field forces `..Default::default()` when instantiating this
1676    // struct, to make code future-proof against new fields added later to
1677    // the definition in Thrift. If you don't want this, add the annotation
1678    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1679    #[doc(hidden)]
1680    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1681}
1682
1683#[derive(Clone, PartialEq)]
1684pub struct BackupInfo {
1685    pub host: common::types::HostAddr,
1686    pub info: ::std::vec::Vec<common::types::CheckpointInfo>,
1687    // This field forces `..Default::default()` when instantiating this
1688    // struct, to make code future-proof against new fields added later to
1689    // the definition in Thrift. If you don't want this, add the annotation
1690    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1691    #[doc(hidden)]
1692    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1693}
1694
1695#[derive(Clone, PartialEq)]
1696pub struct SpaceBackupInfo {
1697    pub space: crate::types::SpaceDesc,
1698    pub info: ::std::vec::Vec<crate::types::BackupInfo>,
1699    // This field forces `..Default::default()` when instantiating this
1700    // struct, to make code future-proof against new fields added later to
1701    // the definition in Thrift. If you don't want this, add the annotation
1702    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1703    #[doc(hidden)]
1704    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1705}
1706
1707#[derive(Clone, PartialEq)]
1708pub struct BackupMeta {
1709    pub backup_info: ::std::collections::BTreeMap<common::types::GraphSpaceID, crate::types::SpaceBackupInfo>,
1710    pub meta_files: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1711    pub backup_name: ::std::vec::Vec<::std::primitive::u8>,
1712    pub full: ::std::primitive::bool,
1713    pub include_system_space: ::std::primitive::bool,
1714    pub create_time: ::std::primitive::i64,
1715    // This field forces `..Default::default()` when instantiating this
1716    // struct, to make code future-proof against new fields added later to
1717    // the definition in Thrift. If you don't want this, add the annotation
1718    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1719    #[doc(hidden)]
1720    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1721}
1722
1723#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1724pub struct CreateBackupReq {
1725    pub spaces: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
1726    // This field forces `..Default::default()` when instantiating this
1727    // struct, to make code future-proof against new fields added later to
1728    // the definition in Thrift. If you don't want this, add the annotation
1729    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1730    #[doc(hidden)]
1731    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1732}
1733
1734#[derive(Clone, PartialEq)]
1735pub struct CreateBackupResp {
1736    pub code: common::types::ErrorCode,
1737    pub leader: common::types::HostAddr,
1738    pub meta: crate::types::BackupMeta,
1739    // This field forces `..Default::default()` when instantiating this
1740    // struct, to make code future-proof against new fields added later to
1741    // the definition in Thrift. If you don't want this, add the annotation
1742    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1743    #[doc(hidden)]
1744    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1745}
1746
1747#[derive(Clone, PartialEq)]
1748pub struct HostPair {
1749    pub from_host: common::types::HostAddr,
1750    pub to_host: common::types::HostAddr,
1751    // This field forces `..Default::default()` when instantiating this
1752    // struct, to make code future-proof against new fields added later to
1753    // the definition in Thrift. If you don't want this, add the annotation
1754    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1755    #[doc(hidden)]
1756    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1757}
1758
1759#[derive(Clone, PartialEq)]
1760pub struct RestoreMetaReq {
1761    pub files: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1762    pub hosts: ::std::vec::Vec<crate::types::HostPair>,
1763    // This field forces `..Default::default()` when instantiating this
1764    // struct, to make code future-proof against new fields added later to
1765    // the definition in Thrift. If you don't want this, add the annotation
1766    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1767    #[doc(hidden)]
1768    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1769}
1770
1771#[derive(Clone, PartialEq)]
1772pub struct FTClient {
1773    pub host: common::types::HostAddr,
1774    pub user: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
1775    pub pwd: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
1776    // This field forces `..Default::default()` when instantiating this
1777    // struct, to make code future-proof against new fields added later to
1778    // the definition in Thrift. If you don't want this, add the annotation
1779    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1780    #[doc(hidden)]
1781    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1782}
1783
1784#[derive(Clone, PartialEq)]
1785pub struct SignInFTServiceReq {
1786    pub r#type: crate::types::FTServiceType,
1787    pub clients: ::std::vec::Vec<crate::types::FTClient>,
1788    // This field forces `..Default::default()` when instantiating this
1789    // struct, to make code future-proof against new fields added later to
1790    // the definition in Thrift. If you don't want this, add the annotation
1791    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1792    #[doc(hidden)]
1793    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1794}
1795
1796#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1797pub struct SignOutFTServiceReq {
1798    // This field forces `..Default::default()` when instantiating this
1799    // struct, to make code future-proof against new fields added later to
1800    // the definition in Thrift. If you don't want this, add the annotation
1801    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1802    #[doc(hidden)]
1803    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1804}
1805
1806#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1807pub struct ListFTClientsReq {
1808    // This field forces `..Default::default()` when instantiating this
1809    // struct, to make code future-proof against new fields added later to
1810    // the definition in Thrift. If you don't want this, add the annotation
1811    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1812    #[doc(hidden)]
1813    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1814}
1815
1816#[derive(Clone, PartialEq)]
1817pub struct ListFTClientsResp {
1818    pub code: common::types::ErrorCode,
1819    pub leader: common::types::HostAddr,
1820    pub clients: ::std::vec::Vec<crate::types::FTClient>,
1821    // This field forces `..Default::default()` when instantiating this
1822    // struct, to make code future-proof against new fields added later to
1823    // the definition in Thrift. If you don't want this, add the annotation
1824    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1825    #[doc(hidden)]
1826    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1827}
1828
1829#[derive(Clone, PartialEq)]
1830pub struct FTIndex {
1831    pub space_id: common::types::GraphSpaceID,
1832    pub depend_schema: common::types::SchemaID,
1833    pub fields: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
1834    // This field forces `..Default::default()` when instantiating this
1835    // struct, to make code future-proof against new fields added later to
1836    // the definition in Thrift. If you don't want this, add the annotation
1837    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1838    #[doc(hidden)]
1839    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1840}
1841
1842#[derive(Clone, PartialEq)]
1843pub struct CreateFTIndexReq {
1844    pub fulltext_index_name: ::std::vec::Vec<::std::primitive::u8>,
1845    pub index: crate::types::FTIndex,
1846    // This field forces `..Default::default()` when instantiating this
1847    // struct, to make code future-proof against new fields added later to
1848    // the definition in Thrift. If you don't want this, add the annotation
1849    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1850    #[doc(hidden)]
1851    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1852}
1853
1854#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1855pub struct DropFTIndexReq {
1856    pub space_id: common::types::GraphSpaceID,
1857    pub fulltext_index_name: ::std::vec::Vec<::std::primitive::u8>,
1858    // This field forces `..Default::default()` when instantiating this
1859    // struct, to make code future-proof against new fields added later to
1860    // the definition in Thrift. If you don't want this, add the annotation
1861    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1862    #[doc(hidden)]
1863    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1864}
1865
1866#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1867pub struct ListFTIndexesReq {
1868    // This field forces `..Default::default()` when instantiating this
1869    // struct, to make code future-proof against new fields added later to
1870    // the definition in Thrift. If you don't want this, add the annotation
1871    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1872    #[doc(hidden)]
1873    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1874}
1875
1876#[derive(Clone, PartialEq)]
1877pub struct ListFTIndexesResp {
1878    pub code: common::types::ErrorCode,
1879    pub leader: common::types::HostAddr,
1880    pub indexes: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, crate::types::FTIndex>,
1881    // This field forces `..Default::default()` when instantiating this
1882    // struct, to make code future-proof against new fields added later to
1883    // the definition in Thrift. If you don't want this, add the annotation
1884    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1885    #[doc(hidden)]
1886    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1887}
1888
1889#[derive(Clone, PartialEq)]
1890pub struct QueryDesc {
1891    pub start_time: common::types::Timestamp,
1892    pub status: crate::types::QueryStatus,
1893    pub duration: ::std::primitive::i64,
1894    pub query: ::std::vec::Vec<::std::primitive::u8>,
1895    pub graph_addr: common::types::HostAddr,
1896    // This field forces `..Default::default()` when instantiating this
1897    // struct, to make code future-proof against new fields added later to
1898    // the definition in Thrift. If you don't want this, add the annotation
1899    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1900    #[doc(hidden)]
1901    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1902}
1903
1904#[derive(Clone, PartialEq)]
1905pub struct Session {
1906    pub session_id: common::types::SessionID,
1907    pub create_time: common::types::Timestamp,
1908    pub update_time: common::types::Timestamp,
1909    pub user_name: ::std::vec::Vec<::std::primitive::u8>,
1910    pub space_name: ::std::vec::Vec<::std::primitive::u8>,
1911    pub graph_addr: common::types::HostAddr,
1912    pub timezone: ::std::primitive::i32,
1913    pub client_ip: ::std::vec::Vec<::std::primitive::u8>,
1914    pub configs: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, common::types::Value>,
1915    pub queries: ::std::collections::BTreeMap<common::types::ExecutionPlanID, crate::types::QueryDesc>,
1916    // This field forces `..Default::default()` when instantiating this
1917    // struct, to make code future-proof against new fields added later to
1918    // the definition in Thrift. If you don't want this, add the annotation
1919    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1920    #[doc(hidden)]
1921    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1922}
1923
1924#[derive(Clone, PartialEq)]
1925pub struct CreateSessionReq {
1926    pub user: ::std::vec::Vec<::std::primitive::u8>,
1927    pub graph_addr: common::types::HostAddr,
1928    pub client_ip: ::std::vec::Vec<::std::primitive::u8>,
1929    // This field forces `..Default::default()` when instantiating this
1930    // struct, to make code future-proof against new fields added later to
1931    // the definition in Thrift. If you don't want this, add the annotation
1932    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1933    #[doc(hidden)]
1934    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1935}
1936
1937#[derive(Clone, PartialEq)]
1938pub struct CreateSessionResp {
1939    pub code: common::types::ErrorCode,
1940    pub leader: common::types::HostAddr,
1941    pub session: crate::types::Session,
1942    // This field forces `..Default::default()` when instantiating this
1943    // struct, to make code future-proof against new fields added later to
1944    // the definition in Thrift. If you don't want this, add the annotation
1945    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1946    #[doc(hidden)]
1947    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1948}
1949
1950#[derive(Clone, PartialEq)]
1951pub struct UpdateSessionsReq {
1952    pub sessions: ::std::vec::Vec<crate::types::Session>,
1953    // This field forces `..Default::default()` when instantiating this
1954    // struct, to make code future-proof against new fields added later to
1955    // the definition in Thrift. If you don't want this, add the annotation
1956    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1957    #[doc(hidden)]
1958    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1959}
1960
1961#[derive(Clone, PartialEq)]
1962pub struct UpdateSessionsResp {
1963    pub code: common::types::ErrorCode,
1964    pub leader: common::types::HostAddr,
1965    pub killed_queries: ::std::collections::BTreeMap<common::types::SessionID, ::std::collections::BTreeMap<common::types::ExecutionPlanID, crate::types::QueryDesc>>,
1966    // This field forces `..Default::default()` when instantiating this
1967    // struct, to make code future-proof against new fields added later to
1968    // the definition in Thrift. If you don't want this, add the annotation
1969    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1970    #[doc(hidden)]
1971    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1972}
1973
1974#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1975pub struct ListSessionsReq {
1976    // This field forces `..Default::default()` when instantiating this
1977    // struct, to make code future-proof against new fields added later to
1978    // the definition in Thrift. If you don't want this, add the annotation
1979    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1980    #[doc(hidden)]
1981    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1982}
1983
1984#[derive(Clone, PartialEq)]
1985pub struct ListSessionsResp {
1986    pub code: common::types::ErrorCode,
1987    pub leader: common::types::HostAddr,
1988    pub sessions: ::std::vec::Vec<crate::types::Session>,
1989    // This field forces `..Default::default()` when instantiating this
1990    // struct, to make code future-proof against new fields added later to
1991    // the definition in Thrift. If you don't want this, add the annotation
1992    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1993    #[doc(hidden)]
1994    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1995}
1996
1997#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1998pub struct GetSessionReq {
1999    pub session_id: common::types::SessionID,
2000    // This field forces `..Default::default()` when instantiating this
2001    // struct, to make code future-proof against new fields added later to
2002    // the definition in Thrift. If you don't want this, add the annotation
2003    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2004    #[doc(hidden)]
2005    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2006}
2007
2008#[derive(Clone, PartialEq)]
2009pub struct GetSessionResp {
2010    pub code: common::types::ErrorCode,
2011    pub leader: common::types::HostAddr,
2012    pub session: crate::types::Session,
2013    // This field forces `..Default::default()` when instantiating this
2014    // struct, to make code future-proof against new fields added later to
2015    // the definition in Thrift. If you don't want this, add the annotation
2016    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2017    #[doc(hidden)]
2018    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2019}
2020
2021#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2022pub struct RemoveSessionReq {
2023    pub session_id: common::types::SessionID,
2024    // This field forces `..Default::default()` when instantiating this
2025    // struct, to make code future-proof against new fields added later to
2026    // the definition in Thrift. If you don't want this, add the annotation
2027    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2028    #[doc(hidden)]
2029    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2030}
2031
2032#[derive(Clone, PartialEq)]
2033pub struct KillQueryReq {
2034    pub kill_queries: ::std::collections::BTreeMap<common::types::SessionID, ::std::collections::BTreeSet<common::types::ExecutionPlanID>>,
2035    // This field forces `..Default::default()` when instantiating this
2036    // struct, to make code future-proof against new fields added later to
2037    // the definition in Thrift. If you don't want this, add the annotation
2038    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2039    #[doc(hidden)]
2040    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2041}
2042
2043#[derive(Clone, PartialEq)]
2044pub struct ReportTaskReq {
2045    pub code: common::types::ErrorCode,
2046    pub job_id: ::std::primitive::i32,
2047    pub task_id: ::std::primitive::i32,
2048    pub stats: ::std::option::Option<crate::types::StatsItem>,
2049    // This field forces `..Default::default()` when instantiating this
2050    // struct, to make code future-proof against new fields added later to
2051    // the definition in Thrift. If you don't want this, add the annotation
2052    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2053    #[doc(hidden)]
2054    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2055}
2056
2057#[derive(Clone, PartialEq)]
2058pub struct ListClusterInfoResp {
2059    pub code: common::types::ErrorCode,
2060    pub leader: common::types::HostAddr,
2061    pub meta_servers: ::std::vec::Vec<common::types::HostAddr>,
2062    pub storage_servers: ::std::vec::Vec<common::types::NodeInfo>,
2063    // This field forces `..Default::default()` when instantiating this
2064    // struct, to make code future-proof against new fields added later to
2065    // the definition in Thrift. If you don't want this, add the annotation
2066    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2067    #[doc(hidden)]
2068    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2069}
2070
2071#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2072pub struct ListClusterInfoReq {
2073    // This field forces `..Default::default()` when instantiating this
2074    // struct, to make code future-proof against new fields added later to
2075    // the definition in Thrift. If you don't want this, add the annotation
2076    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2077    #[doc(hidden)]
2078    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2079}
2080
2081#[derive(Clone, PartialEq)]
2082pub struct GetMetaDirInfoResp {
2083    pub code: common::types::ErrorCode,
2084    pub dir: common::types::DirInfo,
2085    // This field forces `..Default::default()` when instantiating this
2086    // struct, to make code future-proof against new fields added later to
2087    // the definition in Thrift. If you don't want this, add the annotation
2088    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2089    #[doc(hidden)]
2090    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2091}
2092
2093#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2094pub struct GetMetaDirInfoReq {
2095    // This field forces `..Default::default()` when instantiating this
2096    // struct, to make code future-proof against new fields added later to
2097    // the definition in Thrift. If you don't want this, add the annotation
2098    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2099    #[doc(hidden)]
2100    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2101}
2102
2103#[derive(Clone, PartialEq)]
2104pub struct VerifyClientVersionResp {
2105    pub code: common::types::ErrorCode,
2106    pub leader: common::types::HostAddr,
2107    pub error_msg: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
2108    // This field forces `..Default::default()` when instantiating this
2109    // struct, to make code future-proof against new fields added later to
2110    // the definition in Thrift. If you don't want this, add the annotation
2111    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2112    #[doc(hidden)]
2113    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2114}
2115
2116#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2117pub struct VerifyClientVersionReq {
2118    pub version: ::std::vec::Vec<::std::primitive::u8>,
2119    // This field forces `..Default::default()` when instantiating this
2120    // struct, to make code future-proof against new fields added later to
2121    // the definition in Thrift. If you don't want this, add the annotation
2122    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
2123    #[doc(hidden)]
2124    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
2125}
2126
2127#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2128pub struct AlterSchemaOp(pub ::std::primitive::i32);
2129
2130impl AlterSchemaOp {
2131    pub const ADD: Self = AlterSchemaOp(1i32);
2132    pub const CHANGE: Self = AlterSchemaOp(2i32);
2133    pub const DROP: Self = AlterSchemaOp(3i32);
2134    pub const UNKNOWN: Self = AlterSchemaOp(4i32);
2135}
2136
2137impl ::fbthrift::ThriftEnum for AlterSchemaOp {
2138    fn enumerate() -> &'static [(Self, &'static str)] {
2139        &[
2140            (Self::ADD, "ADD"),
2141            (Self::CHANGE, "CHANGE"),
2142            (Self::DROP, "DROP"),
2143            (Self::UNKNOWN, "UNKNOWN"),
2144        ]
2145    }
2146
2147    fn variants() -> &'static [&'static str] {
2148        &[
2149            "ADD",
2150            "CHANGE",
2151            "DROP",
2152            "UNKNOWN",
2153        ]
2154    }
2155
2156    fn variant_values() -> &'static [Self] {
2157        &[
2158            Self::ADD,
2159            Self::CHANGE,
2160            Self::DROP,
2161            Self::UNKNOWN,
2162        ]
2163    }
2164}
2165
2166impl ::std::default::Default for AlterSchemaOp {
2167    fn default() -> Self {
2168        Self(::fbthrift::__UNKNOWN_ID)
2169    }
2170}
2171
2172impl<'a> ::std::convert::From<&'a AlterSchemaOp> for ::std::primitive::i32 {
2173    #[inline]
2174    fn from(x: &'a AlterSchemaOp) -> Self {
2175        x.0
2176    }
2177}
2178
2179impl ::std::convert::From<AlterSchemaOp> for ::std::primitive::i32 {
2180    #[inline]
2181    fn from(x: AlterSchemaOp) -> Self {
2182        x.0
2183    }
2184}
2185
2186impl ::std::convert::From<::std::primitive::i32> for AlterSchemaOp {
2187    #[inline]
2188    fn from(x: ::std::primitive::i32) -> Self {
2189        Self(x)
2190    }
2191}
2192
2193impl ::std::fmt::Display for AlterSchemaOp {
2194    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2195        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2196            ("ADD", 1),
2197            ("CHANGE", 2),
2198            ("DROP", 3),
2199            ("UNKNOWN", 4),
2200        ];
2201        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2202    }
2203}
2204
2205impl ::std::fmt::Debug for AlterSchemaOp {
2206    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2207        write!(fmt, "AlterSchemaOp::{}", self)
2208    }
2209}
2210
2211impl ::std::str::FromStr for AlterSchemaOp {
2212    type Err = ::anyhow::Error;
2213
2214    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2215        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2216            ("ADD", 1),
2217            ("CHANGE", 2),
2218            ("DROP", 3),
2219            ("UNKNOWN", 4),
2220        ];
2221        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "AlterSchemaOp").map(Self)
2222    }
2223}
2224
2225impl ::fbthrift::GetTType for AlterSchemaOp {
2226    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2227}
2228
2229impl<P> ::fbthrift::Serialize<P> for AlterSchemaOp
2230where
2231    P: ::fbthrift::ProtocolWriter,
2232{
2233    #[inline]
2234    fn write(&self, p: &mut P) {
2235        p.write_i32(self.into())
2236    }
2237}
2238
2239impl<P> ::fbthrift::Deserialize<P> for AlterSchemaOp
2240where
2241    P: ::fbthrift::ProtocolReader,
2242{
2243    #[inline]
2244    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2245        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2246    }
2247}
2248
2249#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2250pub struct RoleType(pub ::std::primitive::i32);
2251
2252impl RoleType {
2253    pub const GOD: Self = RoleType(1i32);
2254    pub const ADMIN: Self = RoleType(2i32);
2255    pub const DBA: Self = RoleType(3i32);
2256    pub const USER: Self = RoleType(4i32);
2257    pub const GUEST: Self = RoleType(5i32);
2258}
2259
2260impl ::fbthrift::ThriftEnum for RoleType {
2261    fn enumerate() -> &'static [(Self, &'static str)] {
2262        &[
2263            (Self::GOD, "GOD"),
2264            (Self::ADMIN, "ADMIN"),
2265            (Self::DBA, "DBA"),
2266            (Self::USER, "USER"),
2267            (Self::GUEST, "GUEST"),
2268        ]
2269    }
2270
2271    fn variants() -> &'static [&'static str] {
2272        &[
2273            "GOD",
2274            "ADMIN",
2275            "DBA",
2276            "USER",
2277            "GUEST",
2278        ]
2279    }
2280
2281    fn variant_values() -> &'static [Self] {
2282        &[
2283            Self::GOD,
2284            Self::ADMIN,
2285            Self::DBA,
2286            Self::USER,
2287            Self::GUEST,
2288        ]
2289    }
2290}
2291
2292impl ::std::default::Default for RoleType {
2293    fn default() -> Self {
2294        Self(::fbthrift::__UNKNOWN_ID)
2295    }
2296}
2297
2298impl<'a> ::std::convert::From<&'a RoleType> for ::std::primitive::i32 {
2299    #[inline]
2300    fn from(x: &'a RoleType) -> Self {
2301        x.0
2302    }
2303}
2304
2305impl ::std::convert::From<RoleType> for ::std::primitive::i32 {
2306    #[inline]
2307    fn from(x: RoleType) -> Self {
2308        x.0
2309    }
2310}
2311
2312impl ::std::convert::From<::std::primitive::i32> for RoleType {
2313    #[inline]
2314    fn from(x: ::std::primitive::i32) -> Self {
2315        Self(x)
2316    }
2317}
2318
2319impl ::std::fmt::Display for RoleType {
2320    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2321        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2322            ("GOD", 1),
2323            ("ADMIN", 2),
2324            ("DBA", 3),
2325            ("USER", 4),
2326            ("GUEST", 5),
2327        ];
2328        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2329    }
2330}
2331
2332impl ::std::fmt::Debug for RoleType {
2333    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2334        write!(fmt, "RoleType::{}", self)
2335    }
2336}
2337
2338impl ::std::str::FromStr for RoleType {
2339    type Err = ::anyhow::Error;
2340
2341    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2342        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2343            ("ADMIN", 2),
2344            ("DBA", 3),
2345            ("GOD", 1),
2346            ("GUEST", 5),
2347            ("USER", 4),
2348        ];
2349        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "RoleType").map(Self)
2350    }
2351}
2352
2353impl ::fbthrift::GetTType for RoleType {
2354    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2355}
2356
2357impl<P> ::fbthrift::Serialize<P> for RoleType
2358where
2359    P: ::fbthrift::ProtocolWriter,
2360{
2361    #[inline]
2362    fn write(&self, p: &mut P) {
2363        p.write_i32(self.into())
2364    }
2365}
2366
2367impl<P> ::fbthrift::Deserialize<P> for RoleType
2368where
2369    P: ::fbthrift::ProtocolReader,
2370{
2371    #[inline]
2372    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2373        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2374    }
2375}
2376
2377#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2378pub struct GeoShape(pub ::std::primitive::i32);
2379
2380impl GeoShape {
2381    pub const ANY: Self = GeoShape(0i32);
2382    pub const POINT: Self = GeoShape(1i32);
2383    pub const LINESTRING: Self = GeoShape(2i32);
2384    pub const POLYGON: Self = GeoShape(3i32);
2385}
2386
2387impl ::fbthrift::ThriftEnum for GeoShape {
2388    fn enumerate() -> &'static [(Self, &'static str)] {
2389        &[
2390            (Self::ANY, "ANY"),
2391            (Self::POINT, "POINT"),
2392            (Self::LINESTRING, "LINESTRING"),
2393            (Self::POLYGON, "POLYGON"),
2394        ]
2395    }
2396
2397    fn variants() -> &'static [&'static str] {
2398        &[
2399            "ANY",
2400            "POINT",
2401            "LINESTRING",
2402            "POLYGON",
2403        ]
2404    }
2405
2406    fn variant_values() -> &'static [Self] {
2407        &[
2408            Self::ANY,
2409            Self::POINT,
2410            Self::LINESTRING,
2411            Self::POLYGON,
2412        ]
2413    }
2414}
2415
2416impl ::std::default::Default for GeoShape {
2417    fn default() -> Self {
2418        Self(::fbthrift::__UNKNOWN_ID)
2419    }
2420}
2421
2422impl<'a> ::std::convert::From<&'a GeoShape> for ::std::primitive::i32 {
2423    #[inline]
2424    fn from(x: &'a GeoShape) -> Self {
2425        x.0
2426    }
2427}
2428
2429impl ::std::convert::From<GeoShape> for ::std::primitive::i32 {
2430    #[inline]
2431    fn from(x: GeoShape) -> Self {
2432        x.0
2433    }
2434}
2435
2436impl ::std::convert::From<::std::primitive::i32> for GeoShape {
2437    #[inline]
2438    fn from(x: ::std::primitive::i32) -> Self {
2439        Self(x)
2440    }
2441}
2442
2443impl ::std::fmt::Display for GeoShape {
2444    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2445        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2446            ("ANY", 0),
2447            ("POINT", 1),
2448            ("LINESTRING", 2),
2449            ("POLYGON", 3),
2450        ];
2451        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2452    }
2453}
2454
2455impl ::std::fmt::Debug for GeoShape {
2456    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2457        write!(fmt, "GeoShape::{}", self)
2458    }
2459}
2460
2461impl ::std::str::FromStr for GeoShape {
2462    type Err = ::anyhow::Error;
2463
2464    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2465        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2466            ("ANY", 0),
2467            ("LINESTRING", 2),
2468            ("POINT", 1),
2469            ("POLYGON", 3),
2470        ];
2471        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "GeoShape").map(Self)
2472    }
2473}
2474
2475impl ::fbthrift::GetTType for GeoShape {
2476    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2477}
2478
2479impl<P> ::fbthrift::Serialize<P> for GeoShape
2480where
2481    P: ::fbthrift::ProtocolWriter,
2482{
2483    #[inline]
2484    fn write(&self, p: &mut P) {
2485        p.write_i32(self.into())
2486    }
2487}
2488
2489impl<P> ::fbthrift::Deserialize<P> for GeoShape
2490where
2491    P: ::fbthrift::ProtocolReader,
2492{
2493    #[inline]
2494    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2495        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2496    }
2497}
2498
2499#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2500pub struct PropertyType(pub ::std::primitive::i32);
2501
2502impl PropertyType {
2503    pub const UNKNOWN: Self = PropertyType(0i32);
2504    pub const BOOL: Self = PropertyType(1i32);
2505    pub const INT64: Self = PropertyType(2i32);
2506    pub const VID: Self = PropertyType(3i32);
2507    pub const FLOAT: Self = PropertyType(4i32);
2508    pub const DOUBLE: Self = PropertyType(5i32);
2509    pub const STRING: Self = PropertyType(6i32);
2510    pub const FIXED_STRING: Self = PropertyType(7i32);
2511    pub const INT8: Self = PropertyType(8i32);
2512    pub const INT16: Self = PropertyType(9i32);
2513    pub const INT32: Self = PropertyType(10i32);
2514    pub const TIMESTAMP: Self = PropertyType(21i32);
2515    pub const DATE: Self = PropertyType(24i32);
2516    pub const DATETIME: Self = PropertyType(25i32);
2517    pub const TIME: Self = PropertyType(26i32);
2518    pub const GEOGRAPHY: Self = PropertyType(31i32);
2519}
2520
2521impl ::fbthrift::ThriftEnum for PropertyType {
2522    fn enumerate() -> &'static [(Self, &'static str)] {
2523        &[
2524            (Self::UNKNOWN, "UNKNOWN"),
2525            (Self::BOOL, "BOOL"),
2526            (Self::INT64, "INT64"),
2527            (Self::VID, "VID"),
2528            (Self::FLOAT, "FLOAT"),
2529            (Self::DOUBLE, "DOUBLE"),
2530            (Self::STRING, "STRING"),
2531            (Self::FIXED_STRING, "FIXED_STRING"),
2532            (Self::INT8, "INT8"),
2533            (Self::INT16, "INT16"),
2534            (Self::INT32, "INT32"),
2535            (Self::TIMESTAMP, "TIMESTAMP"),
2536            (Self::DATE, "DATE"),
2537            (Self::DATETIME, "DATETIME"),
2538            (Self::TIME, "TIME"),
2539            (Self::GEOGRAPHY, "GEOGRAPHY"),
2540        ]
2541    }
2542
2543    fn variants() -> &'static [&'static str] {
2544        &[
2545            "UNKNOWN",
2546            "BOOL",
2547            "INT64",
2548            "VID",
2549            "FLOAT",
2550            "DOUBLE",
2551            "STRING",
2552            "FIXED_STRING",
2553            "INT8",
2554            "INT16",
2555            "INT32",
2556            "TIMESTAMP",
2557            "DATE",
2558            "DATETIME",
2559            "TIME",
2560            "GEOGRAPHY",
2561        ]
2562    }
2563
2564    fn variant_values() -> &'static [Self] {
2565        &[
2566            Self::UNKNOWN,
2567            Self::BOOL,
2568            Self::INT64,
2569            Self::VID,
2570            Self::FLOAT,
2571            Self::DOUBLE,
2572            Self::STRING,
2573            Self::FIXED_STRING,
2574            Self::INT8,
2575            Self::INT16,
2576            Self::INT32,
2577            Self::TIMESTAMP,
2578            Self::DATE,
2579            Self::DATETIME,
2580            Self::TIME,
2581            Self::GEOGRAPHY,
2582        ]
2583    }
2584}
2585
2586impl ::std::default::Default for PropertyType {
2587    fn default() -> Self {
2588        Self(::fbthrift::__UNKNOWN_ID)
2589    }
2590}
2591
2592impl<'a> ::std::convert::From<&'a PropertyType> for ::std::primitive::i32 {
2593    #[inline]
2594    fn from(x: &'a PropertyType) -> Self {
2595        x.0
2596    }
2597}
2598
2599impl ::std::convert::From<PropertyType> for ::std::primitive::i32 {
2600    #[inline]
2601    fn from(x: PropertyType) -> Self {
2602        x.0
2603    }
2604}
2605
2606impl ::std::convert::From<::std::primitive::i32> for PropertyType {
2607    #[inline]
2608    fn from(x: ::std::primitive::i32) -> Self {
2609        Self(x)
2610    }
2611}
2612
2613impl ::std::fmt::Display for PropertyType {
2614    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2615        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2616            ("UNKNOWN", 0),
2617            ("BOOL", 1),
2618            ("INT64", 2),
2619            ("VID", 3),
2620            ("FLOAT", 4),
2621            ("DOUBLE", 5),
2622            ("STRING", 6),
2623            ("FIXED_STRING", 7),
2624            ("INT8", 8),
2625            ("INT16", 9),
2626            ("INT32", 10),
2627            ("TIMESTAMP", 21),
2628            ("DATE", 24),
2629            ("DATETIME", 25),
2630            ("TIME", 26),
2631            ("GEOGRAPHY", 31),
2632        ];
2633        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2634    }
2635}
2636
2637impl ::std::fmt::Debug for PropertyType {
2638    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2639        write!(fmt, "PropertyType::{}", self)
2640    }
2641}
2642
2643impl ::std::str::FromStr for PropertyType {
2644    type Err = ::anyhow::Error;
2645
2646    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2647        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2648            ("BOOL", 1),
2649            ("DATE", 24),
2650            ("DATETIME", 25),
2651            ("DOUBLE", 5),
2652            ("FIXED_STRING", 7),
2653            ("FLOAT", 4),
2654            ("GEOGRAPHY", 31),
2655            ("INT16", 9),
2656            ("INT32", 10),
2657            ("INT64", 2),
2658            ("INT8", 8),
2659            ("STRING", 6),
2660            ("TIME", 26),
2661            ("TIMESTAMP", 21),
2662            ("UNKNOWN", 0),
2663            ("VID", 3),
2664        ];
2665        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "PropertyType").map(Self)
2666    }
2667}
2668
2669impl ::fbthrift::GetTType for PropertyType {
2670    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2671}
2672
2673impl<P> ::fbthrift::Serialize<P> for PropertyType
2674where
2675    P: ::fbthrift::ProtocolWriter,
2676{
2677    #[inline]
2678    fn write(&self, p: &mut P) {
2679        p.write_i32(self.into())
2680    }
2681}
2682
2683impl<P> ::fbthrift::Deserialize<P> for PropertyType
2684where
2685    P: ::fbthrift::ProtocolReader,
2686{
2687    #[inline]
2688    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2689        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2690    }
2691}
2692
2693#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2694pub struct IsolationLevel(pub ::std::primitive::i32);
2695
2696impl IsolationLevel {
2697    pub const DEFAULT: Self = IsolationLevel(0i32);
2698    pub const TOSS: Self = IsolationLevel(1i32);
2699}
2700
2701impl ::fbthrift::ThriftEnum for IsolationLevel {
2702    fn enumerate() -> &'static [(Self, &'static str)] {
2703        &[
2704            (Self::DEFAULT, "DEFAULT"),
2705            (Self::TOSS, "TOSS"),
2706        ]
2707    }
2708
2709    fn variants() -> &'static [&'static str] {
2710        &[
2711            "DEFAULT",
2712            "TOSS",
2713        ]
2714    }
2715
2716    fn variant_values() -> &'static [Self] {
2717        &[
2718            Self::DEFAULT,
2719            Self::TOSS,
2720        ]
2721    }
2722}
2723
2724impl ::std::default::Default for IsolationLevel {
2725    fn default() -> Self {
2726        Self(::fbthrift::__UNKNOWN_ID)
2727    }
2728}
2729
2730impl<'a> ::std::convert::From<&'a IsolationLevel> for ::std::primitive::i32 {
2731    #[inline]
2732    fn from(x: &'a IsolationLevel) -> Self {
2733        x.0
2734    }
2735}
2736
2737impl ::std::convert::From<IsolationLevel> for ::std::primitive::i32 {
2738    #[inline]
2739    fn from(x: IsolationLevel) -> Self {
2740        x.0
2741    }
2742}
2743
2744impl ::std::convert::From<::std::primitive::i32> for IsolationLevel {
2745    #[inline]
2746    fn from(x: ::std::primitive::i32) -> Self {
2747        Self(x)
2748    }
2749}
2750
2751impl ::std::fmt::Display for IsolationLevel {
2752    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2753        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2754            ("DEFAULT", 0),
2755            ("TOSS", 1),
2756        ];
2757        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2758    }
2759}
2760
2761impl ::std::fmt::Debug for IsolationLevel {
2762    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2763        write!(fmt, "IsolationLevel::{}", self)
2764    }
2765}
2766
2767impl ::std::str::FromStr for IsolationLevel {
2768    type Err = ::anyhow::Error;
2769
2770    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2771        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2772            ("DEFAULT", 0),
2773            ("TOSS", 1),
2774        ];
2775        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "IsolationLevel").map(Self)
2776    }
2777}
2778
2779impl ::fbthrift::GetTType for IsolationLevel {
2780    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2781}
2782
2783impl<P> ::fbthrift::Serialize<P> for IsolationLevel
2784where
2785    P: ::fbthrift::ProtocolWriter,
2786{
2787    #[inline]
2788    fn write(&self, p: &mut P) {
2789        p.write_i32(self.into())
2790    }
2791}
2792
2793impl<P> ::fbthrift::Deserialize<P> for IsolationLevel
2794where
2795    P: ::fbthrift::ProtocolReader,
2796{
2797    #[inline]
2798    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2799        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2800    }
2801}
2802
2803#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2804pub struct HostStatus(pub ::std::primitive::i32);
2805
2806impl HostStatus {
2807    pub const ONLINE: Self = HostStatus(0i32);
2808    pub const OFFLINE: Self = HostStatus(1i32);
2809    pub const UNKNOWN: Self = HostStatus(2i32);
2810}
2811
2812impl ::fbthrift::ThriftEnum for HostStatus {
2813    fn enumerate() -> &'static [(Self, &'static str)] {
2814        &[
2815            (Self::ONLINE, "ONLINE"),
2816            (Self::OFFLINE, "OFFLINE"),
2817            (Self::UNKNOWN, "UNKNOWN"),
2818        ]
2819    }
2820
2821    fn variants() -> &'static [&'static str] {
2822        &[
2823            "ONLINE",
2824            "OFFLINE",
2825            "UNKNOWN",
2826        ]
2827    }
2828
2829    fn variant_values() -> &'static [Self] {
2830        &[
2831            Self::ONLINE,
2832            Self::OFFLINE,
2833            Self::UNKNOWN,
2834        ]
2835    }
2836}
2837
2838impl ::std::default::Default for HostStatus {
2839    fn default() -> Self {
2840        Self(::fbthrift::__UNKNOWN_ID)
2841    }
2842}
2843
2844impl<'a> ::std::convert::From<&'a HostStatus> for ::std::primitive::i32 {
2845    #[inline]
2846    fn from(x: &'a HostStatus) -> Self {
2847        x.0
2848    }
2849}
2850
2851impl ::std::convert::From<HostStatus> for ::std::primitive::i32 {
2852    #[inline]
2853    fn from(x: HostStatus) -> Self {
2854        x.0
2855    }
2856}
2857
2858impl ::std::convert::From<::std::primitive::i32> for HostStatus {
2859    #[inline]
2860    fn from(x: ::std::primitive::i32) -> Self {
2861        Self(x)
2862    }
2863}
2864
2865impl ::std::fmt::Display for HostStatus {
2866    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2867        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2868            ("ONLINE", 0),
2869            ("OFFLINE", 1),
2870            ("UNKNOWN", 2),
2871        ];
2872        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2873    }
2874}
2875
2876impl ::std::fmt::Debug for HostStatus {
2877    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2878        write!(fmt, "HostStatus::{}", self)
2879    }
2880}
2881
2882impl ::std::str::FromStr for HostStatus {
2883    type Err = ::anyhow::Error;
2884
2885    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2886        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2887            ("OFFLINE", 1),
2888            ("ONLINE", 0),
2889            ("UNKNOWN", 2),
2890        ];
2891        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "HostStatus").map(Self)
2892    }
2893}
2894
2895impl ::fbthrift::GetTType for HostStatus {
2896    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
2897}
2898
2899impl<P> ::fbthrift::Serialize<P> for HostStatus
2900where
2901    P: ::fbthrift::ProtocolWriter,
2902{
2903    #[inline]
2904    fn write(&self, p: &mut P) {
2905        p.write_i32(self.into())
2906    }
2907}
2908
2909impl<P> ::fbthrift::Deserialize<P> for HostStatus
2910where
2911    P: ::fbthrift::ProtocolReader,
2912{
2913    #[inline]
2914    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2915        ::std::result::Result::Ok(Self::from(p.read_i32()?))
2916    }
2917}
2918
2919#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
2920pub struct SnapshotStatus(pub ::std::primitive::i32);
2921
2922impl SnapshotStatus {
2923    pub const VALID: Self = SnapshotStatus(0i32);
2924    pub const INVALID: Self = SnapshotStatus(1i32);
2925}
2926
2927impl ::fbthrift::ThriftEnum for SnapshotStatus {
2928    fn enumerate() -> &'static [(Self, &'static str)] {
2929        &[
2930            (Self::VALID, "VALID"),
2931            (Self::INVALID, "INVALID"),
2932        ]
2933    }
2934
2935    fn variants() -> &'static [&'static str] {
2936        &[
2937            "VALID",
2938            "INVALID",
2939        ]
2940    }
2941
2942    fn variant_values() -> &'static [Self] {
2943        &[
2944            Self::VALID,
2945            Self::INVALID,
2946        ]
2947    }
2948}
2949
2950impl ::std::default::Default for SnapshotStatus {
2951    fn default() -> Self {
2952        Self(::fbthrift::__UNKNOWN_ID)
2953    }
2954}
2955
2956impl<'a> ::std::convert::From<&'a SnapshotStatus> for ::std::primitive::i32 {
2957    #[inline]
2958    fn from(x: &'a SnapshotStatus) -> Self {
2959        x.0
2960    }
2961}
2962
2963impl ::std::convert::From<SnapshotStatus> for ::std::primitive::i32 {
2964    #[inline]
2965    fn from(x: SnapshotStatus) -> Self {
2966        x.0
2967    }
2968}
2969
2970impl ::std::convert::From<::std::primitive::i32> for SnapshotStatus {
2971    #[inline]
2972    fn from(x: ::std::primitive::i32) -> Self {
2973        Self(x)
2974    }
2975}
2976
2977impl ::std::fmt::Display for SnapshotStatus {
2978    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2979        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2980            ("VALID", 0),
2981            ("INVALID", 1),
2982        ];
2983        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
2984    }
2985}
2986
2987impl ::std::fmt::Debug for SnapshotStatus {
2988    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2989        write!(fmt, "SnapshotStatus::{}", self)
2990    }
2991}
2992
2993impl ::std::str::FromStr for SnapshotStatus {
2994    type Err = ::anyhow::Error;
2995
2996    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
2997        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
2998            ("INVALID", 1),
2999            ("VALID", 0),
3000        ];
3001        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "SnapshotStatus").map(Self)
3002    }
3003}
3004
3005impl ::fbthrift::GetTType for SnapshotStatus {
3006    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3007}
3008
3009impl<P> ::fbthrift::Serialize<P> for SnapshotStatus
3010where
3011    P: ::fbthrift::ProtocolWriter,
3012{
3013    #[inline]
3014    fn write(&self, p: &mut P) {
3015        p.write_i32(self.into())
3016    }
3017}
3018
3019impl<P> ::fbthrift::Deserialize<P> for SnapshotStatus
3020where
3021    P: ::fbthrift::ProtocolReader,
3022{
3023    #[inline]
3024    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3025        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3026    }
3027}
3028
3029#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3030pub struct AdminJobOp(pub ::std::primitive::i32);
3031
3032impl AdminJobOp {
3033    pub const ADD: Self = AdminJobOp(1i32);
3034    pub const SHOW_All: Self = AdminJobOp(2i32);
3035    pub const SHOW: Self = AdminJobOp(3i32);
3036    pub const STOP: Self = AdminJobOp(4i32);
3037    pub const RECOVER: Self = AdminJobOp(5i32);
3038}
3039
3040impl ::fbthrift::ThriftEnum for AdminJobOp {
3041    fn enumerate() -> &'static [(Self, &'static str)] {
3042        &[
3043            (Self::ADD, "ADD"),
3044            (Self::SHOW_All, "SHOW_All"),
3045            (Self::SHOW, "SHOW"),
3046            (Self::STOP, "STOP"),
3047            (Self::RECOVER, "RECOVER"),
3048        ]
3049    }
3050
3051    fn variants() -> &'static [&'static str] {
3052        &[
3053            "ADD",
3054            "SHOW_All",
3055            "SHOW",
3056            "STOP",
3057            "RECOVER",
3058        ]
3059    }
3060
3061    fn variant_values() -> &'static [Self] {
3062        &[
3063            Self::ADD,
3064            Self::SHOW_All,
3065            Self::SHOW,
3066            Self::STOP,
3067            Self::RECOVER,
3068        ]
3069    }
3070}
3071
3072impl ::std::default::Default for AdminJobOp {
3073    fn default() -> Self {
3074        Self(::fbthrift::__UNKNOWN_ID)
3075    }
3076}
3077
3078impl<'a> ::std::convert::From<&'a AdminJobOp> for ::std::primitive::i32 {
3079    #[inline]
3080    fn from(x: &'a AdminJobOp) -> Self {
3081        x.0
3082    }
3083}
3084
3085impl ::std::convert::From<AdminJobOp> for ::std::primitive::i32 {
3086    #[inline]
3087    fn from(x: AdminJobOp) -> Self {
3088        x.0
3089    }
3090}
3091
3092impl ::std::convert::From<::std::primitive::i32> for AdminJobOp {
3093    #[inline]
3094    fn from(x: ::std::primitive::i32) -> Self {
3095        Self(x)
3096    }
3097}
3098
3099impl ::std::fmt::Display for AdminJobOp {
3100    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3101        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3102            ("ADD", 1),
3103            ("SHOW_All", 2),
3104            ("SHOW", 3),
3105            ("STOP", 4),
3106            ("RECOVER", 5),
3107        ];
3108        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3109    }
3110}
3111
3112impl ::std::fmt::Debug for AdminJobOp {
3113    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3114        write!(fmt, "AdminJobOp::{}", self)
3115    }
3116}
3117
3118impl ::std::str::FromStr for AdminJobOp {
3119    type Err = ::anyhow::Error;
3120
3121    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3122        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3123            ("ADD", 1),
3124            ("RECOVER", 5),
3125            ("SHOW", 3),
3126            ("SHOW_All", 2),
3127            ("STOP", 4),
3128        ];
3129        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "AdminJobOp").map(Self)
3130    }
3131}
3132
3133impl ::fbthrift::GetTType for AdminJobOp {
3134    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3135}
3136
3137impl<P> ::fbthrift::Serialize<P> for AdminJobOp
3138where
3139    P: ::fbthrift::ProtocolWriter,
3140{
3141    #[inline]
3142    fn write(&self, p: &mut P) {
3143        p.write_i32(self.into())
3144    }
3145}
3146
3147impl<P> ::fbthrift::Deserialize<P> for AdminJobOp
3148where
3149    P: ::fbthrift::ProtocolReader,
3150{
3151    #[inline]
3152    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3153        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3154    }
3155}
3156
3157#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3158pub struct AdminCmd(pub ::std::primitive::i32);
3159
3160impl AdminCmd {
3161    pub const COMPACT: Self = AdminCmd(0i32);
3162    pub const FLUSH: Self = AdminCmd(1i32);
3163    pub const REBUILD_TAG_INDEX: Self = AdminCmd(2i32);
3164    pub const REBUILD_EDGE_INDEX: Self = AdminCmd(3i32);
3165    pub const REBUILD_FULLTEXT_INDEX: Self = AdminCmd(4i32);
3166    pub const STATS: Self = AdminCmd(5i32);
3167    pub const DATA_BALANCE: Self = AdminCmd(6i32);
3168    pub const DOWNLOAD: Self = AdminCmd(7i32);
3169    pub const INGEST: Self = AdminCmd(8i32);
3170    pub const UNKNOWN: Self = AdminCmd(99i32);
3171}
3172
3173impl ::fbthrift::ThriftEnum for AdminCmd {
3174    fn enumerate() -> &'static [(Self, &'static str)] {
3175        &[
3176            (Self::COMPACT, "COMPACT"),
3177            (Self::FLUSH, "FLUSH"),
3178            (Self::REBUILD_TAG_INDEX, "REBUILD_TAG_INDEX"),
3179            (Self::REBUILD_EDGE_INDEX, "REBUILD_EDGE_INDEX"),
3180            (Self::REBUILD_FULLTEXT_INDEX, "REBUILD_FULLTEXT_INDEX"),
3181            (Self::STATS, "STATS"),
3182            (Self::DATA_BALANCE, "DATA_BALANCE"),
3183            (Self::DOWNLOAD, "DOWNLOAD"),
3184            (Self::INGEST, "INGEST"),
3185            (Self::UNKNOWN, "UNKNOWN"),
3186        ]
3187    }
3188
3189    fn variants() -> &'static [&'static str] {
3190        &[
3191            "COMPACT",
3192            "FLUSH",
3193            "REBUILD_TAG_INDEX",
3194            "REBUILD_EDGE_INDEX",
3195            "REBUILD_FULLTEXT_INDEX",
3196            "STATS",
3197            "DATA_BALANCE",
3198            "DOWNLOAD",
3199            "INGEST",
3200            "UNKNOWN",
3201        ]
3202    }
3203
3204    fn variant_values() -> &'static [Self] {
3205        &[
3206            Self::COMPACT,
3207            Self::FLUSH,
3208            Self::REBUILD_TAG_INDEX,
3209            Self::REBUILD_EDGE_INDEX,
3210            Self::REBUILD_FULLTEXT_INDEX,
3211            Self::STATS,
3212            Self::DATA_BALANCE,
3213            Self::DOWNLOAD,
3214            Self::INGEST,
3215            Self::UNKNOWN,
3216        ]
3217    }
3218}
3219
3220impl ::std::default::Default for AdminCmd {
3221    fn default() -> Self {
3222        Self(::fbthrift::__UNKNOWN_ID)
3223    }
3224}
3225
3226impl<'a> ::std::convert::From<&'a AdminCmd> for ::std::primitive::i32 {
3227    #[inline]
3228    fn from(x: &'a AdminCmd) -> Self {
3229        x.0
3230    }
3231}
3232
3233impl ::std::convert::From<AdminCmd> for ::std::primitive::i32 {
3234    #[inline]
3235    fn from(x: AdminCmd) -> Self {
3236        x.0
3237    }
3238}
3239
3240impl ::std::convert::From<::std::primitive::i32> for AdminCmd {
3241    #[inline]
3242    fn from(x: ::std::primitive::i32) -> Self {
3243        Self(x)
3244    }
3245}
3246
3247impl ::std::fmt::Display for AdminCmd {
3248    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3249        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3250            ("COMPACT", 0),
3251            ("FLUSH", 1),
3252            ("REBUILD_TAG_INDEX", 2),
3253            ("REBUILD_EDGE_INDEX", 3),
3254            ("REBUILD_FULLTEXT_INDEX", 4),
3255            ("STATS", 5),
3256            ("DATA_BALANCE", 6),
3257            ("DOWNLOAD", 7),
3258            ("INGEST", 8),
3259            ("UNKNOWN", 99),
3260        ];
3261        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3262    }
3263}
3264
3265impl ::std::fmt::Debug for AdminCmd {
3266    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3267        write!(fmt, "AdminCmd::{}", self)
3268    }
3269}
3270
3271impl ::std::str::FromStr for AdminCmd {
3272    type Err = ::anyhow::Error;
3273
3274    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3275        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3276            ("COMPACT", 0),
3277            ("DATA_BALANCE", 6),
3278            ("DOWNLOAD", 7),
3279            ("FLUSH", 1),
3280            ("INGEST", 8),
3281            ("REBUILD_EDGE_INDEX", 3),
3282            ("REBUILD_FULLTEXT_INDEX", 4),
3283            ("REBUILD_TAG_INDEX", 2),
3284            ("STATS", 5),
3285            ("UNKNOWN", 99),
3286        ];
3287        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "AdminCmd").map(Self)
3288    }
3289}
3290
3291impl ::fbthrift::GetTType for AdminCmd {
3292    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3293}
3294
3295impl<P> ::fbthrift::Serialize<P> for AdminCmd
3296where
3297    P: ::fbthrift::ProtocolWriter,
3298{
3299    #[inline]
3300    fn write(&self, p: &mut P) {
3301        p.write_i32(self.into())
3302    }
3303}
3304
3305impl<P> ::fbthrift::Deserialize<P> for AdminCmd
3306where
3307    P: ::fbthrift::ProtocolReader,
3308{
3309    #[inline]
3310    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3311        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3312    }
3313}
3314
3315#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3316pub struct JobStatus(pub ::std::primitive::i32);
3317
3318impl JobStatus {
3319    pub const QUEUE: Self = JobStatus(1i32);
3320    pub const RUNNING: Self = JobStatus(2i32);
3321    pub const FINISHED: Self = JobStatus(3i32);
3322    pub const FAILED: Self = JobStatus(4i32);
3323    pub const STOPPED: Self = JobStatus(5i32);
3324    pub const INVALID: Self = JobStatus(255i32);
3325}
3326
3327impl ::fbthrift::ThriftEnum for JobStatus {
3328    fn enumerate() -> &'static [(Self, &'static str)] {
3329        &[
3330            (Self::QUEUE, "QUEUE"),
3331            (Self::RUNNING, "RUNNING"),
3332            (Self::FINISHED, "FINISHED"),
3333            (Self::FAILED, "FAILED"),
3334            (Self::STOPPED, "STOPPED"),
3335            (Self::INVALID, "INVALID"),
3336        ]
3337    }
3338
3339    fn variants() -> &'static [&'static str] {
3340        &[
3341            "QUEUE",
3342            "RUNNING",
3343            "FINISHED",
3344            "FAILED",
3345            "STOPPED",
3346            "INVALID",
3347        ]
3348    }
3349
3350    fn variant_values() -> &'static [Self] {
3351        &[
3352            Self::QUEUE,
3353            Self::RUNNING,
3354            Self::FINISHED,
3355            Self::FAILED,
3356            Self::STOPPED,
3357            Self::INVALID,
3358        ]
3359    }
3360}
3361
3362impl ::std::default::Default for JobStatus {
3363    fn default() -> Self {
3364        Self(::fbthrift::__UNKNOWN_ID)
3365    }
3366}
3367
3368impl<'a> ::std::convert::From<&'a JobStatus> for ::std::primitive::i32 {
3369    #[inline]
3370    fn from(x: &'a JobStatus) -> Self {
3371        x.0
3372    }
3373}
3374
3375impl ::std::convert::From<JobStatus> for ::std::primitive::i32 {
3376    #[inline]
3377    fn from(x: JobStatus) -> Self {
3378        x.0
3379    }
3380}
3381
3382impl ::std::convert::From<::std::primitive::i32> for JobStatus {
3383    #[inline]
3384    fn from(x: ::std::primitive::i32) -> Self {
3385        Self(x)
3386    }
3387}
3388
3389impl ::std::fmt::Display for JobStatus {
3390    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3391        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3392            ("QUEUE", 1),
3393            ("RUNNING", 2),
3394            ("FINISHED", 3),
3395            ("FAILED", 4),
3396            ("STOPPED", 5),
3397            ("INVALID", 255),
3398        ];
3399        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3400    }
3401}
3402
3403impl ::std::fmt::Debug for JobStatus {
3404    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3405        write!(fmt, "JobStatus::{}", self)
3406    }
3407}
3408
3409impl ::std::str::FromStr for JobStatus {
3410    type Err = ::anyhow::Error;
3411
3412    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3413        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3414            ("FAILED", 4),
3415            ("FINISHED", 3),
3416            ("INVALID", 255),
3417            ("QUEUE", 1),
3418            ("RUNNING", 2),
3419            ("STOPPED", 5),
3420        ];
3421        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "JobStatus").map(Self)
3422    }
3423}
3424
3425impl ::fbthrift::GetTType for JobStatus {
3426    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3427}
3428
3429impl<P> ::fbthrift::Serialize<P> for JobStatus
3430where
3431    P: ::fbthrift::ProtocolWriter,
3432{
3433    #[inline]
3434    fn write(&self, p: &mut P) {
3435        p.write_i32(self.into())
3436    }
3437}
3438
3439impl<P> ::fbthrift::Deserialize<P> for JobStatus
3440where
3441    P: ::fbthrift::ProtocolReader,
3442{
3443    #[inline]
3444    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3445        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3446    }
3447}
3448
3449#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3450pub struct ListHostType(pub ::std::primitive::i32);
3451
3452impl ListHostType {
3453    pub const ALLOC: Self = ListHostType(0i32);
3454    pub const GRAPH: Self = ListHostType(1i32);
3455    pub const META: Self = ListHostType(2i32);
3456    pub const STORAGE: Self = ListHostType(3i32);
3457}
3458
3459impl ::fbthrift::ThriftEnum for ListHostType {
3460    fn enumerate() -> &'static [(Self, &'static str)] {
3461        &[
3462            (Self::ALLOC, "ALLOC"),
3463            (Self::GRAPH, "GRAPH"),
3464            (Self::META, "META"),
3465            (Self::STORAGE, "STORAGE"),
3466        ]
3467    }
3468
3469    fn variants() -> &'static [&'static str] {
3470        &[
3471            "ALLOC",
3472            "GRAPH",
3473            "META",
3474            "STORAGE",
3475        ]
3476    }
3477
3478    fn variant_values() -> &'static [Self] {
3479        &[
3480            Self::ALLOC,
3481            Self::GRAPH,
3482            Self::META,
3483            Self::STORAGE,
3484        ]
3485    }
3486}
3487
3488impl ::std::default::Default for ListHostType {
3489    fn default() -> Self {
3490        Self(::fbthrift::__UNKNOWN_ID)
3491    }
3492}
3493
3494impl<'a> ::std::convert::From<&'a ListHostType> for ::std::primitive::i32 {
3495    #[inline]
3496    fn from(x: &'a ListHostType) -> Self {
3497        x.0
3498    }
3499}
3500
3501impl ::std::convert::From<ListHostType> for ::std::primitive::i32 {
3502    #[inline]
3503    fn from(x: ListHostType) -> Self {
3504        x.0
3505    }
3506}
3507
3508impl ::std::convert::From<::std::primitive::i32> for ListHostType {
3509    #[inline]
3510    fn from(x: ::std::primitive::i32) -> Self {
3511        Self(x)
3512    }
3513}
3514
3515impl ::std::fmt::Display for ListHostType {
3516    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3517        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3518            ("ALLOC", 0),
3519            ("GRAPH", 1),
3520            ("META", 2),
3521            ("STORAGE", 3),
3522        ];
3523        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3524    }
3525}
3526
3527impl ::std::fmt::Debug for ListHostType {
3528    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3529        write!(fmt, "ListHostType::{}", self)
3530    }
3531}
3532
3533impl ::std::str::FromStr for ListHostType {
3534    type Err = ::anyhow::Error;
3535
3536    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3537        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3538            ("ALLOC", 0),
3539            ("GRAPH", 1),
3540            ("META", 2),
3541            ("STORAGE", 3),
3542        ];
3543        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ListHostType").map(Self)
3544    }
3545}
3546
3547impl ::fbthrift::GetTType for ListHostType {
3548    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3549}
3550
3551impl<P> ::fbthrift::Serialize<P> for ListHostType
3552where
3553    P: ::fbthrift::ProtocolWriter,
3554{
3555    #[inline]
3556    fn write(&self, p: &mut P) {
3557        p.write_i32(self.into())
3558    }
3559}
3560
3561impl<P> ::fbthrift::Deserialize<P> for ListHostType
3562where
3563    P: ::fbthrift::ProtocolReader,
3564{
3565    #[inline]
3566    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3567        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3568    }
3569}
3570
3571#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3572pub struct HostRole(pub ::std::primitive::i32);
3573
3574impl HostRole {
3575    pub const GRAPH: Self = HostRole(0i32);
3576    pub const META: Self = HostRole(1i32);
3577    pub const STORAGE: Self = HostRole(2i32);
3578    pub const LISTENER: Self = HostRole(3i32);
3579    pub const UNKNOWN: Self = HostRole(4i32);
3580}
3581
3582impl ::fbthrift::ThriftEnum for HostRole {
3583    fn enumerate() -> &'static [(Self, &'static str)] {
3584        &[
3585            (Self::GRAPH, "GRAPH"),
3586            (Self::META, "META"),
3587            (Self::STORAGE, "STORAGE"),
3588            (Self::LISTENER, "LISTENER"),
3589            (Self::UNKNOWN, "UNKNOWN"),
3590        ]
3591    }
3592
3593    fn variants() -> &'static [&'static str] {
3594        &[
3595            "GRAPH",
3596            "META",
3597            "STORAGE",
3598            "LISTENER",
3599            "UNKNOWN",
3600        ]
3601    }
3602
3603    fn variant_values() -> &'static [Self] {
3604        &[
3605            Self::GRAPH,
3606            Self::META,
3607            Self::STORAGE,
3608            Self::LISTENER,
3609            Self::UNKNOWN,
3610        ]
3611    }
3612}
3613
3614impl ::std::default::Default for HostRole {
3615    fn default() -> Self {
3616        Self(::fbthrift::__UNKNOWN_ID)
3617    }
3618}
3619
3620impl<'a> ::std::convert::From<&'a HostRole> for ::std::primitive::i32 {
3621    #[inline]
3622    fn from(x: &'a HostRole) -> Self {
3623        x.0
3624    }
3625}
3626
3627impl ::std::convert::From<HostRole> for ::std::primitive::i32 {
3628    #[inline]
3629    fn from(x: HostRole) -> Self {
3630        x.0
3631    }
3632}
3633
3634impl ::std::convert::From<::std::primitive::i32> for HostRole {
3635    #[inline]
3636    fn from(x: ::std::primitive::i32) -> Self {
3637        Self(x)
3638    }
3639}
3640
3641impl ::std::fmt::Display for HostRole {
3642    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3643        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3644            ("GRAPH", 0),
3645            ("META", 1),
3646            ("STORAGE", 2),
3647            ("LISTENER", 3),
3648            ("UNKNOWN", 4),
3649        ];
3650        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3651    }
3652}
3653
3654impl ::std::fmt::Debug for HostRole {
3655    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3656        write!(fmt, "HostRole::{}", self)
3657    }
3658}
3659
3660impl ::std::str::FromStr for HostRole {
3661    type Err = ::anyhow::Error;
3662
3663    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3664        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3665            ("GRAPH", 0),
3666            ("LISTENER", 3),
3667            ("META", 1),
3668            ("STORAGE", 2),
3669            ("UNKNOWN", 4),
3670        ];
3671        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "HostRole").map(Self)
3672    }
3673}
3674
3675impl ::fbthrift::GetTType for HostRole {
3676    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3677}
3678
3679impl<P> ::fbthrift::Serialize<P> for HostRole
3680where
3681    P: ::fbthrift::ProtocolWriter,
3682{
3683    #[inline]
3684    fn write(&self, p: &mut P) {
3685        p.write_i32(self.into())
3686    }
3687}
3688
3689impl<P> ::fbthrift::Deserialize<P> for HostRole
3690where
3691    P: ::fbthrift::ProtocolReader,
3692{
3693    #[inline]
3694    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3695        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3696    }
3697}
3698
3699#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3700pub struct TaskResult(pub ::std::primitive::i32);
3701
3702impl TaskResult {
3703    pub const SUCCEEDED: Self = TaskResult(0i32);
3704    pub const FAILED: Self = TaskResult(1i32);
3705    pub const IN_PROGRESS: Self = TaskResult(2i32);
3706    pub const INVALID: Self = TaskResult(3i32);
3707}
3708
3709impl ::fbthrift::ThriftEnum for TaskResult {
3710    fn enumerate() -> &'static [(Self, &'static str)] {
3711        &[
3712            (Self::SUCCEEDED, "SUCCEEDED"),
3713            (Self::FAILED, "FAILED"),
3714            (Self::IN_PROGRESS, "IN_PROGRESS"),
3715            (Self::INVALID, "INVALID"),
3716        ]
3717    }
3718
3719    fn variants() -> &'static [&'static str] {
3720        &[
3721            "SUCCEEDED",
3722            "FAILED",
3723            "IN_PROGRESS",
3724            "INVALID",
3725        ]
3726    }
3727
3728    fn variant_values() -> &'static [Self] {
3729        &[
3730            Self::SUCCEEDED,
3731            Self::FAILED,
3732            Self::IN_PROGRESS,
3733            Self::INVALID,
3734        ]
3735    }
3736}
3737
3738impl ::std::default::Default for TaskResult {
3739    fn default() -> Self {
3740        Self(::fbthrift::__UNKNOWN_ID)
3741    }
3742}
3743
3744impl<'a> ::std::convert::From<&'a TaskResult> for ::std::primitive::i32 {
3745    #[inline]
3746    fn from(x: &'a TaskResult) -> Self {
3747        x.0
3748    }
3749}
3750
3751impl ::std::convert::From<TaskResult> for ::std::primitive::i32 {
3752    #[inline]
3753    fn from(x: TaskResult) -> Self {
3754        x.0
3755    }
3756}
3757
3758impl ::std::convert::From<::std::primitive::i32> for TaskResult {
3759    #[inline]
3760    fn from(x: ::std::primitive::i32) -> Self {
3761        Self(x)
3762    }
3763}
3764
3765impl ::std::fmt::Display for TaskResult {
3766    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3767        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3768            ("SUCCEEDED", 0),
3769            ("FAILED", 1),
3770            ("IN_PROGRESS", 2),
3771            ("INVALID", 3),
3772        ];
3773        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3774    }
3775}
3776
3777impl ::std::fmt::Debug for TaskResult {
3778    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3779        write!(fmt, "TaskResult::{}", self)
3780    }
3781}
3782
3783impl ::std::str::FromStr for TaskResult {
3784    type Err = ::anyhow::Error;
3785
3786    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3787        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3788            ("FAILED", 1),
3789            ("INVALID", 3),
3790            ("IN_PROGRESS", 2),
3791            ("SUCCEEDED", 0),
3792        ];
3793        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "TaskResult").map(Self)
3794    }
3795}
3796
3797impl ::fbthrift::GetTType for TaskResult {
3798    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3799}
3800
3801impl<P> ::fbthrift::Serialize<P> for TaskResult
3802where
3803    P: ::fbthrift::ProtocolWriter,
3804{
3805    #[inline]
3806    fn write(&self, p: &mut P) {
3807        p.write_i32(self.into())
3808    }
3809}
3810
3811impl<P> ::fbthrift::Deserialize<P> for TaskResult
3812where
3813    P: ::fbthrift::ProtocolReader,
3814{
3815    #[inline]
3816    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3817        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3818    }
3819}
3820
3821#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3822pub struct ConfigModule(pub ::std::primitive::i32);
3823
3824impl ConfigModule {
3825    pub const UNKNOWN: Self = ConfigModule(0i32);
3826    pub const ALL: Self = ConfigModule(1i32);
3827    pub const GRAPH: Self = ConfigModule(2i32);
3828    pub const META: Self = ConfigModule(3i32);
3829    pub const STORAGE: Self = ConfigModule(4i32);
3830}
3831
3832impl ::fbthrift::ThriftEnum for ConfigModule {
3833    fn enumerate() -> &'static [(Self, &'static str)] {
3834        &[
3835            (Self::UNKNOWN, "UNKNOWN"),
3836            (Self::ALL, "ALL"),
3837            (Self::GRAPH, "GRAPH"),
3838            (Self::META, "META"),
3839            (Self::STORAGE, "STORAGE"),
3840        ]
3841    }
3842
3843    fn variants() -> &'static [&'static str] {
3844        &[
3845            "UNKNOWN",
3846            "ALL",
3847            "GRAPH",
3848            "META",
3849            "STORAGE",
3850        ]
3851    }
3852
3853    fn variant_values() -> &'static [Self] {
3854        &[
3855            Self::UNKNOWN,
3856            Self::ALL,
3857            Self::GRAPH,
3858            Self::META,
3859            Self::STORAGE,
3860        ]
3861    }
3862}
3863
3864impl ::std::default::Default for ConfigModule {
3865    fn default() -> Self {
3866        Self(::fbthrift::__UNKNOWN_ID)
3867    }
3868}
3869
3870impl<'a> ::std::convert::From<&'a ConfigModule> for ::std::primitive::i32 {
3871    #[inline]
3872    fn from(x: &'a ConfigModule) -> Self {
3873        x.0
3874    }
3875}
3876
3877impl ::std::convert::From<ConfigModule> for ::std::primitive::i32 {
3878    #[inline]
3879    fn from(x: ConfigModule) -> Self {
3880        x.0
3881    }
3882}
3883
3884impl ::std::convert::From<::std::primitive::i32> for ConfigModule {
3885    #[inline]
3886    fn from(x: ::std::primitive::i32) -> Self {
3887        Self(x)
3888    }
3889}
3890
3891impl ::std::fmt::Display for ConfigModule {
3892    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3893        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3894            ("UNKNOWN", 0),
3895            ("ALL", 1),
3896            ("GRAPH", 2),
3897            ("META", 3),
3898            ("STORAGE", 4),
3899        ];
3900        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
3901    }
3902}
3903
3904impl ::std::fmt::Debug for ConfigModule {
3905    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3906        write!(fmt, "ConfigModule::{}", self)
3907    }
3908}
3909
3910impl ::std::str::FromStr for ConfigModule {
3911    type Err = ::anyhow::Error;
3912
3913    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
3914        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
3915            ("ALL", 1),
3916            ("GRAPH", 2),
3917            ("META", 3),
3918            ("STORAGE", 4),
3919            ("UNKNOWN", 0),
3920        ];
3921        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ConfigModule").map(Self)
3922    }
3923}
3924
3925impl ::fbthrift::GetTType for ConfigModule {
3926    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
3927}
3928
3929impl<P> ::fbthrift::Serialize<P> for ConfigModule
3930where
3931    P: ::fbthrift::ProtocolWriter,
3932{
3933    #[inline]
3934    fn write(&self, p: &mut P) {
3935        p.write_i32(self.into())
3936    }
3937}
3938
3939impl<P> ::fbthrift::Deserialize<P> for ConfigModule
3940where
3941    P: ::fbthrift::ProtocolReader,
3942{
3943    #[inline]
3944    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3945        ::std::result::Result::Ok(Self::from(p.read_i32()?))
3946    }
3947}
3948
3949#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
3950pub struct ConfigMode(pub ::std::primitive::i32);
3951
3952impl ConfigMode {
3953    pub const IMMUTABLE: Self = ConfigMode(0i32);
3954    pub const REBOOT: Self = ConfigMode(1i32);
3955    pub const MUTABLE: Self = ConfigMode(2i32);
3956    pub const IGNORED: Self = ConfigMode(3i32);
3957}
3958
3959impl ::fbthrift::ThriftEnum for ConfigMode {
3960    fn enumerate() -> &'static [(Self, &'static str)] {
3961        &[
3962            (Self::IMMUTABLE, "IMMUTABLE"),
3963            (Self::REBOOT, "REBOOT"),
3964            (Self::MUTABLE, "MUTABLE"),
3965            (Self::IGNORED, "IGNORED"),
3966        ]
3967    }
3968
3969    fn variants() -> &'static [&'static str] {
3970        &[
3971            "IMMUTABLE",
3972            "REBOOT",
3973            "MUTABLE",
3974            "IGNORED",
3975        ]
3976    }
3977
3978    fn variant_values() -> &'static [Self] {
3979        &[
3980            Self::IMMUTABLE,
3981            Self::REBOOT,
3982            Self::MUTABLE,
3983            Self::IGNORED,
3984        ]
3985    }
3986}
3987
3988impl ::std::default::Default for ConfigMode {
3989    fn default() -> Self {
3990        Self(::fbthrift::__UNKNOWN_ID)
3991    }
3992}
3993
3994impl<'a> ::std::convert::From<&'a ConfigMode> for ::std::primitive::i32 {
3995    #[inline]
3996    fn from(x: &'a ConfigMode) -> Self {
3997        x.0
3998    }
3999}
4000
4001impl ::std::convert::From<ConfigMode> for ::std::primitive::i32 {
4002    #[inline]
4003    fn from(x: ConfigMode) -> Self {
4004        x.0
4005    }
4006}
4007
4008impl ::std::convert::From<::std::primitive::i32> for ConfigMode {
4009    #[inline]
4010    fn from(x: ::std::primitive::i32) -> Self {
4011        Self(x)
4012    }
4013}
4014
4015impl ::std::fmt::Display for ConfigMode {
4016    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4017        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4018            ("IMMUTABLE", 0),
4019            ("REBOOT", 1),
4020            ("MUTABLE", 2),
4021            ("IGNORED", 3),
4022        ];
4023        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4024    }
4025}
4026
4027impl ::std::fmt::Debug for ConfigMode {
4028    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4029        write!(fmt, "ConfigMode::{}", self)
4030    }
4031}
4032
4033impl ::std::str::FromStr for ConfigMode {
4034    type Err = ::anyhow::Error;
4035
4036    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4037        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4038            ("IGNORED", 3),
4039            ("IMMUTABLE", 0),
4040            ("MUTABLE", 2),
4041            ("REBOOT", 1),
4042        ];
4043        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ConfigMode").map(Self)
4044    }
4045}
4046
4047impl ::fbthrift::GetTType for ConfigMode {
4048    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4049}
4050
4051impl<P> ::fbthrift::Serialize<P> for ConfigMode
4052where
4053    P: ::fbthrift::ProtocolWriter,
4054{
4055    #[inline]
4056    fn write(&self, p: &mut P) {
4057        p.write_i32(self.into())
4058    }
4059}
4060
4061impl<P> ::fbthrift::Deserialize<P> for ConfigMode
4062where
4063    P: ::fbthrift::ProtocolReader,
4064{
4065    #[inline]
4066    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4067        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4068    }
4069}
4070
4071#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
4072pub struct ListenerType(pub ::std::primitive::i32);
4073
4074impl ListenerType {
4075    pub const UNKNOWN: Self = ListenerType(0i32);
4076    pub const ELASTICSEARCH: Self = ListenerType(1i32);
4077}
4078
4079impl ::fbthrift::ThriftEnum for ListenerType {
4080    fn enumerate() -> &'static [(Self, &'static str)] {
4081        &[
4082            (Self::UNKNOWN, "UNKNOWN"),
4083            (Self::ELASTICSEARCH, "ELASTICSEARCH"),
4084        ]
4085    }
4086
4087    fn variants() -> &'static [&'static str] {
4088        &[
4089            "UNKNOWN",
4090            "ELASTICSEARCH",
4091        ]
4092    }
4093
4094    fn variant_values() -> &'static [Self] {
4095        &[
4096            Self::UNKNOWN,
4097            Self::ELASTICSEARCH,
4098        ]
4099    }
4100}
4101
4102impl ::std::default::Default for ListenerType {
4103    fn default() -> Self {
4104        Self(::fbthrift::__UNKNOWN_ID)
4105    }
4106}
4107
4108impl<'a> ::std::convert::From<&'a ListenerType> for ::std::primitive::i32 {
4109    #[inline]
4110    fn from(x: &'a ListenerType) -> Self {
4111        x.0
4112    }
4113}
4114
4115impl ::std::convert::From<ListenerType> for ::std::primitive::i32 {
4116    #[inline]
4117    fn from(x: ListenerType) -> Self {
4118        x.0
4119    }
4120}
4121
4122impl ::std::convert::From<::std::primitive::i32> for ListenerType {
4123    #[inline]
4124    fn from(x: ::std::primitive::i32) -> Self {
4125        Self(x)
4126    }
4127}
4128
4129impl ::std::fmt::Display for ListenerType {
4130    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4131        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4132            ("UNKNOWN", 0),
4133            ("ELASTICSEARCH", 1),
4134        ];
4135        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4136    }
4137}
4138
4139impl ::std::fmt::Debug for ListenerType {
4140    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4141        write!(fmt, "ListenerType::{}", self)
4142    }
4143}
4144
4145impl ::std::str::FromStr for ListenerType {
4146    type Err = ::anyhow::Error;
4147
4148    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4149        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4150            ("ELASTICSEARCH", 1),
4151            ("UNKNOWN", 0),
4152        ];
4153        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ListenerType").map(Self)
4154    }
4155}
4156
4157impl ::fbthrift::GetTType for ListenerType {
4158    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4159}
4160
4161impl<P> ::fbthrift::Serialize<P> for ListenerType
4162where
4163    P: ::fbthrift::ProtocolWriter,
4164{
4165    #[inline]
4166    fn write(&self, p: &mut P) {
4167        p.write_i32(self.into())
4168    }
4169}
4170
4171impl<P> ::fbthrift::Deserialize<P> for ListenerType
4172where
4173    P: ::fbthrift::ProtocolReader,
4174{
4175    #[inline]
4176    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4177        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4178    }
4179}
4180
4181#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
4182pub struct FTServiceType(pub ::std::primitive::i32);
4183
4184impl FTServiceType {
4185    pub const ELASTICSEARCH: Self = FTServiceType(1i32);
4186}
4187
4188impl ::fbthrift::ThriftEnum for FTServiceType {
4189    fn enumerate() -> &'static [(Self, &'static str)] {
4190        &[
4191            (Self::ELASTICSEARCH, "ELASTICSEARCH"),
4192        ]
4193    }
4194
4195    fn variants() -> &'static [&'static str] {
4196        &[
4197            "ELASTICSEARCH",
4198        ]
4199    }
4200
4201    fn variant_values() -> &'static [Self] {
4202        &[
4203            Self::ELASTICSEARCH,
4204        ]
4205    }
4206}
4207
4208impl ::std::default::Default for FTServiceType {
4209    fn default() -> Self {
4210        Self(::fbthrift::__UNKNOWN_ID)
4211    }
4212}
4213
4214impl<'a> ::std::convert::From<&'a FTServiceType> for ::std::primitive::i32 {
4215    #[inline]
4216    fn from(x: &'a FTServiceType) -> Self {
4217        x.0
4218    }
4219}
4220
4221impl ::std::convert::From<FTServiceType> for ::std::primitive::i32 {
4222    #[inline]
4223    fn from(x: FTServiceType) -> Self {
4224        x.0
4225    }
4226}
4227
4228impl ::std::convert::From<::std::primitive::i32> for FTServiceType {
4229    #[inline]
4230    fn from(x: ::std::primitive::i32) -> Self {
4231        Self(x)
4232    }
4233}
4234
4235impl ::std::fmt::Display for FTServiceType {
4236    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4237        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4238            ("ELASTICSEARCH", 1),
4239        ];
4240        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4241    }
4242}
4243
4244impl ::std::fmt::Debug for FTServiceType {
4245    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4246        write!(fmt, "FTServiceType::{}", self)
4247    }
4248}
4249
4250impl ::std::str::FromStr for FTServiceType {
4251    type Err = ::anyhow::Error;
4252
4253    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4254        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4255            ("ELASTICSEARCH", 1),
4256        ];
4257        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "FTServiceType").map(Self)
4258    }
4259}
4260
4261impl ::fbthrift::GetTType for FTServiceType {
4262    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4263}
4264
4265impl<P> ::fbthrift::Serialize<P> for FTServiceType
4266where
4267    P: ::fbthrift::ProtocolWriter,
4268{
4269    #[inline]
4270    fn write(&self, p: &mut P) {
4271        p.write_i32(self.into())
4272    }
4273}
4274
4275impl<P> ::fbthrift::Deserialize<P> for FTServiceType
4276where
4277    P: ::fbthrift::ProtocolReader,
4278{
4279    #[inline]
4280    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4281        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4282    }
4283}
4284
4285#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
4286pub struct QueryStatus(pub ::std::primitive::i32);
4287
4288impl QueryStatus {
4289    pub const RUNNING: Self = QueryStatus(1i32);
4290    pub const KILLING: Self = QueryStatus(2i32);
4291}
4292
4293impl ::fbthrift::ThriftEnum for QueryStatus {
4294    fn enumerate() -> &'static [(Self, &'static str)] {
4295        &[
4296            (Self::RUNNING, "RUNNING"),
4297            (Self::KILLING, "KILLING"),
4298        ]
4299    }
4300
4301    fn variants() -> &'static [&'static str] {
4302        &[
4303            "RUNNING",
4304            "KILLING",
4305        ]
4306    }
4307
4308    fn variant_values() -> &'static [Self] {
4309        &[
4310            Self::RUNNING,
4311            Self::KILLING,
4312        ]
4313    }
4314}
4315
4316impl ::std::default::Default for QueryStatus {
4317    fn default() -> Self {
4318        Self(::fbthrift::__UNKNOWN_ID)
4319    }
4320}
4321
4322impl<'a> ::std::convert::From<&'a QueryStatus> for ::std::primitive::i32 {
4323    #[inline]
4324    fn from(x: &'a QueryStatus) -> Self {
4325        x.0
4326    }
4327}
4328
4329impl ::std::convert::From<QueryStatus> for ::std::primitive::i32 {
4330    #[inline]
4331    fn from(x: QueryStatus) -> Self {
4332        x.0
4333    }
4334}
4335
4336impl ::std::convert::From<::std::primitive::i32> for QueryStatus {
4337    #[inline]
4338    fn from(x: ::std::primitive::i32) -> Self {
4339        Self(x)
4340    }
4341}
4342
4343impl ::std::fmt::Display for QueryStatus {
4344    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4345        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4346            ("RUNNING", 1),
4347            ("KILLING", 2),
4348        ];
4349        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
4350    }
4351}
4352
4353impl ::std::fmt::Debug for QueryStatus {
4354    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4355        write!(fmt, "QueryStatus::{}", self)
4356    }
4357}
4358
4359impl ::std::str::FromStr for QueryStatus {
4360    type Err = ::anyhow::Error;
4361
4362    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
4363        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
4364            ("KILLING", 2),
4365            ("RUNNING", 1),
4366        ];
4367        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "QueryStatus").map(Self)
4368    }
4369}
4370
4371impl ::fbthrift::GetTType for QueryStatus {
4372    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
4373}
4374
4375impl<P> ::fbthrift::Serialize<P> for QueryStatus
4376where
4377    P: ::fbthrift::ProtocolWriter,
4378{
4379    #[inline]
4380    fn write(&self, p: &mut P) {
4381        p.write_i32(self.into())
4382    }
4383}
4384
4385impl<P> ::fbthrift::Deserialize<P> for QueryStatus
4386where
4387    P: ::fbthrift::ProtocolReader,
4388{
4389    #[inline]
4390    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4391        ::std::result::Result::Ok(Self::from(p.read_i32()?))
4392    }
4393}
4394
4395
4396
4397
4398impl ::std::default::Default for ID {
4399    fn default() -> Self {
4400        Self::UnknownField(-1)
4401    }
4402}
4403
4404impl ::fbthrift::GetTType for ID {
4405    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4406}
4407
4408impl<P> ::fbthrift::Serialize<P> for ID
4409where
4410    P: ::fbthrift::ProtocolWriter,
4411{
4412    fn write(&self, p: &mut P) {
4413        p.write_struct_begin("ID");
4414        match self {
4415            Self::space_id(inner) => {
4416                p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4417                ::fbthrift::Serialize::write(inner, p);
4418                p.write_field_end();
4419            }
4420            Self::tag_id(inner) => {
4421                p.write_field_begin("tag_id", ::fbthrift::TType::I32, 2);
4422                ::fbthrift::Serialize::write(inner, p);
4423                p.write_field_end();
4424            }
4425            Self::edge_type(inner) => {
4426                p.write_field_begin("edge_type", ::fbthrift::TType::I32, 3);
4427                ::fbthrift::Serialize::write(inner, p);
4428                p.write_field_end();
4429            }
4430            Self::index_id(inner) => {
4431                p.write_field_begin("index_id", ::fbthrift::TType::I32, 4);
4432                ::fbthrift::Serialize::write(inner, p);
4433                p.write_field_end();
4434            }
4435            Self::cluster_id(inner) => {
4436                p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 5);
4437                ::fbthrift::Serialize::write(inner, p);
4438                p.write_field_end();
4439            }
4440            Self::UnknownField(_) => {}
4441        }
4442        p.write_field_stop();
4443        p.write_struct_end();
4444    }
4445}
4446
4447impl<P> ::fbthrift::Deserialize<P> for ID
4448where
4449    P: ::fbthrift::ProtocolReader,
4450{
4451    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4452        static FIELDS: &[::fbthrift::Field] = &[
4453            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 5),
4454            ::fbthrift::Field::new("edge_type", ::fbthrift::TType::I32, 3),
4455            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 4),
4456            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4457            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 2),
4458        ];
4459        let _ = p.read_struct_begin(|_| ())?;
4460        let mut once = false;
4461        let mut alt = ::std::option::Option::None;
4462        loop {
4463            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4464            match (fty, fid as ::std::primitive::i32, once) {
4465                (::fbthrift::TType::Stop, _, _) => break,
4466                (::fbthrift::TType::I32, 1, false) => {
4467                    once = true;
4468                    alt = ::std::option::Option::Some(Self::space_id(::fbthrift::Deserialize::read(p)?));
4469                }
4470                (::fbthrift::TType::I32, 2, false) => {
4471                    once = true;
4472                    alt = ::std::option::Option::Some(Self::tag_id(::fbthrift::Deserialize::read(p)?));
4473                }
4474                (::fbthrift::TType::I32, 3, false) => {
4475                    once = true;
4476                    alt = ::std::option::Option::Some(Self::edge_type(::fbthrift::Deserialize::read(p)?));
4477                }
4478                (::fbthrift::TType::I32, 4, false) => {
4479                    once = true;
4480                    alt = ::std::option::Option::Some(Self::index_id(::fbthrift::Deserialize::read(p)?));
4481                }
4482                (::fbthrift::TType::I64, 5, false) => {
4483                    once = true;
4484                    alt = ::std::option::Option::Some(Self::cluster_id(::fbthrift::Deserialize::read(p)?));
4485                }
4486                (fty, _, false) => p.skip(fty)?,
4487                (badty, badid, true) => return ::std::result::Result::Err(::std::convert::From::from(::fbthrift::ApplicationException::new(
4488                    ::fbthrift::ApplicationExceptionErrorCode::ProtocolError,
4489                    format!(
4490                        "unwanted extra union {} field ty {:?} id {}",
4491                        "ID",
4492                        badty,
4493                        badid,
4494                    ),
4495                ))),
4496            }
4497            p.read_field_end()?;
4498        }
4499        p.read_struct_end()?;
4500        ::std::result::Result::Ok(alt.unwrap_or_default())
4501    }
4502}
4503
4504#[allow(clippy::derivable_impls)]
4505impl ::std::default::Default for self::ColumnTypeDef {
4506    fn default() -> Self {
4507        Self {
4508            r#type: ::std::default::Default::default(),
4509            type_length: ::std::option::Option::Some(0),
4510            geo_shape: ::std::option::Option::None,
4511            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4512        }
4513    }
4514}
4515
4516impl ::std::fmt::Debug for self::ColumnTypeDef {
4517    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4518        formatter
4519            .debug_struct("ColumnTypeDef")
4520            .field("r#type", &self.r#type)
4521            .field("type_length", &self.type_length)
4522            .field("geo_shape", &self.geo_shape)
4523            .finish()
4524    }
4525}
4526
4527unsafe impl ::std::marker::Send for self::ColumnTypeDef {}
4528unsafe impl ::std::marker::Sync for self::ColumnTypeDef {}
4529
4530impl ::fbthrift::GetTType for self::ColumnTypeDef {
4531    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4532}
4533
4534impl<P> ::fbthrift::Serialize<P> for self::ColumnTypeDef
4535where
4536    P: ::fbthrift::ProtocolWriter,
4537{
4538    fn write(&self, p: &mut P) {
4539        p.write_struct_begin("ColumnTypeDef");
4540        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
4541        ::fbthrift::Serialize::write(&self.r#type, p);
4542        p.write_field_end();
4543        if let ::std::option::Option::Some(some) = &self.type_length {
4544            p.write_field_begin("type_length", ::fbthrift::TType::I16, 2);
4545            ::fbthrift::Serialize::write(some, p);
4546            p.write_field_end();
4547        }
4548        if let ::std::option::Option::Some(some) = &self.geo_shape {
4549            p.write_field_begin("geo_shape", ::fbthrift::TType::I32, 3);
4550            ::fbthrift::Serialize::write(some, p);
4551            p.write_field_end();
4552        }
4553        p.write_field_stop();
4554        p.write_struct_end();
4555    }
4556}
4557
4558impl<P> ::fbthrift::Deserialize<P> for self::ColumnTypeDef
4559where
4560    P: ::fbthrift::ProtocolReader,
4561{
4562    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4563        static FIELDS: &[::fbthrift::Field] = &[
4564            ::fbthrift::Field::new("geo_shape", ::fbthrift::TType::I32, 3),
4565            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
4566            ::fbthrift::Field::new("type_length", ::fbthrift::TType::I16, 2),
4567        ];
4568        let mut field_type = ::std::option::Option::None;
4569        let mut field_type_length = ::std::option::Option::None;
4570        let mut field_geo_shape = ::std::option::Option::None;
4571        let _ = p.read_struct_begin(|_| ())?;
4572        loop {
4573            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4574            match (fty, fid as ::std::primitive::i32) {
4575                (::fbthrift::TType::Stop, _) => break,
4576                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4577                (::fbthrift::TType::I16, 2) => field_type_length = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4578                (::fbthrift::TType::I32, 3) => field_geo_shape = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4579                (fty, _) => p.skip(fty)?,
4580            }
4581            p.read_field_end()?;
4582        }
4583        p.read_struct_end()?;
4584        ::std::result::Result::Ok(Self {
4585            r#type: field_type.unwrap_or_default(),
4586            type_length: field_type_length,
4587            geo_shape: field_geo_shape,
4588            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4589        })
4590    }
4591}
4592
4593
4594#[allow(clippy::derivable_impls)]
4595impl ::std::default::Default for self::ColumnDef {
4596    fn default() -> Self {
4597        Self {
4598            name: ::std::default::Default::default(),
4599            r#type: ::std::default::Default::default(),
4600            default_value: ::std::option::Option::None,
4601            nullable: ::std::option::Option::Some(false),
4602            comment: ::std::option::Option::None,
4603            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4604        }
4605    }
4606}
4607
4608impl ::std::fmt::Debug for self::ColumnDef {
4609    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4610        formatter
4611            .debug_struct("ColumnDef")
4612            .field("name", &self.name)
4613            .field("r#type", &self.r#type)
4614            .field("default_value", &self.default_value)
4615            .field("nullable", &self.nullable)
4616            .field("comment", &self.comment)
4617            .finish()
4618    }
4619}
4620
4621unsafe impl ::std::marker::Send for self::ColumnDef {}
4622unsafe impl ::std::marker::Sync for self::ColumnDef {}
4623
4624impl ::fbthrift::GetTType for self::ColumnDef {
4625    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4626}
4627
4628impl<P> ::fbthrift::Serialize<P> for self::ColumnDef
4629where
4630    P: ::fbthrift::ProtocolWriter,
4631{
4632    fn write(&self, p: &mut P) {
4633        p.write_struct_begin("ColumnDef");
4634        p.write_field_begin("name", ::fbthrift::TType::String, 1);
4635        ::fbthrift::Serialize::write(&self.name, p);
4636        p.write_field_end();
4637        p.write_field_begin("type", ::fbthrift::TType::Struct, 2);
4638        ::fbthrift::Serialize::write(&self.r#type, p);
4639        p.write_field_end();
4640        if let ::std::option::Option::Some(some) = &self.default_value {
4641            p.write_field_begin("default_value", ::fbthrift::TType::String, 3);
4642            ::fbthrift::Serialize::write(some, p);
4643            p.write_field_end();
4644        }
4645        if let ::std::option::Option::Some(some) = &self.nullable {
4646            p.write_field_begin("nullable", ::fbthrift::TType::Bool, 4);
4647            ::fbthrift::Serialize::write(some, p);
4648            p.write_field_end();
4649        }
4650        if let ::std::option::Option::Some(some) = &self.comment {
4651            p.write_field_begin("comment", ::fbthrift::TType::String, 5);
4652            ::fbthrift::Serialize::write(some, p);
4653            p.write_field_end();
4654        }
4655        p.write_field_stop();
4656        p.write_struct_end();
4657    }
4658}
4659
4660impl<P> ::fbthrift::Deserialize<P> for self::ColumnDef
4661where
4662    P: ::fbthrift::ProtocolReader,
4663{
4664    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4665        static FIELDS: &[::fbthrift::Field] = &[
4666            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 5),
4667            ::fbthrift::Field::new("default_value", ::fbthrift::TType::String, 3),
4668            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
4669            ::fbthrift::Field::new("nullable", ::fbthrift::TType::Bool, 4),
4670            ::fbthrift::Field::new("type", ::fbthrift::TType::Struct, 2),
4671        ];
4672        let mut field_name = ::std::option::Option::None;
4673        let mut field_type = ::std::option::Option::None;
4674        let mut field_default_value = ::std::option::Option::None;
4675        let mut field_nullable = ::std::option::Option::None;
4676        let mut field_comment = ::std::option::Option::None;
4677        let _ = p.read_struct_begin(|_| ())?;
4678        loop {
4679            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4680            match (fty, fid as ::std::primitive::i32) {
4681                (::fbthrift::TType::Stop, _) => break,
4682                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4683                (::fbthrift::TType::Struct, 2) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4684                (::fbthrift::TType::String, 3) => field_default_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4685                (::fbthrift::TType::Bool, 4) => field_nullable = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4686                (::fbthrift::TType::String, 5) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4687                (fty, _) => p.skip(fty)?,
4688            }
4689            p.read_field_end()?;
4690        }
4691        p.read_struct_end()?;
4692        ::std::result::Result::Ok(Self {
4693            name: field_name.unwrap_or_default(),
4694            r#type: field_type.unwrap_or_default(),
4695            default_value: field_default_value,
4696            nullable: field_nullable,
4697            comment: field_comment,
4698            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4699        })
4700    }
4701}
4702
4703
4704#[allow(clippy::derivable_impls)]
4705impl ::std::default::Default for self::SchemaProp {
4706    fn default() -> Self {
4707        Self {
4708            ttl_duration: ::std::option::Option::None,
4709            ttl_col: ::std::option::Option::None,
4710            comment: ::std::option::Option::None,
4711            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4712        }
4713    }
4714}
4715
4716impl ::std::fmt::Debug for self::SchemaProp {
4717    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4718        formatter
4719            .debug_struct("SchemaProp")
4720            .field("ttl_duration", &self.ttl_duration)
4721            .field("ttl_col", &self.ttl_col)
4722            .field("comment", &self.comment)
4723            .finish()
4724    }
4725}
4726
4727unsafe impl ::std::marker::Send for self::SchemaProp {}
4728unsafe impl ::std::marker::Sync for self::SchemaProp {}
4729
4730impl ::fbthrift::GetTType for self::SchemaProp {
4731    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4732}
4733
4734impl<P> ::fbthrift::Serialize<P> for self::SchemaProp
4735where
4736    P: ::fbthrift::ProtocolWriter,
4737{
4738    fn write(&self, p: &mut P) {
4739        p.write_struct_begin("SchemaProp");
4740        if let ::std::option::Option::Some(some) = &self.ttl_duration {
4741            p.write_field_begin("ttl_duration", ::fbthrift::TType::I64, 1);
4742            ::fbthrift::Serialize::write(some, p);
4743            p.write_field_end();
4744        }
4745        if let ::std::option::Option::Some(some) = &self.ttl_col {
4746            p.write_field_begin("ttl_col", ::fbthrift::TType::String, 2);
4747            ::fbthrift::Serialize::write(some, p);
4748            p.write_field_end();
4749        }
4750        if let ::std::option::Option::Some(some) = &self.comment {
4751            p.write_field_begin("comment", ::fbthrift::TType::String, 3);
4752            ::fbthrift::Serialize::write(some, p);
4753            p.write_field_end();
4754        }
4755        p.write_field_stop();
4756        p.write_struct_end();
4757    }
4758}
4759
4760impl<P> ::fbthrift::Deserialize<P> for self::SchemaProp
4761where
4762    P: ::fbthrift::ProtocolReader,
4763{
4764    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4765        static FIELDS: &[::fbthrift::Field] = &[
4766            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 3),
4767            ::fbthrift::Field::new("ttl_col", ::fbthrift::TType::String, 2),
4768            ::fbthrift::Field::new("ttl_duration", ::fbthrift::TType::I64, 1),
4769        ];
4770        let mut field_ttl_duration = ::std::option::Option::None;
4771        let mut field_ttl_col = ::std::option::Option::None;
4772        let mut field_comment = ::std::option::Option::None;
4773        let _ = p.read_struct_begin(|_| ())?;
4774        loop {
4775            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4776            match (fty, fid as ::std::primitive::i32) {
4777                (::fbthrift::TType::Stop, _) => break,
4778                (::fbthrift::TType::I64, 1) => field_ttl_duration = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4779                (::fbthrift::TType::String, 2) => field_ttl_col = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4780                (::fbthrift::TType::String, 3) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4781                (fty, _) => p.skip(fty)?,
4782            }
4783            p.read_field_end()?;
4784        }
4785        p.read_struct_end()?;
4786        ::std::result::Result::Ok(Self {
4787            ttl_duration: field_ttl_duration,
4788            ttl_col: field_ttl_col,
4789            comment: field_comment,
4790            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4791        })
4792    }
4793}
4794
4795
4796#[allow(clippy::derivable_impls)]
4797impl ::std::default::Default for self::Schema {
4798    fn default() -> Self {
4799        Self {
4800            columns: ::std::default::Default::default(),
4801            schema_prop: ::std::default::Default::default(),
4802            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4803        }
4804    }
4805}
4806
4807impl ::std::fmt::Debug for self::Schema {
4808    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4809        formatter
4810            .debug_struct("Schema")
4811            .field("columns", &self.columns)
4812            .field("schema_prop", &self.schema_prop)
4813            .finish()
4814    }
4815}
4816
4817unsafe impl ::std::marker::Send for self::Schema {}
4818unsafe impl ::std::marker::Sync for self::Schema {}
4819
4820impl ::fbthrift::GetTType for self::Schema {
4821    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4822}
4823
4824impl<P> ::fbthrift::Serialize<P> for self::Schema
4825where
4826    P: ::fbthrift::ProtocolWriter,
4827{
4828    fn write(&self, p: &mut P) {
4829        p.write_struct_begin("Schema");
4830        p.write_field_begin("columns", ::fbthrift::TType::List, 1);
4831        ::fbthrift::Serialize::write(&self.columns, p);
4832        p.write_field_end();
4833        p.write_field_begin("schema_prop", ::fbthrift::TType::Struct, 2);
4834        ::fbthrift::Serialize::write(&self.schema_prop, p);
4835        p.write_field_end();
4836        p.write_field_stop();
4837        p.write_struct_end();
4838    }
4839}
4840
4841impl<P> ::fbthrift::Deserialize<P> for self::Schema
4842where
4843    P: ::fbthrift::ProtocolReader,
4844{
4845    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4846        static FIELDS: &[::fbthrift::Field] = &[
4847            ::fbthrift::Field::new("columns", ::fbthrift::TType::List, 1),
4848            ::fbthrift::Field::new("schema_prop", ::fbthrift::TType::Struct, 2),
4849        ];
4850        let mut field_columns = ::std::option::Option::None;
4851        let mut field_schema_prop = ::std::option::Option::None;
4852        let _ = p.read_struct_begin(|_| ())?;
4853        loop {
4854            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4855            match (fty, fid as ::std::primitive::i32) {
4856                (::fbthrift::TType::Stop, _) => break,
4857                (::fbthrift::TType::List, 1) => field_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4858                (::fbthrift::TType::Struct, 2) => field_schema_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4859                (fty, _) => p.skip(fty)?,
4860            }
4861            p.read_field_end()?;
4862        }
4863        p.read_struct_end()?;
4864        ::std::result::Result::Ok(Self {
4865            columns: field_columns.unwrap_or_default(),
4866            schema_prop: field_schema_prop.unwrap_or_default(),
4867            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4868        })
4869    }
4870}
4871
4872
4873#[allow(clippy::derivable_impls)]
4874impl ::std::default::Default for self::IdName {
4875    fn default() -> Self {
4876        Self {
4877            id: ::std::default::Default::default(),
4878            name: ::std::default::Default::default(),
4879            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4880        }
4881    }
4882}
4883
4884impl ::std::fmt::Debug for self::IdName {
4885    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4886        formatter
4887            .debug_struct("IdName")
4888            .field("id", &self.id)
4889            .field("name", &self.name)
4890            .finish()
4891    }
4892}
4893
4894unsafe impl ::std::marker::Send for self::IdName {}
4895unsafe impl ::std::marker::Sync for self::IdName {}
4896
4897impl ::fbthrift::GetTType for self::IdName {
4898    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4899}
4900
4901impl<P> ::fbthrift::Serialize<P> for self::IdName
4902where
4903    P: ::fbthrift::ProtocolWriter,
4904{
4905    fn write(&self, p: &mut P) {
4906        p.write_struct_begin("IdName");
4907        p.write_field_begin("id", ::fbthrift::TType::Struct, 1);
4908        ::fbthrift::Serialize::write(&self.id, p);
4909        p.write_field_end();
4910        p.write_field_begin("name", ::fbthrift::TType::String, 2);
4911        ::fbthrift::Serialize::write(&self.name, p);
4912        p.write_field_end();
4913        p.write_field_stop();
4914        p.write_struct_end();
4915    }
4916}
4917
4918impl<P> ::fbthrift::Deserialize<P> for self::IdName
4919where
4920    P: ::fbthrift::ProtocolReader,
4921{
4922    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4923        static FIELDS: &[::fbthrift::Field] = &[
4924            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 1),
4925            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
4926        ];
4927        let mut field_id = ::std::option::Option::None;
4928        let mut field_name = ::std::option::Option::None;
4929        let _ = p.read_struct_begin(|_| ())?;
4930        loop {
4931            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4932            match (fty, fid as ::std::primitive::i32) {
4933                (::fbthrift::TType::Stop, _) => break,
4934                (::fbthrift::TType::Struct, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4935                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4936                (fty, _) => p.skip(fty)?,
4937            }
4938            p.read_field_end()?;
4939        }
4940        p.read_struct_end()?;
4941        ::std::result::Result::Ok(Self {
4942            id: field_id.unwrap_or_default(),
4943            name: field_name.unwrap_or_default(),
4944            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4945        })
4946    }
4947}
4948
4949
4950#[allow(clippy::derivable_impls)]
4951impl ::std::default::Default for self::SpaceDesc {
4952    fn default() -> Self {
4953        Self {
4954            space_name: ::std::default::Default::default(),
4955            partition_num: 0,
4956            replica_factor: 0,
4957            charset_name: ::std::default::Default::default(),
4958            collate_name: ::std::default::Default::default(),
4959            vid_type: crate::types::ColumnTypeDef {
4960                    r#type: crate::types::PropertyType::FIXED_STRING,
4961                    type_length: ::std::option::Option::Some(8),
4962                    geo_shape: ::std::default::Default::default(),
4963                    ..::std::default::Default::default()
4964                },
4965            group_name: ::std::option::Option::None,
4966            isolation_level: ::std::option::Option::None,
4967            comment: ::std::option::Option::None,
4968            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4969        }
4970    }
4971}
4972
4973impl ::std::fmt::Debug for self::SpaceDesc {
4974    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4975        formatter
4976            .debug_struct("SpaceDesc")
4977            .field("space_name", &self.space_name)
4978            .field("partition_num", &self.partition_num)
4979            .field("replica_factor", &self.replica_factor)
4980            .field("charset_name", &self.charset_name)
4981            .field("collate_name", &self.collate_name)
4982            .field("vid_type", &self.vid_type)
4983            .field("group_name", &self.group_name)
4984            .field("isolation_level", &self.isolation_level)
4985            .field("comment", &self.comment)
4986            .finish()
4987    }
4988}
4989
4990unsafe impl ::std::marker::Send for self::SpaceDesc {}
4991unsafe impl ::std::marker::Sync for self::SpaceDesc {}
4992
4993impl ::fbthrift::GetTType for self::SpaceDesc {
4994    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4995}
4996
4997impl<P> ::fbthrift::Serialize<P> for self::SpaceDesc
4998where
4999    P: ::fbthrift::ProtocolWriter,
5000{
5001    fn write(&self, p: &mut P) {
5002        p.write_struct_begin("SpaceDesc");
5003        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
5004        ::fbthrift::Serialize::write(&self.space_name, p);
5005        p.write_field_end();
5006        p.write_field_begin("partition_num", ::fbthrift::TType::I32, 2);
5007        ::fbthrift::Serialize::write(&self.partition_num, p);
5008        p.write_field_end();
5009        p.write_field_begin("replica_factor", ::fbthrift::TType::I32, 3);
5010        ::fbthrift::Serialize::write(&self.replica_factor, p);
5011        p.write_field_end();
5012        p.write_field_begin("charset_name", ::fbthrift::TType::String, 4);
5013        ::fbthrift::Serialize::write(&self.charset_name, p);
5014        p.write_field_end();
5015        p.write_field_begin("collate_name", ::fbthrift::TType::String, 5);
5016        ::fbthrift::Serialize::write(&self.collate_name, p);
5017        p.write_field_end();
5018        p.write_field_begin("vid_type", ::fbthrift::TType::Struct, 6);
5019        ::fbthrift::Serialize::write(&self.vid_type, p);
5020        p.write_field_end();
5021        if let ::std::option::Option::Some(some) = &self.group_name {
5022            p.write_field_begin("group_name", ::fbthrift::TType::String, 7);
5023            ::fbthrift::Serialize::write(some, p);
5024            p.write_field_end();
5025        }
5026        if let ::std::option::Option::Some(some) = &self.isolation_level {
5027            p.write_field_begin("isolation_level", ::fbthrift::TType::I32, 8);
5028            ::fbthrift::Serialize::write(some, p);
5029            p.write_field_end();
5030        }
5031        if let ::std::option::Option::Some(some) = &self.comment {
5032            p.write_field_begin("comment", ::fbthrift::TType::String, 9);
5033            ::fbthrift::Serialize::write(some, p);
5034            p.write_field_end();
5035        }
5036        p.write_field_stop();
5037        p.write_struct_end();
5038    }
5039}
5040
5041impl<P> ::fbthrift::Deserialize<P> for self::SpaceDesc
5042where
5043    P: ::fbthrift::ProtocolReader,
5044{
5045    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5046        static FIELDS: &[::fbthrift::Field] = &[
5047            ::fbthrift::Field::new("charset_name", ::fbthrift::TType::String, 4),
5048            ::fbthrift::Field::new("collate_name", ::fbthrift::TType::String, 5),
5049            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 9),
5050            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 7),
5051            ::fbthrift::Field::new("isolation_level", ::fbthrift::TType::I32, 8),
5052            ::fbthrift::Field::new("partition_num", ::fbthrift::TType::I32, 2),
5053            ::fbthrift::Field::new("replica_factor", ::fbthrift::TType::I32, 3),
5054            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
5055            ::fbthrift::Field::new("vid_type", ::fbthrift::TType::Struct, 6),
5056        ];
5057        let mut field_space_name = ::std::option::Option::None;
5058        let mut field_partition_num = ::std::option::Option::None;
5059        let mut field_replica_factor = ::std::option::Option::None;
5060        let mut field_charset_name = ::std::option::Option::None;
5061        let mut field_collate_name = ::std::option::Option::None;
5062        let mut field_vid_type = ::std::option::Option::None;
5063        let mut field_group_name = ::std::option::Option::None;
5064        let mut field_isolation_level = ::std::option::Option::None;
5065        let mut field_comment = ::std::option::Option::None;
5066        let _ = p.read_struct_begin(|_| ())?;
5067        loop {
5068            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5069            match (fty, fid as ::std::primitive::i32) {
5070                (::fbthrift::TType::Stop, _) => break,
5071                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5072                (::fbthrift::TType::I32, 2) => field_partition_num = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5073                (::fbthrift::TType::I32, 3) => field_replica_factor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5074                (::fbthrift::TType::String, 4) => field_charset_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5075                (::fbthrift::TType::String, 5) => field_collate_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5076                (::fbthrift::TType::Struct, 6) => field_vid_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5077                (::fbthrift::TType::String, 7) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5078                (::fbthrift::TType::I32, 8) => field_isolation_level = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5079                (::fbthrift::TType::String, 9) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5080                (fty, _) => p.skip(fty)?,
5081            }
5082            p.read_field_end()?;
5083        }
5084        p.read_struct_end()?;
5085        ::std::result::Result::Ok(Self {
5086            space_name: field_space_name.unwrap_or_default(),
5087            partition_num: field_partition_num.unwrap_or(0),
5088            replica_factor: field_replica_factor.unwrap_or(0),
5089            charset_name: field_charset_name.unwrap_or_default(),
5090            collate_name: field_collate_name.unwrap_or_default(),
5091            vid_type: field_vid_type.unwrap_or_else(|| crate::types::ColumnTypeDef {
5092                    r#type: crate::types::PropertyType::FIXED_STRING,
5093                    type_length: ::std::option::Option::Some(8),
5094                    geo_shape: ::std::default::Default::default(),
5095                    ..::std::default::Default::default()
5096                }),
5097            group_name: field_group_name,
5098            isolation_level: field_isolation_level,
5099            comment: field_comment,
5100            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5101        })
5102    }
5103}
5104
5105
5106#[allow(clippy::derivable_impls)]
5107impl ::std::default::Default for self::SpaceItem {
5108    fn default() -> Self {
5109        Self {
5110            space_id: ::std::default::Default::default(),
5111            properties: ::std::default::Default::default(),
5112            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5113        }
5114    }
5115}
5116
5117impl ::std::fmt::Debug for self::SpaceItem {
5118    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5119        formatter
5120            .debug_struct("SpaceItem")
5121            .field("space_id", &self.space_id)
5122            .field("properties", &self.properties)
5123            .finish()
5124    }
5125}
5126
5127unsafe impl ::std::marker::Send for self::SpaceItem {}
5128unsafe impl ::std::marker::Sync for self::SpaceItem {}
5129
5130impl ::fbthrift::GetTType for self::SpaceItem {
5131    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5132}
5133
5134impl<P> ::fbthrift::Serialize<P> for self::SpaceItem
5135where
5136    P: ::fbthrift::ProtocolWriter,
5137{
5138    fn write(&self, p: &mut P) {
5139        p.write_struct_begin("SpaceItem");
5140        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5141        ::fbthrift::Serialize::write(&self.space_id, p);
5142        p.write_field_end();
5143        p.write_field_begin("properties", ::fbthrift::TType::Struct, 2);
5144        ::fbthrift::Serialize::write(&self.properties, p);
5145        p.write_field_end();
5146        p.write_field_stop();
5147        p.write_struct_end();
5148    }
5149}
5150
5151impl<P> ::fbthrift::Deserialize<P> for self::SpaceItem
5152where
5153    P: ::fbthrift::ProtocolReader,
5154{
5155    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5156        static FIELDS: &[::fbthrift::Field] = &[
5157            ::fbthrift::Field::new("properties", ::fbthrift::TType::Struct, 2),
5158            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5159        ];
5160        let mut field_space_id = ::std::option::Option::None;
5161        let mut field_properties = ::std::option::Option::None;
5162        let _ = p.read_struct_begin(|_| ())?;
5163        loop {
5164            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5165            match (fty, fid as ::std::primitive::i32) {
5166                (::fbthrift::TType::Stop, _) => break,
5167                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5168                (::fbthrift::TType::Struct, 2) => field_properties = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5169                (fty, _) => p.skip(fty)?,
5170            }
5171            p.read_field_end()?;
5172        }
5173        p.read_struct_end()?;
5174        ::std::result::Result::Ok(Self {
5175            space_id: field_space_id.unwrap_or_default(),
5176            properties: field_properties.unwrap_or_default(),
5177            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5178        })
5179    }
5180}
5181
5182
5183#[allow(clippy::derivable_impls)]
5184impl ::std::default::Default for self::TagItem {
5185    fn default() -> Self {
5186        Self {
5187            tag_id: ::std::default::Default::default(),
5188            tag_name: ::std::default::Default::default(),
5189            version: ::std::default::Default::default(),
5190            schema: ::std::default::Default::default(),
5191            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5192        }
5193    }
5194}
5195
5196impl ::std::fmt::Debug for self::TagItem {
5197    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5198        formatter
5199            .debug_struct("TagItem")
5200            .field("tag_id", &self.tag_id)
5201            .field("tag_name", &self.tag_name)
5202            .field("version", &self.version)
5203            .field("schema", &self.schema)
5204            .finish()
5205    }
5206}
5207
5208unsafe impl ::std::marker::Send for self::TagItem {}
5209unsafe impl ::std::marker::Sync for self::TagItem {}
5210
5211impl ::fbthrift::GetTType for self::TagItem {
5212    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5213}
5214
5215impl<P> ::fbthrift::Serialize<P> for self::TagItem
5216where
5217    P: ::fbthrift::ProtocolWriter,
5218{
5219    fn write(&self, p: &mut P) {
5220        p.write_struct_begin("TagItem");
5221        p.write_field_begin("tag_id", ::fbthrift::TType::I32, 1);
5222        ::fbthrift::Serialize::write(&self.tag_id, p);
5223        p.write_field_end();
5224        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
5225        ::fbthrift::Serialize::write(&self.tag_name, p);
5226        p.write_field_end();
5227        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
5228        ::fbthrift::Serialize::write(&self.version, p);
5229        p.write_field_end();
5230        p.write_field_begin("schema", ::fbthrift::TType::Struct, 4);
5231        ::fbthrift::Serialize::write(&self.schema, p);
5232        p.write_field_end();
5233        p.write_field_stop();
5234        p.write_struct_end();
5235    }
5236}
5237
5238impl<P> ::fbthrift::Deserialize<P> for self::TagItem
5239where
5240    P: ::fbthrift::ProtocolReader,
5241{
5242    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5243        static FIELDS: &[::fbthrift::Field] = &[
5244            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 4),
5245            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 1),
5246            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
5247            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
5248        ];
5249        let mut field_tag_id = ::std::option::Option::None;
5250        let mut field_tag_name = ::std::option::Option::None;
5251        let mut field_version = ::std::option::Option::None;
5252        let mut field_schema = ::std::option::Option::None;
5253        let _ = p.read_struct_begin(|_| ())?;
5254        loop {
5255            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5256            match (fty, fid as ::std::primitive::i32) {
5257                (::fbthrift::TType::Stop, _) => break,
5258                (::fbthrift::TType::I32, 1) => field_tag_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5259                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5260                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5261                (::fbthrift::TType::Struct, 4) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5262                (fty, _) => p.skip(fty)?,
5263            }
5264            p.read_field_end()?;
5265        }
5266        p.read_struct_end()?;
5267        ::std::result::Result::Ok(Self {
5268            tag_id: field_tag_id.unwrap_or_default(),
5269            tag_name: field_tag_name.unwrap_or_default(),
5270            version: field_version.unwrap_or_default(),
5271            schema: field_schema.unwrap_or_default(),
5272            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5273        })
5274    }
5275}
5276
5277
5278#[allow(clippy::derivable_impls)]
5279impl ::std::default::Default for self::AlterSchemaItem {
5280    fn default() -> Self {
5281        Self {
5282            op: ::std::default::Default::default(),
5283            schema: ::std::default::Default::default(),
5284            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5285        }
5286    }
5287}
5288
5289impl ::std::fmt::Debug for self::AlterSchemaItem {
5290    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5291        formatter
5292            .debug_struct("AlterSchemaItem")
5293            .field("op", &self.op)
5294            .field("schema", &self.schema)
5295            .finish()
5296    }
5297}
5298
5299unsafe impl ::std::marker::Send for self::AlterSchemaItem {}
5300unsafe impl ::std::marker::Sync for self::AlterSchemaItem {}
5301
5302impl ::fbthrift::GetTType for self::AlterSchemaItem {
5303    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5304}
5305
5306impl<P> ::fbthrift::Serialize<P> for self::AlterSchemaItem
5307where
5308    P: ::fbthrift::ProtocolWriter,
5309{
5310    fn write(&self, p: &mut P) {
5311        p.write_struct_begin("AlterSchemaItem");
5312        p.write_field_begin("op", ::fbthrift::TType::I32, 1);
5313        ::fbthrift::Serialize::write(&self.op, p);
5314        p.write_field_end();
5315        p.write_field_begin("schema", ::fbthrift::TType::Struct, 2);
5316        ::fbthrift::Serialize::write(&self.schema, p);
5317        p.write_field_end();
5318        p.write_field_stop();
5319        p.write_struct_end();
5320    }
5321}
5322
5323impl<P> ::fbthrift::Deserialize<P> for self::AlterSchemaItem
5324where
5325    P: ::fbthrift::ProtocolReader,
5326{
5327    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5328        static FIELDS: &[::fbthrift::Field] = &[
5329            ::fbthrift::Field::new("op", ::fbthrift::TType::I32, 1),
5330            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 2),
5331        ];
5332        let mut field_op = ::std::option::Option::None;
5333        let mut field_schema = ::std::option::Option::None;
5334        let _ = p.read_struct_begin(|_| ())?;
5335        loop {
5336            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5337            match (fty, fid as ::std::primitive::i32) {
5338                (::fbthrift::TType::Stop, _) => break,
5339                (::fbthrift::TType::I32, 1) => field_op = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5340                (::fbthrift::TType::Struct, 2) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5341                (fty, _) => p.skip(fty)?,
5342            }
5343            p.read_field_end()?;
5344        }
5345        p.read_struct_end()?;
5346        ::std::result::Result::Ok(Self {
5347            op: field_op.unwrap_or_default(),
5348            schema: field_schema.unwrap_or_default(),
5349            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5350        })
5351    }
5352}
5353
5354
5355#[allow(clippy::derivable_impls)]
5356impl ::std::default::Default for self::EdgeItem {
5357    fn default() -> Self {
5358        Self {
5359            edge_type: ::std::default::Default::default(),
5360            edge_name: ::std::default::Default::default(),
5361            version: ::std::default::Default::default(),
5362            schema: ::std::default::Default::default(),
5363            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5364        }
5365    }
5366}
5367
5368impl ::std::fmt::Debug for self::EdgeItem {
5369    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5370        formatter
5371            .debug_struct("EdgeItem")
5372            .field("edge_type", &self.edge_type)
5373            .field("edge_name", &self.edge_name)
5374            .field("version", &self.version)
5375            .field("schema", &self.schema)
5376            .finish()
5377    }
5378}
5379
5380unsafe impl ::std::marker::Send for self::EdgeItem {}
5381unsafe impl ::std::marker::Sync for self::EdgeItem {}
5382
5383impl ::fbthrift::GetTType for self::EdgeItem {
5384    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5385}
5386
5387impl<P> ::fbthrift::Serialize<P> for self::EdgeItem
5388where
5389    P: ::fbthrift::ProtocolWriter,
5390{
5391    fn write(&self, p: &mut P) {
5392        p.write_struct_begin("EdgeItem");
5393        p.write_field_begin("edge_type", ::fbthrift::TType::I32, 1);
5394        ::fbthrift::Serialize::write(&self.edge_type, p);
5395        p.write_field_end();
5396        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
5397        ::fbthrift::Serialize::write(&self.edge_name, p);
5398        p.write_field_end();
5399        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
5400        ::fbthrift::Serialize::write(&self.version, p);
5401        p.write_field_end();
5402        p.write_field_begin("schema", ::fbthrift::TType::Struct, 4);
5403        ::fbthrift::Serialize::write(&self.schema, p);
5404        p.write_field_end();
5405        p.write_field_stop();
5406        p.write_struct_end();
5407    }
5408}
5409
5410impl<P> ::fbthrift::Deserialize<P> for self::EdgeItem
5411where
5412    P: ::fbthrift::ProtocolReader,
5413{
5414    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5415        static FIELDS: &[::fbthrift::Field] = &[
5416            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
5417            ::fbthrift::Field::new("edge_type", ::fbthrift::TType::I32, 1),
5418            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 4),
5419            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
5420        ];
5421        let mut field_edge_type = ::std::option::Option::None;
5422        let mut field_edge_name = ::std::option::Option::None;
5423        let mut field_version = ::std::option::Option::None;
5424        let mut field_schema = ::std::option::Option::None;
5425        let _ = p.read_struct_begin(|_| ())?;
5426        loop {
5427            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5428            match (fty, fid as ::std::primitive::i32) {
5429                (::fbthrift::TType::Stop, _) => break,
5430                (::fbthrift::TType::I32, 1) => field_edge_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5431                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5432                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5433                (::fbthrift::TType::Struct, 4) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5434                (fty, _) => p.skip(fty)?,
5435            }
5436            p.read_field_end()?;
5437        }
5438        p.read_struct_end()?;
5439        ::std::result::Result::Ok(Self {
5440            edge_type: field_edge_type.unwrap_or_default(),
5441            edge_name: field_edge_name.unwrap_or_default(),
5442            version: field_version.unwrap_or_default(),
5443            schema: field_schema.unwrap_or_default(),
5444            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5445        })
5446    }
5447}
5448
5449
5450#[allow(clippy::derivable_impls)]
5451impl ::std::default::Default for self::IndexItem {
5452    fn default() -> Self {
5453        Self {
5454            index_id: ::std::default::Default::default(),
5455            index_name: ::std::default::Default::default(),
5456            schema_id: ::std::default::Default::default(),
5457            schema_name: ::std::default::Default::default(),
5458            fields: ::std::default::Default::default(),
5459            comment: ::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            .finish()
5476    }
5477}
5478
5479unsafe impl ::std::marker::Send for self::IndexItem {}
5480unsafe impl ::std::marker::Sync for self::IndexItem {}
5481
5482impl ::fbthrift::GetTType for self::IndexItem {
5483    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5484}
5485
5486impl<P> ::fbthrift::Serialize<P> for self::IndexItem
5487where
5488    P: ::fbthrift::ProtocolWriter,
5489{
5490    fn write(&self, p: &mut P) {
5491        p.write_struct_begin("IndexItem");
5492        p.write_field_begin("index_id", ::fbthrift::TType::I32, 1);
5493        ::fbthrift::Serialize::write(&self.index_id, p);
5494        p.write_field_end();
5495        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
5496        ::fbthrift::Serialize::write(&self.index_name, p);
5497        p.write_field_end();
5498        p.write_field_begin("schema_id", ::fbthrift::TType::Struct, 3);
5499        ::fbthrift::Serialize::write(&self.schema_id, p);
5500        p.write_field_end();
5501        p.write_field_begin("schema_name", ::fbthrift::TType::String, 4);
5502        ::fbthrift::Serialize::write(&self.schema_name, p);
5503        p.write_field_end();
5504        p.write_field_begin("fields", ::fbthrift::TType::List, 5);
5505        ::fbthrift::Serialize::write(&self.fields, p);
5506        p.write_field_end();
5507        if let ::std::option::Option::Some(some) = &self.comment {
5508            p.write_field_begin("comment", ::fbthrift::TType::String, 6);
5509            ::fbthrift::Serialize::write(some, p);
5510            p.write_field_end();
5511        }
5512        p.write_field_stop();
5513        p.write_struct_end();
5514    }
5515}
5516
5517impl<P> ::fbthrift::Deserialize<P> for self::IndexItem
5518where
5519    P: ::fbthrift::ProtocolReader,
5520{
5521    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5522        static FIELDS: &[::fbthrift::Field] = &[
5523            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 6),
5524            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 5),
5525            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 1),
5526            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
5527            ::fbthrift::Field::new("schema_id", ::fbthrift::TType::Struct, 3),
5528            ::fbthrift::Field::new("schema_name", ::fbthrift::TType::String, 4),
5529        ];
5530        let mut field_index_id = ::std::option::Option::None;
5531        let mut field_index_name = ::std::option::Option::None;
5532        let mut field_schema_id = ::std::option::Option::None;
5533        let mut field_schema_name = ::std::option::Option::None;
5534        let mut field_fields = ::std::option::Option::None;
5535        let mut field_comment = ::std::option::Option::None;
5536        let _ = p.read_struct_begin(|_| ())?;
5537        loop {
5538            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5539            match (fty, fid as ::std::primitive::i32) {
5540                (::fbthrift::TType::Stop, _) => break,
5541                (::fbthrift::TType::I32, 1) => field_index_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5542                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5543                (::fbthrift::TType::Struct, 3) => field_schema_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5544                (::fbthrift::TType::String, 4) => field_schema_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5545                (::fbthrift::TType::List, 5) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5546                (::fbthrift::TType::String, 6) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5547                (fty, _) => p.skip(fty)?,
5548            }
5549            p.read_field_end()?;
5550        }
5551        p.read_struct_end()?;
5552        ::std::result::Result::Ok(Self {
5553            index_id: field_index_id.unwrap_or_default(),
5554            index_name: field_index_name.unwrap_or_default(),
5555            schema_id: field_schema_id.unwrap_or_default(),
5556            schema_name: field_schema_name.unwrap_or_default(),
5557            fields: field_fields.unwrap_or_default(),
5558            comment: field_comment,
5559            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5560        })
5561    }
5562}
5563
5564
5565#[allow(clippy::derivable_impls)]
5566impl ::std::default::Default for self::HostItem {
5567    fn default() -> Self {
5568        Self {
5569            hostAddr: ::std::default::Default::default(),
5570            status: ::std::default::Default::default(),
5571            leader_parts: ::std::default::Default::default(),
5572            all_parts: ::std::default::Default::default(),
5573            role: ::std::default::Default::default(),
5574            git_info_sha: ::std::default::Default::default(),
5575            zone_name: ::std::option::Option::None,
5576            version: ::std::option::Option::None,
5577            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5578        }
5579    }
5580}
5581
5582impl ::std::fmt::Debug for self::HostItem {
5583    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5584        formatter
5585            .debug_struct("HostItem")
5586            .field("hostAddr", &self.hostAddr)
5587            .field("status", &self.status)
5588            .field("leader_parts", &self.leader_parts)
5589            .field("all_parts", &self.all_parts)
5590            .field("role", &self.role)
5591            .field("git_info_sha", &self.git_info_sha)
5592            .field("zone_name", &self.zone_name)
5593            .field("version", &self.version)
5594            .finish()
5595    }
5596}
5597
5598unsafe impl ::std::marker::Send for self::HostItem {}
5599unsafe impl ::std::marker::Sync for self::HostItem {}
5600
5601impl ::fbthrift::GetTType for self::HostItem {
5602    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5603}
5604
5605impl<P> ::fbthrift::Serialize<P> for self::HostItem
5606where
5607    P: ::fbthrift::ProtocolWriter,
5608{
5609    fn write(&self, p: &mut P) {
5610        p.write_struct_begin("HostItem");
5611        p.write_field_begin("hostAddr", ::fbthrift::TType::Struct, 1);
5612        ::fbthrift::Serialize::write(&self.hostAddr, p);
5613        p.write_field_end();
5614        p.write_field_begin("status", ::fbthrift::TType::I32, 2);
5615        ::fbthrift::Serialize::write(&self.status, p);
5616        p.write_field_end();
5617        p.write_field_begin("leader_parts", ::fbthrift::TType::Map, 3);
5618        ::fbthrift::Serialize::write(&self.leader_parts, p);
5619        p.write_field_end();
5620        p.write_field_begin("all_parts", ::fbthrift::TType::Map, 4);
5621        ::fbthrift::Serialize::write(&self.all_parts, p);
5622        p.write_field_end();
5623        p.write_field_begin("role", ::fbthrift::TType::I32, 5);
5624        ::fbthrift::Serialize::write(&self.role, p);
5625        p.write_field_end();
5626        p.write_field_begin("git_info_sha", ::fbthrift::TType::String, 6);
5627        ::fbthrift::Serialize::write(&self.git_info_sha, p);
5628        p.write_field_end();
5629        if let ::std::option::Option::Some(some) = &self.zone_name {
5630            p.write_field_begin("zone_name", ::fbthrift::TType::String, 7);
5631            ::fbthrift::Serialize::write(some, p);
5632            p.write_field_end();
5633        }
5634        if let ::std::option::Option::Some(some) = &self.version {
5635            p.write_field_begin("version", ::fbthrift::TType::String, 8);
5636            ::fbthrift::Serialize::write(some, p);
5637            p.write_field_end();
5638        }
5639        p.write_field_stop();
5640        p.write_struct_end();
5641    }
5642}
5643
5644impl<P> ::fbthrift::Deserialize<P> for self::HostItem
5645where
5646    P: ::fbthrift::ProtocolReader,
5647{
5648    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5649        static FIELDS: &[::fbthrift::Field] = &[
5650            ::fbthrift::Field::new("all_parts", ::fbthrift::TType::Map, 4),
5651            ::fbthrift::Field::new("git_info_sha", ::fbthrift::TType::String, 6),
5652            ::fbthrift::Field::new("hostAddr", ::fbthrift::TType::Struct, 1),
5653            ::fbthrift::Field::new("leader_parts", ::fbthrift::TType::Map, 3),
5654            ::fbthrift::Field::new("role", ::fbthrift::TType::I32, 5),
5655            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 2),
5656            ::fbthrift::Field::new("version", ::fbthrift::TType::String, 8),
5657            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 7),
5658        ];
5659        let mut field_hostAddr = ::std::option::Option::None;
5660        let mut field_status = ::std::option::Option::None;
5661        let mut field_leader_parts = ::std::option::Option::None;
5662        let mut field_all_parts = ::std::option::Option::None;
5663        let mut field_role = ::std::option::Option::None;
5664        let mut field_git_info_sha = ::std::option::Option::None;
5665        let mut field_zone_name = ::std::option::Option::None;
5666        let mut field_version = ::std::option::Option::None;
5667        let _ = p.read_struct_begin(|_| ())?;
5668        loop {
5669            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5670            match (fty, fid as ::std::primitive::i32) {
5671                (::fbthrift::TType::Stop, _) => break,
5672                (::fbthrift::TType::Struct, 1) => field_hostAddr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5673                (::fbthrift::TType::I32, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5674                (::fbthrift::TType::Map, 3) => field_leader_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5675                (::fbthrift::TType::Map, 4) => field_all_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5676                (::fbthrift::TType::I32, 5) => field_role = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5677                (::fbthrift::TType::String, 6) => field_git_info_sha = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5678                (::fbthrift::TType::String, 7) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5679                (::fbthrift::TType::String, 8) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5680                (fty, _) => p.skip(fty)?,
5681            }
5682            p.read_field_end()?;
5683        }
5684        p.read_struct_end()?;
5685        ::std::result::Result::Ok(Self {
5686            hostAddr: field_hostAddr.unwrap_or_default(),
5687            status: field_status.unwrap_or_default(),
5688            leader_parts: field_leader_parts.unwrap_or_default(),
5689            all_parts: field_all_parts.unwrap_or_default(),
5690            role: field_role.unwrap_or_default(),
5691            git_info_sha: field_git_info_sha.unwrap_or_default(),
5692            zone_name: field_zone_name,
5693            version: field_version,
5694            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5695        })
5696    }
5697}
5698
5699
5700#[allow(clippy::derivable_impls)]
5701impl ::std::default::Default for self::UserItem {
5702    fn default() -> Self {
5703        Self {
5704            account: ::std::default::Default::default(),
5705            is_lock: ::std::default::Default::default(),
5706            max_queries_per_hour: ::std::default::Default::default(),
5707            max_updates_per_hour: ::std::default::Default::default(),
5708            max_connections_per_hour: ::std::default::Default::default(),
5709            max_user_connections: ::std::default::Default::default(),
5710            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5711        }
5712    }
5713}
5714
5715impl ::std::fmt::Debug for self::UserItem {
5716    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5717        formatter
5718            .debug_struct("UserItem")
5719            .field("account", &self.account)
5720            .field("is_lock", &self.is_lock)
5721            .field("max_queries_per_hour", &self.max_queries_per_hour)
5722            .field("max_updates_per_hour", &self.max_updates_per_hour)
5723            .field("max_connections_per_hour", &self.max_connections_per_hour)
5724            .field("max_user_connections", &self.max_user_connections)
5725            .finish()
5726    }
5727}
5728
5729unsafe impl ::std::marker::Send for self::UserItem {}
5730unsafe impl ::std::marker::Sync for self::UserItem {}
5731
5732impl ::fbthrift::GetTType for self::UserItem {
5733    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5734}
5735
5736impl<P> ::fbthrift::Serialize<P> for self::UserItem
5737where
5738    P: ::fbthrift::ProtocolWriter,
5739{
5740    fn write(&self, p: &mut P) {
5741        p.write_struct_begin("UserItem");
5742        p.write_field_begin("account", ::fbthrift::TType::String, 1);
5743        ::fbthrift::Serialize::write(&self.account, p);
5744        p.write_field_end();
5745        p.write_field_begin("is_lock", ::fbthrift::TType::Bool, 2);
5746        ::fbthrift::Serialize::write(&self.is_lock, p);
5747        p.write_field_end();
5748        p.write_field_begin("max_queries_per_hour", ::fbthrift::TType::I32, 3);
5749        ::fbthrift::Serialize::write(&self.max_queries_per_hour, p);
5750        p.write_field_end();
5751        p.write_field_begin("max_updates_per_hour", ::fbthrift::TType::I32, 4);
5752        ::fbthrift::Serialize::write(&self.max_updates_per_hour, p);
5753        p.write_field_end();
5754        p.write_field_begin("max_connections_per_hour", ::fbthrift::TType::I32, 5);
5755        ::fbthrift::Serialize::write(&self.max_connections_per_hour, p);
5756        p.write_field_end();
5757        p.write_field_begin("max_user_connections", ::fbthrift::TType::I32, 6);
5758        ::fbthrift::Serialize::write(&self.max_user_connections, p);
5759        p.write_field_end();
5760        p.write_field_stop();
5761        p.write_struct_end();
5762    }
5763}
5764
5765impl<P> ::fbthrift::Deserialize<P> for self::UserItem
5766where
5767    P: ::fbthrift::ProtocolReader,
5768{
5769    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5770        static FIELDS: &[::fbthrift::Field] = &[
5771            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
5772            ::fbthrift::Field::new("is_lock", ::fbthrift::TType::Bool, 2),
5773            ::fbthrift::Field::new("max_connections_per_hour", ::fbthrift::TType::I32, 5),
5774            ::fbthrift::Field::new("max_queries_per_hour", ::fbthrift::TType::I32, 3),
5775            ::fbthrift::Field::new("max_updates_per_hour", ::fbthrift::TType::I32, 4),
5776            ::fbthrift::Field::new("max_user_connections", ::fbthrift::TType::I32, 6),
5777        ];
5778        let mut field_account = ::std::option::Option::None;
5779        let mut field_is_lock = ::std::option::Option::None;
5780        let mut field_max_queries_per_hour = ::std::option::Option::None;
5781        let mut field_max_updates_per_hour = ::std::option::Option::None;
5782        let mut field_max_connections_per_hour = ::std::option::Option::None;
5783        let mut field_max_user_connections = ::std::option::Option::None;
5784        let _ = p.read_struct_begin(|_| ())?;
5785        loop {
5786            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5787            match (fty, fid as ::std::primitive::i32) {
5788                (::fbthrift::TType::Stop, _) => break,
5789                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5790                (::fbthrift::TType::Bool, 2) => field_is_lock = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5791                (::fbthrift::TType::I32, 3) => field_max_queries_per_hour = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5792                (::fbthrift::TType::I32, 4) => field_max_updates_per_hour = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5793                (::fbthrift::TType::I32, 5) => field_max_connections_per_hour = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5794                (::fbthrift::TType::I32, 6) => field_max_user_connections = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5795                (fty, _) => p.skip(fty)?,
5796            }
5797            p.read_field_end()?;
5798        }
5799        p.read_struct_end()?;
5800        ::std::result::Result::Ok(Self {
5801            account: field_account.unwrap_or_default(),
5802            is_lock: field_is_lock.unwrap_or_default(),
5803            max_queries_per_hour: field_max_queries_per_hour.unwrap_or_default(),
5804            max_updates_per_hour: field_max_updates_per_hour.unwrap_or_default(),
5805            max_connections_per_hour: field_max_connections_per_hour.unwrap_or_default(),
5806            max_user_connections: field_max_user_connections.unwrap_or_default(),
5807            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5808        })
5809    }
5810}
5811
5812
5813#[allow(clippy::derivable_impls)]
5814impl ::std::default::Default for self::RoleItem {
5815    fn default() -> Self {
5816        Self {
5817            user_id: ::std::default::Default::default(),
5818            space_id: ::std::default::Default::default(),
5819            role_type: ::std::default::Default::default(),
5820            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5821        }
5822    }
5823}
5824
5825impl ::std::fmt::Debug for self::RoleItem {
5826    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5827        formatter
5828            .debug_struct("RoleItem")
5829            .field("user_id", &self.user_id)
5830            .field("space_id", &self.space_id)
5831            .field("role_type", &self.role_type)
5832            .finish()
5833    }
5834}
5835
5836unsafe impl ::std::marker::Send for self::RoleItem {}
5837unsafe impl ::std::marker::Sync for self::RoleItem {}
5838
5839impl ::fbthrift::GetTType for self::RoleItem {
5840    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5841}
5842
5843impl<P> ::fbthrift::Serialize<P> for self::RoleItem
5844where
5845    P: ::fbthrift::ProtocolWriter,
5846{
5847    fn write(&self, p: &mut P) {
5848        p.write_struct_begin("RoleItem");
5849        p.write_field_begin("user_id", ::fbthrift::TType::String, 1);
5850        ::fbthrift::Serialize::write(&self.user_id, p);
5851        p.write_field_end();
5852        p.write_field_begin("space_id", ::fbthrift::TType::I32, 2);
5853        ::fbthrift::Serialize::write(&self.space_id, p);
5854        p.write_field_end();
5855        p.write_field_begin("role_type", ::fbthrift::TType::I32, 3);
5856        ::fbthrift::Serialize::write(&self.role_type, p);
5857        p.write_field_end();
5858        p.write_field_stop();
5859        p.write_struct_end();
5860    }
5861}
5862
5863impl<P> ::fbthrift::Deserialize<P> for self::RoleItem
5864where
5865    P: ::fbthrift::ProtocolReader,
5866{
5867    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5868        static FIELDS: &[::fbthrift::Field] = &[
5869            ::fbthrift::Field::new("role_type", ::fbthrift::TType::I32, 3),
5870            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 2),
5871            ::fbthrift::Field::new("user_id", ::fbthrift::TType::String, 1),
5872        ];
5873        let mut field_user_id = ::std::option::Option::None;
5874        let mut field_space_id = ::std::option::Option::None;
5875        let mut field_role_type = ::std::option::Option::None;
5876        let _ = p.read_struct_begin(|_| ())?;
5877        loop {
5878            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5879            match (fty, fid as ::std::primitive::i32) {
5880                (::fbthrift::TType::Stop, _) => break,
5881                (::fbthrift::TType::String, 1) => field_user_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5882                (::fbthrift::TType::I32, 2) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5883                (::fbthrift::TType::I32, 3) => field_role_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5884                (fty, _) => p.skip(fty)?,
5885            }
5886            p.read_field_end()?;
5887        }
5888        p.read_struct_end()?;
5889        ::std::result::Result::Ok(Self {
5890            user_id: field_user_id.unwrap_or_default(),
5891            space_id: field_space_id.unwrap_or_default(),
5892            role_type: field_role_type.unwrap_or_default(),
5893            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5894        })
5895    }
5896}
5897
5898
5899#[allow(clippy::derivable_impls)]
5900impl ::std::default::Default for self::ExecResp {
5901    fn default() -> Self {
5902        Self {
5903            code: ::std::default::Default::default(),
5904            id: ::std::default::Default::default(),
5905            leader: ::std::default::Default::default(),
5906            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5907        }
5908    }
5909}
5910
5911impl ::std::fmt::Debug for self::ExecResp {
5912    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5913        formatter
5914            .debug_struct("ExecResp")
5915            .field("code", &self.code)
5916            .field("id", &self.id)
5917            .field("leader", &self.leader)
5918            .finish()
5919    }
5920}
5921
5922unsafe impl ::std::marker::Send for self::ExecResp {}
5923unsafe impl ::std::marker::Sync for self::ExecResp {}
5924
5925impl ::fbthrift::GetTType for self::ExecResp {
5926    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5927}
5928
5929impl<P> ::fbthrift::Serialize<P> for self::ExecResp
5930where
5931    P: ::fbthrift::ProtocolWriter,
5932{
5933    fn write(&self, p: &mut P) {
5934        p.write_struct_begin("ExecResp");
5935        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
5936        ::fbthrift::Serialize::write(&self.code, p);
5937        p.write_field_end();
5938        p.write_field_begin("id", ::fbthrift::TType::Struct, 2);
5939        ::fbthrift::Serialize::write(&self.id, p);
5940        p.write_field_end();
5941        p.write_field_begin("leader", ::fbthrift::TType::Struct, 3);
5942        ::fbthrift::Serialize::write(&self.leader, p);
5943        p.write_field_end();
5944        p.write_field_stop();
5945        p.write_struct_end();
5946    }
5947}
5948
5949impl<P> ::fbthrift::Deserialize<P> for self::ExecResp
5950where
5951    P: ::fbthrift::ProtocolReader,
5952{
5953    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5954        static FIELDS: &[::fbthrift::Field] = &[
5955            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
5956            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 2),
5957            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 3),
5958        ];
5959        let mut field_code = ::std::option::Option::None;
5960        let mut field_id = ::std::option::Option::None;
5961        let mut field_leader = ::std::option::Option::None;
5962        let _ = p.read_struct_begin(|_| ())?;
5963        loop {
5964            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5965            match (fty, fid as ::std::primitive::i32) {
5966                (::fbthrift::TType::Stop, _) => break,
5967                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5968                (::fbthrift::TType::Struct, 2) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5969                (::fbthrift::TType::Struct, 3) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5970                (fty, _) => p.skip(fty)?,
5971            }
5972            p.read_field_end()?;
5973        }
5974        p.read_struct_end()?;
5975        ::std::result::Result::Ok(Self {
5976            code: field_code.unwrap_or_default(),
5977            id: field_id.unwrap_or_default(),
5978            leader: field_leader.unwrap_or_default(),
5979            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5980        })
5981    }
5982}
5983
5984
5985#[allow(clippy::derivable_impls)]
5986impl ::std::default::Default for self::AdminJobReq {
5987    fn default() -> Self {
5988        Self {
5989            op: ::std::default::Default::default(),
5990            cmd: ::std::default::Default::default(),
5991            paras: ::std::default::Default::default(),
5992            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5993        }
5994    }
5995}
5996
5997impl ::std::fmt::Debug for self::AdminJobReq {
5998    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5999        formatter
6000            .debug_struct("AdminJobReq")
6001            .field("op", &self.op)
6002            .field("cmd", &self.cmd)
6003            .field("paras", &self.paras)
6004            .finish()
6005    }
6006}
6007
6008unsafe impl ::std::marker::Send for self::AdminJobReq {}
6009unsafe impl ::std::marker::Sync for self::AdminJobReq {}
6010
6011impl ::fbthrift::GetTType for self::AdminJobReq {
6012    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6013}
6014
6015impl<P> ::fbthrift::Serialize<P> for self::AdminJobReq
6016where
6017    P: ::fbthrift::ProtocolWriter,
6018{
6019    fn write(&self, p: &mut P) {
6020        p.write_struct_begin("AdminJobReq");
6021        p.write_field_begin("op", ::fbthrift::TType::I32, 1);
6022        ::fbthrift::Serialize::write(&self.op, p);
6023        p.write_field_end();
6024        p.write_field_begin("cmd", ::fbthrift::TType::I32, 2);
6025        ::fbthrift::Serialize::write(&self.cmd, p);
6026        p.write_field_end();
6027        p.write_field_begin("paras", ::fbthrift::TType::List, 3);
6028        ::fbthrift::Serialize::write(&self.paras, p);
6029        p.write_field_end();
6030        p.write_field_stop();
6031        p.write_struct_end();
6032    }
6033}
6034
6035impl<P> ::fbthrift::Deserialize<P> for self::AdminJobReq
6036where
6037    P: ::fbthrift::ProtocolReader,
6038{
6039    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6040        static FIELDS: &[::fbthrift::Field] = &[
6041            ::fbthrift::Field::new("cmd", ::fbthrift::TType::I32, 2),
6042            ::fbthrift::Field::new("op", ::fbthrift::TType::I32, 1),
6043            ::fbthrift::Field::new("paras", ::fbthrift::TType::List, 3),
6044        ];
6045        let mut field_op = ::std::option::Option::None;
6046        let mut field_cmd = ::std::option::Option::None;
6047        let mut field_paras = ::std::option::Option::None;
6048        let _ = p.read_struct_begin(|_| ())?;
6049        loop {
6050            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6051            match (fty, fid as ::std::primitive::i32) {
6052                (::fbthrift::TType::Stop, _) => break,
6053                (::fbthrift::TType::I32, 1) => field_op = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6054                (::fbthrift::TType::I32, 2) => field_cmd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6055                (::fbthrift::TType::List, 3) => field_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6056                (fty, _) => p.skip(fty)?,
6057            }
6058            p.read_field_end()?;
6059        }
6060        p.read_struct_end()?;
6061        ::std::result::Result::Ok(Self {
6062            op: field_op.unwrap_or_default(),
6063            cmd: field_cmd.unwrap_or_default(),
6064            paras: field_paras.unwrap_or_default(),
6065            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6066        })
6067    }
6068}
6069
6070
6071#[allow(clippy::derivable_impls)]
6072impl ::std::default::Default for self::JobDesc {
6073    fn default() -> Self {
6074        Self {
6075            id: ::std::default::Default::default(),
6076            cmd: ::std::default::Default::default(),
6077            paras: ::std::default::Default::default(),
6078            status: ::std::default::Default::default(),
6079            start_time: ::std::default::Default::default(),
6080            stop_time: ::std::default::Default::default(),
6081            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6082        }
6083    }
6084}
6085
6086impl ::std::fmt::Debug for self::JobDesc {
6087    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6088        formatter
6089            .debug_struct("JobDesc")
6090            .field("id", &self.id)
6091            .field("cmd", &self.cmd)
6092            .field("paras", &self.paras)
6093            .field("status", &self.status)
6094            .field("start_time", &self.start_time)
6095            .field("stop_time", &self.stop_time)
6096            .finish()
6097    }
6098}
6099
6100unsafe impl ::std::marker::Send for self::JobDesc {}
6101unsafe impl ::std::marker::Sync for self::JobDesc {}
6102
6103impl ::fbthrift::GetTType for self::JobDesc {
6104    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6105}
6106
6107impl<P> ::fbthrift::Serialize<P> for self::JobDesc
6108where
6109    P: ::fbthrift::ProtocolWriter,
6110{
6111    fn write(&self, p: &mut P) {
6112        p.write_struct_begin("JobDesc");
6113        p.write_field_begin("id", ::fbthrift::TType::I32, 1);
6114        ::fbthrift::Serialize::write(&self.id, p);
6115        p.write_field_end();
6116        p.write_field_begin("cmd", ::fbthrift::TType::I32, 2);
6117        ::fbthrift::Serialize::write(&self.cmd, p);
6118        p.write_field_end();
6119        p.write_field_begin("paras", ::fbthrift::TType::List, 3);
6120        ::fbthrift::Serialize::write(&self.paras, p);
6121        p.write_field_end();
6122        p.write_field_begin("status", ::fbthrift::TType::I32, 4);
6123        ::fbthrift::Serialize::write(&self.status, p);
6124        p.write_field_end();
6125        p.write_field_begin("start_time", ::fbthrift::TType::I64, 5);
6126        ::fbthrift::Serialize::write(&self.start_time, p);
6127        p.write_field_end();
6128        p.write_field_begin("stop_time", ::fbthrift::TType::I64, 6);
6129        ::fbthrift::Serialize::write(&self.stop_time, 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::JobDesc
6137where
6138    P: ::fbthrift::ProtocolReader,
6139{
6140    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6141        static FIELDS: &[::fbthrift::Field] = &[
6142            ::fbthrift::Field::new("cmd", ::fbthrift::TType::I32, 2),
6143            ::fbthrift::Field::new("id", ::fbthrift::TType::I32, 1),
6144            ::fbthrift::Field::new("paras", ::fbthrift::TType::List, 3),
6145            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 5),
6146            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 4),
6147            ::fbthrift::Field::new("stop_time", ::fbthrift::TType::I64, 6),
6148        ];
6149        let mut field_id = ::std::option::Option::None;
6150        let mut field_cmd = ::std::option::Option::None;
6151        let mut field_paras = ::std::option::Option::None;
6152        let mut field_status = ::std::option::Option::None;
6153        let mut field_start_time = ::std::option::Option::None;
6154        let mut field_stop_time = ::std::option::Option::None;
6155        let _ = p.read_struct_begin(|_| ())?;
6156        loop {
6157            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6158            match (fty, fid as ::std::primitive::i32) {
6159                (::fbthrift::TType::Stop, _) => break,
6160                (::fbthrift::TType::I32, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6161                (::fbthrift::TType::I32, 2) => field_cmd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6162                (::fbthrift::TType::List, 3) => field_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6163                (::fbthrift::TType::I32, 4) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6164                (::fbthrift::TType::I64, 5) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6165                (::fbthrift::TType::I64, 6) => field_stop_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6166                (fty, _) => p.skip(fty)?,
6167            }
6168            p.read_field_end()?;
6169        }
6170        p.read_struct_end()?;
6171        ::std::result::Result::Ok(Self {
6172            id: field_id.unwrap_or_default(),
6173            cmd: field_cmd.unwrap_or_default(),
6174            paras: field_paras.unwrap_or_default(),
6175            status: field_status.unwrap_or_default(),
6176            start_time: field_start_time.unwrap_or_default(),
6177            stop_time: field_stop_time.unwrap_or_default(),
6178            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6179        })
6180    }
6181}
6182
6183
6184#[allow(clippy::derivable_impls)]
6185impl ::std::default::Default for self::TaskDesc {
6186    fn default() -> Self {
6187        Self {
6188            task_id: ::std::default::Default::default(),
6189            host: ::std::default::Default::default(),
6190            status: ::std::default::Default::default(),
6191            start_time: ::std::default::Default::default(),
6192            stop_time: ::std::default::Default::default(),
6193            job_id: ::std::default::Default::default(),
6194            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6195        }
6196    }
6197}
6198
6199impl ::std::fmt::Debug for self::TaskDesc {
6200    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6201        formatter
6202            .debug_struct("TaskDesc")
6203            .field("task_id", &self.task_id)
6204            .field("host", &self.host)
6205            .field("status", &self.status)
6206            .field("start_time", &self.start_time)
6207            .field("stop_time", &self.stop_time)
6208            .field("job_id", &self.job_id)
6209            .finish()
6210    }
6211}
6212
6213unsafe impl ::std::marker::Send for self::TaskDesc {}
6214unsafe impl ::std::marker::Sync for self::TaskDesc {}
6215
6216impl ::fbthrift::GetTType for self::TaskDesc {
6217    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6218}
6219
6220impl<P> ::fbthrift::Serialize<P> for self::TaskDesc
6221where
6222    P: ::fbthrift::ProtocolWriter,
6223{
6224    fn write(&self, p: &mut P) {
6225        p.write_struct_begin("TaskDesc");
6226        p.write_field_begin("task_id", ::fbthrift::TType::I32, 1);
6227        ::fbthrift::Serialize::write(&self.task_id, p);
6228        p.write_field_end();
6229        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
6230        ::fbthrift::Serialize::write(&self.host, p);
6231        p.write_field_end();
6232        p.write_field_begin("status", ::fbthrift::TType::I32, 3);
6233        ::fbthrift::Serialize::write(&self.status, p);
6234        p.write_field_end();
6235        p.write_field_begin("start_time", ::fbthrift::TType::I64, 4);
6236        ::fbthrift::Serialize::write(&self.start_time, p);
6237        p.write_field_end();
6238        p.write_field_begin("stop_time", ::fbthrift::TType::I64, 5);
6239        ::fbthrift::Serialize::write(&self.stop_time, p);
6240        p.write_field_end();
6241        p.write_field_begin("job_id", ::fbthrift::TType::I32, 6);
6242        ::fbthrift::Serialize::write(&self.job_id, p);
6243        p.write_field_end();
6244        p.write_field_stop();
6245        p.write_struct_end();
6246    }
6247}
6248
6249impl<P> ::fbthrift::Deserialize<P> for self::TaskDesc
6250where
6251    P: ::fbthrift::ProtocolReader,
6252{
6253    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6254        static FIELDS: &[::fbthrift::Field] = &[
6255            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
6256            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 6),
6257            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 4),
6258            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 3),
6259            ::fbthrift::Field::new("stop_time", ::fbthrift::TType::I64, 5),
6260            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 1),
6261        ];
6262        let mut field_task_id = ::std::option::Option::None;
6263        let mut field_host = ::std::option::Option::None;
6264        let mut field_status = ::std::option::Option::None;
6265        let mut field_start_time = ::std::option::Option::None;
6266        let mut field_stop_time = ::std::option::Option::None;
6267        let mut field_job_id = ::std::option::Option::None;
6268        let _ = p.read_struct_begin(|_| ())?;
6269        loop {
6270            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6271            match (fty, fid as ::std::primitive::i32) {
6272                (::fbthrift::TType::Stop, _) => break,
6273                (::fbthrift::TType::I32, 1) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6274                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6275                (::fbthrift::TType::I32, 3) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6276                (::fbthrift::TType::I64, 4) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6277                (::fbthrift::TType::I64, 5) => field_stop_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6278                (::fbthrift::TType::I32, 6) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6279                (fty, _) => p.skip(fty)?,
6280            }
6281            p.read_field_end()?;
6282        }
6283        p.read_struct_end()?;
6284        ::std::result::Result::Ok(Self {
6285            task_id: field_task_id.unwrap_or_default(),
6286            host: field_host.unwrap_or_default(),
6287            status: field_status.unwrap_or_default(),
6288            start_time: field_start_time.unwrap_or_default(),
6289            stop_time: field_stop_time.unwrap_or_default(),
6290            job_id: field_job_id.unwrap_or_default(),
6291            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6292        })
6293    }
6294}
6295
6296
6297#[allow(clippy::derivable_impls)]
6298impl ::std::default::Default for self::AdminJobResult {
6299    fn default() -> Self {
6300        Self {
6301            job_id: ::std::option::Option::None,
6302            job_desc: ::std::option::Option::None,
6303            task_desc: ::std::option::Option::None,
6304            recovered_job_num: ::std::option::Option::None,
6305            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6306        }
6307    }
6308}
6309
6310impl ::std::fmt::Debug for self::AdminJobResult {
6311    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6312        formatter
6313            .debug_struct("AdminJobResult")
6314            .field("job_id", &self.job_id)
6315            .field("job_desc", &self.job_desc)
6316            .field("task_desc", &self.task_desc)
6317            .field("recovered_job_num", &self.recovered_job_num)
6318            .finish()
6319    }
6320}
6321
6322unsafe impl ::std::marker::Send for self::AdminJobResult {}
6323unsafe impl ::std::marker::Sync for self::AdminJobResult {}
6324
6325impl ::fbthrift::GetTType for self::AdminJobResult {
6326    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6327}
6328
6329impl<P> ::fbthrift::Serialize<P> for self::AdminJobResult
6330where
6331    P: ::fbthrift::ProtocolWriter,
6332{
6333    fn write(&self, p: &mut P) {
6334        p.write_struct_begin("AdminJobResult");
6335        if let ::std::option::Option::Some(some) = &self.job_id {
6336            p.write_field_begin("job_id", ::fbthrift::TType::I32, 1);
6337            ::fbthrift::Serialize::write(some, p);
6338            p.write_field_end();
6339        }
6340        if let ::std::option::Option::Some(some) = &self.job_desc {
6341            p.write_field_begin("job_desc", ::fbthrift::TType::List, 2);
6342            ::fbthrift::Serialize::write(some, p);
6343            p.write_field_end();
6344        }
6345        if let ::std::option::Option::Some(some) = &self.task_desc {
6346            p.write_field_begin("task_desc", ::fbthrift::TType::List, 3);
6347            ::fbthrift::Serialize::write(some, p);
6348            p.write_field_end();
6349        }
6350        if let ::std::option::Option::Some(some) = &self.recovered_job_num {
6351            p.write_field_begin("recovered_job_num", ::fbthrift::TType::I32, 4);
6352            ::fbthrift::Serialize::write(some, p);
6353            p.write_field_end();
6354        }
6355        p.write_field_stop();
6356        p.write_struct_end();
6357    }
6358}
6359
6360impl<P> ::fbthrift::Deserialize<P> for self::AdminJobResult
6361where
6362    P: ::fbthrift::ProtocolReader,
6363{
6364    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6365        static FIELDS: &[::fbthrift::Field] = &[
6366            ::fbthrift::Field::new("job_desc", ::fbthrift::TType::List, 2),
6367            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 1),
6368            ::fbthrift::Field::new("recovered_job_num", ::fbthrift::TType::I32, 4),
6369            ::fbthrift::Field::new("task_desc", ::fbthrift::TType::List, 3),
6370        ];
6371        let mut field_job_id = ::std::option::Option::None;
6372        let mut field_job_desc = ::std::option::Option::None;
6373        let mut field_task_desc = ::std::option::Option::None;
6374        let mut field_recovered_job_num = ::std::option::Option::None;
6375        let _ = p.read_struct_begin(|_| ())?;
6376        loop {
6377            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6378            match (fty, fid as ::std::primitive::i32) {
6379                (::fbthrift::TType::Stop, _) => break,
6380                (::fbthrift::TType::I32, 1) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6381                (::fbthrift::TType::List, 2) => field_job_desc = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6382                (::fbthrift::TType::List, 3) => field_task_desc = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6383                (::fbthrift::TType::I32, 4) => field_recovered_job_num = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6384                (fty, _) => p.skip(fty)?,
6385            }
6386            p.read_field_end()?;
6387        }
6388        p.read_struct_end()?;
6389        ::std::result::Result::Ok(Self {
6390            job_id: field_job_id,
6391            job_desc: field_job_desc,
6392            task_desc: field_task_desc,
6393            recovered_job_num: field_recovered_job_num,
6394            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6395        })
6396    }
6397}
6398
6399
6400#[allow(clippy::derivable_impls)]
6401impl ::std::default::Default for self::AdminJobResp {
6402    fn default() -> Self {
6403        Self {
6404            code: ::std::default::Default::default(),
6405            leader: ::std::default::Default::default(),
6406            result: ::std::default::Default::default(),
6407            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6408        }
6409    }
6410}
6411
6412impl ::std::fmt::Debug for self::AdminJobResp {
6413    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6414        formatter
6415            .debug_struct("AdminJobResp")
6416            .field("code", &self.code)
6417            .field("leader", &self.leader)
6418            .field("result", &self.result)
6419            .finish()
6420    }
6421}
6422
6423unsafe impl ::std::marker::Send for self::AdminJobResp {}
6424unsafe impl ::std::marker::Sync for self::AdminJobResp {}
6425
6426impl ::fbthrift::GetTType for self::AdminJobResp {
6427    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6428}
6429
6430impl<P> ::fbthrift::Serialize<P> for self::AdminJobResp
6431where
6432    P: ::fbthrift::ProtocolWriter,
6433{
6434    fn write(&self, p: &mut P) {
6435        p.write_struct_begin("AdminJobResp");
6436        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
6437        ::fbthrift::Serialize::write(&self.code, p);
6438        p.write_field_end();
6439        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
6440        ::fbthrift::Serialize::write(&self.leader, p);
6441        p.write_field_end();
6442        p.write_field_begin("result", ::fbthrift::TType::Struct, 3);
6443        ::fbthrift::Serialize::write(&self.result, p);
6444        p.write_field_end();
6445        p.write_field_stop();
6446        p.write_struct_end();
6447    }
6448}
6449
6450impl<P> ::fbthrift::Deserialize<P> for self::AdminJobResp
6451where
6452    P: ::fbthrift::ProtocolReader,
6453{
6454    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6455        static FIELDS: &[::fbthrift::Field] = &[
6456            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
6457            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
6458            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 3),
6459        ];
6460        let mut field_code = ::std::option::Option::None;
6461        let mut field_leader = ::std::option::Option::None;
6462        let mut field_result = ::std::option::Option::None;
6463        let _ = p.read_struct_begin(|_| ())?;
6464        loop {
6465            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6466            match (fty, fid as ::std::primitive::i32) {
6467                (::fbthrift::TType::Stop, _) => break,
6468                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6469                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6470                (::fbthrift::TType::Struct, 3) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6471                (fty, _) => p.skip(fty)?,
6472            }
6473            p.read_field_end()?;
6474        }
6475        p.read_struct_end()?;
6476        ::std::result::Result::Ok(Self {
6477            code: field_code.unwrap_or_default(),
6478            leader: field_leader.unwrap_or_default(),
6479            result: field_result.unwrap_or_default(),
6480            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6481        })
6482    }
6483}
6484
6485
6486#[allow(clippy::derivable_impls)]
6487impl ::std::default::Default for self::Correlativity {
6488    fn default() -> Self {
6489        Self {
6490            part_id: ::std::default::Default::default(),
6491            proportion: ::std::default::Default::default(),
6492            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6493        }
6494    }
6495}
6496
6497impl ::std::fmt::Debug for self::Correlativity {
6498    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6499        formatter
6500            .debug_struct("Correlativity")
6501            .field("part_id", &self.part_id)
6502            .field("proportion", &self.proportion)
6503            .finish()
6504    }
6505}
6506
6507unsafe impl ::std::marker::Send for self::Correlativity {}
6508unsafe impl ::std::marker::Sync for self::Correlativity {}
6509
6510impl ::fbthrift::GetTType for self::Correlativity {
6511    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6512}
6513
6514impl<P> ::fbthrift::Serialize<P> for self::Correlativity
6515where
6516    P: ::fbthrift::ProtocolWriter,
6517{
6518    fn write(&self, p: &mut P) {
6519        p.write_struct_begin("Correlativity");
6520        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
6521        ::fbthrift::Serialize::write(&self.part_id, p);
6522        p.write_field_end();
6523        p.write_field_begin("proportion", ::fbthrift::TType::Double, 2);
6524        ::fbthrift::Serialize::write(&self.proportion, p);
6525        p.write_field_end();
6526        p.write_field_stop();
6527        p.write_struct_end();
6528    }
6529}
6530
6531impl<P> ::fbthrift::Deserialize<P> for self::Correlativity
6532where
6533    P: ::fbthrift::ProtocolReader,
6534{
6535    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6536        static FIELDS: &[::fbthrift::Field] = &[
6537            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
6538            ::fbthrift::Field::new("proportion", ::fbthrift::TType::Double, 2),
6539        ];
6540        let mut field_part_id = ::std::option::Option::None;
6541        let mut field_proportion = ::std::option::Option::None;
6542        let _ = p.read_struct_begin(|_| ())?;
6543        loop {
6544            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6545            match (fty, fid as ::std::primitive::i32) {
6546                (::fbthrift::TType::Stop, _) => break,
6547                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6548                (::fbthrift::TType::Double, 2) => field_proportion = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6549                (fty, _) => p.skip(fty)?,
6550            }
6551            p.read_field_end()?;
6552        }
6553        p.read_struct_end()?;
6554        ::std::result::Result::Ok(Self {
6555            part_id: field_part_id.unwrap_or_default(),
6556            proportion: field_proportion.unwrap_or_default(),
6557            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6558        })
6559    }
6560}
6561
6562
6563#[allow(clippy::derivable_impls)]
6564impl ::std::default::Default for self::StatsItem {
6565    fn default() -> Self {
6566        Self {
6567            tag_vertices: ::std::default::Default::default(),
6568            edges: ::std::default::Default::default(),
6569            space_vertices: ::std::default::Default::default(),
6570            space_edges: ::std::default::Default::default(),
6571            positive_part_correlativity: ::std::default::Default::default(),
6572            negative_part_correlativity: ::std::default::Default::default(),
6573            status: ::std::default::Default::default(),
6574            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6575        }
6576    }
6577}
6578
6579impl ::std::fmt::Debug for self::StatsItem {
6580    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6581        formatter
6582            .debug_struct("StatsItem")
6583            .field("tag_vertices", &self.tag_vertices)
6584            .field("edges", &self.edges)
6585            .field("space_vertices", &self.space_vertices)
6586            .field("space_edges", &self.space_edges)
6587            .field("positive_part_correlativity", &self.positive_part_correlativity)
6588            .field("negative_part_correlativity", &self.negative_part_correlativity)
6589            .field("status", &self.status)
6590            .finish()
6591    }
6592}
6593
6594unsafe impl ::std::marker::Send for self::StatsItem {}
6595unsafe impl ::std::marker::Sync for self::StatsItem {}
6596
6597impl ::fbthrift::GetTType for self::StatsItem {
6598    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6599}
6600
6601impl<P> ::fbthrift::Serialize<P> for self::StatsItem
6602where
6603    P: ::fbthrift::ProtocolWriter,
6604{
6605    fn write(&self, p: &mut P) {
6606        p.write_struct_begin("StatsItem");
6607        p.write_field_begin("tag_vertices", ::fbthrift::TType::Map, 1);
6608        ::fbthrift::Serialize::write(&self.tag_vertices, p);
6609        p.write_field_end();
6610        p.write_field_begin("edges", ::fbthrift::TType::Map, 2);
6611        ::fbthrift::Serialize::write(&self.edges, p);
6612        p.write_field_end();
6613        p.write_field_begin("space_vertices", ::fbthrift::TType::I64, 3);
6614        ::fbthrift::Serialize::write(&self.space_vertices, p);
6615        p.write_field_end();
6616        p.write_field_begin("space_edges", ::fbthrift::TType::I64, 4);
6617        ::fbthrift::Serialize::write(&self.space_edges, p);
6618        p.write_field_end();
6619        p.write_field_begin("positive_part_correlativity", ::fbthrift::TType::Map, 5);
6620        ::fbthrift::Serialize::write(&self.positive_part_correlativity, p);
6621        p.write_field_end();
6622        p.write_field_begin("negative_part_correlativity", ::fbthrift::TType::Map, 6);
6623        ::fbthrift::Serialize::write(&self.negative_part_correlativity, p);
6624        p.write_field_end();
6625        p.write_field_begin("status", ::fbthrift::TType::I32, 7);
6626        ::fbthrift::Serialize::write(&self.status, p);
6627        p.write_field_end();
6628        p.write_field_stop();
6629        p.write_struct_end();
6630    }
6631}
6632
6633impl<P> ::fbthrift::Deserialize<P> for self::StatsItem
6634where
6635    P: ::fbthrift::ProtocolReader,
6636{
6637    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6638        static FIELDS: &[::fbthrift::Field] = &[
6639            ::fbthrift::Field::new("edges", ::fbthrift::TType::Map, 2),
6640            ::fbthrift::Field::new("negative_part_correlativity", ::fbthrift::TType::Map, 6),
6641            ::fbthrift::Field::new("positive_part_correlativity", ::fbthrift::TType::Map, 5),
6642            ::fbthrift::Field::new("space_edges", ::fbthrift::TType::I64, 4),
6643            ::fbthrift::Field::new("space_vertices", ::fbthrift::TType::I64, 3),
6644            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 7),
6645            ::fbthrift::Field::new("tag_vertices", ::fbthrift::TType::Map, 1),
6646        ];
6647        let mut field_tag_vertices = ::std::option::Option::None;
6648        let mut field_edges = ::std::option::Option::None;
6649        let mut field_space_vertices = ::std::option::Option::None;
6650        let mut field_space_edges = ::std::option::Option::None;
6651        let mut field_positive_part_correlativity = ::std::option::Option::None;
6652        let mut field_negative_part_correlativity = ::std::option::Option::None;
6653        let mut field_status = ::std::option::Option::None;
6654        let _ = p.read_struct_begin(|_| ())?;
6655        loop {
6656            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6657            match (fty, fid as ::std::primitive::i32) {
6658                (::fbthrift::TType::Stop, _) => break,
6659                (::fbthrift::TType::Map, 1) => field_tag_vertices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6660                (::fbthrift::TType::Map, 2) => field_edges = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6661                (::fbthrift::TType::I64, 3) => field_space_vertices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6662                (::fbthrift::TType::I64, 4) => field_space_edges = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6663                (::fbthrift::TType::Map, 5) => field_positive_part_correlativity = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6664                (::fbthrift::TType::Map, 6) => field_negative_part_correlativity = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6665                (::fbthrift::TType::I32, 7) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6666                (fty, _) => p.skip(fty)?,
6667            }
6668            p.read_field_end()?;
6669        }
6670        p.read_struct_end()?;
6671        ::std::result::Result::Ok(Self {
6672            tag_vertices: field_tag_vertices.unwrap_or_default(),
6673            edges: field_edges.unwrap_or_default(),
6674            space_vertices: field_space_vertices.unwrap_or_default(),
6675            space_edges: field_space_edges.unwrap_or_default(),
6676            positive_part_correlativity: field_positive_part_correlativity.unwrap_or_default(),
6677            negative_part_correlativity: field_negative_part_correlativity.unwrap_or_default(),
6678            status: field_status.unwrap_or_default(),
6679            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6680        })
6681    }
6682}
6683
6684
6685#[allow(clippy::derivable_impls)]
6686impl ::std::default::Default for self::CreateSpaceReq {
6687    fn default() -> Self {
6688        Self {
6689            properties: ::std::default::Default::default(),
6690            if_not_exists: ::std::default::Default::default(),
6691            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6692        }
6693    }
6694}
6695
6696impl ::std::fmt::Debug for self::CreateSpaceReq {
6697    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6698        formatter
6699            .debug_struct("CreateSpaceReq")
6700            .field("properties", &self.properties)
6701            .field("if_not_exists", &self.if_not_exists)
6702            .finish()
6703    }
6704}
6705
6706unsafe impl ::std::marker::Send for self::CreateSpaceReq {}
6707unsafe impl ::std::marker::Sync for self::CreateSpaceReq {}
6708
6709impl ::fbthrift::GetTType for self::CreateSpaceReq {
6710    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6711}
6712
6713impl<P> ::fbthrift::Serialize<P> for self::CreateSpaceReq
6714where
6715    P: ::fbthrift::ProtocolWriter,
6716{
6717    fn write(&self, p: &mut P) {
6718        p.write_struct_begin("CreateSpaceReq");
6719        p.write_field_begin("properties", ::fbthrift::TType::Struct, 1);
6720        ::fbthrift::Serialize::write(&self.properties, p);
6721        p.write_field_end();
6722        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 2);
6723        ::fbthrift::Serialize::write(&self.if_not_exists, p);
6724        p.write_field_end();
6725        p.write_field_stop();
6726        p.write_struct_end();
6727    }
6728}
6729
6730impl<P> ::fbthrift::Deserialize<P> for self::CreateSpaceReq
6731where
6732    P: ::fbthrift::ProtocolReader,
6733{
6734    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6735        static FIELDS: &[::fbthrift::Field] = &[
6736            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 2),
6737            ::fbthrift::Field::new("properties", ::fbthrift::TType::Struct, 1),
6738        ];
6739        let mut field_properties = ::std::option::Option::None;
6740        let mut field_if_not_exists = ::std::option::Option::None;
6741        let _ = p.read_struct_begin(|_| ())?;
6742        loop {
6743            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6744            match (fty, fid as ::std::primitive::i32) {
6745                (::fbthrift::TType::Stop, _) => break,
6746                (::fbthrift::TType::Struct, 1) => field_properties = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6747                (::fbthrift::TType::Bool, 2) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6748                (fty, _) => p.skip(fty)?,
6749            }
6750            p.read_field_end()?;
6751        }
6752        p.read_struct_end()?;
6753        ::std::result::Result::Ok(Self {
6754            properties: field_properties.unwrap_or_default(),
6755            if_not_exists: field_if_not_exists.unwrap_or_default(),
6756            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6757        })
6758    }
6759}
6760
6761
6762#[allow(clippy::derivable_impls)]
6763impl ::std::default::Default for self::CreateSpaceAsReq {
6764    fn default() -> Self {
6765        Self {
6766            old_space_name: ::std::default::Default::default(),
6767            new_space_name: ::std::default::Default::default(),
6768            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6769        }
6770    }
6771}
6772
6773impl ::std::fmt::Debug for self::CreateSpaceAsReq {
6774    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6775        formatter
6776            .debug_struct("CreateSpaceAsReq")
6777            .field("old_space_name", &self.old_space_name)
6778            .field("new_space_name", &self.new_space_name)
6779            .finish()
6780    }
6781}
6782
6783unsafe impl ::std::marker::Send for self::CreateSpaceAsReq {}
6784unsafe impl ::std::marker::Sync for self::CreateSpaceAsReq {}
6785
6786impl ::fbthrift::GetTType for self::CreateSpaceAsReq {
6787    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6788}
6789
6790impl<P> ::fbthrift::Serialize<P> for self::CreateSpaceAsReq
6791where
6792    P: ::fbthrift::ProtocolWriter,
6793{
6794    fn write(&self, p: &mut P) {
6795        p.write_struct_begin("CreateSpaceAsReq");
6796        p.write_field_begin("old_space_name", ::fbthrift::TType::String, 1);
6797        ::fbthrift::Serialize::write(&self.old_space_name, p);
6798        p.write_field_end();
6799        p.write_field_begin("new_space_name", ::fbthrift::TType::String, 2);
6800        ::fbthrift::Serialize::write(&self.new_space_name, p);
6801        p.write_field_end();
6802        p.write_field_stop();
6803        p.write_struct_end();
6804    }
6805}
6806
6807impl<P> ::fbthrift::Deserialize<P> for self::CreateSpaceAsReq
6808where
6809    P: ::fbthrift::ProtocolReader,
6810{
6811    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6812        static FIELDS: &[::fbthrift::Field] = &[
6813            ::fbthrift::Field::new("new_space_name", ::fbthrift::TType::String, 2),
6814            ::fbthrift::Field::new("old_space_name", ::fbthrift::TType::String, 1),
6815        ];
6816        let mut field_old_space_name = ::std::option::Option::None;
6817        let mut field_new_space_name = ::std::option::Option::None;
6818        let _ = p.read_struct_begin(|_| ())?;
6819        loop {
6820            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6821            match (fty, fid as ::std::primitive::i32) {
6822                (::fbthrift::TType::Stop, _) => break,
6823                (::fbthrift::TType::String, 1) => field_old_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6824                (::fbthrift::TType::String, 2) => field_new_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6825                (fty, _) => p.skip(fty)?,
6826            }
6827            p.read_field_end()?;
6828        }
6829        p.read_struct_end()?;
6830        ::std::result::Result::Ok(Self {
6831            old_space_name: field_old_space_name.unwrap_or_default(),
6832            new_space_name: field_new_space_name.unwrap_or_default(),
6833            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6834        })
6835    }
6836}
6837
6838
6839#[allow(clippy::derivable_impls)]
6840impl ::std::default::Default for self::DropSpaceReq {
6841    fn default() -> Self {
6842        Self {
6843            space_name: ::std::default::Default::default(),
6844            if_exists: ::std::default::Default::default(),
6845            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6846        }
6847    }
6848}
6849
6850impl ::std::fmt::Debug for self::DropSpaceReq {
6851    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6852        formatter
6853            .debug_struct("DropSpaceReq")
6854            .field("space_name", &self.space_name)
6855            .field("if_exists", &self.if_exists)
6856            .finish()
6857    }
6858}
6859
6860unsafe impl ::std::marker::Send for self::DropSpaceReq {}
6861unsafe impl ::std::marker::Sync for self::DropSpaceReq {}
6862
6863impl ::fbthrift::GetTType for self::DropSpaceReq {
6864    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6865}
6866
6867impl<P> ::fbthrift::Serialize<P> for self::DropSpaceReq
6868where
6869    P: ::fbthrift::ProtocolWriter,
6870{
6871    fn write(&self, p: &mut P) {
6872        p.write_struct_begin("DropSpaceReq");
6873        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
6874        ::fbthrift::Serialize::write(&self.space_name, p);
6875        p.write_field_end();
6876        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 2);
6877        ::fbthrift::Serialize::write(&self.if_exists, p);
6878        p.write_field_end();
6879        p.write_field_stop();
6880        p.write_struct_end();
6881    }
6882}
6883
6884impl<P> ::fbthrift::Deserialize<P> for self::DropSpaceReq
6885where
6886    P: ::fbthrift::ProtocolReader,
6887{
6888    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6889        static FIELDS: &[::fbthrift::Field] = &[
6890            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 2),
6891            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
6892        ];
6893        let mut field_space_name = ::std::option::Option::None;
6894        let mut field_if_exists = ::std::option::Option::None;
6895        let _ = p.read_struct_begin(|_| ())?;
6896        loop {
6897            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6898            match (fty, fid as ::std::primitive::i32) {
6899                (::fbthrift::TType::Stop, _) => break,
6900                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6901                (::fbthrift::TType::Bool, 2) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6902                (fty, _) => p.skip(fty)?,
6903            }
6904            p.read_field_end()?;
6905        }
6906        p.read_struct_end()?;
6907        ::std::result::Result::Ok(Self {
6908            space_name: field_space_name.unwrap_or_default(),
6909            if_exists: field_if_exists.unwrap_or_default(),
6910            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6911        })
6912    }
6913}
6914
6915
6916#[allow(clippy::derivable_impls)]
6917impl ::std::default::Default for self::ListSpacesReq {
6918    fn default() -> Self {
6919        Self {
6920            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6921        }
6922    }
6923}
6924
6925impl ::std::fmt::Debug for self::ListSpacesReq {
6926    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6927        formatter
6928            .debug_struct("ListSpacesReq")
6929            .finish()
6930    }
6931}
6932
6933unsafe impl ::std::marker::Send for self::ListSpacesReq {}
6934unsafe impl ::std::marker::Sync for self::ListSpacesReq {}
6935
6936impl ::fbthrift::GetTType for self::ListSpacesReq {
6937    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6938}
6939
6940impl<P> ::fbthrift::Serialize<P> for self::ListSpacesReq
6941where
6942    P: ::fbthrift::ProtocolWriter,
6943{
6944    fn write(&self, p: &mut P) {
6945        p.write_struct_begin("ListSpacesReq");
6946        p.write_field_stop();
6947        p.write_struct_end();
6948    }
6949}
6950
6951impl<P> ::fbthrift::Deserialize<P> for self::ListSpacesReq
6952where
6953    P: ::fbthrift::ProtocolReader,
6954{
6955    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6956        static FIELDS: &[::fbthrift::Field] = &[
6957        ];
6958        let _ = p.read_struct_begin(|_| ())?;
6959        loop {
6960            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6961            match (fty, fid as ::std::primitive::i32) {
6962                (::fbthrift::TType::Stop, _) => break,
6963                (fty, _) => p.skip(fty)?,
6964            }
6965            p.read_field_end()?;
6966        }
6967        p.read_struct_end()?;
6968        ::std::result::Result::Ok(Self {
6969            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6970        })
6971    }
6972}
6973
6974
6975#[allow(clippy::derivable_impls)]
6976impl ::std::default::Default for self::ListSpacesResp {
6977    fn default() -> Self {
6978        Self {
6979            code: ::std::default::Default::default(),
6980            leader: ::std::default::Default::default(),
6981            spaces: ::std::default::Default::default(),
6982            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6983        }
6984    }
6985}
6986
6987impl ::std::fmt::Debug for self::ListSpacesResp {
6988    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6989        formatter
6990            .debug_struct("ListSpacesResp")
6991            .field("code", &self.code)
6992            .field("leader", &self.leader)
6993            .field("spaces", &self.spaces)
6994            .finish()
6995    }
6996}
6997
6998unsafe impl ::std::marker::Send for self::ListSpacesResp {}
6999unsafe impl ::std::marker::Sync for self::ListSpacesResp {}
7000
7001impl ::fbthrift::GetTType for self::ListSpacesResp {
7002    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7003}
7004
7005impl<P> ::fbthrift::Serialize<P> for self::ListSpacesResp
7006where
7007    P: ::fbthrift::ProtocolWriter,
7008{
7009    fn write(&self, p: &mut P) {
7010        p.write_struct_begin("ListSpacesResp");
7011        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7012        ::fbthrift::Serialize::write(&self.code, p);
7013        p.write_field_end();
7014        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7015        ::fbthrift::Serialize::write(&self.leader, p);
7016        p.write_field_end();
7017        p.write_field_begin("spaces", ::fbthrift::TType::List, 3);
7018        ::fbthrift::Serialize::write(&self.spaces, 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::ListSpacesResp
7026where
7027    P: ::fbthrift::ProtocolReader,
7028{
7029    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7030        static FIELDS: &[::fbthrift::Field] = &[
7031            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7032            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7033            ::fbthrift::Field::new("spaces", ::fbthrift::TType::List, 3),
7034        ];
7035        let mut field_code = ::std::option::Option::None;
7036        let mut field_leader = ::std::option::Option::None;
7037        let mut field_spaces = ::std::option::Option::None;
7038        let _ = p.read_struct_begin(|_| ())?;
7039        loop {
7040            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7041            match (fty, fid as ::std::primitive::i32) {
7042                (::fbthrift::TType::Stop, _) => break,
7043                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7044                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7045                (::fbthrift::TType::List, 3) => field_spaces = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7046                (fty, _) => p.skip(fty)?,
7047            }
7048            p.read_field_end()?;
7049        }
7050        p.read_struct_end()?;
7051        ::std::result::Result::Ok(Self {
7052            code: field_code.unwrap_or_default(),
7053            leader: field_leader.unwrap_or_default(),
7054            spaces: field_spaces.unwrap_or_default(),
7055            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7056        })
7057    }
7058}
7059
7060
7061#[allow(clippy::derivable_impls)]
7062impl ::std::default::Default for self::GetSpaceReq {
7063    fn default() -> Self {
7064        Self {
7065            space_name: ::std::default::Default::default(),
7066            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7067        }
7068    }
7069}
7070
7071impl ::std::fmt::Debug for self::GetSpaceReq {
7072    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7073        formatter
7074            .debug_struct("GetSpaceReq")
7075            .field("space_name", &self.space_name)
7076            .finish()
7077    }
7078}
7079
7080unsafe impl ::std::marker::Send for self::GetSpaceReq {}
7081unsafe impl ::std::marker::Sync for self::GetSpaceReq {}
7082
7083impl ::fbthrift::GetTType for self::GetSpaceReq {
7084    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7085}
7086
7087impl<P> ::fbthrift::Serialize<P> for self::GetSpaceReq
7088where
7089    P: ::fbthrift::ProtocolWriter,
7090{
7091    fn write(&self, p: &mut P) {
7092        p.write_struct_begin("GetSpaceReq");
7093        p.write_field_begin("space_name", ::fbthrift::TType::String, 1);
7094        ::fbthrift::Serialize::write(&self.space_name, p);
7095        p.write_field_end();
7096        p.write_field_stop();
7097        p.write_struct_end();
7098    }
7099}
7100
7101impl<P> ::fbthrift::Deserialize<P> for self::GetSpaceReq
7102where
7103    P: ::fbthrift::ProtocolReader,
7104{
7105    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7106        static FIELDS: &[::fbthrift::Field] = &[
7107            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 1),
7108        ];
7109        let mut field_space_name = ::std::option::Option::None;
7110        let _ = p.read_struct_begin(|_| ())?;
7111        loop {
7112            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7113            match (fty, fid as ::std::primitive::i32) {
7114                (::fbthrift::TType::Stop, _) => break,
7115                (::fbthrift::TType::String, 1) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7116                (fty, _) => p.skip(fty)?,
7117            }
7118            p.read_field_end()?;
7119        }
7120        p.read_struct_end()?;
7121        ::std::result::Result::Ok(Self {
7122            space_name: field_space_name.unwrap_or_default(),
7123            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7124        })
7125    }
7126}
7127
7128
7129#[allow(clippy::derivable_impls)]
7130impl ::std::default::Default for self::GetSpaceResp {
7131    fn default() -> Self {
7132        Self {
7133            code: ::std::default::Default::default(),
7134            leader: ::std::default::Default::default(),
7135            item: ::std::default::Default::default(),
7136            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7137        }
7138    }
7139}
7140
7141impl ::std::fmt::Debug for self::GetSpaceResp {
7142    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7143        formatter
7144            .debug_struct("GetSpaceResp")
7145            .field("code", &self.code)
7146            .field("leader", &self.leader)
7147            .field("item", &self.item)
7148            .finish()
7149    }
7150}
7151
7152unsafe impl ::std::marker::Send for self::GetSpaceResp {}
7153unsafe impl ::std::marker::Sync for self::GetSpaceResp {}
7154
7155impl ::fbthrift::GetTType for self::GetSpaceResp {
7156    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7157}
7158
7159impl<P> ::fbthrift::Serialize<P> for self::GetSpaceResp
7160where
7161    P: ::fbthrift::ProtocolWriter,
7162{
7163    fn write(&self, p: &mut P) {
7164        p.write_struct_begin("GetSpaceResp");
7165        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7166        ::fbthrift::Serialize::write(&self.code, p);
7167        p.write_field_end();
7168        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7169        ::fbthrift::Serialize::write(&self.leader, p);
7170        p.write_field_end();
7171        p.write_field_begin("item", ::fbthrift::TType::Struct, 3);
7172        ::fbthrift::Serialize::write(&self.item, p);
7173        p.write_field_end();
7174        p.write_field_stop();
7175        p.write_struct_end();
7176    }
7177}
7178
7179impl<P> ::fbthrift::Deserialize<P> for self::GetSpaceResp
7180where
7181    P: ::fbthrift::ProtocolReader,
7182{
7183    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7184        static FIELDS: &[::fbthrift::Field] = &[
7185            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7186            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 3),
7187            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7188        ];
7189        let mut field_code = ::std::option::Option::None;
7190        let mut field_leader = ::std::option::Option::None;
7191        let mut field_item = ::std::option::Option::None;
7192        let _ = p.read_struct_begin(|_| ())?;
7193        loop {
7194            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7195            match (fty, fid as ::std::primitive::i32) {
7196                (::fbthrift::TType::Stop, _) => break,
7197                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7198                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7199                (::fbthrift::TType::Struct, 3) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7200                (fty, _) => p.skip(fty)?,
7201            }
7202            p.read_field_end()?;
7203        }
7204        p.read_struct_end()?;
7205        ::std::result::Result::Ok(Self {
7206            code: field_code.unwrap_or_default(),
7207            leader: field_leader.unwrap_or_default(),
7208            item: field_item.unwrap_or_default(),
7209            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7210        })
7211    }
7212}
7213
7214
7215#[allow(clippy::derivable_impls)]
7216impl ::std::default::Default for self::CreateTagReq {
7217    fn default() -> Self {
7218        Self {
7219            space_id: ::std::default::Default::default(),
7220            tag_name: ::std::default::Default::default(),
7221            schema: ::std::default::Default::default(),
7222            if_not_exists: ::std::default::Default::default(),
7223            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7224        }
7225    }
7226}
7227
7228impl ::std::fmt::Debug for self::CreateTagReq {
7229    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7230        formatter
7231            .debug_struct("CreateTagReq")
7232            .field("space_id", &self.space_id)
7233            .field("tag_name", &self.tag_name)
7234            .field("schema", &self.schema)
7235            .field("if_not_exists", &self.if_not_exists)
7236            .finish()
7237    }
7238}
7239
7240unsafe impl ::std::marker::Send for self::CreateTagReq {}
7241unsafe impl ::std::marker::Sync for self::CreateTagReq {}
7242
7243impl ::fbthrift::GetTType for self::CreateTagReq {
7244    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7245}
7246
7247impl<P> ::fbthrift::Serialize<P> for self::CreateTagReq
7248where
7249    P: ::fbthrift::ProtocolWriter,
7250{
7251    fn write(&self, p: &mut P) {
7252        p.write_struct_begin("CreateTagReq");
7253        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7254        ::fbthrift::Serialize::write(&self.space_id, p);
7255        p.write_field_end();
7256        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7257        ::fbthrift::Serialize::write(&self.tag_name, p);
7258        p.write_field_end();
7259        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
7260        ::fbthrift::Serialize::write(&self.schema, p);
7261        p.write_field_end();
7262        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
7263        ::fbthrift::Serialize::write(&self.if_not_exists, p);
7264        p.write_field_end();
7265        p.write_field_stop();
7266        p.write_struct_end();
7267    }
7268}
7269
7270impl<P> ::fbthrift::Deserialize<P> for self::CreateTagReq
7271where
7272    P: ::fbthrift::ProtocolReader,
7273{
7274    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7275        static FIELDS: &[::fbthrift::Field] = &[
7276            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
7277            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
7278            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7279            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7280        ];
7281        let mut field_space_id = ::std::option::Option::None;
7282        let mut field_tag_name = ::std::option::Option::None;
7283        let mut field_schema = ::std::option::Option::None;
7284        let mut field_if_not_exists = ::std::option::Option::None;
7285        let _ = p.read_struct_begin(|_| ())?;
7286        loop {
7287            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7288            match (fty, fid as ::std::primitive::i32) {
7289                (::fbthrift::TType::Stop, _) => break,
7290                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7291                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7292                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7293                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7294                (fty, _) => p.skip(fty)?,
7295            }
7296            p.read_field_end()?;
7297        }
7298        p.read_struct_end()?;
7299        ::std::result::Result::Ok(Self {
7300            space_id: field_space_id.unwrap_or_default(),
7301            tag_name: field_tag_name.unwrap_or_default(),
7302            schema: field_schema.unwrap_or_default(),
7303            if_not_exists: field_if_not_exists.unwrap_or_default(),
7304            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7305        })
7306    }
7307}
7308
7309
7310#[allow(clippy::derivable_impls)]
7311impl ::std::default::Default for self::AlterTagReq {
7312    fn default() -> Self {
7313        Self {
7314            space_id: ::std::default::Default::default(),
7315            tag_name: ::std::default::Default::default(),
7316            tag_items: ::std::default::Default::default(),
7317            schema_prop: ::std::default::Default::default(),
7318            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7319        }
7320    }
7321}
7322
7323impl ::std::fmt::Debug for self::AlterTagReq {
7324    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7325        formatter
7326            .debug_struct("AlterTagReq")
7327            .field("space_id", &self.space_id)
7328            .field("tag_name", &self.tag_name)
7329            .field("tag_items", &self.tag_items)
7330            .field("schema_prop", &self.schema_prop)
7331            .finish()
7332    }
7333}
7334
7335unsafe impl ::std::marker::Send for self::AlterTagReq {}
7336unsafe impl ::std::marker::Sync for self::AlterTagReq {}
7337
7338impl ::fbthrift::GetTType for self::AlterTagReq {
7339    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7340}
7341
7342impl<P> ::fbthrift::Serialize<P> for self::AlterTagReq
7343where
7344    P: ::fbthrift::ProtocolWriter,
7345{
7346    fn write(&self, p: &mut P) {
7347        p.write_struct_begin("AlterTagReq");
7348        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7349        ::fbthrift::Serialize::write(&self.space_id, p);
7350        p.write_field_end();
7351        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7352        ::fbthrift::Serialize::write(&self.tag_name, p);
7353        p.write_field_end();
7354        p.write_field_begin("tag_items", ::fbthrift::TType::List, 3);
7355        ::fbthrift::Serialize::write(&self.tag_items, p);
7356        p.write_field_end();
7357        p.write_field_begin("schema_prop", ::fbthrift::TType::Struct, 4);
7358        ::fbthrift::Serialize::write(&self.schema_prop, p);
7359        p.write_field_end();
7360        p.write_field_stop();
7361        p.write_struct_end();
7362    }
7363}
7364
7365impl<P> ::fbthrift::Deserialize<P> for self::AlterTagReq
7366where
7367    P: ::fbthrift::ProtocolReader,
7368{
7369    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7370        static FIELDS: &[::fbthrift::Field] = &[
7371            ::fbthrift::Field::new("schema_prop", ::fbthrift::TType::Struct, 4),
7372            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7373            ::fbthrift::Field::new("tag_items", ::fbthrift::TType::List, 3),
7374            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7375        ];
7376        let mut field_space_id = ::std::option::Option::None;
7377        let mut field_tag_name = ::std::option::Option::None;
7378        let mut field_tag_items = ::std::option::Option::None;
7379        let mut field_schema_prop = ::std::option::Option::None;
7380        let _ = p.read_struct_begin(|_| ())?;
7381        loop {
7382            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7383            match (fty, fid as ::std::primitive::i32) {
7384                (::fbthrift::TType::Stop, _) => break,
7385                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7386                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7387                (::fbthrift::TType::List, 3) => field_tag_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7388                (::fbthrift::TType::Struct, 4) => field_schema_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7389                (fty, _) => p.skip(fty)?,
7390            }
7391            p.read_field_end()?;
7392        }
7393        p.read_struct_end()?;
7394        ::std::result::Result::Ok(Self {
7395            space_id: field_space_id.unwrap_or_default(),
7396            tag_name: field_tag_name.unwrap_or_default(),
7397            tag_items: field_tag_items.unwrap_or_default(),
7398            schema_prop: field_schema_prop.unwrap_or_default(),
7399            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7400        })
7401    }
7402}
7403
7404
7405#[allow(clippy::derivable_impls)]
7406impl ::std::default::Default for self::DropTagReq {
7407    fn default() -> Self {
7408        Self {
7409            space_id: ::std::default::Default::default(),
7410            tag_name: ::std::default::Default::default(),
7411            if_exists: ::std::default::Default::default(),
7412            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7413        }
7414    }
7415}
7416
7417impl ::std::fmt::Debug for self::DropTagReq {
7418    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7419        formatter
7420            .debug_struct("DropTagReq")
7421            .field("space_id", &self.space_id)
7422            .field("tag_name", &self.tag_name)
7423            .field("if_exists", &self.if_exists)
7424            .finish()
7425    }
7426}
7427
7428unsafe impl ::std::marker::Send for self::DropTagReq {}
7429unsafe impl ::std::marker::Sync for self::DropTagReq {}
7430
7431impl ::fbthrift::GetTType for self::DropTagReq {
7432    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7433}
7434
7435impl<P> ::fbthrift::Serialize<P> for self::DropTagReq
7436where
7437    P: ::fbthrift::ProtocolWriter,
7438{
7439    fn write(&self, p: &mut P) {
7440        p.write_struct_begin("DropTagReq");
7441        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7442        ::fbthrift::Serialize::write(&self.space_id, p);
7443        p.write_field_end();
7444        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7445        ::fbthrift::Serialize::write(&self.tag_name, p);
7446        p.write_field_end();
7447        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
7448        ::fbthrift::Serialize::write(&self.if_exists, p);
7449        p.write_field_end();
7450        p.write_field_stop();
7451        p.write_struct_end();
7452    }
7453}
7454
7455impl<P> ::fbthrift::Deserialize<P> for self::DropTagReq
7456where
7457    P: ::fbthrift::ProtocolReader,
7458{
7459    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7460        static FIELDS: &[::fbthrift::Field] = &[
7461            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
7462            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7463            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7464        ];
7465        let mut field_space_id = ::std::option::Option::None;
7466        let mut field_tag_name = ::std::option::Option::None;
7467        let mut field_if_exists = ::std::option::Option::None;
7468        let _ = p.read_struct_begin(|_| ())?;
7469        loop {
7470            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7471            match (fty, fid as ::std::primitive::i32) {
7472                (::fbthrift::TType::Stop, _) => break,
7473                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7474                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7475                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7476                (fty, _) => p.skip(fty)?,
7477            }
7478            p.read_field_end()?;
7479        }
7480        p.read_struct_end()?;
7481        ::std::result::Result::Ok(Self {
7482            space_id: field_space_id.unwrap_or_default(),
7483            tag_name: field_tag_name.unwrap_or_default(),
7484            if_exists: field_if_exists.unwrap_or_default(),
7485            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7486        })
7487    }
7488}
7489
7490
7491#[allow(clippy::derivable_impls)]
7492impl ::std::default::Default for self::ListTagsReq {
7493    fn default() -> Self {
7494        Self {
7495            space_id: ::std::default::Default::default(),
7496            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7497        }
7498    }
7499}
7500
7501impl ::std::fmt::Debug for self::ListTagsReq {
7502    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7503        formatter
7504            .debug_struct("ListTagsReq")
7505            .field("space_id", &self.space_id)
7506            .finish()
7507    }
7508}
7509
7510unsafe impl ::std::marker::Send for self::ListTagsReq {}
7511unsafe impl ::std::marker::Sync for self::ListTagsReq {}
7512
7513impl ::fbthrift::GetTType for self::ListTagsReq {
7514    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7515}
7516
7517impl<P> ::fbthrift::Serialize<P> for self::ListTagsReq
7518where
7519    P: ::fbthrift::ProtocolWriter,
7520{
7521    fn write(&self, p: &mut P) {
7522        p.write_struct_begin("ListTagsReq");
7523        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7524        ::fbthrift::Serialize::write(&self.space_id, p);
7525        p.write_field_end();
7526        p.write_field_stop();
7527        p.write_struct_end();
7528    }
7529}
7530
7531impl<P> ::fbthrift::Deserialize<P> for self::ListTagsReq
7532where
7533    P: ::fbthrift::ProtocolReader,
7534{
7535    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7536        static FIELDS: &[::fbthrift::Field] = &[
7537            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7538        ];
7539        let mut field_space_id = ::std::option::Option::None;
7540        let _ = p.read_struct_begin(|_| ())?;
7541        loop {
7542            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7543            match (fty, fid as ::std::primitive::i32) {
7544                (::fbthrift::TType::Stop, _) => break,
7545                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7546                (fty, _) => p.skip(fty)?,
7547            }
7548            p.read_field_end()?;
7549        }
7550        p.read_struct_end()?;
7551        ::std::result::Result::Ok(Self {
7552            space_id: field_space_id.unwrap_or_default(),
7553            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7554        })
7555    }
7556}
7557
7558
7559#[allow(clippy::derivable_impls)]
7560impl ::std::default::Default for self::ListTagsResp {
7561    fn default() -> Self {
7562        Self {
7563            code: ::std::default::Default::default(),
7564            leader: ::std::default::Default::default(),
7565            tags: ::std::default::Default::default(),
7566            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7567        }
7568    }
7569}
7570
7571impl ::std::fmt::Debug for self::ListTagsResp {
7572    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7573        formatter
7574            .debug_struct("ListTagsResp")
7575            .field("code", &self.code)
7576            .field("leader", &self.leader)
7577            .field("tags", &self.tags)
7578            .finish()
7579    }
7580}
7581
7582unsafe impl ::std::marker::Send for self::ListTagsResp {}
7583unsafe impl ::std::marker::Sync for self::ListTagsResp {}
7584
7585impl ::fbthrift::GetTType for self::ListTagsResp {
7586    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7587}
7588
7589impl<P> ::fbthrift::Serialize<P> for self::ListTagsResp
7590where
7591    P: ::fbthrift::ProtocolWriter,
7592{
7593    fn write(&self, p: &mut P) {
7594        p.write_struct_begin("ListTagsResp");
7595        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7596        ::fbthrift::Serialize::write(&self.code, p);
7597        p.write_field_end();
7598        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7599        ::fbthrift::Serialize::write(&self.leader, p);
7600        p.write_field_end();
7601        p.write_field_begin("tags", ::fbthrift::TType::List, 3);
7602        ::fbthrift::Serialize::write(&self.tags, p);
7603        p.write_field_end();
7604        p.write_field_stop();
7605        p.write_struct_end();
7606    }
7607}
7608
7609impl<P> ::fbthrift::Deserialize<P> for self::ListTagsResp
7610where
7611    P: ::fbthrift::ProtocolReader,
7612{
7613    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7614        static FIELDS: &[::fbthrift::Field] = &[
7615            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7616            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7617            ::fbthrift::Field::new("tags", ::fbthrift::TType::List, 3),
7618        ];
7619        let mut field_code = ::std::option::Option::None;
7620        let mut field_leader = ::std::option::Option::None;
7621        let mut field_tags = ::std::option::Option::None;
7622        let _ = p.read_struct_begin(|_| ())?;
7623        loop {
7624            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7625            match (fty, fid as ::std::primitive::i32) {
7626                (::fbthrift::TType::Stop, _) => break,
7627                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7628                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7629                (::fbthrift::TType::List, 3) => field_tags = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7630                (fty, _) => p.skip(fty)?,
7631            }
7632            p.read_field_end()?;
7633        }
7634        p.read_struct_end()?;
7635        ::std::result::Result::Ok(Self {
7636            code: field_code.unwrap_or_default(),
7637            leader: field_leader.unwrap_or_default(),
7638            tags: field_tags.unwrap_or_default(),
7639            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7640        })
7641    }
7642}
7643
7644
7645#[allow(clippy::derivable_impls)]
7646impl ::std::default::Default for self::GetTagReq {
7647    fn default() -> Self {
7648        Self {
7649            space_id: ::std::default::Default::default(),
7650            tag_name: ::std::default::Default::default(),
7651            version: ::std::default::Default::default(),
7652            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7653        }
7654    }
7655}
7656
7657impl ::std::fmt::Debug for self::GetTagReq {
7658    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7659        formatter
7660            .debug_struct("GetTagReq")
7661            .field("space_id", &self.space_id)
7662            .field("tag_name", &self.tag_name)
7663            .field("version", &self.version)
7664            .finish()
7665    }
7666}
7667
7668unsafe impl ::std::marker::Send for self::GetTagReq {}
7669unsafe impl ::std::marker::Sync for self::GetTagReq {}
7670
7671impl ::fbthrift::GetTType for self::GetTagReq {
7672    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7673}
7674
7675impl<P> ::fbthrift::Serialize<P> for self::GetTagReq
7676where
7677    P: ::fbthrift::ProtocolWriter,
7678{
7679    fn write(&self, p: &mut P) {
7680        p.write_struct_begin("GetTagReq");
7681        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7682        ::fbthrift::Serialize::write(&self.space_id, p);
7683        p.write_field_end();
7684        p.write_field_begin("tag_name", ::fbthrift::TType::String, 2);
7685        ::fbthrift::Serialize::write(&self.tag_name, p);
7686        p.write_field_end();
7687        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
7688        ::fbthrift::Serialize::write(&self.version, p);
7689        p.write_field_end();
7690        p.write_field_stop();
7691        p.write_struct_end();
7692    }
7693}
7694
7695impl<P> ::fbthrift::Deserialize<P> for self::GetTagReq
7696where
7697    P: ::fbthrift::ProtocolReader,
7698{
7699    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7700        static FIELDS: &[::fbthrift::Field] = &[
7701            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7702            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 2),
7703            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
7704        ];
7705        let mut field_space_id = ::std::option::Option::None;
7706        let mut field_tag_name = ::std::option::Option::None;
7707        let mut field_version = ::std::option::Option::None;
7708        let _ = p.read_struct_begin(|_| ())?;
7709        loop {
7710            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7711            match (fty, fid as ::std::primitive::i32) {
7712                (::fbthrift::TType::Stop, _) => break,
7713                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7714                (::fbthrift::TType::String, 2) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7715                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7716                (fty, _) => p.skip(fty)?,
7717            }
7718            p.read_field_end()?;
7719        }
7720        p.read_struct_end()?;
7721        ::std::result::Result::Ok(Self {
7722            space_id: field_space_id.unwrap_or_default(),
7723            tag_name: field_tag_name.unwrap_or_default(),
7724            version: field_version.unwrap_or_default(),
7725            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7726        })
7727    }
7728}
7729
7730
7731#[allow(clippy::derivable_impls)]
7732impl ::std::default::Default for self::GetTagResp {
7733    fn default() -> Self {
7734        Self {
7735            code: ::std::default::Default::default(),
7736            leader: ::std::default::Default::default(),
7737            schema: ::std::default::Default::default(),
7738            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7739        }
7740    }
7741}
7742
7743impl ::std::fmt::Debug for self::GetTagResp {
7744    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7745        formatter
7746            .debug_struct("GetTagResp")
7747            .field("code", &self.code)
7748            .field("leader", &self.leader)
7749            .field("schema", &self.schema)
7750            .finish()
7751    }
7752}
7753
7754unsafe impl ::std::marker::Send for self::GetTagResp {}
7755unsafe impl ::std::marker::Sync for self::GetTagResp {}
7756
7757impl ::fbthrift::GetTType for self::GetTagResp {
7758    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7759}
7760
7761impl<P> ::fbthrift::Serialize<P> for self::GetTagResp
7762where
7763    P: ::fbthrift::ProtocolWriter,
7764{
7765    fn write(&self, p: &mut P) {
7766        p.write_struct_begin("GetTagResp");
7767        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7768        ::fbthrift::Serialize::write(&self.code, p);
7769        p.write_field_end();
7770        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
7771        ::fbthrift::Serialize::write(&self.leader, p);
7772        p.write_field_end();
7773        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
7774        ::fbthrift::Serialize::write(&self.schema, p);
7775        p.write_field_end();
7776        p.write_field_stop();
7777        p.write_struct_end();
7778    }
7779}
7780
7781impl<P> ::fbthrift::Deserialize<P> for self::GetTagResp
7782where
7783    P: ::fbthrift::ProtocolReader,
7784{
7785    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7786        static FIELDS: &[::fbthrift::Field] = &[
7787            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7788            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
7789            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
7790        ];
7791        let mut field_code = ::std::option::Option::None;
7792        let mut field_leader = ::std::option::Option::None;
7793        let mut field_schema = ::std::option::Option::None;
7794        let _ = p.read_struct_begin(|_| ())?;
7795        loop {
7796            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7797            match (fty, fid as ::std::primitive::i32) {
7798                (::fbthrift::TType::Stop, _) => break,
7799                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7800                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7801                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7802                (fty, _) => p.skip(fty)?,
7803            }
7804            p.read_field_end()?;
7805        }
7806        p.read_struct_end()?;
7807        ::std::result::Result::Ok(Self {
7808            code: field_code.unwrap_or_default(),
7809            leader: field_leader.unwrap_or_default(),
7810            schema: field_schema.unwrap_or_default(),
7811            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7812        })
7813    }
7814}
7815
7816
7817#[allow(clippy::derivable_impls)]
7818impl ::std::default::Default for self::CreateEdgeReq {
7819    fn default() -> Self {
7820        Self {
7821            space_id: ::std::default::Default::default(),
7822            edge_name: ::std::default::Default::default(),
7823            schema: ::std::default::Default::default(),
7824            if_not_exists: ::std::default::Default::default(),
7825            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7826        }
7827    }
7828}
7829
7830impl ::std::fmt::Debug for self::CreateEdgeReq {
7831    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7832        formatter
7833            .debug_struct("CreateEdgeReq")
7834            .field("space_id", &self.space_id)
7835            .field("edge_name", &self.edge_name)
7836            .field("schema", &self.schema)
7837            .field("if_not_exists", &self.if_not_exists)
7838            .finish()
7839    }
7840}
7841
7842unsafe impl ::std::marker::Send for self::CreateEdgeReq {}
7843unsafe impl ::std::marker::Sync for self::CreateEdgeReq {}
7844
7845impl ::fbthrift::GetTType for self::CreateEdgeReq {
7846    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7847}
7848
7849impl<P> ::fbthrift::Serialize<P> for self::CreateEdgeReq
7850where
7851    P: ::fbthrift::ProtocolWriter,
7852{
7853    fn write(&self, p: &mut P) {
7854        p.write_struct_begin("CreateEdgeReq");
7855        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7856        ::fbthrift::Serialize::write(&self.space_id, p);
7857        p.write_field_end();
7858        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
7859        ::fbthrift::Serialize::write(&self.edge_name, p);
7860        p.write_field_end();
7861        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
7862        ::fbthrift::Serialize::write(&self.schema, p);
7863        p.write_field_end();
7864        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
7865        ::fbthrift::Serialize::write(&self.if_not_exists, p);
7866        p.write_field_end();
7867        p.write_field_stop();
7868        p.write_struct_end();
7869    }
7870}
7871
7872impl<P> ::fbthrift::Deserialize<P> for self::CreateEdgeReq
7873where
7874    P: ::fbthrift::ProtocolReader,
7875{
7876    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7877        static FIELDS: &[::fbthrift::Field] = &[
7878            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
7879            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
7880            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
7881            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7882        ];
7883        let mut field_space_id = ::std::option::Option::None;
7884        let mut field_edge_name = ::std::option::Option::None;
7885        let mut field_schema = ::std::option::Option::None;
7886        let mut field_if_not_exists = ::std::option::Option::None;
7887        let _ = p.read_struct_begin(|_| ())?;
7888        loop {
7889            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7890            match (fty, fid as ::std::primitive::i32) {
7891                (::fbthrift::TType::Stop, _) => break,
7892                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7893                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7894                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7895                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7896                (fty, _) => p.skip(fty)?,
7897            }
7898            p.read_field_end()?;
7899        }
7900        p.read_struct_end()?;
7901        ::std::result::Result::Ok(Self {
7902            space_id: field_space_id.unwrap_or_default(),
7903            edge_name: field_edge_name.unwrap_or_default(),
7904            schema: field_schema.unwrap_or_default(),
7905            if_not_exists: field_if_not_exists.unwrap_or_default(),
7906            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7907        })
7908    }
7909}
7910
7911
7912#[allow(clippy::derivable_impls)]
7913impl ::std::default::Default for self::AlterEdgeReq {
7914    fn default() -> Self {
7915        Self {
7916            space_id: ::std::default::Default::default(),
7917            edge_name: ::std::default::Default::default(),
7918            edge_items: ::std::default::Default::default(),
7919            schema_prop: ::std::default::Default::default(),
7920            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7921        }
7922    }
7923}
7924
7925impl ::std::fmt::Debug for self::AlterEdgeReq {
7926    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7927        formatter
7928            .debug_struct("AlterEdgeReq")
7929            .field("space_id", &self.space_id)
7930            .field("edge_name", &self.edge_name)
7931            .field("edge_items", &self.edge_items)
7932            .field("schema_prop", &self.schema_prop)
7933            .finish()
7934    }
7935}
7936
7937unsafe impl ::std::marker::Send for self::AlterEdgeReq {}
7938unsafe impl ::std::marker::Sync for self::AlterEdgeReq {}
7939
7940impl ::fbthrift::GetTType for self::AlterEdgeReq {
7941    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7942}
7943
7944impl<P> ::fbthrift::Serialize<P> for self::AlterEdgeReq
7945where
7946    P: ::fbthrift::ProtocolWriter,
7947{
7948    fn write(&self, p: &mut P) {
7949        p.write_struct_begin("AlterEdgeReq");
7950        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7951        ::fbthrift::Serialize::write(&self.space_id, p);
7952        p.write_field_end();
7953        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
7954        ::fbthrift::Serialize::write(&self.edge_name, p);
7955        p.write_field_end();
7956        p.write_field_begin("edge_items", ::fbthrift::TType::List, 3);
7957        ::fbthrift::Serialize::write(&self.edge_items, p);
7958        p.write_field_end();
7959        p.write_field_begin("schema_prop", ::fbthrift::TType::Struct, 4);
7960        ::fbthrift::Serialize::write(&self.schema_prop, p);
7961        p.write_field_end();
7962        p.write_field_stop();
7963        p.write_struct_end();
7964    }
7965}
7966
7967impl<P> ::fbthrift::Deserialize<P> for self::AlterEdgeReq
7968where
7969    P: ::fbthrift::ProtocolReader,
7970{
7971    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7972        static FIELDS: &[::fbthrift::Field] = &[
7973            ::fbthrift::Field::new("edge_items", ::fbthrift::TType::List, 3),
7974            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
7975            ::fbthrift::Field::new("schema_prop", ::fbthrift::TType::Struct, 4),
7976            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7977        ];
7978        let mut field_space_id = ::std::option::Option::None;
7979        let mut field_edge_name = ::std::option::Option::None;
7980        let mut field_edge_items = ::std::option::Option::None;
7981        let mut field_schema_prop = ::std::option::Option::None;
7982        let _ = p.read_struct_begin(|_| ())?;
7983        loop {
7984            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7985            match (fty, fid as ::std::primitive::i32) {
7986                (::fbthrift::TType::Stop, _) => break,
7987                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7988                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7989                (::fbthrift::TType::List, 3) => field_edge_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7990                (::fbthrift::TType::Struct, 4) => field_schema_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7991                (fty, _) => p.skip(fty)?,
7992            }
7993            p.read_field_end()?;
7994        }
7995        p.read_struct_end()?;
7996        ::std::result::Result::Ok(Self {
7997            space_id: field_space_id.unwrap_or_default(),
7998            edge_name: field_edge_name.unwrap_or_default(),
7999            edge_items: field_edge_items.unwrap_or_default(),
8000            schema_prop: field_schema_prop.unwrap_or_default(),
8001            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8002        })
8003    }
8004}
8005
8006
8007#[allow(clippy::derivable_impls)]
8008impl ::std::default::Default for self::GetEdgeReq {
8009    fn default() -> Self {
8010        Self {
8011            space_id: ::std::default::Default::default(),
8012            edge_name: ::std::default::Default::default(),
8013            version: ::std::default::Default::default(),
8014            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8015        }
8016    }
8017}
8018
8019impl ::std::fmt::Debug for self::GetEdgeReq {
8020    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8021        formatter
8022            .debug_struct("GetEdgeReq")
8023            .field("space_id", &self.space_id)
8024            .field("edge_name", &self.edge_name)
8025            .field("version", &self.version)
8026            .finish()
8027    }
8028}
8029
8030unsafe impl ::std::marker::Send for self::GetEdgeReq {}
8031unsafe impl ::std::marker::Sync for self::GetEdgeReq {}
8032
8033impl ::fbthrift::GetTType for self::GetEdgeReq {
8034    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8035}
8036
8037impl<P> ::fbthrift::Serialize<P> for self::GetEdgeReq
8038where
8039    P: ::fbthrift::ProtocolWriter,
8040{
8041    fn write(&self, p: &mut P) {
8042        p.write_struct_begin("GetEdgeReq");
8043        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8044        ::fbthrift::Serialize::write(&self.space_id, p);
8045        p.write_field_end();
8046        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
8047        ::fbthrift::Serialize::write(&self.edge_name, p);
8048        p.write_field_end();
8049        p.write_field_begin("version", ::fbthrift::TType::I64, 3);
8050        ::fbthrift::Serialize::write(&self.version, p);
8051        p.write_field_end();
8052        p.write_field_stop();
8053        p.write_struct_end();
8054    }
8055}
8056
8057impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeReq
8058where
8059    P: ::fbthrift::ProtocolReader,
8060{
8061    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8062        static FIELDS: &[::fbthrift::Field] = &[
8063            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
8064            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8065            ::fbthrift::Field::new("version", ::fbthrift::TType::I64, 3),
8066        ];
8067        let mut field_space_id = ::std::option::Option::None;
8068        let mut field_edge_name = ::std::option::Option::None;
8069        let mut field_version = ::std::option::Option::None;
8070        let _ = p.read_struct_begin(|_| ())?;
8071        loop {
8072            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8073            match (fty, fid as ::std::primitive::i32) {
8074                (::fbthrift::TType::Stop, _) => break,
8075                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8076                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8077                (::fbthrift::TType::I64, 3) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8078                (fty, _) => p.skip(fty)?,
8079            }
8080            p.read_field_end()?;
8081        }
8082        p.read_struct_end()?;
8083        ::std::result::Result::Ok(Self {
8084            space_id: field_space_id.unwrap_or_default(),
8085            edge_name: field_edge_name.unwrap_or_default(),
8086            version: field_version.unwrap_or_default(),
8087            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8088        })
8089    }
8090}
8091
8092
8093#[allow(clippy::derivable_impls)]
8094impl ::std::default::Default for self::GetEdgeResp {
8095    fn default() -> Self {
8096        Self {
8097            code: ::std::default::Default::default(),
8098            leader: ::std::default::Default::default(),
8099            schema: ::std::default::Default::default(),
8100            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8101        }
8102    }
8103}
8104
8105impl ::std::fmt::Debug for self::GetEdgeResp {
8106    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8107        formatter
8108            .debug_struct("GetEdgeResp")
8109            .field("code", &self.code)
8110            .field("leader", &self.leader)
8111            .field("schema", &self.schema)
8112            .finish()
8113    }
8114}
8115
8116unsafe impl ::std::marker::Send for self::GetEdgeResp {}
8117unsafe impl ::std::marker::Sync for self::GetEdgeResp {}
8118
8119impl ::fbthrift::GetTType for self::GetEdgeResp {
8120    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8121}
8122
8123impl<P> ::fbthrift::Serialize<P> for self::GetEdgeResp
8124where
8125    P: ::fbthrift::ProtocolWriter,
8126{
8127    fn write(&self, p: &mut P) {
8128        p.write_struct_begin("GetEdgeResp");
8129        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8130        ::fbthrift::Serialize::write(&self.code, p);
8131        p.write_field_end();
8132        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8133        ::fbthrift::Serialize::write(&self.leader, p);
8134        p.write_field_end();
8135        p.write_field_begin("schema", ::fbthrift::TType::Struct, 3);
8136        ::fbthrift::Serialize::write(&self.schema, p);
8137        p.write_field_end();
8138        p.write_field_stop();
8139        p.write_struct_end();
8140    }
8141}
8142
8143impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeResp
8144where
8145    P: ::fbthrift::ProtocolReader,
8146{
8147    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8148        static FIELDS: &[::fbthrift::Field] = &[
8149            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8150            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8151            ::fbthrift::Field::new("schema", ::fbthrift::TType::Struct, 3),
8152        ];
8153        let mut field_code = ::std::option::Option::None;
8154        let mut field_leader = ::std::option::Option::None;
8155        let mut field_schema = ::std::option::Option::None;
8156        let _ = p.read_struct_begin(|_| ())?;
8157        loop {
8158            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8159            match (fty, fid as ::std::primitive::i32) {
8160                (::fbthrift::TType::Stop, _) => break,
8161                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8162                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8163                (::fbthrift::TType::Struct, 3) => field_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8164                (fty, _) => p.skip(fty)?,
8165            }
8166            p.read_field_end()?;
8167        }
8168        p.read_struct_end()?;
8169        ::std::result::Result::Ok(Self {
8170            code: field_code.unwrap_or_default(),
8171            leader: field_leader.unwrap_or_default(),
8172            schema: field_schema.unwrap_or_default(),
8173            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8174        })
8175    }
8176}
8177
8178
8179#[allow(clippy::derivable_impls)]
8180impl ::std::default::Default for self::DropEdgeReq {
8181    fn default() -> Self {
8182        Self {
8183            space_id: ::std::default::Default::default(),
8184            edge_name: ::std::default::Default::default(),
8185            if_exists: ::std::default::Default::default(),
8186            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8187        }
8188    }
8189}
8190
8191impl ::std::fmt::Debug for self::DropEdgeReq {
8192    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8193        formatter
8194            .debug_struct("DropEdgeReq")
8195            .field("space_id", &self.space_id)
8196            .field("edge_name", &self.edge_name)
8197            .field("if_exists", &self.if_exists)
8198            .finish()
8199    }
8200}
8201
8202unsafe impl ::std::marker::Send for self::DropEdgeReq {}
8203unsafe impl ::std::marker::Sync for self::DropEdgeReq {}
8204
8205impl ::fbthrift::GetTType for self::DropEdgeReq {
8206    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8207}
8208
8209impl<P> ::fbthrift::Serialize<P> for self::DropEdgeReq
8210where
8211    P: ::fbthrift::ProtocolWriter,
8212{
8213    fn write(&self, p: &mut P) {
8214        p.write_struct_begin("DropEdgeReq");
8215        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8216        ::fbthrift::Serialize::write(&self.space_id, p);
8217        p.write_field_end();
8218        p.write_field_begin("edge_name", ::fbthrift::TType::String, 2);
8219        ::fbthrift::Serialize::write(&self.edge_name, p);
8220        p.write_field_end();
8221        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
8222        ::fbthrift::Serialize::write(&self.if_exists, p);
8223        p.write_field_end();
8224        p.write_field_stop();
8225        p.write_struct_end();
8226    }
8227}
8228
8229impl<P> ::fbthrift::Deserialize<P> for self::DropEdgeReq
8230where
8231    P: ::fbthrift::ProtocolReader,
8232{
8233    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8234        static FIELDS: &[::fbthrift::Field] = &[
8235            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 2),
8236            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
8237            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8238        ];
8239        let mut field_space_id = ::std::option::Option::None;
8240        let mut field_edge_name = ::std::option::Option::None;
8241        let mut field_if_exists = ::std::option::Option::None;
8242        let _ = p.read_struct_begin(|_| ())?;
8243        loop {
8244            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8245            match (fty, fid as ::std::primitive::i32) {
8246                (::fbthrift::TType::Stop, _) => break,
8247                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8248                (::fbthrift::TType::String, 2) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8249                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8250                (fty, _) => p.skip(fty)?,
8251            }
8252            p.read_field_end()?;
8253        }
8254        p.read_struct_end()?;
8255        ::std::result::Result::Ok(Self {
8256            space_id: field_space_id.unwrap_or_default(),
8257            edge_name: field_edge_name.unwrap_or_default(),
8258            if_exists: field_if_exists.unwrap_or_default(),
8259            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8260        })
8261    }
8262}
8263
8264
8265#[allow(clippy::derivable_impls)]
8266impl ::std::default::Default for self::ListEdgesReq {
8267    fn default() -> Self {
8268        Self {
8269            space_id: ::std::default::Default::default(),
8270            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8271        }
8272    }
8273}
8274
8275impl ::std::fmt::Debug for self::ListEdgesReq {
8276    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8277        formatter
8278            .debug_struct("ListEdgesReq")
8279            .field("space_id", &self.space_id)
8280            .finish()
8281    }
8282}
8283
8284unsafe impl ::std::marker::Send for self::ListEdgesReq {}
8285unsafe impl ::std::marker::Sync for self::ListEdgesReq {}
8286
8287impl ::fbthrift::GetTType for self::ListEdgesReq {
8288    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8289}
8290
8291impl<P> ::fbthrift::Serialize<P> for self::ListEdgesReq
8292where
8293    P: ::fbthrift::ProtocolWriter,
8294{
8295    fn write(&self, p: &mut P) {
8296        p.write_struct_begin("ListEdgesReq");
8297        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8298        ::fbthrift::Serialize::write(&self.space_id, p);
8299        p.write_field_end();
8300        p.write_field_stop();
8301        p.write_struct_end();
8302    }
8303}
8304
8305impl<P> ::fbthrift::Deserialize<P> for self::ListEdgesReq
8306where
8307    P: ::fbthrift::ProtocolReader,
8308{
8309    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8310        static FIELDS: &[::fbthrift::Field] = &[
8311            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8312        ];
8313        let mut field_space_id = ::std::option::Option::None;
8314        let _ = p.read_struct_begin(|_| ())?;
8315        loop {
8316            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8317            match (fty, fid as ::std::primitive::i32) {
8318                (::fbthrift::TType::Stop, _) => break,
8319                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8320                (fty, _) => p.skip(fty)?,
8321            }
8322            p.read_field_end()?;
8323        }
8324        p.read_struct_end()?;
8325        ::std::result::Result::Ok(Self {
8326            space_id: field_space_id.unwrap_or_default(),
8327            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8328        })
8329    }
8330}
8331
8332
8333#[allow(clippy::derivable_impls)]
8334impl ::std::default::Default for self::ListEdgesResp {
8335    fn default() -> Self {
8336        Self {
8337            code: ::std::default::Default::default(),
8338            leader: ::std::default::Default::default(),
8339            edges: ::std::default::Default::default(),
8340            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8341        }
8342    }
8343}
8344
8345impl ::std::fmt::Debug for self::ListEdgesResp {
8346    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8347        formatter
8348            .debug_struct("ListEdgesResp")
8349            .field("code", &self.code)
8350            .field("leader", &self.leader)
8351            .field("edges", &self.edges)
8352            .finish()
8353    }
8354}
8355
8356unsafe impl ::std::marker::Send for self::ListEdgesResp {}
8357unsafe impl ::std::marker::Sync for self::ListEdgesResp {}
8358
8359impl ::fbthrift::GetTType for self::ListEdgesResp {
8360    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8361}
8362
8363impl<P> ::fbthrift::Serialize<P> for self::ListEdgesResp
8364where
8365    P: ::fbthrift::ProtocolWriter,
8366{
8367    fn write(&self, p: &mut P) {
8368        p.write_struct_begin("ListEdgesResp");
8369        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8370        ::fbthrift::Serialize::write(&self.code, p);
8371        p.write_field_end();
8372        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8373        ::fbthrift::Serialize::write(&self.leader, p);
8374        p.write_field_end();
8375        p.write_field_begin("edges", ::fbthrift::TType::List, 3);
8376        ::fbthrift::Serialize::write(&self.edges, p);
8377        p.write_field_end();
8378        p.write_field_stop();
8379        p.write_struct_end();
8380    }
8381}
8382
8383impl<P> ::fbthrift::Deserialize<P> for self::ListEdgesResp
8384where
8385    P: ::fbthrift::ProtocolReader,
8386{
8387    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8388        static FIELDS: &[::fbthrift::Field] = &[
8389            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8390            ::fbthrift::Field::new("edges", ::fbthrift::TType::List, 3),
8391            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8392        ];
8393        let mut field_code = ::std::option::Option::None;
8394        let mut field_leader = ::std::option::Option::None;
8395        let mut field_edges = ::std::option::Option::None;
8396        let _ = p.read_struct_begin(|_| ())?;
8397        loop {
8398            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8399            match (fty, fid as ::std::primitive::i32) {
8400                (::fbthrift::TType::Stop, _) => break,
8401                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8402                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8403                (::fbthrift::TType::List, 3) => field_edges = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8404                (fty, _) => p.skip(fty)?,
8405            }
8406            p.read_field_end()?;
8407        }
8408        p.read_struct_end()?;
8409        ::std::result::Result::Ok(Self {
8410            code: field_code.unwrap_or_default(),
8411            leader: field_leader.unwrap_or_default(),
8412            edges: field_edges.unwrap_or_default(),
8413            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8414        })
8415    }
8416}
8417
8418
8419#[allow(clippy::derivable_impls)]
8420impl ::std::default::Default for self::ListHostsReq {
8421    fn default() -> Self {
8422        Self {
8423            r#type: ::std::default::Default::default(),
8424            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8425        }
8426    }
8427}
8428
8429impl ::std::fmt::Debug for self::ListHostsReq {
8430    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8431        formatter
8432            .debug_struct("ListHostsReq")
8433            .field("r#type", &self.r#type)
8434            .finish()
8435    }
8436}
8437
8438unsafe impl ::std::marker::Send for self::ListHostsReq {}
8439unsafe impl ::std::marker::Sync for self::ListHostsReq {}
8440
8441impl ::fbthrift::GetTType for self::ListHostsReq {
8442    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8443}
8444
8445impl<P> ::fbthrift::Serialize<P> for self::ListHostsReq
8446where
8447    P: ::fbthrift::ProtocolWriter,
8448{
8449    fn write(&self, p: &mut P) {
8450        p.write_struct_begin("ListHostsReq");
8451        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
8452        ::fbthrift::Serialize::write(&self.r#type, p);
8453        p.write_field_end();
8454        p.write_field_stop();
8455        p.write_struct_end();
8456    }
8457}
8458
8459impl<P> ::fbthrift::Deserialize<P> for self::ListHostsReq
8460where
8461    P: ::fbthrift::ProtocolReader,
8462{
8463    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8464        static FIELDS: &[::fbthrift::Field] = &[
8465            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
8466        ];
8467        let mut field_type = ::std::option::Option::None;
8468        let _ = p.read_struct_begin(|_| ())?;
8469        loop {
8470            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8471            match (fty, fid as ::std::primitive::i32) {
8472                (::fbthrift::TType::Stop, _) => break,
8473                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8474                (fty, _) => p.skip(fty)?,
8475            }
8476            p.read_field_end()?;
8477        }
8478        p.read_struct_end()?;
8479        ::std::result::Result::Ok(Self {
8480            r#type: field_type.unwrap_or_default(),
8481            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8482        })
8483    }
8484}
8485
8486
8487#[allow(clippy::derivable_impls)]
8488impl ::std::default::Default for self::ListHostsResp {
8489    fn default() -> Self {
8490        Self {
8491            code: ::std::default::Default::default(),
8492            leader: ::std::default::Default::default(),
8493            hosts: ::std::default::Default::default(),
8494            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8495        }
8496    }
8497}
8498
8499impl ::std::fmt::Debug for self::ListHostsResp {
8500    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8501        formatter
8502            .debug_struct("ListHostsResp")
8503            .field("code", &self.code)
8504            .field("leader", &self.leader)
8505            .field("hosts", &self.hosts)
8506            .finish()
8507    }
8508}
8509
8510unsafe impl ::std::marker::Send for self::ListHostsResp {}
8511unsafe impl ::std::marker::Sync for self::ListHostsResp {}
8512
8513impl ::fbthrift::GetTType for self::ListHostsResp {
8514    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8515}
8516
8517impl<P> ::fbthrift::Serialize<P> for self::ListHostsResp
8518where
8519    P: ::fbthrift::ProtocolWriter,
8520{
8521    fn write(&self, p: &mut P) {
8522        p.write_struct_begin("ListHostsResp");
8523        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8524        ::fbthrift::Serialize::write(&self.code, p);
8525        p.write_field_end();
8526        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8527        ::fbthrift::Serialize::write(&self.leader, p);
8528        p.write_field_end();
8529        p.write_field_begin("hosts", ::fbthrift::TType::List, 3);
8530        ::fbthrift::Serialize::write(&self.hosts, p);
8531        p.write_field_end();
8532        p.write_field_stop();
8533        p.write_struct_end();
8534    }
8535}
8536
8537impl<P> ::fbthrift::Deserialize<P> for self::ListHostsResp
8538where
8539    P: ::fbthrift::ProtocolReader,
8540{
8541    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8542        static FIELDS: &[::fbthrift::Field] = &[
8543            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8544            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 3),
8545            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8546        ];
8547        let mut field_code = ::std::option::Option::None;
8548        let mut field_leader = ::std::option::Option::None;
8549        let mut field_hosts = ::std::option::Option::None;
8550        let _ = p.read_struct_begin(|_| ())?;
8551        loop {
8552            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8553            match (fty, fid as ::std::primitive::i32) {
8554                (::fbthrift::TType::Stop, _) => break,
8555                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8556                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8557                (::fbthrift::TType::List, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8558                (fty, _) => p.skip(fty)?,
8559            }
8560            p.read_field_end()?;
8561        }
8562        p.read_struct_end()?;
8563        ::std::result::Result::Ok(Self {
8564            code: field_code.unwrap_or_default(),
8565            leader: field_leader.unwrap_or_default(),
8566            hosts: field_hosts.unwrap_or_default(),
8567            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8568        })
8569    }
8570}
8571
8572
8573#[allow(clippy::derivable_impls)]
8574impl ::std::default::Default for self::PartItem {
8575    fn default() -> Self {
8576        Self {
8577            part_id: ::std::default::Default::default(),
8578            leader: ::std::option::Option::None,
8579            peers: ::std::default::Default::default(),
8580            losts: ::std::default::Default::default(),
8581            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8582        }
8583    }
8584}
8585
8586impl ::std::fmt::Debug for self::PartItem {
8587    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8588        formatter
8589            .debug_struct("PartItem")
8590            .field("part_id", &self.part_id)
8591            .field("leader", &self.leader)
8592            .field("peers", &self.peers)
8593            .field("losts", &self.losts)
8594            .finish()
8595    }
8596}
8597
8598unsafe impl ::std::marker::Send for self::PartItem {}
8599unsafe impl ::std::marker::Sync for self::PartItem {}
8600
8601impl ::fbthrift::GetTType for self::PartItem {
8602    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8603}
8604
8605impl<P> ::fbthrift::Serialize<P> for self::PartItem
8606where
8607    P: ::fbthrift::ProtocolWriter,
8608{
8609    fn write(&self, p: &mut P) {
8610        p.write_struct_begin("PartItem");
8611        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
8612        ::fbthrift::Serialize::write(&self.part_id, p);
8613        p.write_field_end();
8614        if let ::std::option::Option::Some(some) = &self.leader {
8615            p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8616            ::fbthrift::Serialize::write(some, p);
8617            p.write_field_end();
8618        }
8619        p.write_field_begin("peers", ::fbthrift::TType::List, 3);
8620        ::fbthrift::Serialize::write(&self.peers, p);
8621        p.write_field_end();
8622        p.write_field_begin("losts", ::fbthrift::TType::List, 4);
8623        ::fbthrift::Serialize::write(&self.losts, p);
8624        p.write_field_end();
8625        p.write_field_stop();
8626        p.write_struct_end();
8627    }
8628}
8629
8630impl<P> ::fbthrift::Deserialize<P> for self::PartItem
8631where
8632    P: ::fbthrift::ProtocolReader,
8633{
8634    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8635        static FIELDS: &[::fbthrift::Field] = &[
8636            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8637            ::fbthrift::Field::new("losts", ::fbthrift::TType::List, 4),
8638            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
8639            ::fbthrift::Field::new("peers", ::fbthrift::TType::List, 3),
8640        ];
8641        let mut field_part_id = ::std::option::Option::None;
8642        let mut field_leader = ::std::option::Option::None;
8643        let mut field_peers = ::std::option::Option::None;
8644        let mut field_losts = ::std::option::Option::None;
8645        let _ = p.read_struct_begin(|_| ())?;
8646        loop {
8647            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8648            match (fty, fid as ::std::primitive::i32) {
8649                (::fbthrift::TType::Stop, _) => break,
8650                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8651                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8652                (::fbthrift::TType::List, 3) => field_peers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8653                (::fbthrift::TType::List, 4) => field_losts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8654                (fty, _) => p.skip(fty)?,
8655            }
8656            p.read_field_end()?;
8657        }
8658        p.read_struct_end()?;
8659        ::std::result::Result::Ok(Self {
8660            part_id: field_part_id.unwrap_or_default(),
8661            leader: field_leader,
8662            peers: field_peers.unwrap_or_default(),
8663            losts: field_losts.unwrap_or_default(),
8664            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8665        })
8666    }
8667}
8668
8669
8670#[allow(clippy::derivable_impls)]
8671impl ::std::default::Default for self::ListPartsReq {
8672    fn default() -> Self {
8673        Self {
8674            space_id: ::std::default::Default::default(),
8675            part_ids: ::std::default::Default::default(),
8676            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8677        }
8678    }
8679}
8680
8681impl ::std::fmt::Debug for self::ListPartsReq {
8682    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8683        formatter
8684            .debug_struct("ListPartsReq")
8685            .field("space_id", &self.space_id)
8686            .field("part_ids", &self.part_ids)
8687            .finish()
8688    }
8689}
8690
8691unsafe impl ::std::marker::Send for self::ListPartsReq {}
8692unsafe impl ::std::marker::Sync for self::ListPartsReq {}
8693
8694impl ::fbthrift::GetTType for self::ListPartsReq {
8695    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8696}
8697
8698impl<P> ::fbthrift::Serialize<P> for self::ListPartsReq
8699where
8700    P: ::fbthrift::ProtocolWriter,
8701{
8702    fn write(&self, p: &mut P) {
8703        p.write_struct_begin("ListPartsReq");
8704        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8705        ::fbthrift::Serialize::write(&self.space_id, p);
8706        p.write_field_end();
8707        p.write_field_begin("part_ids", ::fbthrift::TType::List, 2);
8708        ::fbthrift::Serialize::write(&self.part_ids, p);
8709        p.write_field_end();
8710        p.write_field_stop();
8711        p.write_struct_end();
8712    }
8713}
8714
8715impl<P> ::fbthrift::Deserialize<P> for self::ListPartsReq
8716where
8717    P: ::fbthrift::ProtocolReader,
8718{
8719    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8720        static FIELDS: &[::fbthrift::Field] = &[
8721            ::fbthrift::Field::new("part_ids", ::fbthrift::TType::List, 2),
8722            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8723        ];
8724        let mut field_space_id = ::std::option::Option::None;
8725        let mut field_part_ids = ::std::option::Option::None;
8726        let _ = p.read_struct_begin(|_| ())?;
8727        loop {
8728            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8729            match (fty, fid as ::std::primitive::i32) {
8730                (::fbthrift::TType::Stop, _) => break,
8731                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8732                (::fbthrift::TType::List, 2) => field_part_ids = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8733                (fty, _) => p.skip(fty)?,
8734            }
8735            p.read_field_end()?;
8736        }
8737        p.read_struct_end()?;
8738        ::std::result::Result::Ok(Self {
8739            space_id: field_space_id.unwrap_or_default(),
8740            part_ids: field_part_ids.unwrap_or_default(),
8741            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8742        })
8743    }
8744}
8745
8746
8747#[allow(clippy::derivable_impls)]
8748impl ::std::default::Default for self::ListPartsResp {
8749    fn default() -> Self {
8750        Self {
8751            code: ::std::default::Default::default(),
8752            leader: ::std::default::Default::default(),
8753            parts: ::std::default::Default::default(),
8754            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8755        }
8756    }
8757}
8758
8759impl ::std::fmt::Debug for self::ListPartsResp {
8760    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8761        formatter
8762            .debug_struct("ListPartsResp")
8763            .field("code", &self.code)
8764            .field("leader", &self.leader)
8765            .field("parts", &self.parts)
8766            .finish()
8767    }
8768}
8769
8770unsafe impl ::std::marker::Send for self::ListPartsResp {}
8771unsafe impl ::std::marker::Sync for self::ListPartsResp {}
8772
8773impl ::fbthrift::GetTType for self::ListPartsResp {
8774    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8775}
8776
8777impl<P> ::fbthrift::Serialize<P> for self::ListPartsResp
8778where
8779    P: ::fbthrift::ProtocolWriter,
8780{
8781    fn write(&self, p: &mut P) {
8782        p.write_struct_begin("ListPartsResp");
8783        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8784        ::fbthrift::Serialize::write(&self.code, p);
8785        p.write_field_end();
8786        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8787        ::fbthrift::Serialize::write(&self.leader, p);
8788        p.write_field_end();
8789        p.write_field_begin("parts", ::fbthrift::TType::List, 3);
8790        ::fbthrift::Serialize::write(&self.parts, p);
8791        p.write_field_end();
8792        p.write_field_stop();
8793        p.write_struct_end();
8794    }
8795}
8796
8797impl<P> ::fbthrift::Deserialize<P> for self::ListPartsResp
8798where
8799    P: ::fbthrift::ProtocolReader,
8800{
8801    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8802        static FIELDS: &[::fbthrift::Field] = &[
8803            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8804            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8805            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 3),
8806        ];
8807        let mut field_code = ::std::option::Option::None;
8808        let mut field_leader = ::std::option::Option::None;
8809        let mut field_parts = ::std::option::Option::None;
8810        let _ = p.read_struct_begin(|_| ())?;
8811        loop {
8812            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8813            match (fty, fid as ::std::primitive::i32) {
8814                (::fbthrift::TType::Stop, _) => break,
8815                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8816                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8817                (::fbthrift::TType::List, 3) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8818                (fty, _) => p.skip(fty)?,
8819            }
8820            p.read_field_end()?;
8821        }
8822        p.read_struct_end()?;
8823        ::std::result::Result::Ok(Self {
8824            code: field_code.unwrap_or_default(),
8825            leader: field_leader.unwrap_or_default(),
8826            parts: field_parts.unwrap_or_default(),
8827            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8828        })
8829    }
8830}
8831
8832
8833#[allow(clippy::derivable_impls)]
8834impl ::std::default::Default for self::GetPartsAllocReq {
8835    fn default() -> Self {
8836        Self {
8837            space_id: ::std::default::Default::default(),
8838            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8839        }
8840    }
8841}
8842
8843impl ::std::fmt::Debug for self::GetPartsAllocReq {
8844    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8845        formatter
8846            .debug_struct("GetPartsAllocReq")
8847            .field("space_id", &self.space_id)
8848            .finish()
8849    }
8850}
8851
8852unsafe impl ::std::marker::Send for self::GetPartsAllocReq {}
8853unsafe impl ::std::marker::Sync for self::GetPartsAllocReq {}
8854
8855impl ::fbthrift::GetTType for self::GetPartsAllocReq {
8856    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8857}
8858
8859impl<P> ::fbthrift::Serialize<P> for self::GetPartsAllocReq
8860where
8861    P: ::fbthrift::ProtocolWriter,
8862{
8863    fn write(&self, p: &mut P) {
8864        p.write_struct_begin("GetPartsAllocReq");
8865        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8866        ::fbthrift::Serialize::write(&self.space_id, p);
8867        p.write_field_end();
8868        p.write_field_stop();
8869        p.write_struct_end();
8870    }
8871}
8872
8873impl<P> ::fbthrift::Deserialize<P> for self::GetPartsAllocReq
8874where
8875    P: ::fbthrift::ProtocolReader,
8876{
8877    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8878        static FIELDS: &[::fbthrift::Field] = &[
8879            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8880        ];
8881        let mut field_space_id = ::std::option::Option::None;
8882        let _ = p.read_struct_begin(|_| ())?;
8883        loop {
8884            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8885            match (fty, fid as ::std::primitive::i32) {
8886                (::fbthrift::TType::Stop, _) => break,
8887                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8888                (fty, _) => p.skip(fty)?,
8889            }
8890            p.read_field_end()?;
8891        }
8892        p.read_struct_end()?;
8893        ::std::result::Result::Ok(Self {
8894            space_id: field_space_id.unwrap_or_default(),
8895            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8896        })
8897    }
8898}
8899
8900
8901#[allow(clippy::derivable_impls)]
8902impl ::std::default::Default for self::GetPartsAllocResp {
8903    fn default() -> Self {
8904        Self {
8905            code: ::std::default::Default::default(),
8906            leader: ::std::default::Default::default(),
8907            parts: ::std::default::Default::default(),
8908            terms: ::std::option::Option::None,
8909            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8910        }
8911    }
8912}
8913
8914impl ::std::fmt::Debug for self::GetPartsAllocResp {
8915    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8916        formatter
8917            .debug_struct("GetPartsAllocResp")
8918            .field("code", &self.code)
8919            .field("leader", &self.leader)
8920            .field("parts", &self.parts)
8921            .field("terms", &self.terms)
8922            .finish()
8923    }
8924}
8925
8926unsafe impl ::std::marker::Send for self::GetPartsAllocResp {}
8927unsafe impl ::std::marker::Sync for self::GetPartsAllocResp {}
8928
8929impl ::fbthrift::GetTType for self::GetPartsAllocResp {
8930    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8931}
8932
8933impl<P> ::fbthrift::Serialize<P> for self::GetPartsAllocResp
8934where
8935    P: ::fbthrift::ProtocolWriter,
8936{
8937    fn write(&self, p: &mut P) {
8938        p.write_struct_begin("GetPartsAllocResp");
8939        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8940        ::fbthrift::Serialize::write(&self.code, p);
8941        p.write_field_end();
8942        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
8943        ::fbthrift::Serialize::write(&self.leader, p);
8944        p.write_field_end();
8945        p.write_field_begin("parts", ::fbthrift::TType::Map, 3);
8946        ::fbthrift::Serialize::write(&self.parts, p);
8947        p.write_field_end();
8948        if let ::std::option::Option::Some(some) = &self.terms {
8949            p.write_field_begin("terms", ::fbthrift::TType::Map, 4);
8950            ::fbthrift::Serialize::write(some, p);
8951            p.write_field_end();
8952        }
8953        p.write_field_stop();
8954        p.write_struct_end();
8955    }
8956}
8957
8958impl<P> ::fbthrift::Deserialize<P> for self::GetPartsAllocResp
8959where
8960    P: ::fbthrift::ProtocolReader,
8961{
8962    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8963        static FIELDS: &[::fbthrift::Field] = &[
8964            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8965            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
8966            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 3),
8967            ::fbthrift::Field::new("terms", ::fbthrift::TType::Map, 4),
8968        ];
8969        let mut field_code = ::std::option::Option::None;
8970        let mut field_leader = ::std::option::Option::None;
8971        let mut field_parts = ::std::option::Option::None;
8972        let mut field_terms = ::std::option::Option::None;
8973        let _ = p.read_struct_begin(|_| ())?;
8974        loop {
8975            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8976            match (fty, fid as ::std::primitive::i32) {
8977                (::fbthrift::TType::Stop, _) => break,
8978                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8979                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8980                (::fbthrift::TType::Map, 3) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8981                (::fbthrift::TType::Map, 4) => field_terms = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8982                (fty, _) => p.skip(fty)?,
8983            }
8984            p.read_field_end()?;
8985        }
8986        p.read_struct_end()?;
8987        ::std::result::Result::Ok(Self {
8988            code: field_code.unwrap_or_default(),
8989            leader: field_leader.unwrap_or_default(),
8990            parts: field_parts.unwrap_or_default(),
8991            terms: field_terms,
8992            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8993        })
8994    }
8995}
8996
8997
8998#[allow(clippy::derivable_impls)]
8999impl ::std::default::Default for self::MultiPutReq {
9000    fn default() -> Self {
9001        Self {
9002            segment: ::std::default::Default::default(),
9003            pairs: ::std::default::Default::default(),
9004            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9005        }
9006    }
9007}
9008
9009impl ::std::fmt::Debug for self::MultiPutReq {
9010    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9011        formatter
9012            .debug_struct("MultiPutReq")
9013            .field("segment", &self.segment)
9014            .field("pairs", &self.pairs)
9015            .finish()
9016    }
9017}
9018
9019unsafe impl ::std::marker::Send for self::MultiPutReq {}
9020unsafe impl ::std::marker::Sync for self::MultiPutReq {}
9021
9022impl ::fbthrift::GetTType for self::MultiPutReq {
9023    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9024}
9025
9026impl<P> ::fbthrift::Serialize<P> for self::MultiPutReq
9027where
9028    P: ::fbthrift::ProtocolWriter,
9029{
9030    fn write(&self, p: &mut P) {
9031        p.write_struct_begin("MultiPutReq");
9032        p.write_field_begin("segment", ::fbthrift::TType::String, 1);
9033        ::fbthrift::Serialize::write(&self.segment, p);
9034        p.write_field_end();
9035        p.write_field_begin("pairs", ::fbthrift::TType::List, 2);
9036        ::fbthrift::Serialize::write(&self.pairs, p);
9037        p.write_field_end();
9038        p.write_field_stop();
9039        p.write_struct_end();
9040    }
9041}
9042
9043impl<P> ::fbthrift::Deserialize<P> for self::MultiPutReq
9044where
9045    P: ::fbthrift::ProtocolReader,
9046{
9047    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9048        static FIELDS: &[::fbthrift::Field] = &[
9049            ::fbthrift::Field::new("pairs", ::fbthrift::TType::List, 2),
9050            ::fbthrift::Field::new("segment", ::fbthrift::TType::String, 1),
9051        ];
9052        let mut field_segment = ::std::option::Option::None;
9053        let mut field_pairs = ::std::option::Option::None;
9054        let _ = p.read_struct_begin(|_| ())?;
9055        loop {
9056            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9057            match (fty, fid as ::std::primitive::i32) {
9058                (::fbthrift::TType::Stop, _) => break,
9059                (::fbthrift::TType::String, 1) => field_segment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9060                (::fbthrift::TType::List, 2) => field_pairs = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9061                (fty, _) => p.skip(fty)?,
9062            }
9063            p.read_field_end()?;
9064        }
9065        p.read_struct_end()?;
9066        ::std::result::Result::Ok(Self {
9067            segment: field_segment.unwrap_or_default(),
9068            pairs: field_pairs.unwrap_or_default(),
9069            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9070        })
9071    }
9072}
9073
9074
9075#[allow(clippy::derivable_impls)]
9076impl ::std::default::Default for self::GetReq {
9077    fn default() -> Self {
9078        Self {
9079            segment: ::std::default::Default::default(),
9080            key: ::std::default::Default::default(),
9081            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9082        }
9083    }
9084}
9085
9086impl ::std::fmt::Debug for self::GetReq {
9087    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9088        formatter
9089            .debug_struct("GetReq")
9090            .field("segment", &self.segment)
9091            .field("key", &self.key)
9092            .finish()
9093    }
9094}
9095
9096unsafe impl ::std::marker::Send for self::GetReq {}
9097unsafe impl ::std::marker::Sync for self::GetReq {}
9098
9099impl ::fbthrift::GetTType for self::GetReq {
9100    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9101}
9102
9103impl<P> ::fbthrift::Serialize<P> for self::GetReq
9104where
9105    P: ::fbthrift::ProtocolWriter,
9106{
9107    fn write(&self, p: &mut P) {
9108        p.write_struct_begin("GetReq");
9109        p.write_field_begin("segment", ::fbthrift::TType::String, 1);
9110        ::fbthrift::Serialize::write(&self.segment, p);
9111        p.write_field_end();
9112        p.write_field_begin("key", ::fbthrift::TType::String, 2);
9113        ::fbthrift::Serialize::write(&self.key, p);
9114        p.write_field_end();
9115        p.write_field_stop();
9116        p.write_struct_end();
9117    }
9118}
9119
9120impl<P> ::fbthrift::Deserialize<P> for self::GetReq
9121where
9122    P: ::fbthrift::ProtocolReader,
9123{
9124    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9125        static FIELDS: &[::fbthrift::Field] = &[
9126            ::fbthrift::Field::new("key", ::fbthrift::TType::String, 2),
9127            ::fbthrift::Field::new("segment", ::fbthrift::TType::String, 1),
9128        ];
9129        let mut field_segment = ::std::option::Option::None;
9130        let mut field_key = ::std::option::Option::None;
9131        let _ = p.read_struct_begin(|_| ())?;
9132        loop {
9133            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9134            match (fty, fid as ::std::primitive::i32) {
9135                (::fbthrift::TType::Stop, _) => break,
9136                (::fbthrift::TType::String, 1) => field_segment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9137                (::fbthrift::TType::String, 2) => field_key = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9138                (fty, _) => p.skip(fty)?,
9139            }
9140            p.read_field_end()?;
9141        }
9142        p.read_struct_end()?;
9143        ::std::result::Result::Ok(Self {
9144            segment: field_segment.unwrap_or_default(),
9145            key: field_key.unwrap_or_default(),
9146            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9147        })
9148    }
9149}
9150
9151
9152#[allow(clippy::derivable_impls)]
9153impl ::std::default::Default for self::GetResp {
9154    fn default() -> Self {
9155        Self {
9156            code: ::std::default::Default::default(),
9157            leader: ::std::default::Default::default(),
9158            value: ::std::default::Default::default(),
9159            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9160        }
9161    }
9162}
9163
9164impl ::std::fmt::Debug for self::GetResp {
9165    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9166        formatter
9167            .debug_struct("GetResp")
9168            .field("code", &self.code)
9169            .field("leader", &self.leader)
9170            .field("value", &self.value)
9171            .finish()
9172    }
9173}
9174
9175unsafe impl ::std::marker::Send for self::GetResp {}
9176unsafe impl ::std::marker::Sync for self::GetResp {}
9177
9178impl ::fbthrift::GetTType for self::GetResp {
9179    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9180}
9181
9182impl<P> ::fbthrift::Serialize<P> for self::GetResp
9183where
9184    P: ::fbthrift::ProtocolWriter,
9185{
9186    fn write(&self, p: &mut P) {
9187        p.write_struct_begin("GetResp");
9188        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9189        ::fbthrift::Serialize::write(&self.code, p);
9190        p.write_field_end();
9191        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9192        ::fbthrift::Serialize::write(&self.leader, p);
9193        p.write_field_end();
9194        p.write_field_begin("value", ::fbthrift::TType::String, 3);
9195        ::fbthrift::Serialize::write(&self.value, p);
9196        p.write_field_end();
9197        p.write_field_stop();
9198        p.write_struct_end();
9199    }
9200}
9201
9202impl<P> ::fbthrift::Deserialize<P> for self::GetResp
9203where
9204    P: ::fbthrift::ProtocolReader,
9205{
9206    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9207        static FIELDS: &[::fbthrift::Field] = &[
9208            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9209            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9210            ::fbthrift::Field::new("value", ::fbthrift::TType::String, 3),
9211        ];
9212        let mut field_code = ::std::option::Option::None;
9213        let mut field_leader = ::std::option::Option::None;
9214        let mut field_value = ::std::option::Option::None;
9215        let _ = p.read_struct_begin(|_| ())?;
9216        loop {
9217            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9218            match (fty, fid as ::std::primitive::i32) {
9219                (::fbthrift::TType::Stop, _) => break,
9220                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9221                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9222                (::fbthrift::TType::String, 3) => field_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9223                (fty, _) => p.skip(fty)?,
9224            }
9225            p.read_field_end()?;
9226        }
9227        p.read_struct_end()?;
9228        ::std::result::Result::Ok(Self {
9229            code: field_code.unwrap_or_default(),
9230            leader: field_leader.unwrap_or_default(),
9231            value: field_value.unwrap_or_default(),
9232            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9233        })
9234    }
9235}
9236
9237
9238#[allow(clippy::derivable_impls)]
9239impl ::std::default::Default for self::MultiGetReq {
9240    fn default() -> Self {
9241        Self {
9242            segment: ::std::default::Default::default(),
9243            keys: ::std::default::Default::default(),
9244            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9245        }
9246    }
9247}
9248
9249impl ::std::fmt::Debug for self::MultiGetReq {
9250    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9251        formatter
9252            .debug_struct("MultiGetReq")
9253            .field("segment", &self.segment)
9254            .field("keys", &self.keys)
9255            .finish()
9256    }
9257}
9258
9259unsafe impl ::std::marker::Send for self::MultiGetReq {}
9260unsafe impl ::std::marker::Sync for self::MultiGetReq {}
9261
9262impl ::fbthrift::GetTType for self::MultiGetReq {
9263    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9264}
9265
9266impl<P> ::fbthrift::Serialize<P> for self::MultiGetReq
9267where
9268    P: ::fbthrift::ProtocolWriter,
9269{
9270    fn write(&self, p: &mut P) {
9271        p.write_struct_begin("MultiGetReq");
9272        p.write_field_begin("segment", ::fbthrift::TType::String, 1);
9273        ::fbthrift::Serialize::write(&self.segment, p);
9274        p.write_field_end();
9275        p.write_field_begin("keys", ::fbthrift::TType::List, 2);
9276        ::fbthrift::Serialize::write(&self.keys, p);
9277        p.write_field_end();
9278        p.write_field_stop();
9279        p.write_struct_end();
9280    }
9281}
9282
9283impl<P> ::fbthrift::Deserialize<P> for self::MultiGetReq
9284where
9285    P: ::fbthrift::ProtocolReader,
9286{
9287    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9288        static FIELDS: &[::fbthrift::Field] = &[
9289            ::fbthrift::Field::new("keys", ::fbthrift::TType::List, 2),
9290            ::fbthrift::Field::new("segment", ::fbthrift::TType::String, 1),
9291        ];
9292        let mut field_segment = ::std::option::Option::None;
9293        let mut field_keys = ::std::option::Option::None;
9294        let _ = p.read_struct_begin(|_| ())?;
9295        loop {
9296            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9297            match (fty, fid as ::std::primitive::i32) {
9298                (::fbthrift::TType::Stop, _) => break,
9299                (::fbthrift::TType::String, 1) => field_segment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9300                (::fbthrift::TType::List, 2) => field_keys = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9301                (fty, _) => p.skip(fty)?,
9302            }
9303            p.read_field_end()?;
9304        }
9305        p.read_struct_end()?;
9306        ::std::result::Result::Ok(Self {
9307            segment: field_segment.unwrap_or_default(),
9308            keys: field_keys.unwrap_or_default(),
9309            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9310        })
9311    }
9312}
9313
9314
9315#[allow(clippy::derivable_impls)]
9316impl ::std::default::Default for self::MultiGetResp {
9317    fn default() -> Self {
9318        Self {
9319            code: ::std::default::Default::default(),
9320            leader: ::std::default::Default::default(),
9321            values: ::std::default::Default::default(),
9322            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9323        }
9324    }
9325}
9326
9327impl ::std::fmt::Debug for self::MultiGetResp {
9328    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9329        formatter
9330            .debug_struct("MultiGetResp")
9331            .field("code", &self.code)
9332            .field("leader", &self.leader)
9333            .field("values", &self.values)
9334            .finish()
9335    }
9336}
9337
9338unsafe impl ::std::marker::Send for self::MultiGetResp {}
9339unsafe impl ::std::marker::Sync for self::MultiGetResp {}
9340
9341impl ::fbthrift::GetTType for self::MultiGetResp {
9342    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9343}
9344
9345impl<P> ::fbthrift::Serialize<P> for self::MultiGetResp
9346where
9347    P: ::fbthrift::ProtocolWriter,
9348{
9349    fn write(&self, p: &mut P) {
9350        p.write_struct_begin("MultiGetResp");
9351        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9352        ::fbthrift::Serialize::write(&self.code, p);
9353        p.write_field_end();
9354        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9355        ::fbthrift::Serialize::write(&self.leader, p);
9356        p.write_field_end();
9357        p.write_field_begin("values", ::fbthrift::TType::List, 3);
9358        ::fbthrift::Serialize::write(&self.values, p);
9359        p.write_field_end();
9360        p.write_field_stop();
9361        p.write_struct_end();
9362    }
9363}
9364
9365impl<P> ::fbthrift::Deserialize<P> for self::MultiGetResp
9366where
9367    P: ::fbthrift::ProtocolReader,
9368{
9369    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9370        static FIELDS: &[::fbthrift::Field] = &[
9371            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9372            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9373            ::fbthrift::Field::new("values", ::fbthrift::TType::List, 3),
9374        ];
9375        let mut field_code = ::std::option::Option::None;
9376        let mut field_leader = ::std::option::Option::None;
9377        let mut field_values = ::std::option::Option::None;
9378        let _ = p.read_struct_begin(|_| ())?;
9379        loop {
9380            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9381            match (fty, fid as ::std::primitive::i32) {
9382                (::fbthrift::TType::Stop, _) => break,
9383                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9384                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9385                (::fbthrift::TType::List, 3) => field_values = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9386                (fty, _) => p.skip(fty)?,
9387            }
9388            p.read_field_end()?;
9389        }
9390        p.read_struct_end()?;
9391        ::std::result::Result::Ok(Self {
9392            code: field_code.unwrap_or_default(),
9393            leader: field_leader.unwrap_or_default(),
9394            values: field_values.unwrap_or_default(),
9395            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9396        })
9397    }
9398}
9399
9400
9401#[allow(clippy::derivable_impls)]
9402impl ::std::default::Default for self::RemoveReq {
9403    fn default() -> Self {
9404        Self {
9405            segment: ::std::default::Default::default(),
9406            key: ::std::default::Default::default(),
9407            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9408        }
9409    }
9410}
9411
9412impl ::std::fmt::Debug for self::RemoveReq {
9413    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9414        formatter
9415            .debug_struct("RemoveReq")
9416            .field("segment", &self.segment)
9417            .field("key", &self.key)
9418            .finish()
9419    }
9420}
9421
9422unsafe impl ::std::marker::Send for self::RemoveReq {}
9423unsafe impl ::std::marker::Sync for self::RemoveReq {}
9424
9425impl ::fbthrift::GetTType for self::RemoveReq {
9426    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9427}
9428
9429impl<P> ::fbthrift::Serialize<P> for self::RemoveReq
9430where
9431    P: ::fbthrift::ProtocolWriter,
9432{
9433    fn write(&self, p: &mut P) {
9434        p.write_struct_begin("RemoveReq");
9435        p.write_field_begin("segment", ::fbthrift::TType::String, 1);
9436        ::fbthrift::Serialize::write(&self.segment, p);
9437        p.write_field_end();
9438        p.write_field_begin("key", ::fbthrift::TType::String, 2);
9439        ::fbthrift::Serialize::write(&self.key, p);
9440        p.write_field_end();
9441        p.write_field_stop();
9442        p.write_struct_end();
9443    }
9444}
9445
9446impl<P> ::fbthrift::Deserialize<P> for self::RemoveReq
9447where
9448    P: ::fbthrift::ProtocolReader,
9449{
9450    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9451        static FIELDS: &[::fbthrift::Field] = &[
9452            ::fbthrift::Field::new("key", ::fbthrift::TType::String, 2),
9453            ::fbthrift::Field::new("segment", ::fbthrift::TType::String, 1),
9454        ];
9455        let mut field_segment = ::std::option::Option::None;
9456        let mut field_key = ::std::option::Option::None;
9457        let _ = p.read_struct_begin(|_| ())?;
9458        loop {
9459            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9460            match (fty, fid as ::std::primitive::i32) {
9461                (::fbthrift::TType::Stop, _) => break,
9462                (::fbthrift::TType::String, 1) => field_segment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9463                (::fbthrift::TType::String, 2) => field_key = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9464                (fty, _) => p.skip(fty)?,
9465            }
9466            p.read_field_end()?;
9467        }
9468        p.read_struct_end()?;
9469        ::std::result::Result::Ok(Self {
9470            segment: field_segment.unwrap_or_default(),
9471            key: field_key.unwrap_or_default(),
9472            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9473        })
9474    }
9475}
9476
9477
9478#[allow(clippy::derivable_impls)]
9479impl ::std::default::Default for self::RemoveRangeReq {
9480    fn default() -> Self {
9481        Self {
9482            segment: ::std::default::Default::default(),
9483            start: ::std::default::Default::default(),
9484            end: ::std::default::Default::default(),
9485            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9486        }
9487    }
9488}
9489
9490impl ::std::fmt::Debug for self::RemoveRangeReq {
9491    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9492        formatter
9493            .debug_struct("RemoveRangeReq")
9494            .field("segment", &self.segment)
9495            .field("start", &self.start)
9496            .field("end", &self.end)
9497            .finish()
9498    }
9499}
9500
9501unsafe impl ::std::marker::Send for self::RemoveRangeReq {}
9502unsafe impl ::std::marker::Sync for self::RemoveRangeReq {}
9503
9504impl ::fbthrift::GetTType for self::RemoveRangeReq {
9505    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9506}
9507
9508impl<P> ::fbthrift::Serialize<P> for self::RemoveRangeReq
9509where
9510    P: ::fbthrift::ProtocolWriter,
9511{
9512    fn write(&self, p: &mut P) {
9513        p.write_struct_begin("RemoveRangeReq");
9514        p.write_field_begin("segment", ::fbthrift::TType::String, 1);
9515        ::fbthrift::Serialize::write(&self.segment, p);
9516        p.write_field_end();
9517        p.write_field_begin("start", ::fbthrift::TType::String, 2);
9518        ::fbthrift::Serialize::write(&self.start, p);
9519        p.write_field_end();
9520        p.write_field_begin("end", ::fbthrift::TType::String, 3);
9521        ::fbthrift::Serialize::write(&self.end, p);
9522        p.write_field_end();
9523        p.write_field_stop();
9524        p.write_struct_end();
9525    }
9526}
9527
9528impl<P> ::fbthrift::Deserialize<P> for self::RemoveRangeReq
9529where
9530    P: ::fbthrift::ProtocolReader,
9531{
9532    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9533        static FIELDS: &[::fbthrift::Field] = &[
9534            ::fbthrift::Field::new("end", ::fbthrift::TType::String, 3),
9535            ::fbthrift::Field::new("segment", ::fbthrift::TType::String, 1),
9536            ::fbthrift::Field::new("start", ::fbthrift::TType::String, 2),
9537        ];
9538        let mut field_segment = ::std::option::Option::None;
9539        let mut field_start = ::std::option::Option::None;
9540        let mut field_end = ::std::option::Option::None;
9541        let _ = p.read_struct_begin(|_| ())?;
9542        loop {
9543            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9544            match (fty, fid as ::std::primitive::i32) {
9545                (::fbthrift::TType::Stop, _) => break,
9546                (::fbthrift::TType::String, 1) => field_segment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9547                (::fbthrift::TType::String, 2) => field_start = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9548                (::fbthrift::TType::String, 3) => field_end = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9549                (fty, _) => p.skip(fty)?,
9550            }
9551            p.read_field_end()?;
9552        }
9553        p.read_struct_end()?;
9554        ::std::result::Result::Ok(Self {
9555            segment: field_segment.unwrap_or_default(),
9556            start: field_start.unwrap_or_default(),
9557            end: field_end.unwrap_or_default(),
9558            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9559        })
9560    }
9561}
9562
9563
9564#[allow(clippy::derivable_impls)]
9565impl ::std::default::Default for self::ScanReq {
9566    fn default() -> Self {
9567        Self {
9568            segment: ::std::default::Default::default(),
9569            start: ::std::default::Default::default(),
9570            end: ::std::default::Default::default(),
9571            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9572        }
9573    }
9574}
9575
9576impl ::std::fmt::Debug for self::ScanReq {
9577    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9578        formatter
9579            .debug_struct("ScanReq")
9580            .field("segment", &self.segment)
9581            .field("start", &self.start)
9582            .field("end", &self.end)
9583            .finish()
9584    }
9585}
9586
9587unsafe impl ::std::marker::Send for self::ScanReq {}
9588unsafe impl ::std::marker::Sync for self::ScanReq {}
9589
9590impl ::fbthrift::GetTType for self::ScanReq {
9591    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9592}
9593
9594impl<P> ::fbthrift::Serialize<P> for self::ScanReq
9595where
9596    P: ::fbthrift::ProtocolWriter,
9597{
9598    fn write(&self, p: &mut P) {
9599        p.write_struct_begin("ScanReq");
9600        p.write_field_begin("segment", ::fbthrift::TType::String, 1);
9601        ::fbthrift::Serialize::write(&self.segment, p);
9602        p.write_field_end();
9603        p.write_field_begin("start", ::fbthrift::TType::String, 2);
9604        ::fbthrift::Serialize::write(&self.start, p);
9605        p.write_field_end();
9606        p.write_field_begin("end", ::fbthrift::TType::String, 3);
9607        ::fbthrift::Serialize::write(&self.end, p);
9608        p.write_field_end();
9609        p.write_field_stop();
9610        p.write_struct_end();
9611    }
9612}
9613
9614impl<P> ::fbthrift::Deserialize<P> for self::ScanReq
9615where
9616    P: ::fbthrift::ProtocolReader,
9617{
9618    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9619        static FIELDS: &[::fbthrift::Field] = &[
9620            ::fbthrift::Field::new("end", ::fbthrift::TType::String, 3),
9621            ::fbthrift::Field::new("segment", ::fbthrift::TType::String, 1),
9622            ::fbthrift::Field::new("start", ::fbthrift::TType::String, 2),
9623        ];
9624        let mut field_segment = ::std::option::Option::None;
9625        let mut field_start = ::std::option::Option::None;
9626        let mut field_end = ::std::option::Option::None;
9627        let _ = p.read_struct_begin(|_| ())?;
9628        loop {
9629            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9630            match (fty, fid as ::std::primitive::i32) {
9631                (::fbthrift::TType::Stop, _) => break,
9632                (::fbthrift::TType::String, 1) => field_segment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9633                (::fbthrift::TType::String, 2) => field_start = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9634                (::fbthrift::TType::String, 3) => field_end = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9635                (fty, _) => p.skip(fty)?,
9636            }
9637            p.read_field_end()?;
9638        }
9639        p.read_struct_end()?;
9640        ::std::result::Result::Ok(Self {
9641            segment: field_segment.unwrap_or_default(),
9642            start: field_start.unwrap_or_default(),
9643            end: field_end.unwrap_or_default(),
9644            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9645        })
9646    }
9647}
9648
9649
9650#[allow(clippy::derivable_impls)]
9651impl ::std::default::Default for self::ScanResp {
9652    fn default() -> Self {
9653        Self {
9654            code: ::std::default::Default::default(),
9655            leader: ::std::default::Default::default(),
9656            values: ::std::default::Default::default(),
9657            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9658        }
9659    }
9660}
9661
9662impl ::std::fmt::Debug for self::ScanResp {
9663    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9664        formatter
9665            .debug_struct("ScanResp")
9666            .field("code", &self.code)
9667            .field("leader", &self.leader)
9668            .field("values", &self.values)
9669            .finish()
9670    }
9671}
9672
9673unsafe impl ::std::marker::Send for self::ScanResp {}
9674unsafe impl ::std::marker::Sync for self::ScanResp {}
9675
9676impl ::fbthrift::GetTType for self::ScanResp {
9677    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9678}
9679
9680impl<P> ::fbthrift::Serialize<P> for self::ScanResp
9681where
9682    P: ::fbthrift::ProtocolWriter,
9683{
9684    fn write(&self, p: &mut P) {
9685        p.write_struct_begin("ScanResp");
9686        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9687        ::fbthrift::Serialize::write(&self.code, p);
9688        p.write_field_end();
9689        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9690        ::fbthrift::Serialize::write(&self.leader, p);
9691        p.write_field_end();
9692        p.write_field_begin("values", ::fbthrift::TType::List, 3);
9693        ::fbthrift::Serialize::write(&self.values, p);
9694        p.write_field_end();
9695        p.write_field_stop();
9696        p.write_struct_end();
9697    }
9698}
9699
9700impl<P> ::fbthrift::Deserialize<P> for self::ScanResp
9701where
9702    P: ::fbthrift::ProtocolReader,
9703{
9704    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9705        static FIELDS: &[::fbthrift::Field] = &[
9706            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9707            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9708            ::fbthrift::Field::new("values", ::fbthrift::TType::List, 3),
9709        ];
9710        let mut field_code = ::std::option::Option::None;
9711        let mut field_leader = ::std::option::Option::None;
9712        let mut field_values = ::std::option::Option::None;
9713        let _ = p.read_struct_begin(|_| ())?;
9714        loop {
9715            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9716            match (fty, fid as ::std::primitive::i32) {
9717                (::fbthrift::TType::Stop, _) => break,
9718                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9719                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9720                (::fbthrift::TType::List, 3) => field_values = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9721                (fty, _) => p.skip(fty)?,
9722            }
9723            p.read_field_end()?;
9724        }
9725        p.read_struct_end()?;
9726        ::std::result::Result::Ok(Self {
9727            code: field_code.unwrap_or_default(),
9728            leader: field_leader.unwrap_or_default(),
9729            values: field_values.unwrap_or_default(),
9730            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9731        })
9732    }
9733}
9734
9735
9736#[allow(clippy::derivable_impls)]
9737impl ::std::default::Default for self::HBResp {
9738    fn default() -> Self {
9739        Self {
9740            code: ::std::default::Default::default(),
9741            leader: ::std::default::Default::default(),
9742            cluster_id: ::std::default::Default::default(),
9743            last_update_time_in_ms: ::std::default::Default::default(),
9744            meta_version: ::std::default::Default::default(),
9745            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9746        }
9747    }
9748}
9749
9750impl ::std::fmt::Debug for self::HBResp {
9751    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9752        formatter
9753            .debug_struct("HBResp")
9754            .field("code", &self.code)
9755            .field("leader", &self.leader)
9756            .field("cluster_id", &self.cluster_id)
9757            .field("last_update_time_in_ms", &self.last_update_time_in_ms)
9758            .field("meta_version", &self.meta_version)
9759            .finish()
9760    }
9761}
9762
9763unsafe impl ::std::marker::Send for self::HBResp {}
9764unsafe impl ::std::marker::Sync for self::HBResp {}
9765
9766impl ::fbthrift::GetTType for self::HBResp {
9767    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9768}
9769
9770impl<P> ::fbthrift::Serialize<P> for self::HBResp
9771where
9772    P: ::fbthrift::ProtocolWriter,
9773{
9774    fn write(&self, p: &mut P) {
9775        p.write_struct_begin("HBResp");
9776        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
9777        ::fbthrift::Serialize::write(&self.code, p);
9778        p.write_field_end();
9779        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
9780        ::fbthrift::Serialize::write(&self.leader, p);
9781        p.write_field_end();
9782        p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 3);
9783        ::fbthrift::Serialize::write(&self.cluster_id, p);
9784        p.write_field_end();
9785        p.write_field_begin("last_update_time_in_ms", ::fbthrift::TType::I64, 4);
9786        ::fbthrift::Serialize::write(&self.last_update_time_in_ms, p);
9787        p.write_field_end();
9788        p.write_field_begin("meta_version", ::fbthrift::TType::I32, 5);
9789        ::fbthrift::Serialize::write(&self.meta_version, p);
9790        p.write_field_end();
9791        p.write_field_stop();
9792        p.write_struct_end();
9793    }
9794}
9795
9796impl<P> ::fbthrift::Deserialize<P> for self::HBResp
9797where
9798    P: ::fbthrift::ProtocolReader,
9799{
9800    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9801        static FIELDS: &[::fbthrift::Field] = &[
9802            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 3),
9803            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
9804            ::fbthrift::Field::new("last_update_time_in_ms", ::fbthrift::TType::I64, 4),
9805            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
9806            ::fbthrift::Field::new("meta_version", ::fbthrift::TType::I32, 5),
9807        ];
9808        let mut field_code = ::std::option::Option::None;
9809        let mut field_leader = ::std::option::Option::None;
9810        let mut field_cluster_id = ::std::option::Option::None;
9811        let mut field_last_update_time_in_ms = ::std::option::Option::None;
9812        let mut field_meta_version = ::std::option::Option::None;
9813        let _ = p.read_struct_begin(|_| ())?;
9814        loop {
9815            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9816            match (fty, fid as ::std::primitive::i32) {
9817                (::fbthrift::TType::Stop, _) => break,
9818                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9819                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9820                (::fbthrift::TType::I64, 3) => field_cluster_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9821                (::fbthrift::TType::I64, 4) => field_last_update_time_in_ms = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9822                (::fbthrift::TType::I32, 5) => field_meta_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9823                (fty, _) => p.skip(fty)?,
9824            }
9825            p.read_field_end()?;
9826        }
9827        p.read_struct_end()?;
9828        ::std::result::Result::Ok(Self {
9829            code: field_code.unwrap_or_default(),
9830            leader: field_leader.unwrap_or_default(),
9831            cluster_id: field_cluster_id.unwrap_or_default(),
9832            last_update_time_in_ms: field_last_update_time_in_ms.unwrap_or_default(),
9833            meta_version: field_meta_version.unwrap_or_default(),
9834            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9835        })
9836    }
9837}
9838
9839
9840#[allow(clippy::derivable_impls)]
9841impl ::std::default::Default for self::LeaderInfo {
9842    fn default() -> Self {
9843        Self {
9844            part_id: ::std::default::Default::default(),
9845            term: ::std::default::Default::default(),
9846            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9847        }
9848    }
9849}
9850
9851impl ::std::fmt::Debug for self::LeaderInfo {
9852    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9853        formatter
9854            .debug_struct("LeaderInfo")
9855            .field("part_id", &self.part_id)
9856            .field("term", &self.term)
9857            .finish()
9858    }
9859}
9860
9861unsafe impl ::std::marker::Send for self::LeaderInfo {}
9862unsafe impl ::std::marker::Sync for self::LeaderInfo {}
9863
9864impl ::fbthrift::GetTType for self::LeaderInfo {
9865    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9866}
9867
9868impl<P> ::fbthrift::Serialize<P> for self::LeaderInfo
9869where
9870    P: ::fbthrift::ProtocolWriter,
9871{
9872    fn write(&self, p: &mut P) {
9873        p.write_struct_begin("LeaderInfo");
9874        p.write_field_begin("part_id", ::fbthrift::TType::I32, 1);
9875        ::fbthrift::Serialize::write(&self.part_id, p);
9876        p.write_field_end();
9877        p.write_field_begin("term", ::fbthrift::TType::I64, 2);
9878        ::fbthrift::Serialize::write(&self.term, p);
9879        p.write_field_end();
9880        p.write_field_stop();
9881        p.write_struct_end();
9882    }
9883}
9884
9885impl<P> ::fbthrift::Deserialize<P> for self::LeaderInfo
9886where
9887    P: ::fbthrift::ProtocolReader,
9888{
9889    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9890        static FIELDS: &[::fbthrift::Field] = &[
9891            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 1),
9892            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 2),
9893        ];
9894        let mut field_part_id = ::std::option::Option::None;
9895        let mut field_term = ::std::option::Option::None;
9896        let _ = p.read_struct_begin(|_| ())?;
9897        loop {
9898            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
9899            match (fty, fid as ::std::primitive::i32) {
9900                (::fbthrift::TType::Stop, _) => break,
9901                (::fbthrift::TType::I32, 1) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9902                (::fbthrift::TType::I64, 2) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
9903                (fty, _) => p.skip(fty)?,
9904            }
9905            p.read_field_end()?;
9906        }
9907        p.read_struct_end()?;
9908        ::std::result::Result::Ok(Self {
9909            part_id: field_part_id.unwrap_or_default(),
9910            term: field_term.unwrap_or_default(),
9911            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9912        })
9913    }
9914}
9915
9916
9917#[allow(clippy::derivable_impls)]
9918impl ::std::default::Default for self::HBReq {
9919    fn default() -> Self {
9920        Self {
9921            role: ::std::default::Default::default(),
9922            host: ::std::default::Default::default(),
9923            cluster_id: ::std::default::Default::default(),
9924            leader_partIds: ::std::option::Option::None,
9925            git_info_sha: ::std::default::Default::default(),
9926            version: ::std::option::Option::None,
9927            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
9928        }
9929    }
9930}
9931
9932impl ::std::fmt::Debug for self::HBReq {
9933    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
9934        formatter
9935            .debug_struct("HBReq")
9936            .field("role", &self.role)
9937            .field("host", &self.host)
9938            .field("cluster_id", &self.cluster_id)
9939            .field("leader_partIds", &self.leader_partIds)
9940            .field("git_info_sha", &self.git_info_sha)
9941            .field("version", &self.version)
9942            .finish()
9943    }
9944}
9945
9946unsafe impl ::std::marker::Send for self::HBReq {}
9947unsafe impl ::std::marker::Sync for self::HBReq {}
9948
9949impl ::fbthrift::GetTType for self::HBReq {
9950    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
9951}
9952
9953impl<P> ::fbthrift::Serialize<P> for self::HBReq
9954where
9955    P: ::fbthrift::ProtocolWriter,
9956{
9957    fn write(&self, p: &mut P) {
9958        p.write_struct_begin("HBReq");
9959        p.write_field_begin("role", ::fbthrift::TType::I32, 1);
9960        ::fbthrift::Serialize::write(&self.role, p);
9961        p.write_field_end();
9962        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
9963        ::fbthrift::Serialize::write(&self.host, p);
9964        p.write_field_end();
9965        p.write_field_begin("cluster_id", ::fbthrift::TType::I64, 3);
9966        ::fbthrift::Serialize::write(&self.cluster_id, p);
9967        p.write_field_end();
9968        if let ::std::option::Option::Some(some) = &self.leader_partIds {
9969            p.write_field_begin("leader_partIds", ::fbthrift::TType::Map, 4);
9970            ::fbthrift::Serialize::write(some, p);
9971            p.write_field_end();
9972        }
9973        p.write_field_begin("git_info_sha", ::fbthrift::TType::String, 5);
9974        ::fbthrift::Serialize::write(&self.git_info_sha, p);
9975        p.write_field_end();
9976        if let ::std::option::Option::Some(some) = &self.version {
9977            p.write_field_begin("version", ::fbthrift::TType::String, 6);
9978            ::fbthrift::Serialize::write(some, p);
9979            p.write_field_end();
9980        }
9981        p.write_field_stop();
9982        p.write_struct_end();
9983    }
9984}
9985
9986impl<P> ::fbthrift::Deserialize<P> for self::HBReq
9987where
9988    P: ::fbthrift::ProtocolReader,
9989{
9990    fn read(p: &mut P) -> ::anyhow::Result<Self> {
9991        static FIELDS: &[::fbthrift::Field] = &[
9992            ::fbthrift::Field::new("cluster_id", ::fbthrift::TType::I64, 3),
9993            ::fbthrift::Field::new("git_info_sha", ::fbthrift::TType::String, 5),
9994            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
9995            ::fbthrift::Field::new("leader_partIds", ::fbthrift::TType::Map, 4),
9996            ::fbthrift::Field::new("role", ::fbthrift::TType::I32, 1),
9997            ::fbthrift::Field::new("version", ::fbthrift::TType::String, 6),
9998        ];
9999        let mut field_role = ::std::option::Option::None;
10000        let mut field_host = ::std::option::Option::None;
10001        let mut field_cluster_id = ::std::option::Option::None;
10002        let mut field_leader_partIds = ::std::option::Option::None;
10003        let mut field_git_info_sha = ::std::option::Option::None;
10004        let mut field_version = ::std::option::Option::None;
10005        let _ = p.read_struct_begin(|_| ())?;
10006        loop {
10007            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10008            match (fty, fid as ::std::primitive::i32) {
10009                (::fbthrift::TType::Stop, _) => break,
10010                (::fbthrift::TType::I32, 1) => field_role = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10011                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10012                (::fbthrift::TType::I64, 3) => field_cluster_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10013                (::fbthrift::TType::Map, 4) => field_leader_partIds = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10014                (::fbthrift::TType::String, 5) => field_git_info_sha = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10015                (::fbthrift::TType::String, 6) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10016                (fty, _) => p.skip(fty)?,
10017            }
10018            p.read_field_end()?;
10019        }
10020        p.read_struct_end()?;
10021        ::std::result::Result::Ok(Self {
10022            role: field_role.unwrap_or_default(),
10023            host: field_host.unwrap_or_default(),
10024            cluster_id: field_cluster_id.unwrap_or_default(),
10025            leader_partIds: field_leader_partIds,
10026            git_info_sha: field_git_info_sha.unwrap_or_default(),
10027            version: field_version,
10028            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10029        })
10030    }
10031}
10032
10033
10034#[allow(clippy::derivable_impls)]
10035impl ::std::default::Default for self::IndexFieldDef {
10036    fn default() -> Self {
10037        Self {
10038            name: ::std::default::Default::default(),
10039            type_length: ::std::option::Option::None,
10040            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10041        }
10042    }
10043}
10044
10045impl ::std::fmt::Debug for self::IndexFieldDef {
10046    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10047        formatter
10048            .debug_struct("IndexFieldDef")
10049            .field("name", &self.name)
10050            .field("type_length", &self.type_length)
10051            .finish()
10052    }
10053}
10054
10055unsafe impl ::std::marker::Send for self::IndexFieldDef {}
10056unsafe impl ::std::marker::Sync for self::IndexFieldDef {}
10057
10058impl ::fbthrift::GetTType for self::IndexFieldDef {
10059    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10060}
10061
10062impl<P> ::fbthrift::Serialize<P> for self::IndexFieldDef
10063where
10064    P: ::fbthrift::ProtocolWriter,
10065{
10066    fn write(&self, p: &mut P) {
10067        p.write_struct_begin("IndexFieldDef");
10068        p.write_field_begin("name", ::fbthrift::TType::String, 1);
10069        ::fbthrift::Serialize::write(&self.name, p);
10070        p.write_field_end();
10071        if let ::std::option::Option::Some(some) = &self.type_length {
10072            p.write_field_begin("type_length", ::fbthrift::TType::I16, 2);
10073            ::fbthrift::Serialize::write(some, p);
10074            p.write_field_end();
10075        }
10076        p.write_field_stop();
10077        p.write_struct_end();
10078    }
10079}
10080
10081impl<P> ::fbthrift::Deserialize<P> for self::IndexFieldDef
10082where
10083    P: ::fbthrift::ProtocolReader,
10084{
10085    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10086        static FIELDS: &[::fbthrift::Field] = &[
10087            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
10088            ::fbthrift::Field::new("type_length", ::fbthrift::TType::I16, 2),
10089        ];
10090        let mut field_name = ::std::option::Option::None;
10091        let mut field_type_length = ::std::option::Option::None;
10092        let _ = p.read_struct_begin(|_| ())?;
10093        loop {
10094            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10095            match (fty, fid as ::std::primitive::i32) {
10096                (::fbthrift::TType::Stop, _) => break,
10097                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10098                (::fbthrift::TType::I16, 2) => field_type_length = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10099                (fty, _) => p.skip(fty)?,
10100            }
10101            p.read_field_end()?;
10102        }
10103        p.read_struct_end()?;
10104        ::std::result::Result::Ok(Self {
10105            name: field_name.unwrap_or_default(),
10106            type_length: field_type_length,
10107            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10108        })
10109    }
10110}
10111
10112
10113#[allow(clippy::derivable_impls)]
10114impl ::std::default::Default for self::CreateTagIndexReq {
10115    fn default() -> Self {
10116        Self {
10117            space_id: ::std::default::Default::default(),
10118            index_name: ::std::default::Default::default(),
10119            tag_name: ::std::default::Default::default(),
10120            fields: ::std::default::Default::default(),
10121            if_not_exists: ::std::default::Default::default(),
10122            comment: ::std::option::Option::None,
10123            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10124        }
10125    }
10126}
10127
10128impl ::std::fmt::Debug for self::CreateTagIndexReq {
10129    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10130        formatter
10131            .debug_struct("CreateTagIndexReq")
10132            .field("space_id", &self.space_id)
10133            .field("index_name", &self.index_name)
10134            .field("tag_name", &self.tag_name)
10135            .field("fields", &self.fields)
10136            .field("if_not_exists", &self.if_not_exists)
10137            .field("comment", &self.comment)
10138            .finish()
10139    }
10140}
10141
10142unsafe impl ::std::marker::Send for self::CreateTagIndexReq {}
10143unsafe impl ::std::marker::Sync for self::CreateTagIndexReq {}
10144
10145impl ::fbthrift::GetTType for self::CreateTagIndexReq {
10146    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10147}
10148
10149impl<P> ::fbthrift::Serialize<P> for self::CreateTagIndexReq
10150where
10151    P: ::fbthrift::ProtocolWriter,
10152{
10153    fn write(&self, p: &mut P) {
10154        p.write_struct_begin("CreateTagIndexReq");
10155        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10156        ::fbthrift::Serialize::write(&self.space_id, p);
10157        p.write_field_end();
10158        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10159        ::fbthrift::Serialize::write(&self.index_name, p);
10160        p.write_field_end();
10161        p.write_field_begin("tag_name", ::fbthrift::TType::String, 3);
10162        ::fbthrift::Serialize::write(&self.tag_name, p);
10163        p.write_field_end();
10164        p.write_field_begin("fields", ::fbthrift::TType::List, 4);
10165        ::fbthrift::Serialize::write(&self.fields, p);
10166        p.write_field_end();
10167        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 5);
10168        ::fbthrift::Serialize::write(&self.if_not_exists, p);
10169        p.write_field_end();
10170        if let ::std::option::Option::Some(some) = &self.comment {
10171            p.write_field_begin("comment", ::fbthrift::TType::String, 6);
10172            ::fbthrift::Serialize::write(some, p);
10173            p.write_field_end();
10174        }
10175        p.write_field_stop();
10176        p.write_struct_end();
10177    }
10178}
10179
10180impl<P> ::fbthrift::Deserialize<P> for self::CreateTagIndexReq
10181where
10182    P: ::fbthrift::ProtocolReader,
10183{
10184    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10185        static FIELDS: &[::fbthrift::Field] = &[
10186            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 6),
10187            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 4),
10188            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 5),
10189            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10190            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10191            ::fbthrift::Field::new("tag_name", ::fbthrift::TType::String, 3),
10192        ];
10193        let mut field_space_id = ::std::option::Option::None;
10194        let mut field_index_name = ::std::option::Option::None;
10195        let mut field_tag_name = ::std::option::Option::None;
10196        let mut field_fields = ::std::option::Option::None;
10197        let mut field_if_not_exists = ::std::option::Option::None;
10198        let mut field_comment = ::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::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10205                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10206                (::fbthrift::TType::String, 3) => field_tag_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10207                (::fbthrift::TType::List, 4) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10208                (::fbthrift::TType::Bool, 5) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10209                (::fbthrift::TType::String, 6) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10210                (fty, _) => p.skip(fty)?,
10211            }
10212            p.read_field_end()?;
10213        }
10214        p.read_struct_end()?;
10215        ::std::result::Result::Ok(Self {
10216            space_id: field_space_id.unwrap_or_default(),
10217            index_name: field_index_name.unwrap_or_default(),
10218            tag_name: field_tag_name.unwrap_or_default(),
10219            fields: field_fields.unwrap_or_default(),
10220            if_not_exists: field_if_not_exists.unwrap_or_default(),
10221            comment: field_comment,
10222            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10223        })
10224    }
10225}
10226
10227
10228#[allow(clippy::derivable_impls)]
10229impl ::std::default::Default for self::DropTagIndexReq {
10230    fn default() -> Self {
10231        Self {
10232            space_id: ::std::default::Default::default(),
10233            index_name: ::std::default::Default::default(),
10234            if_exists: ::std::default::Default::default(),
10235            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10236        }
10237    }
10238}
10239
10240impl ::std::fmt::Debug for self::DropTagIndexReq {
10241    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10242        formatter
10243            .debug_struct("DropTagIndexReq")
10244            .field("space_id", &self.space_id)
10245            .field("index_name", &self.index_name)
10246            .field("if_exists", &self.if_exists)
10247            .finish()
10248    }
10249}
10250
10251unsafe impl ::std::marker::Send for self::DropTagIndexReq {}
10252unsafe impl ::std::marker::Sync for self::DropTagIndexReq {}
10253
10254impl ::fbthrift::GetTType for self::DropTagIndexReq {
10255    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10256}
10257
10258impl<P> ::fbthrift::Serialize<P> for self::DropTagIndexReq
10259where
10260    P: ::fbthrift::ProtocolWriter,
10261{
10262    fn write(&self, p: &mut P) {
10263        p.write_struct_begin("DropTagIndexReq");
10264        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10265        ::fbthrift::Serialize::write(&self.space_id, p);
10266        p.write_field_end();
10267        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10268        ::fbthrift::Serialize::write(&self.index_name, p);
10269        p.write_field_end();
10270        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
10271        ::fbthrift::Serialize::write(&self.if_exists, p);
10272        p.write_field_end();
10273        p.write_field_stop();
10274        p.write_struct_end();
10275    }
10276}
10277
10278impl<P> ::fbthrift::Deserialize<P> for self::DropTagIndexReq
10279where
10280    P: ::fbthrift::ProtocolReader,
10281{
10282    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10283        static FIELDS: &[::fbthrift::Field] = &[
10284            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
10285            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10286            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10287        ];
10288        let mut field_space_id = ::std::option::Option::None;
10289        let mut field_index_name = ::std::option::Option::None;
10290        let mut field_if_exists = ::std::option::Option::None;
10291        let _ = p.read_struct_begin(|_| ())?;
10292        loop {
10293            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10294            match (fty, fid as ::std::primitive::i32) {
10295                (::fbthrift::TType::Stop, _) => break,
10296                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10297                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10298                (::fbthrift::TType::Bool, 3) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10299                (fty, _) => p.skip(fty)?,
10300            }
10301            p.read_field_end()?;
10302        }
10303        p.read_struct_end()?;
10304        ::std::result::Result::Ok(Self {
10305            space_id: field_space_id.unwrap_or_default(),
10306            index_name: field_index_name.unwrap_or_default(),
10307            if_exists: field_if_exists.unwrap_or_default(),
10308            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10309        })
10310    }
10311}
10312
10313
10314#[allow(clippy::derivable_impls)]
10315impl ::std::default::Default for self::GetTagIndexReq {
10316    fn default() -> Self {
10317        Self {
10318            space_id: ::std::default::Default::default(),
10319            index_name: ::std::default::Default::default(),
10320            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10321        }
10322    }
10323}
10324
10325impl ::std::fmt::Debug for self::GetTagIndexReq {
10326    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10327        formatter
10328            .debug_struct("GetTagIndexReq")
10329            .field("space_id", &self.space_id)
10330            .field("index_name", &self.index_name)
10331            .finish()
10332    }
10333}
10334
10335unsafe impl ::std::marker::Send for self::GetTagIndexReq {}
10336unsafe impl ::std::marker::Sync for self::GetTagIndexReq {}
10337
10338impl ::fbthrift::GetTType for self::GetTagIndexReq {
10339    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10340}
10341
10342impl<P> ::fbthrift::Serialize<P> for self::GetTagIndexReq
10343where
10344    P: ::fbthrift::ProtocolWriter,
10345{
10346    fn write(&self, p: &mut P) {
10347        p.write_struct_begin("GetTagIndexReq");
10348        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10349        ::fbthrift::Serialize::write(&self.space_id, p);
10350        p.write_field_end();
10351        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10352        ::fbthrift::Serialize::write(&self.index_name, p);
10353        p.write_field_end();
10354        p.write_field_stop();
10355        p.write_struct_end();
10356    }
10357}
10358
10359impl<P> ::fbthrift::Deserialize<P> for self::GetTagIndexReq
10360where
10361    P: ::fbthrift::ProtocolReader,
10362{
10363    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10364        static FIELDS: &[::fbthrift::Field] = &[
10365            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10366            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10367        ];
10368        let mut field_space_id = ::std::option::Option::None;
10369        let mut field_index_name = ::std::option::Option::None;
10370        let _ = p.read_struct_begin(|_| ())?;
10371        loop {
10372            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10373            match (fty, fid as ::std::primitive::i32) {
10374                (::fbthrift::TType::Stop, _) => break,
10375                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10376                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10377                (fty, _) => p.skip(fty)?,
10378            }
10379            p.read_field_end()?;
10380        }
10381        p.read_struct_end()?;
10382        ::std::result::Result::Ok(Self {
10383            space_id: field_space_id.unwrap_or_default(),
10384            index_name: field_index_name.unwrap_or_default(),
10385            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10386        })
10387    }
10388}
10389
10390
10391#[allow(clippy::derivable_impls)]
10392impl ::std::default::Default for self::GetTagIndexResp {
10393    fn default() -> Self {
10394        Self {
10395            code: ::std::default::Default::default(),
10396            leader: ::std::default::Default::default(),
10397            item: ::std::default::Default::default(),
10398            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10399        }
10400    }
10401}
10402
10403impl ::std::fmt::Debug for self::GetTagIndexResp {
10404    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10405        formatter
10406            .debug_struct("GetTagIndexResp")
10407            .field("code", &self.code)
10408            .field("leader", &self.leader)
10409            .field("item", &self.item)
10410            .finish()
10411    }
10412}
10413
10414unsafe impl ::std::marker::Send for self::GetTagIndexResp {}
10415unsafe impl ::std::marker::Sync for self::GetTagIndexResp {}
10416
10417impl ::fbthrift::GetTType for self::GetTagIndexResp {
10418    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10419}
10420
10421impl<P> ::fbthrift::Serialize<P> for self::GetTagIndexResp
10422where
10423    P: ::fbthrift::ProtocolWriter,
10424{
10425    fn write(&self, p: &mut P) {
10426        p.write_struct_begin("GetTagIndexResp");
10427        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
10428        ::fbthrift::Serialize::write(&self.code, p);
10429        p.write_field_end();
10430        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
10431        ::fbthrift::Serialize::write(&self.leader, p);
10432        p.write_field_end();
10433        p.write_field_begin("item", ::fbthrift::TType::Struct, 3);
10434        ::fbthrift::Serialize::write(&self.item, p);
10435        p.write_field_end();
10436        p.write_field_stop();
10437        p.write_struct_end();
10438    }
10439}
10440
10441impl<P> ::fbthrift::Deserialize<P> for self::GetTagIndexResp
10442where
10443    P: ::fbthrift::ProtocolReader,
10444{
10445    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10446        static FIELDS: &[::fbthrift::Field] = &[
10447            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
10448            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 3),
10449            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
10450        ];
10451        let mut field_code = ::std::option::Option::None;
10452        let mut field_leader = ::std::option::Option::None;
10453        let mut field_item = ::std::option::Option::None;
10454        let _ = p.read_struct_begin(|_| ())?;
10455        loop {
10456            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10457            match (fty, fid as ::std::primitive::i32) {
10458                (::fbthrift::TType::Stop, _) => break,
10459                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10460                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10461                (::fbthrift::TType::Struct, 3) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10462                (fty, _) => p.skip(fty)?,
10463            }
10464            p.read_field_end()?;
10465        }
10466        p.read_struct_end()?;
10467        ::std::result::Result::Ok(Self {
10468            code: field_code.unwrap_or_default(),
10469            leader: field_leader.unwrap_or_default(),
10470            item: field_item.unwrap_or_default(),
10471            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10472        })
10473    }
10474}
10475
10476
10477#[allow(clippy::derivable_impls)]
10478impl ::std::default::Default for self::ListTagIndexesReq {
10479    fn default() -> Self {
10480        Self {
10481            space_id: ::std::default::Default::default(),
10482            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10483        }
10484    }
10485}
10486
10487impl ::std::fmt::Debug for self::ListTagIndexesReq {
10488    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10489        formatter
10490            .debug_struct("ListTagIndexesReq")
10491            .field("space_id", &self.space_id)
10492            .finish()
10493    }
10494}
10495
10496unsafe impl ::std::marker::Send for self::ListTagIndexesReq {}
10497unsafe impl ::std::marker::Sync for self::ListTagIndexesReq {}
10498
10499impl ::fbthrift::GetTType for self::ListTagIndexesReq {
10500    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10501}
10502
10503impl<P> ::fbthrift::Serialize<P> for self::ListTagIndexesReq
10504where
10505    P: ::fbthrift::ProtocolWriter,
10506{
10507    fn write(&self, p: &mut P) {
10508        p.write_struct_begin("ListTagIndexesReq");
10509        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10510        ::fbthrift::Serialize::write(&self.space_id, p);
10511        p.write_field_end();
10512        p.write_field_stop();
10513        p.write_struct_end();
10514    }
10515}
10516
10517impl<P> ::fbthrift::Deserialize<P> for self::ListTagIndexesReq
10518where
10519    P: ::fbthrift::ProtocolReader,
10520{
10521    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10522        static FIELDS: &[::fbthrift::Field] = &[
10523            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10524        ];
10525        let mut field_space_id = ::std::option::Option::None;
10526        let _ = p.read_struct_begin(|_| ())?;
10527        loop {
10528            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10529            match (fty, fid as ::std::primitive::i32) {
10530                (::fbthrift::TType::Stop, _) => break,
10531                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10532                (fty, _) => p.skip(fty)?,
10533            }
10534            p.read_field_end()?;
10535        }
10536        p.read_struct_end()?;
10537        ::std::result::Result::Ok(Self {
10538            space_id: field_space_id.unwrap_or_default(),
10539            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10540        })
10541    }
10542}
10543
10544
10545#[allow(clippy::derivable_impls)]
10546impl ::std::default::Default for self::ListTagIndexesResp {
10547    fn default() -> Self {
10548        Self {
10549            code: ::std::default::Default::default(),
10550            leader: ::std::default::Default::default(),
10551            items: ::std::default::Default::default(),
10552            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10553        }
10554    }
10555}
10556
10557impl ::std::fmt::Debug for self::ListTagIndexesResp {
10558    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10559        formatter
10560            .debug_struct("ListTagIndexesResp")
10561            .field("code", &self.code)
10562            .field("leader", &self.leader)
10563            .field("items", &self.items)
10564            .finish()
10565    }
10566}
10567
10568unsafe impl ::std::marker::Send for self::ListTagIndexesResp {}
10569unsafe impl ::std::marker::Sync for self::ListTagIndexesResp {}
10570
10571impl ::fbthrift::GetTType for self::ListTagIndexesResp {
10572    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10573}
10574
10575impl<P> ::fbthrift::Serialize<P> for self::ListTagIndexesResp
10576where
10577    P: ::fbthrift::ProtocolWriter,
10578{
10579    fn write(&self, p: &mut P) {
10580        p.write_struct_begin("ListTagIndexesResp");
10581        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
10582        ::fbthrift::Serialize::write(&self.code, p);
10583        p.write_field_end();
10584        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
10585        ::fbthrift::Serialize::write(&self.leader, p);
10586        p.write_field_end();
10587        p.write_field_begin("items", ::fbthrift::TType::List, 3);
10588        ::fbthrift::Serialize::write(&self.items, p);
10589        p.write_field_end();
10590        p.write_field_stop();
10591        p.write_struct_end();
10592    }
10593}
10594
10595impl<P> ::fbthrift::Deserialize<P> for self::ListTagIndexesResp
10596where
10597    P: ::fbthrift::ProtocolReader,
10598{
10599    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10600        static FIELDS: &[::fbthrift::Field] = &[
10601            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
10602            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
10603            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
10604        ];
10605        let mut field_code = ::std::option::Option::None;
10606        let mut field_leader = ::std::option::Option::None;
10607        let mut field_items = ::std::option::Option::None;
10608        let _ = p.read_struct_begin(|_| ())?;
10609        loop {
10610            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10611            match (fty, fid as ::std::primitive::i32) {
10612                (::fbthrift::TType::Stop, _) => break,
10613                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10614                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10615                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10616                (fty, _) => p.skip(fty)?,
10617            }
10618            p.read_field_end()?;
10619        }
10620        p.read_struct_end()?;
10621        ::std::result::Result::Ok(Self {
10622            code: field_code.unwrap_or_default(),
10623            leader: field_leader.unwrap_or_default(),
10624            items: field_items.unwrap_or_default(),
10625            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10626        })
10627    }
10628}
10629
10630
10631#[allow(clippy::derivable_impls)]
10632impl ::std::default::Default for self::CreateEdgeIndexReq {
10633    fn default() -> Self {
10634        Self {
10635            space_id: ::std::default::Default::default(),
10636            index_name: ::std::default::Default::default(),
10637            edge_name: ::std::default::Default::default(),
10638            fields: ::std::default::Default::default(),
10639            if_not_exists: ::std::default::Default::default(),
10640            comment: ::std::option::Option::None,
10641            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10642        }
10643    }
10644}
10645
10646impl ::std::fmt::Debug for self::CreateEdgeIndexReq {
10647    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10648        formatter
10649            .debug_struct("CreateEdgeIndexReq")
10650            .field("space_id", &self.space_id)
10651            .field("index_name", &self.index_name)
10652            .field("edge_name", &self.edge_name)
10653            .field("fields", &self.fields)
10654            .field("if_not_exists", &self.if_not_exists)
10655            .field("comment", &self.comment)
10656            .finish()
10657    }
10658}
10659
10660unsafe impl ::std::marker::Send for self::CreateEdgeIndexReq {}
10661unsafe impl ::std::marker::Sync for self::CreateEdgeIndexReq {}
10662
10663impl ::fbthrift::GetTType for self::CreateEdgeIndexReq {
10664    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10665}
10666
10667impl<P> ::fbthrift::Serialize<P> for self::CreateEdgeIndexReq
10668where
10669    P: ::fbthrift::ProtocolWriter,
10670{
10671    fn write(&self, p: &mut P) {
10672        p.write_struct_begin("CreateEdgeIndexReq");
10673        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10674        ::fbthrift::Serialize::write(&self.space_id, p);
10675        p.write_field_end();
10676        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10677        ::fbthrift::Serialize::write(&self.index_name, p);
10678        p.write_field_end();
10679        p.write_field_begin("edge_name", ::fbthrift::TType::String, 3);
10680        ::fbthrift::Serialize::write(&self.edge_name, p);
10681        p.write_field_end();
10682        p.write_field_begin("fields", ::fbthrift::TType::List, 4);
10683        ::fbthrift::Serialize::write(&self.fields, p);
10684        p.write_field_end();
10685        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 5);
10686        ::fbthrift::Serialize::write(&self.if_not_exists, p);
10687        p.write_field_end();
10688        if let ::std::option::Option::Some(some) = &self.comment {
10689            p.write_field_begin("comment", ::fbthrift::TType::String, 6);
10690            ::fbthrift::Serialize::write(some, p);
10691            p.write_field_end();
10692        }
10693        p.write_field_stop();
10694        p.write_struct_end();
10695    }
10696}
10697
10698impl<P> ::fbthrift::Deserialize<P> for self::CreateEdgeIndexReq
10699where
10700    P: ::fbthrift::ProtocolReader,
10701{
10702    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10703        static FIELDS: &[::fbthrift::Field] = &[
10704            ::fbthrift::Field::new("comment", ::fbthrift::TType::String, 6),
10705            ::fbthrift::Field::new("edge_name", ::fbthrift::TType::String, 3),
10706            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 4),
10707            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 5),
10708            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10709            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10710        ];
10711        let mut field_space_id = ::std::option::Option::None;
10712        let mut field_index_name = ::std::option::Option::None;
10713        let mut field_edge_name = ::std::option::Option::None;
10714        let mut field_fields = ::std::option::Option::None;
10715        let mut field_if_not_exists = ::std::option::Option::None;
10716        let mut field_comment = ::std::option::Option::None;
10717        let _ = p.read_struct_begin(|_| ())?;
10718        loop {
10719            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10720            match (fty, fid as ::std::primitive::i32) {
10721                (::fbthrift::TType::Stop, _) => break,
10722                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10723                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10724                (::fbthrift::TType::String, 3) => field_edge_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10725                (::fbthrift::TType::List, 4) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10726                (::fbthrift::TType::Bool, 5) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10727                (::fbthrift::TType::String, 6) => field_comment = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10728                (fty, _) => p.skip(fty)?,
10729            }
10730            p.read_field_end()?;
10731        }
10732        p.read_struct_end()?;
10733        ::std::result::Result::Ok(Self {
10734            space_id: field_space_id.unwrap_or_default(),
10735            index_name: field_index_name.unwrap_or_default(),
10736            edge_name: field_edge_name.unwrap_or_default(),
10737            fields: field_fields.unwrap_or_default(),
10738            if_not_exists: field_if_not_exists.unwrap_or_default(),
10739            comment: field_comment,
10740            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10741        })
10742    }
10743}
10744
10745
10746#[allow(clippy::derivable_impls)]
10747impl ::std::default::Default for self::DropEdgeIndexReq {
10748    fn default() -> Self {
10749        Self {
10750            space_id: ::std::default::Default::default(),
10751            index_name: ::std::default::Default::default(),
10752            if_exists: ::std::default::Default::default(),
10753            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10754        }
10755    }
10756}
10757
10758impl ::std::fmt::Debug for self::DropEdgeIndexReq {
10759    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10760        formatter
10761            .debug_struct("DropEdgeIndexReq")
10762            .field("space_id", &self.space_id)
10763            .field("index_name", &self.index_name)
10764            .field("if_exists", &self.if_exists)
10765            .finish()
10766    }
10767}
10768
10769unsafe impl ::std::marker::Send for self::DropEdgeIndexReq {}
10770unsafe impl ::std::marker::Sync for self::DropEdgeIndexReq {}
10771
10772impl ::fbthrift::GetTType for self::DropEdgeIndexReq {
10773    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10774}
10775
10776impl<P> ::fbthrift::Serialize<P> for self::DropEdgeIndexReq
10777where
10778    P: ::fbthrift::ProtocolWriter,
10779{
10780    fn write(&self, p: &mut P) {
10781        p.write_struct_begin("DropEdgeIndexReq");
10782        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10783        ::fbthrift::Serialize::write(&self.space_id, p);
10784        p.write_field_end();
10785        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10786        ::fbthrift::Serialize::write(&self.index_name, p);
10787        p.write_field_end();
10788        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 3);
10789        ::fbthrift::Serialize::write(&self.if_exists, p);
10790        p.write_field_end();
10791        p.write_field_stop();
10792        p.write_struct_end();
10793    }
10794}
10795
10796impl<P> ::fbthrift::Deserialize<P> for self::DropEdgeIndexReq
10797where
10798    P: ::fbthrift::ProtocolReader,
10799{
10800    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10801        static FIELDS: &[::fbthrift::Field] = &[
10802            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 3),
10803            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10804            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10805        ];
10806        let mut field_space_id = ::std::option::Option::None;
10807        let mut field_index_name = ::std::option::Option::None;
10808        let mut field_if_exists = ::std::option::Option::None;
10809        let _ = p.read_struct_begin(|_| ())?;
10810        loop {
10811            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10812            match (fty, fid as ::std::primitive::i32) {
10813                (::fbthrift::TType::Stop, _) => break,
10814                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10815                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10816                (::fbthrift::TType::Bool, 3) => field_if_exists = ::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            index_name: field_index_name.unwrap_or_default(),
10825            if_exists: field_if_exists.unwrap_or_default(),
10826            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10827        })
10828    }
10829}
10830
10831
10832#[allow(clippy::derivable_impls)]
10833impl ::std::default::Default for self::GetEdgeIndexReq {
10834    fn default() -> Self {
10835        Self {
10836            space_id: ::std::default::Default::default(),
10837            index_name: ::std::default::Default::default(),
10838            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10839        }
10840    }
10841}
10842
10843impl ::std::fmt::Debug for self::GetEdgeIndexReq {
10844    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10845        formatter
10846            .debug_struct("GetEdgeIndexReq")
10847            .field("space_id", &self.space_id)
10848            .field("index_name", &self.index_name)
10849            .finish()
10850    }
10851}
10852
10853unsafe impl ::std::marker::Send for self::GetEdgeIndexReq {}
10854unsafe impl ::std::marker::Sync for self::GetEdgeIndexReq {}
10855
10856impl ::fbthrift::GetTType for self::GetEdgeIndexReq {
10857    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10858}
10859
10860impl<P> ::fbthrift::Serialize<P> for self::GetEdgeIndexReq
10861where
10862    P: ::fbthrift::ProtocolWriter,
10863{
10864    fn write(&self, p: &mut P) {
10865        p.write_struct_begin("GetEdgeIndexReq");
10866        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
10867        ::fbthrift::Serialize::write(&self.space_id, p);
10868        p.write_field_end();
10869        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
10870        ::fbthrift::Serialize::write(&self.index_name, p);
10871        p.write_field_end();
10872        p.write_field_stop();
10873        p.write_struct_end();
10874    }
10875}
10876
10877impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeIndexReq
10878where
10879    P: ::fbthrift::ProtocolReader,
10880{
10881    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10882        static FIELDS: &[::fbthrift::Field] = &[
10883            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
10884            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
10885        ];
10886        let mut field_space_id = ::std::option::Option::None;
10887        let mut field_index_name = ::std::option::Option::None;
10888        let _ = p.read_struct_begin(|_| ())?;
10889        loop {
10890            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10891            match (fty, fid as ::std::primitive::i32) {
10892                (::fbthrift::TType::Stop, _) => break,
10893                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10894                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10895                (fty, _) => p.skip(fty)?,
10896            }
10897            p.read_field_end()?;
10898        }
10899        p.read_struct_end()?;
10900        ::std::result::Result::Ok(Self {
10901            space_id: field_space_id.unwrap_or_default(),
10902            index_name: field_index_name.unwrap_or_default(),
10903            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10904        })
10905    }
10906}
10907
10908
10909#[allow(clippy::derivable_impls)]
10910impl ::std::default::Default for self::GetEdgeIndexResp {
10911    fn default() -> Self {
10912        Self {
10913            code: ::std::default::Default::default(),
10914            leader: ::std::default::Default::default(),
10915            item: ::std::default::Default::default(),
10916            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10917        }
10918    }
10919}
10920
10921impl ::std::fmt::Debug for self::GetEdgeIndexResp {
10922    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
10923        formatter
10924            .debug_struct("GetEdgeIndexResp")
10925            .field("code", &self.code)
10926            .field("leader", &self.leader)
10927            .field("item", &self.item)
10928            .finish()
10929    }
10930}
10931
10932unsafe impl ::std::marker::Send for self::GetEdgeIndexResp {}
10933unsafe impl ::std::marker::Sync for self::GetEdgeIndexResp {}
10934
10935impl ::fbthrift::GetTType for self::GetEdgeIndexResp {
10936    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
10937}
10938
10939impl<P> ::fbthrift::Serialize<P> for self::GetEdgeIndexResp
10940where
10941    P: ::fbthrift::ProtocolWriter,
10942{
10943    fn write(&self, p: &mut P) {
10944        p.write_struct_begin("GetEdgeIndexResp");
10945        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
10946        ::fbthrift::Serialize::write(&self.code, p);
10947        p.write_field_end();
10948        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
10949        ::fbthrift::Serialize::write(&self.leader, p);
10950        p.write_field_end();
10951        p.write_field_begin("item", ::fbthrift::TType::Struct, 3);
10952        ::fbthrift::Serialize::write(&self.item, p);
10953        p.write_field_end();
10954        p.write_field_stop();
10955        p.write_struct_end();
10956    }
10957}
10958
10959impl<P> ::fbthrift::Deserialize<P> for self::GetEdgeIndexResp
10960where
10961    P: ::fbthrift::ProtocolReader,
10962{
10963    fn read(p: &mut P) -> ::anyhow::Result<Self> {
10964        static FIELDS: &[::fbthrift::Field] = &[
10965            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
10966            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 3),
10967            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
10968        ];
10969        let mut field_code = ::std::option::Option::None;
10970        let mut field_leader = ::std::option::Option::None;
10971        let mut field_item = ::std::option::Option::None;
10972        let _ = p.read_struct_begin(|_| ())?;
10973        loop {
10974            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
10975            match (fty, fid as ::std::primitive::i32) {
10976                (::fbthrift::TType::Stop, _) => break,
10977                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10978                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10979                (::fbthrift::TType::Struct, 3) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
10980                (fty, _) => p.skip(fty)?,
10981            }
10982            p.read_field_end()?;
10983        }
10984        p.read_struct_end()?;
10985        ::std::result::Result::Ok(Self {
10986            code: field_code.unwrap_or_default(),
10987            leader: field_leader.unwrap_or_default(),
10988            item: field_item.unwrap_or_default(),
10989            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
10990        })
10991    }
10992}
10993
10994
10995#[allow(clippy::derivable_impls)]
10996impl ::std::default::Default for self::ListEdgeIndexesReq {
10997    fn default() -> Self {
10998        Self {
10999            space_id: ::std::default::Default::default(),
11000            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11001        }
11002    }
11003}
11004
11005impl ::std::fmt::Debug for self::ListEdgeIndexesReq {
11006    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11007        formatter
11008            .debug_struct("ListEdgeIndexesReq")
11009            .field("space_id", &self.space_id)
11010            .finish()
11011    }
11012}
11013
11014unsafe impl ::std::marker::Send for self::ListEdgeIndexesReq {}
11015unsafe impl ::std::marker::Sync for self::ListEdgeIndexesReq {}
11016
11017impl ::fbthrift::GetTType for self::ListEdgeIndexesReq {
11018    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11019}
11020
11021impl<P> ::fbthrift::Serialize<P> for self::ListEdgeIndexesReq
11022where
11023    P: ::fbthrift::ProtocolWriter,
11024{
11025    fn write(&self, p: &mut P) {
11026        p.write_struct_begin("ListEdgeIndexesReq");
11027        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11028        ::fbthrift::Serialize::write(&self.space_id, p);
11029        p.write_field_end();
11030        p.write_field_stop();
11031        p.write_struct_end();
11032    }
11033}
11034
11035impl<P> ::fbthrift::Deserialize<P> for self::ListEdgeIndexesReq
11036where
11037    P: ::fbthrift::ProtocolReader,
11038{
11039    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11040        static FIELDS: &[::fbthrift::Field] = &[
11041            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11042        ];
11043        let mut field_space_id = ::std::option::Option::None;
11044        let _ = p.read_struct_begin(|_| ())?;
11045        loop {
11046            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11047            match (fty, fid as ::std::primitive::i32) {
11048                (::fbthrift::TType::Stop, _) => break,
11049                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11050                (fty, _) => p.skip(fty)?,
11051            }
11052            p.read_field_end()?;
11053        }
11054        p.read_struct_end()?;
11055        ::std::result::Result::Ok(Self {
11056            space_id: field_space_id.unwrap_or_default(),
11057            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11058        })
11059    }
11060}
11061
11062
11063#[allow(clippy::derivable_impls)]
11064impl ::std::default::Default for self::ListEdgeIndexesResp {
11065    fn default() -> Self {
11066        Self {
11067            code: ::std::default::Default::default(),
11068            leader: ::std::default::Default::default(),
11069            items: ::std::default::Default::default(),
11070            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11071        }
11072    }
11073}
11074
11075impl ::std::fmt::Debug for self::ListEdgeIndexesResp {
11076    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11077        formatter
11078            .debug_struct("ListEdgeIndexesResp")
11079            .field("code", &self.code)
11080            .field("leader", &self.leader)
11081            .field("items", &self.items)
11082            .finish()
11083    }
11084}
11085
11086unsafe impl ::std::marker::Send for self::ListEdgeIndexesResp {}
11087unsafe impl ::std::marker::Sync for self::ListEdgeIndexesResp {}
11088
11089impl ::fbthrift::GetTType for self::ListEdgeIndexesResp {
11090    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11091}
11092
11093impl<P> ::fbthrift::Serialize<P> for self::ListEdgeIndexesResp
11094where
11095    P: ::fbthrift::ProtocolWriter,
11096{
11097    fn write(&self, p: &mut P) {
11098        p.write_struct_begin("ListEdgeIndexesResp");
11099        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
11100        ::fbthrift::Serialize::write(&self.code, p);
11101        p.write_field_end();
11102        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
11103        ::fbthrift::Serialize::write(&self.leader, p);
11104        p.write_field_end();
11105        p.write_field_begin("items", ::fbthrift::TType::List, 3);
11106        ::fbthrift::Serialize::write(&self.items, p);
11107        p.write_field_end();
11108        p.write_field_stop();
11109        p.write_struct_end();
11110    }
11111}
11112
11113impl<P> ::fbthrift::Deserialize<P> for self::ListEdgeIndexesResp
11114where
11115    P: ::fbthrift::ProtocolReader,
11116{
11117    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11118        static FIELDS: &[::fbthrift::Field] = &[
11119            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
11120            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
11121            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
11122        ];
11123        let mut field_code = ::std::option::Option::None;
11124        let mut field_leader = ::std::option::Option::None;
11125        let mut field_items = ::std::option::Option::None;
11126        let _ = p.read_struct_begin(|_| ())?;
11127        loop {
11128            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11129            match (fty, fid as ::std::primitive::i32) {
11130                (::fbthrift::TType::Stop, _) => break,
11131                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11132                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11133                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11134                (fty, _) => p.skip(fty)?,
11135            }
11136            p.read_field_end()?;
11137        }
11138        p.read_struct_end()?;
11139        ::std::result::Result::Ok(Self {
11140            code: field_code.unwrap_or_default(),
11141            leader: field_leader.unwrap_or_default(),
11142            items: field_items.unwrap_or_default(),
11143            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11144        })
11145    }
11146}
11147
11148
11149#[allow(clippy::derivable_impls)]
11150impl ::std::default::Default for self::RebuildIndexReq {
11151    fn default() -> Self {
11152        Self {
11153            space_id: ::std::default::Default::default(),
11154            index_name: ::std::default::Default::default(),
11155            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11156        }
11157    }
11158}
11159
11160impl ::std::fmt::Debug for self::RebuildIndexReq {
11161    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11162        formatter
11163            .debug_struct("RebuildIndexReq")
11164            .field("space_id", &self.space_id)
11165            .field("index_name", &self.index_name)
11166            .finish()
11167    }
11168}
11169
11170unsafe impl ::std::marker::Send for self::RebuildIndexReq {}
11171unsafe impl ::std::marker::Sync for self::RebuildIndexReq {}
11172
11173impl ::fbthrift::GetTType for self::RebuildIndexReq {
11174    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11175}
11176
11177impl<P> ::fbthrift::Serialize<P> for self::RebuildIndexReq
11178where
11179    P: ::fbthrift::ProtocolWriter,
11180{
11181    fn write(&self, p: &mut P) {
11182        p.write_struct_begin("RebuildIndexReq");
11183        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11184        ::fbthrift::Serialize::write(&self.space_id, p);
11185        p.write_field_end();
11186        p.write_field_begin("index_name", ::fbthrift::TType::String, 2);
11187        ::fbthrift::Serialize::write(&self.index_name, p);
11188        p.write_field_end();
11189        p.write_field_stop();
11190        p.write_struct_end();
11191    }
11192}
11193
11194impl<P> ::fbthrift::Deserialize<P> for self::RebuildIndexReq
11195where
11196    P: ::fbthrift::ProtocolReader,
11197{
11198    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11199        static FIELDS: &[::fbthrift::Field] = &[
11200            ::fbthrift::Field::new("index_name", ::fbthrift::TType::String, 2),
11201            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11202        ];
11203        let mut field_space_id = ::std::option::Option::None;
11204        let mut field_index_name = ::std::option::Option::None;
11205        let _ = p.read_struct_begin(|_| ())?;
11206        loop {
11207            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11208            match (fty, fid as ::std::primitive::i32) {
11209                (::fbthrift::TType::Stop, _) => break,
11210                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11211                (::fbthrift::TType::String, 2) => field_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11212                (fty, _) => p.skip(fty)?,
11213            }
11214            p.read_field_end()?;
11215        }
11216        p.read_struct_end()?;
11217        ::std::result::Result::Ok(Self {
11218            space_id: field_space_id.unwrap_or_default(),
11219            index_name: field_index_name.unwrap_or_default(),
11220            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11221        })
11222    }
11223}
11224
11225
11226#[allow(clippy::derivable_impls)]
11227impl ::std::default::Default for self::CreateUserReq {
11228    fn default() -> Self {
11229        Self {
11230            account: ::std::default::Default::default(),
11231            encoded_pwd: ::std::default::Default::default(),
11232            if_not_exists: ::std::default::Default::default(),
11233            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11234        }
11235    }
11236}
11237
11238impl ::std::fmt::Debug for self::CreateUserReq {
11239    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11240        formatter
11241            .debug_struct("CreateUserReq")
11242            .field("account", &self.account)
11243            .field("encoded_pwd", &self.encoded_pwd)
11244            .field("if_not_exists", &self.if_not_exists)
11245            .finish()
11246    }
11247}
11248
11249unsafe impl ::std::marker::Send for self::CreateUserReq {}
11250unsafe impl ::std::marker::Sync for self::CreateUserReq {}
11251
11252impl ::fbthrift::GetTType for self::CreateUserReq {
11253    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11254}
11255
11256impl<P> ::fbthrift::Serialize<P> for self::CreateUserReq
11257where
11258    P: ::fbthrift::ProtocolWriter,
11259{
11260    fn write(&self, p: &mut P) {
11261        p.write_struct_begin("CreateUserReq");
11262        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11263        ::fbthrift::Serialize::write(&self.account, p);
11264        p.write_field_end();
11265        p.write_field_begin("encoded_pwd", ::fbthrift::TType::String, 2);
11266        ::fbthrift::Serialize::write(&self.encoded_pwd, p);
11267        p.write_field_end();
11268        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 3);
11269        ::fbthrift::Serialize::write(&self.if_not_exists, p);
11270        p.write_field_end();
11271        p.write_field_stop();
11272        p.write_struct_end();
11273    }
11274}
11275
11276impl<P> ::fbthrift::Deserialize<P> for self::CreateUserReq
11277where
11278    P: ::fbthrift::ProtocolReader,
11279{
11280    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11281        static FIELDS: &[::fbthrift::Field] = &[
11282            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11283            ::fbthrift::Field::new("encoded_pwd", ::fbthrift::TType::String, 2),
11284            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 3),
11285        ];
11286        let mut field_account = ::std::option::Option::None;
11287        let mut field_encoded_pwd = ::std::option::Option::None;
11288        let mut field_if_not_exists = ::std::option::Option::None;
11289        let _ = p.read_struct_begin(|_| ())?;
11290        loop {
11291            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11292            match (fty, fid as ::std::primitive::i32) {
11293                (::fbthrift::TType::Stop, _) => break,
11294                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11295                (::fbthrift::TType::String, 2) => field_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11296                (::fbthrift::TType::Bool, 3) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11297                (fty, _) => p.skip(fty)?,
11298            }
11299            p.read_field_end()?;
11300        }
11301        p.read_struct_end()?;
11302        ::std::result::Result::Ok(Self {
11303            account: field_account.unwrap_or_default(),
11304            encoded_pwd: field_encoded_pwd.unwrap_or_default(),
11305            if_not_exists: field_if_not_exists.unwrap_or_default(),
11306            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11307        })
11308    }
11309}
11310
11311
11312#[allow(clippy::derivable_impls)]
11313impl ::std::default::Default for self::DropUserReq {
11314    fn default() -> Self {
11315        Self {
11316            account: ::std::default::Default::default(),
11317            if_exists: ::std::default::Default::default(),
11318            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11319        }
11320    }
11321}
11322
11323impl ::std::fmt::Debug for self::DropUserReq {
11324    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11325        formatter
11326            .debug_struct("DropUserReq")
11327            .field("account", &self.account)
11328            .field("if_exists", &self.if_exists)
11329            .finish()
11330    }
11331}
11332
11333unsafe impl ::std::marker::Send for self::DropUserReq {}
11334unsafe impl ::std::marker::Sync for self::DropUserReq {}
11335
11336impl ::fbthrift::GetTType for self::DropUserReq {
11337    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11338}
11339
11340impl<P> ::fbthrift::Serialize<P> for self::DropUserReq
11341where
11342    P: ::fbthrift::ProtocolWriter,
11343{
11344    fn write(&self, p: &mut P) {
11345        p.write_struct_begin("DropUserReq");
11346        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11347        ::fbthrift::Serialize::write(&self.account, p);
11348        p.write_field_end();
11349        p.write_field_begin("if_exists", ::fbthrift::TType::Bool, 2);
11350        ::fbthrift::Serialize::write(&self.if_exists, p);
11351        p.write_field_end();
11352        p.write_field_stop();
11353        p.write_struct_end();
11354    }
11355}
11356
11357impl<P> ::fbthrift::Deserialize<P> for self::DropUserReq
11358where
11359    P: ::fbthrift::ProtocolReader,
11360{
11361    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11362        static FIELDS: &[::fbthrift::Field] = &[
11363            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11364            ::fbthrift::Field::new("if_exists", ::fbthrift::TType::Bool, 2),
11365        ];
11366        let mut field_account = ::std::option::Option::None;
11367        let mut field_if_exists = ::std::option::Option::None;
11368        let _ = p.read_struct_begin(|_| ())?;
11369        loop {
11370            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11371            match (fty, fid as ::std::primitive::i32) {
11372                (::fbthrift::TType::Stop, _) => break,
11373                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11374                (::fbthrift::TType::Bool, 2) => field_if_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11375                (fty, _) => p.skip(fty)?,
11376            }
11377            p.read_field_end()?;
11378        }
11379        p.read_struct_end()?;
11380        ::std::result::Result::Ok(Self {
11381            account: field_account.unwrap_or_default(),
11382            if_exists: field_if_exists.unwrap_or_default(),
11383            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11384        })
11385    }
11386}
11387
11388
11389#[allow(clippy::derivable_impls)]
11390impl ::std::default::Default for self::AlterUserReq {
11391    fn default() -> Self {
11392        Self {
11393            account: ::std::default::Default::default(),
11394            encoded_pwd: ::std::default::Default::default(),
11395            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11396        }
11397    }
11398}
11399
11400impl ::std::fmt::Debug for self::AlterUserReq {
11401    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11402        formatter
11403            .debug_struct("AlterUserReq")
11404            .field("account", &self.account)
11405            .field("encoded_pwd", &self.encoded_pwd)
11406            .finish()
11407    }
11408}
11409
11410unsafe impl ::std::marker::Send for self::AlterUserReq {}
11411unsafe impl ::std::marker::Sync for self::AlterUserReq {}
11412
11413impl ::fbthrift::GetTType for self::AlterUserReq {
11414    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11415}
11416
11417impl<P> ::fbthrift::Serialize<P> for self::AlterUserReq
11418where
11419    P: ::fbthrift::ProtocolWriter,
11420{
11421    fn write(&self, p: &mut P) {
11422        p.write_struct_begin("AlterUserReq");
11423        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11424        ::fbthrift::Serialize::write(&self.account, p);
11425        p.write_field_end();
11426        p.write_field_begin("encoded_pwd", ::fbthrift::TType::String, 2);
11427        ::fbthrift::Serialize::write(&self.encoded_pwd, p);
11428        p.write_field_end();
11429        p.write_field_stop();
11430        p.write_struct_end();
11431    }
11432}
11433
11434impl<P> ::fbthrift::Deserialize<P> for self::AlterUserReq
11435where
11436    P: ::fbthrift::ProtocolReader,
11437{
11438    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11439        static FIELDS: &[::fbthrift::Field] = &[
11440            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11441            ::fbthrift::Field::new("encoded_pwd", ::fbthrift::TType::String, 2),
11442        ];
11443        let mut field_account = ::std::option::Option::None;
11444        let mut field_encoded_pwd = ::std::option::Option::None;
11445        let _ = p.read_struct_begin(|_| ())?;
11446        loop {
11447            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11448            match (fty, fid as ::std::primitive::i32) {
11449                (::fbthrift::TType::Stop, _) => break,
11450                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11451                (::fbthrift::TType::String, 2) => field_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11452                (fty, _) => p.skip(fty)?,
11453            }
11454            p.read_field_end()?;
11455        }
11456        p.read_struct_end()?;
11457        ::std::result::Result::Ok(Self {
11458            account: field_account.unwrap_or_default(),
11459            encoded_pwd: field_encoded_pwd.unwrap_or_default(),
11460            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11461        })
11462    }
11463}
11464
11465
11466#[allow(clippy::derivable_impls)]
11467impl ::std::default::Default for self::GrantRoleReq {
11468    fn default() -> Self {
11469        Self {
11470            role_item: ::std::default::Default::default(),
11471            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11472        }
11473    }
11474}
11475
11476impl ::std::fmt::Debug for self::GrantRoleReq {
11477    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11478        formatter
11479            .debug_struct("GrantRoleReq")
11480            .field("role_item", &self.role_item)
11481            .finish()
11482    }
11483}
11484
11485unsafe impl ::std::marker::Send for self::GrantRoleReq {}
11486unsafe impl ::std::marker::Sync for self::GrantRoleReq {}
11487
11488impl ::fbthrift::GetTType for self::GrantRoleReq {
11489    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11490}
11491
11492impl<P> ::fbthrift::Serialize<P> for self::GrantRoleReq
11493where
11494    P: ::fbthrift::ProtocolWriter,
11495{
11496    fn write(&self, p: &mut P) {
11497        p.write_struct_begin("GrantRoleReq");
11498        p.write_field_begin("role_item", ::fbthrift::TType::Struct, 1);
11499        ::fbthrift::Serialize::write(&self.role_item, p);
11500        p.write_field_end();
11501        p.write_field_stop();
11502        p.write_struct_end();
11503    }
11504}
11505
11506impl<P> ::fbthrift::Deserialize<P> for self::GrantRoleReq
11507where
11508    P: ::fbthrift::ProtocolReader,
11509{
11510    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11511        static FIELDS: &[::fbthrift::Field] = &[
11512            ::fbthrift::Field::new("role_item", ::fbthrift::TType::Struct, 1),
11513        ];
11514        let mut field_role_item = ::std::option::Option::None;
11515        let _ = p.read_struct_begin(|_| ())?;
11516        loop {
11517            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11518            match (fty, fid as ::std::primitive::i32) {
11519                (::fbthrift::TType::Stop, _) => break,
11520                (::fbthrift::TType::Struct, 1) => field_role_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11521                (fty, _) => p.skip(fty)?,
11522            }
11523            p.read_field_end()?;
11524        }
11525        p.read_struct_end()?;
11526        ::std::result::Result::Ok(Self {
11527            role_item: field_role_item.unwrap_or_default(),
11528            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11529        })
11530    }
11531}
11532
11533
11534#[allow(clippy::derivable_impls)]
11535impl ::std::default::Default for self::RevokeRoleReq {
11536    fn default() -> Self {
11537        Self {
11538            role_item: ::std::default::Default::default(),
11539            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11540        }
11541    }
11542}
11543
11544impl ::std::fmt::Debug for self::RevokeRoleReq {
11545    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11546        formatter
11547            .debug_struct("RevokeRoleReq")
11548            .field("role_item", &self.role_item)
11549            .finish()
11550    }
11551}
11552
11553unsafe impl ::std::marker::Send for self::RevokeRoleReq {}
11554unsafe impl ::std::marker::Sync for self::RevokeRoleReq {}
11555
11556impl ::fbthrift::GetTType for self::RevokeRoleReq {
11557    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11558}
11559
11560impl<P> ::fbthrift::Serialize<P> for self::RevokeRoleReq
11561where
11562    P: ::fbthrift::ProtocolWriter,
11563{
11564    fn write(&self, p: &mut P) {
11565        p.write_struct_begin("RevokeRoleReq");
11566        p.write_field_begin("role_item", ::fbthrift::TType::Struct, 1);
11567        ::fbthrift::Serialize::write(&self.role_item, p);
11568        p.write_field_end();
11569        p.write_field_stop();
11570        p.write_struct_end();
11571    }
11572}
11573
11574impl<P> ::fbthrift::Deserialize<P> for self::RevokeRoleReq
11575where
11576    P: ::fbthrift::ProtocolReader,
11577{
11578    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11579        static FIELDS: &[::fbthrift::Field] = &[
11580            ::fbthrift::Field::new("role_item", ::fbthrift::TType::Struct, 1),
11581        ];
11582        let mut field_role_item = ::std::option::Option::None;
11583        let _ = p.read_struct_begin(|_| ())?;
11584        loop {
11585            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11586            match (fty, fid as ::std::primitive::i32) {
11587                (::fbthrift::TType::Stop, _) => break,
11588                (::fbthrift::TType::Struct, 1) => field_role_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11589                (fty, _) => p.skip(fty)?,
11590            }
11591            p.read_field_end()?;
11592        }
11593        p.read_struct_end()?;
11594        ::std::result::Result::Ok(Self {
11595            role_item: field_role_item.unwrap_or_default(),
11596            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11597        })
11598    }
11599}
11600
11601
11602#[allow(clippy::derivable_impls)]
11603impl ::std::default::Default for self::ListUsersReq {
11604    fn default() -> Self {
11605        Self {
11606            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11607        }
11608    }
11609}
11610
11611impl ::std::fmt::Debug for self::ListUsersReq {
11612    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11613        formatter
11614            .debug_struct("ListUsersReq")
11615            .finish()
11616    }
11617}
11618
11619unsafe impl ::std::marker::Send for self::ListUsersReq {}
11620unsafe impl ::std::marker::Sync for self::ListUsersReq {}
11621
11622impl ::fbthrift::GetTType for self::ListUsersReq {
11623    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11624}
11625
11626impl<P> ::fbthrift::Serialize<P> for self::ListUsersReq
11627where
11628    P: ::fbthrift::ProtocolWriter,
11629{
11630    fn write(&self, p: &mut P) {
11631        p.write_struct_begin("ListUsersReq");
11632        p.write_field_stop();
11633        p.write_struct_end();
11634    }
11635}
11636
11637impl<P> ::fbthrift::Deserialize<P> for self::ListUsersReq
11638where
11639    P: ::fbthrift::ProtocolReader,
11640{
11641    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11642        static FIELDS: &[::fbthrift::Field] = &[
11643        ];
11644        let _ = p.read_struct_begin(|_| ())?;
11645        loop {
11646            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11647            match (fty, fid as ::std::primitive::i32) {
11648                (::fbthrift::TType::Stop, _) => break,
11649                (fty, _) => p.skip(fty)?,
11650            }
11651            p.read_field_end()?;
11652        }
11653        p.read_struct_end()?;
11654        ::std::result::Result::Ok(Self {
11655            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11656        })
11657    }
11658}
11659
11660
11661#[allow(clippy::derivable_impls)]
11662impl ::std::default::Default for self::ListUsersResp {
11663    fn default() -> Self {
11664        Self {
11665            code: ::std::default::Default::default(),
11666            leader: ::std::default::Default::default(),
11667            users: ::std::default::Default::default(),
11668            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11669        }
11670    }
11671}
11672
11673impl ::std::fmt::Debug for self::ListUsersResp {
11674    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11675        formatter
11676            .debug_struct("ListUsersResp")
11677            .field("code", &self.code)
11678            .field("leader", &self.leader)
11679            .field("users", &self.users)
11680            .finish()
11681    }
11682}
11683
11684unsafe impl ::std::marker::Send for self::ListUsersResp {}
11685unsafe impl ::std::marker::Sync for self::ListUsersResp {}
11686
11687impl ::fbthrift::GetTType for self::ListUsersResp {
11688    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11689}
11690
11691impl<P> ::fbthrift::Serialize<P> for self::ListUsersResp
11692where
11693    P: ::fbthrift::ProtocolWriter,
11694{
11695    fn write(&self, p: &mut P) {
11696        p.write_struct_begin("ListUsersResp");
11697        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
11698        ::fbthrift::Serialize::write(&self.code, p);
11699        p.write_field_end();
11700        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
11701        ::fbthrift::Serialize::write(&self.leader, p);
11702        p.write_field_end();
11703        p.write_field_begin("users", ::fbthrift::TType::Map, 3);
11704        ::fbthrift::Serialize::write(&self.users, p);
11705        p.write_field_end();
11706        p.write_field_stop();
11707        p.write_struct_end();
11708    }
11709}
11710
11711impl<P> ::fbthrift::Deserialize<P> for self::ListUsersResp
11712where
11713    P: ::fbthrift::ProtocolReader,
11714{
11715    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11716        static FIELDS: &[::fbthrift::Field] = &[
11717            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
11718            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
11719            ::fbthrift::Field::new("users", ::fbthrift::TType::Map, 3),
11720        ];
11721        let mut field_code = ::std::option::Option::None;
11722        let mut field_leader = ::std::option::Option::None;
11723        let mut field_users = ::std::option::Option::None;
11724        let _ = p.read_struct_begin(|_| ())?;
11725        loop {
11726            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11727            match (fty, fid as ::std::primitive::i32) {
11728                (::fbthrift::TType::Stop, _) => break,
11729                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11730                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11731                (::fbthrift::TType::Map, 3) => field_users = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11732                (fty, _) => p.skip(fty)?,
11733            }
11734            p.read_field_end()?;
11735        }
11736        p.read_struct_end()?;
11737        ::std::result::Result::Ok(Self {
11738            code: field_code.unwrap_or_default(),
11739            leader: field_leader.unwrap_or_default(),
11740            users: field_users.unwrap_or_default(),
11741            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11742        })
11743    }
11744}
11745
11746
11747#[allow(clippy::derivable_impls)]
11748impl ::std::default::Default for self::ListRolesReq {
11749    fn default() -> Self {
11750        Self {
11751            space_id: ::std::default::Default::default(),
11752            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11753        }
11754    }
11755}
11756
11757impl ::std::fmt::Debug for self::ListRolesReq {
11758    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11759        formatter
11760            .debug_struct("ListRolesReq")
11761            .field("space_id", &self.space_id)
11762            .finish()
11763    }
11764}
11765
11766unsafe impl ::std::marker::Send for self::ListRolesReq {}
11767unsafe impl ::std::marker::Sync for self::ListRolesReq {}
11768
11769impl ::fbthrift::GetTType for self::ListRolesReq {
11770    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11771}
11772
11773impl<P> ::fbthrift::Serialize<P> for self::ListRolesReq
11774where
11775    P: ::fbthrift::ProtocolWriter,
11776{
11777    fn write(&self, p: &mut P) {
11778        p.write_struct_begin("ListRolesReq");
11779        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
11780        ::fbthrift::Serialize::write(&self.space_id, p);
11781        p.write_field_end();
11782        p.write_field_stop();
11783        p.write_struct_end();
11784    }
11785}
11786
11787impl<P> ::fbthrift::Deserialize<P> for self::ListRolesReq
11788where
11789    P: ::fbthrift::ProtocolReader,
11790{
11791    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11792        static FIELDS: &[::fbthrift::Field] = &[
11793            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
11794        ];
11795        let mut field_space_id = ::std::option::Option::None;
11796        let _ = p.read_struct_begin(|_| ())?;
11797        loop {
11798            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11799            match (fty, fid as ::std::primitive::i32) {
11800                (::fbthrift::TType::Stop, _) => break,
11801                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11802                (fty, _) => p.skip(fty)?,
11803            }
11804            p.read_field_end()?;
11805        }
11806        p.read_struct_end()?;
11807        ::std::result::Result::Ok(Self {
11808            space_id: field_space_id.unwrap_or_default(),
11809            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11810        })
11811    }
11812}
11813
11814
11815#[allow(clippy::derivable_impls)]
11816impl ::std::default::Default for self::ListRolesResp {
11817    fn default() -> Self {
11818        Self {
11819            code: ::std::default::Default::default(),
11820            leader: ::std::default::Default::default(),
11821            roles: ::std::default::Default::default(),
11822            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11823        }
11824    }
11825}
11826
11827impl ::std::fmt::Debug for self::ListRolesResp {
11828    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11829        formatter
11830            .debug_struct("ListRolesResp")
11831            .field("code", &self.code)
11832            .field("leader", &self.leader)
11833            .field("roles", &self.roles)
11834            .finish()
11835    }
11836}
11837
11838unsafe impl ::std::marker::Send for self::ListRolesResp {}
11839unsafe impl ::std::marker::Sync for self::ListRolesResp {}
11840
11841impl ::fbthrift::GetTType for self::ListRolesResp {
11842    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11843}
11844
11845impl<P> ::fbthrift::Serialize<P> for self::ListRolesResp
11846where
11847    P: ::fbthrift::ProtocolWriter,
11848{
11849    fn write(&self, p: &mut P) {
11850        p.write_struct_begin("ListRolesResp");
11851        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
11852        ::fbthrift::Serialize::write(&self.code, p);
11853        p.write_field_end();
11854        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
11855        ::fbthrift::Serialize::write(&self.leader, p);
11856        p.write_field_end();
11857        p.write_field_begin("roles", ::fbthrift::TType::List, 3);
11858        ::fbthrift::Serialize::write(&self.roles, p);
11859        p.write_field_end();
11860        p.write_field_stop();
11861        p.write_struct_end();
11862    }
11863}
11864
11865impl<P> ::fbthrift::Deserialize<P> for self::ListRolesResp
11866where
11867    P: ::fbthrift::ProtocolReader,
11868{
11869    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11870        static FIELDS: &[::fbthrift::Field] = &[
11871            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
11872            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
11873            ::fbthrift::Field::new("roles", ::fbthrift::TType::List, 3),
11874        ];
11875        let mut field_code = ::std::option::Option::None;
11876        let mut field_leader = ::std::option::Option::None;
11877        let mut field_roles = ::std::option::Option::None;
11878        let _ = p.read_struct_begin(|_| ())?;
11879        loop {
11880            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11881            match (fty, fid as ::std::primitive::i32) {
11882                (::fbthrift::TType::Stop, _) => break,
11883                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11884                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11885                (::fbthrift::TType::List, 3) => field_roles = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11886                (fty, _) => p.skip(fty)?,
11887            }
11888            p.read_field_end()?;
11889        }
11890        p.read_struct_end()?;
11891        ::std::result::Result::Ok(Self {
11892            code: field_code.unwrap_or_default(),
11893            leader: field_leader.unwrap_or_default(),
11894            roles: field_roles.unwrap_or_default(),
11895            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11896        })
11897    }
11898}
11899
11900
11901#[allow(clippy::derivable_impls)]
11902impl ::std::default::Default for self::GetUserRolesReq {
11903    fn default() -> Self {
11904        Self {
11905            account: ::std::default::Default::default(),
11906            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11907        }
11908    }
11909}
11910
11911impl ::std::fmt::Debug for self::GetUserRolesReq {
11912    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11913        formatter
11914            .debug_struct("GetUserRolesReq")
11915            .field("account", &self.account)
11916            .finish()
11917    }
11918}
11919
11920unsafe impl ::std::marker::Send for self::GetUserRolesReq {}
11921unsafe impl ::std::marker::Sync for self::GetUserRolesReq {}
11922
11923impl ::fbthrift::GetTType for self::GetUserRolesReq {
11924    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11925}
11926
11927impl<P> ::fbthrift::Serialize<P> for self::GetUserRolesReq
11928where
11929    P: ::fbthrift::ProtocolWriter,
11930{
11931    fn write(&self, p: &mut P) {
11932        p.write_struct_begin("GetUserRolesReq");
11933        p.write_field_begin("account", ::fbthrift::TType::String, 1);
11934        ::fbthrift::Serialize::write(&self.account, p);
11935        p.write_field_end();
11936        p.write_field_stop();
11937        p.write_struct_end();
11938    }
11939}
11940
11941impl<P> ::fbthrift::Deserialize<P> for self::GetUserRolesReq
11942where
11943    P: ::fbthrift::ProtocolReader,
11944{
11945    fn read(p: &mut P) -> ::anyhow::Result<Self> {
11946        static FIELDS: &[::fbthrift::Field] = &[
11947            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
11948        ];
11949        let mut field_account = ::std::option::Option::None;
11950        let _ = p.read_struct_begin(|_| ())?;
11951        loop {
11952            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
11953            match (fty, fid as ::std::primitive::i32) {
11954                (::fbthrift::TType::Stop, _) => break,
11955                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
11956                (fty, _) => p.skip(fty)?,
11957            }
11958            p.read_field_end()?;
11959        }
11960        p.read_struct_end()?;
11961        ::std::result::Result::Ok(Self {
11962            account: field_account.unwrap_or_default(),
11963            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11964        })
11965    }
11966}
11967
11968
11969#[allow(clippy::derivable_impls)]
11970impl ::std::default::Default for self::ChangePasswordReq {
11971    fn default() -> Self {
11972        Self {
11973            account: ::std::default::Default::default(),
11974            new_encoded_pwd: ::std::default::Default::default(),
11975            old_encoded_pwd: ::std::default::Default::default(),
11976            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
11977        }
11978    }
11979}
11980
11981impl ::std::fmt::Debug for self::ChangePasswordReq {
11982    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
11983        formatter
11984            .debug_struct("ChangePasswordReq")
11985            .field("account", &self.account)
11986            .field("new_encoded_pwd", &self.new_encoded_pwd)
11987            .field("old_encoded_pwd", &self.old_encoded_pwd)
11988            .finish()
11989    }
11990}
11991
11992unsafe impl ::std::marker::Send for self::ChangePasswordReq {}
11993unsafe impl ::std::marker::Sync for self::ChangePasswordReq {}
11994
11995impl ::fbthrift::GetTType for self::ChangePasswordReq {
11996    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
11997}
11998
11999impl<P> ::fbthrift::Serialize<P> for self::ChangePasswordReq
12000where
12001    P: ::fbthrift::ProtocolWriter,
12002{
12003    fn write(&self, p: &mut P) {
12004        p.write_struct_begin("ChangePasswordReq");
12005        p.write_field_begin("account", ::fbthrift::TType::String, 1);
12006        ::fbthrift::Serialize::write(&self.account, p);
12007        p.write_field_end();
12008        p.write_field_begin("new_encoded_pwd", ::fbthrift::TType::String, 2);
12009        ::fbthrift::Serialize::write(&self.new_encoded_pwd, p);
12010        p.write_field_end();
12011        p.write_field_begin("old_encoded_pwd", ::fbthrift::TType::String, 3);
12012        ::fbthrift::Serialize::write(&self.old_encoded_pwd, p);
12013        p.write_field_end();
12014        p.write_field_stop();
12015        p.write_struct_end();
12016    }
12017}
12018
12019impl<P> ::fbthrift::Deserialize<P> for self::ChangePasswordReq
12020where
12021    P: ::fbthrift::ProtocolReader,
12022{
12023    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12024        static FIELDS: &[::fbthrift::Field] = &[
12025            ::fbthrift::Field::new("account", ::fbthrift::TType::String, 1),
12026            ::fbthrift::Field::new("new_encoded_pwd", ::fbthrift::TType::String, 2),
12027            ::fbthrift::Field::new("old_encoded_pwd", ::fbthrift::TType::String, 3),
12028        ];
12029        let mut field_account = ::std::option::Option::None;
12030        let mut field_new_encoded_pwd = ::std::option::Option::None;
12031        let mut field_old_encoded_pwd = ::std::option::Option::None;
12032        let _ = p.read_struct_begin(|_| ())?;
12033        loop {
12034            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12035            match (fty, fid as ::std::primitive::i32) {
12036                (::fbthrift::TType::Stop, _) => break,
12037                (::fbthrift::TType::String, 1) => field_account = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12038                (::fbthrift::TType::String, 2) => field_new_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12039                (::fbthrift::TType::String, 3) => field_old_encoded_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12040                (fty, _) => p.skip(fty)?,
12041            }
12042            p.read_field_end()?;
12043        }
12044        p.read_struct_end()?;
12045        ::std::result::Result::Ok(Self {
12046            account: field_account.unwrap_or_default(),
12047            new_encoded_pwd: field_new_encoded_pwd.unwrap_or_default(),
12048            old_encoded_pwd: field_old_encoded_pwd.unwrap_or_default(),
12049            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12050        })
12051    }
12052}
12053
12054
12055#[allow(clippy::derivable_impls)]
12056impl ::std::default::Default for self::BalanceReq {
12057    fn default() -> Self {
12058        Self {
12059            space_id: ::std::option::Option::None,
12060            id: ::std::option::Option::None,
12061            host_del: ::std::option::Option::None,
12062            stop: ::std::option::Option::None,
12063            reset: ::std::option::Option::None,
12064            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12065        }
12066    }
12067}
12068
12069impl ::std::fmt::Debug for self::BalanceReq {
12070    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12071        formatter
12072            .debug_struct("BalanceReq")
12073            .field("space_id", &self.space_id)
12074            .field("id", &self.id)
12075            .field("host_del", &self.host_del)
12076            .field("stop", &self.stop)
12077            .field("reset", &self.reset)
12078            .finish()
12079    }
12080}
12081
12082unsafe impl ::std::marker::Send for self::BalanceReq {}
12083unsafe impl ::std::marker::Sync for self::BalanceReq {}
12084
12085impl ::fbthrift::GetTType for self::BalanceReq {
12086    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12087}
12088
12089impl<P> ::fbthrift::Serialize<P> for self::BalanceReq
12090where
12091    P: ::fbthrift::ProtocolWriter,
12092{
12093    fn write(&self, p: &mut P) {
12094        p.write_struct_begin("BalanceReq");
12095        if let ::std::option::Option::Some(some) = &self.space_id {
12096            p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
12097            ::fbthrift::Serialize::write(some, p);
12098            p.write_field_end();
12099        }
12100        if let ::std::option::Option::Some(some) = &self.id {
12101            p.write_field_begin("id", ::fbthrift::TType::I64, 2);
12102            ::fbthrift::Serialize::write(some, p);
12103            p.write_field_end();
12104        }
12105        if let ::std::option::Option::Some(some) = &self.host_del {
12106            p.write_field_begin("host_del", ::fbthrift::TType::List, 3);
12107            ::fbthrift::Serialize::write(some, p);
12108            p.write_field_end();
12109        }
12110        if let ::std::option::Option::Some(some) = &self.stop {
12111            p.write_field_begin("stop", ::fbthrift::TType::Bool, 4);
12112            ::fbthrift::Serialize::write(some, p);
12113            p.write_field_end();
12114        }
12115        if let ::std::option::Option::Some(some) = &self.reset {
12116            p.write_field_begin("reset", ::fbthrift::TType::Bool, 5);
12117            ::fbthrift::Serialize::write(some, p);
12118            p.write_field_end();
12119        }
12120        p.write_field_stop();
12121        p.write_struct_end();
12122    }
12123}
12124
12125impl<P> ::fbthrift::Deserialize<P> for self::BalanceReq
12126where
12127    P: ::fbthrift::ProtocolReader,
12128{
12129    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12130        static FIELDS: &[::fbthrift::Field] = &[
12131            ::fbthrift::Field::new("host_del", ::fbthrift::TType::List, 3),
12132            ::fbthrift::Field::new("id", ::fbthrift::TType::I64, 2),
12133            ::fbthrift::Field::new("reset", ::fbthrift::TType::Bool, 5),
12134            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
12135            ::fbthrift::Field::new("stop", ::fbthrift::TType::Bool, 4),
12136        ];
12137        let mut field_space_id = ::std::option::Option::None;
12138        let mut field_id = ::std::option::Option::None;
12139        let mut field_host_del = ::std::option::Option::None;
12140        let mut field_stop = ::std::option::Option::None;
12141        let mut field_reset = ::std::option::Option::None;
12142        let _ = p.read_struct_begin(|_| ())?;
12143        loop {
12144            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12145            match (fty, fid as ::std::primitive::i32) {
12146                (::fbthrift::TType::Stop, _) => break,
12147                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12148                (::fbthrift::TType::I64, 2) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12149                (::fbthrift::TType::List, 3) => field_host_del = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12150                (::fbthrift::TType::Bool, 4) => field_stop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12151                (::fbthrift::TType::Bool, 5) => field_reset = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12152                (fty, _) => p.skip(fty)?,
12153            }
12154            p.read_field_end()?;
12155        }
12156        p.read_struct_end()?;
12157        ::std::result::Result::Ok(Self {
12158            space_id: field_space_id,
12159            id: field_id,
12160            host_del: field_host_del,
12161            stop: field_stop,
12162            reset: field_reset,
12163            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12164        })
12165    }
12166}
12167
12168
12169#[allow(clippy::derivable_impls)]
12170impl ::std::default::Default for self::BalanceTask {
12171    fn default() -> Self {
12172        Self {
12173            id: ::std::default::Default::default(),
12174            result: ::std::default::Default::default(),
12175            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12176        }
12177    }
12178}
12179
12180impl ::std::fmt::Debug for self::BalanceTask {
12181    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12182        formatter
12183            .debug_struct("BalanceTask")
12184            .field("id", &self.id)
12185            .field("result", &self.result)
12186            .finish()
12187    }
12188}
12189
12190unsafe impl ::std::marker::Send for self::BalanceTask {}
12191unsafe impl ::std::marker::Sync for self::BalanceTask {}
12192
12193impl ::fbthrift::GetTType for self::BalanceTask {
12194    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12195}
12196
12197impl<P> ::fbthrift::Serialize<P> for self::BalanceTask
12198where
12199    P: ::fbthrift::ProtocolWriter,
12200{
12201    fn write(&self, p: &mut P) {
12202        p.write_struct_begin("BalanceTask");
12203        p.write_field_begin("id", ::fbthrift::TType::String, 1);
12204        ::fbthrift::Serialize::write(&self.id, p);
12205        p.write_field_end();
12206        p.write_field_begin("result", ::fbthrift::TType::I32, 2);
12207        ::fbthrift::Serialize::write(&self.result, p);
12208        p.write_field_end();
12209        p.write_field_stop();
12210        p.write_struct_end();
12211    }
12212}
12213
12214impl<P> ::fbthrift::Deserialize<P> for self::BalanceTask
12215where
12216    P: ::fbthrift::ProtocolReader,
12217{
12218    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12219        static FIELDS: &[::fbthrift::Field] = &[
12220            ::fbthrift::Field::new("id", ::fbthrift::TType::String, 1),
12221            ::fbthrift::Field::new("result", ::fbthrift::TType::I32, 2),
12222        ];
12223        let mut field_id = ::std::option::Option::None;
12224        let mut field_result = ::std::option::Option::None;
12225        let _ = p.read_struct_begin(|_| ())?;
12226        loop {
12227            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12228            match (fty, fid as ::std::primitive::i32) {
12229                (::fbthrift::TType::Stop, _) => break,
12230                (::fbthrift::TType::String, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12231                (::fbthrift::TType::I32, 2) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12232                (fty, _) => p.skip(fty)?,
12233            }
12234            p.read_field_end()?;
12235        }
12236        p.read_struct_end()?;
12237        ::std::result::Result::Ok(Self {
12238            id: field_id.unwrap_or_default(),
12239            result: field_result.unwrap_or_default(),
12240            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12241        })
12242    }
12243}
12244
12245
12246#[allow(clippy::derivable_impls)]
12247impl ::std::default::Default for self::BalanceResp {
12248    fn default() -> Self {
12249        Self {
12250            code: ::std::default::Default::default(),
12251            id: ::std::default::Default::default(),
12252            leader: ::std::default::Default::default(),
12253            tasks: ::std::default::Default::default(),
12254            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12255        }
12256    }
12257}
12258
12259impl ::std::fmt::Debug for self::BalanceResp {
12260    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12261        formatter
12262            .debug_struct("BalanceResp")
12263            .field("code", &self.code)
12264            .field("id", &self.id)
12265            .field("leader", &self.leader)
12266            .field("tasks", &self.tasks)
12267            .finish()
12268    }
12269}
12270
12271unsafe impl ::std::marker::Send for self::BalanceResp {}
12272unsafe impl ::std::marker::Sync for self::BalanceResp {}
12273
12274impl ::fbthrift::GetTType for self::BalanceResp {
12275    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12276}
12277
12278impl<P> ::fbthrift::Serialize<P> for self::BalanceResp
12279where
12280    P: ::fbthrift::ProtocolWriter,
12281{
12282    fn write(&self, p: &mut P) {
12283        p.write_struct_begin("BalanceResp");
12284        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
12285        ::fbthrift::Serialize::write(&self.code, p);
12286        p.write_field_end();
12287        p.write_field_begin("id", ::fbthrift::TType::I64, 2);
12288        ::fbthrift::Serialize::write(&self.id, p);
12289        p.write_field_end();
12290        p.write_field_begin("leader", ::fbthrift::TType::Struct, 3);
12291        ::fbthrift::Serialize::write(&self.leader, p);
12292        p.write_field_end();
12293        p.write_field_begin("tasks", ::fbthrift::TType::List, 4);
12294        ::fbthrift::Serialize::write(&self.tasks, p);
12295        p.write_field_end();
12296        p.write_field_stop();
12297        p.write_struct_end();
12298    }
12299}
12300
12301impl<P> ::fbthrift::Deserialize<P> for self::BalanceResp
12302where
12303    P: ::fbthrift::ProtocolReader,
12304{
12305    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12306        static FIELDS: &[::fbthrift::Field] = &[
12307            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12308            ::fbthrift::Field::new("id", ::fbthrift::TType::I64, 2),
12309            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 3),
12310            ::fbthrift::Field::new("tasks", ::fbthrift::TType::List, 4),
12311        ];
12312        let mut field_code = ::std::option::Option::None;
12313        let mut field_id = ::std::option::Option::None;
12314        let mut field_leader = ::std::option::Option::None;
12315        let mut field_tasks = ::std::option::Option::None;
12316        let _ = p.read_struct_begin(|_| ())?;
12317        loop {
12318            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12319            match (fty, fid as ::std::primitive::i32) {
12320                (::fbthrift::TType::Stop, _) => break,
12321                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12322                (::fbthrift::TType::I64, 2) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12323                (::fbthrift::TType::Struct, 3) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12324                (::fbthrift::TType::List, 4) => field_tasks = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12325                (fty, _) => p.skip(fty)?,
12326            }
12327            p.read_field_end()?;
12328        }
12329        p.read_struct_end()?;
12330        ::std::result::Result::Ok(Self {
12331            code: field_code.unwrap_or_default(),
12332            id: field_id.unwrap_or_default(),
12333            leader: field_leader.unwrap_or_default(),
12334            tasks: field_tasks.unwrap_or_default(),
12335            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12336        })
12337    }
12338}
12339
12340
12341#[allow(clippy::derivable_impls)]
12342impl ::std::default::Default for self::LeaderBalanceReq {
12343    fn default() -> Self {
12344        Self {
12345            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12346        }
12347    }
12348}
12349
12350impl ::std::fmt::Debug for self::LeaderBalanceReq {
12351    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12352        formatter
12353            .debug_struct("LeaderBalanceReq")
12354            .finish()
12355    }
12356}
12357
12358unsafe impl ::std::marker::Send for self::LeaderBalanceReq {}
12359unsafe impl ::std::marker::Sync for self::LeaderBalanceReq {}
12360
12361impl ::fbthrift::GetTType for self::LeaderBalanceReq {
12362    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12363}
12364
12365impl<P> ::fbthrift::Serialize<P> for self::LeaderBalanceReq
12366where
12367    P: ::fbthrift::ProtocolWriter,
12368{
12369    fn write(&self, p: &mut P) {
12370        p.write_struct_begin("LeaderBalanceReq");
12371        p.write_field_stop();
12372        p.write_struct_end();
12373    }
12374}
12375
12376impl<P> ::fbthrift::Deserialize<P> for self::LeaderBalanceReq
12377where
12378    P: ::fbthrift::ProtocolReader,
12379{
12380    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12381        static FIELDS: &[::fbthrift::Field] = &[
12382        ];
12383        let _ = p.read_struct_begin(|_| ())?;
12384        loop {
12385            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12386            match (fty, fid as ::std::primitive::i32) {
12387                (::fbthrift::TType::Stop, _) => break,
12388                (fty, _) => p.skip(fty)?,
12389            }
12390            p.read_field_end()?;
12391        }
12392        p.read_struct_end()?;
12393        ::std::result::Result::Ok(Self {
12394            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12395        })
12396    }
12397}
12398
12399
12400#[allow(clippy::derivable_impls)]
12401impl ::std::default::Default for self::ConfigItem {
12402    fn default() -> Self {
12403        Self {
12404            module: ::std::default::Default::default(),
12405            name: ::std::default::Default::default(),
12406            mode: ::std::default::Default::default(),
12407            value: ::std::default::Default::default(),
12408            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12409        }
12410    }
12411}
12412
12413impl ::std::fmt::Debug for self::ConfigItem {
12414    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12415        formatter
12416            .debug_struct("ConfigItem")
12417            .field("module", &self.module)
12418            .field("name", &self.name)
12419            .field("mode", &self.mode)
12420            .field("value", &self.value)
12421            .finish()
12422    }
12423}
12424
12425unsafe impl ::std::marker::Send for self::ConfigItem {}
12426unsafe impl ::std::marker::Sync for self::ConfigItem {}
12427
12428impl ::fbthrift::GetTType for self::ConfigItem {
12429    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12430}
12431
12432impl<P> ::fbthrift::Serialize<P> for self::ConfigItem
12433where
12434    P: ::fbthrift::ProtocolWriter,
12435{
12436    fn write(&self, p: &mut P) {
12437        p.write_struct_begin("ConfigItem");
12438        p.write_field_begin("module", ::fbthrift::TType::I32, 1);
12439        ::fbthrift::Serialize::write(&self.module, p);
12440        p.write_field_end();
12441        p.write_field_begin("name", ::fbthrift::TType::String, 2);
12442        ::fbthrift::Serialize::write(&self.name, p);
12443        p.write_field_end();
12444        p.write_field_begin("mode", ::fbthrift::TType::I32, 3);
12445        ::fbthrift::Serialize::write(&self.mode, p);
12446        p.write_field_end();
12447        p.write_field_begin("value", ::fbthrift::TType::Struct, 4);
12448        ::fbthrift::Serialize::write(&self.value, p);
12449        p.write_field_end();
12450        p.write_field_stop();
12451        p.write_struct_end();
12452    }
12453}
12454
12455impl<P> ::fbthrift::Deserialize<P> for self::ConfigItem
12456where
12457    P: ::fbthrift::ProtocolReader,
12458{
12459    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12460        static FIELDS: &[::fbthrift::Field] = &[
12461            ::fbthrift::Field::new("mode", ::fbthrift::TType::I32, 3),
12462            ::fbthrift::Field::new("module", ::fbthrift::TType::I32, 1),
12463            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
12464            ::fbthrift::Field::new("value", ::fbthrift::TType::Struct, 4),
12465        ];
12466        let mut field_module = ::std::option::Option::None;
12467        let mut field_name = ::std::option::Option::None;
12468        let mut field_mode = ::std::option::Option::None;
12469        let mut field_value = ::std::option::Option::None;
12470        let _ = p.read_struct_begin(|_| ())?;
12471        loop {
12472            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12473            match (fty, fid as ::std::primitive::i32) {
12474                (::fbthrift::TType::Stop, _) => break,
12475                (::fbthrift::TType::I32, 1) => field_module = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12476                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12477                (::fbthrift::TType::I32, 3) => field_mode = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12478                (::fbthrift::TType::Struct, 4) => field_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12479                (fty, _) => p.skip(fty)?,
12480            }
12481            p.read_field_end()?;
12482        }
12483        p.read_struct_end()?;
12484        ::std::result::Result::Ok(Self {
12485            module: field_module.unwrap_or_default(),
12486            name: field_name.unwrap_or_default(),
12487            mode: field_mode.unwrap_or_default(),
12488            value: field_value.unwrap_or_default(),
12489            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12490        })
12491    }
12492}
12493
12494
12495#[allow(clippy::derivable_impls)]
12496impl ::std::default::Default for self::RegConfigReq {
12497    fn default() -> Self {
12498        Self {
12499            items: ::std::default::Default::default(),
12500            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12501        }
12502    }
12503}
12504
12505impl ::std::fmt::Debug for self::RegConfigReq {
12506    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12507        formatter
12508            .debug_struct("RegConfigReq")
12509            .field("items", &self.items)
12510            .finish()
12511    }
12512}
12513
12514unsafe impl ::std::marker::Send for self::RegConfigReq {}
12515unsafe impl ::std::marker::Sync for self::RegConfigReq {}
12516
12517impl ::fbthrift::GetTType for self::RegConfigReq {
12518    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12519}
12520
12521impl<P> ::fbthrift::Serialize<P> for self::RegConfigReq
12522where
12523    P: ::fbthrift::ProtocolWriter,
12524{
12525    fn write(&self, p: &mut P) {
12526        p.write_struct_begin("RegConfigReq");
12527        p.write_field_begin("items", ::fbthrift::TType::List, 1);
12528        ::fbthrift::Serialize::write(&self.items, p);
12529        p.write_field_end();
12530        p.write_field_stop();
12531        p.write_struct_end();
12532    }
12533}
12534
12535impl<P> ::fbthrift::Deserialize<P> for self::RegConfigReq
12536where
12537    P: ::fbthrift::ProtocolReader,
12538{
12539    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12540        static FIELDS: &[::fbthrift::Field] = &[
12541            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 1),
12542        ];
12543        let mut field_items = ::std::option::Option::None;
12544        let _ = p.read_struct_begin(|_| ())?;
12545        loop {
12546            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12547            match (fty, fid as ::std::primitive::i32) {
12548                (::fbthrift::TType::Stop, _) => break,
12549                (::fbthrift::TType::List, 1) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12550                (fty, _) => p.skip(fty)?,
12551            }
12552            p.read_field_end()?;
12553        }
12554        p.read_struct_end()?;
12555        ::std::result::Result::Ok(Self {
12556            items: field_items.unwrap_or_default(),
12557            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12558        })
12559    }
12560}
12561
12562
12563#[allow(clippy::derivable_impls)]
12564impl ::std::default::Default for self::GetConfigReq {
12565    fn default() -> Self {
12566        Self {
12567            item: ::std::default::Default::default(),
12568            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12569        }
12570    }
12571}
12572
12573impl ::std::fmt::Debug for self::GetConfigReq {
12574    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12575        formatter
12576            .debug_struct("GetConfigReq")
12577            .field("item", &self.item)
12578            .finish()
12579    }
12580}
12581
12582unsafe impl ::std::marker::Send for self::GetConfigReq {}
12583unsafe impl ::std::marker::Sync for self::GetConfigReq {}
12584
12585impl ::fbthrift::GetTType for self::GetConfigReq {
12586    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12587}
12588
12589impl<P> ::fbthrift::Serialize<P> for self::GetConfigReq
12590where
12591    P: ::fbthrift::ProtocolWriter,
12592{
12593    fn write(&self, p: &mut P) {
12594        p.write_struct_begin("GetConfigReq");
12595        p.write_field_begin("item", ::fbthrift::TType::Struct, 1);
12596        ::fbthrift::Serialize::write(&self.item, p);
12597        p.write_field_end();
12598        p.write_field_stop();
12599        p.write_struct_end();
12600    }
12601}
12602
12603impl<P> ::fbthrift::Deserialize<P> for self::GetConfigReq
12604where
12605    P: ::fbthrift::ProtocolReader,
12606{
12607    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12608        static FIELDS: &[::fbthrift::Field] = &[
12609            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 1),
12610        ];
12611        let mut field_item = ::std::option::Option::None;
12612        let _ = p.read_struct_begin(|_| ())?;
12613        loop {
12614            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12615            match (fty, fid as ::std::primitive::i32) {
12616                (::fbthrift::TType::Stop, _) => break,
12617                (::fbthrift::TType::Struct, 1) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12618                (fty, _) => p.skip(fty)?,
12619            }
12620            p.read_field_end()?;
12621        }
12622        p.read_struct_end()?;
12623        ::std::result::Result::Ok(Self {
12624            item: field_item.unwrap_or_default(),
12625            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12626        })
12627    }
12628}
12629
12630
12631#[allow(clippy::derivable_impls)]
12632impl ::std::default::Default for self::GetConfigResp {
12633    fn default() -> Self {
12634        Self {
12635            code: ::std::default::Default::default(),
12636            leader: ::std::default::Default::default(),
12637            items: ::std::default::Default::default(),
12638            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12639        }
12640    }
12641}
12642
12643impl ::std::fmt::Debug for self::GetConfigResp {
12644    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12645        formatter
12646            .debug_struct("GetConfigResp")
12647            .field("code", &self.code)
12648            .field("leader", &self.leader)
12649            .field("items", &self.items)
12650            .finish()
12651    }
12652}
12653
12654unsafe impl ::std::marker::Send for self::GetConfigResp {}
12655unsafe impl ::std::marker::Sync for self::GetConfigResp {}
12656
12657impl ::fbthrift::GetTType for self::GetConfigResp {
12658    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12659}
12660
12661impl<P> ::fbthrift::Serialize<P> for self::GetConfigResp
12662where
12663    P: ::fbthrift::ProtocolWriter,
12664{
12665    fn write(&self, p: &mut P) {
12666        p.write_struct_begin("GetConfigResp");
12667        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
12668        ::fbthrift::Serialize::write(&self.code, p);
12669        p.write_field_end();
12670        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
12671        ::fbthrift::Serialize::write(&self.leader, p);
12672        p.write_field_end();
12673        p.write_field_begin("items", ::fbthrift::TType::List, 3);
12674        ::fbthrift::Serialize::write(&self.items, p);
12675        p.write_field_end();
12676        p.write_field_stop();
12677        p.write_struct_end();
12678    }
12679}
12680
12681impl<P> ::fbthrift::Deserialize<P> for self::GetConfigResp
12682where
12683    P: ::fbthrift::ProtocolReader,
12684{
12685    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12686        static FIELDS: &[::fbthrift::Field] = &[
12687            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12688            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
12689            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
12690        ];
12691        let mut field_code = ::std::option::Option::None;
12692        let mut field_leader = ::std::option::Option::None;
12693        let mut field_items = ::std::option::Option::None;
12694        let _ = p.read_struct_begin(|_| ())?;
12695        loop {
12696            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12697            match (fty, fid as ::std::primitive::i32) {
12698                (::fbthrift::TType::Stop, _) => break,
12699                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12700                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12701                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12702                (fty, _) => p.skip(fty)?,
12703            }
12704            p.read_field_end()?;
12705        }
12706        p.read_struct_end()?;
12707        ::std::result::Result::Ok(Self {
12708            code: field_code.unwrap_or_default(),
12709            leader: field_leader.unwrap_or_default(),
12710            items: field_items.unwrap_or_default(),
12711            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12712        })
12713    }
12714}
12715
12716
12717#[allow(clippy::derivable_impls)]
12718impl ::std::default::Default for self::SetConfigReq {
12719    fn default() -> Self {
12720        Self {
12721            item: ::std::default::Default::default(),
12722            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12723        }
12724    }
12725}
12726
12727impl ::std::fmt::Debug for self::SetConfigReq {
12728    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12729        formatter
12730            .debug_struct("SetConfigReq")
12731            .field("item", &self.item)
12732            .finish()
12733    }
12734}
12735
12736unsafe impl ::std::marker::Send for self::SetConfigReq {}
12737unsafe impl ::std::marker::Sync for self::SetConfigReq {}
12738
12739impl ::fbthrift::GetTType for self::SetConfigReq {
12740    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12741}
12742
12743impl<P> ::fbthrift::Serialize<P> for self::SetConfigReq
12744where
12745    P: ::fbthrift::ProtocolWriter,
12746{
12747    fn write(&self, p: &mut P) {
12748        p.write_struct_begin("SetConfigReq");
12749        p.write_field_begin("item", ::fbthrift::TType::Struct, 1);
12750        ::fbthrift::Serialize::write(&self.item, p);
12751        p.write_field_end();
12752        p.write_field_stop();
12753        p.write_struct_end();
12754    }
12755}
12756
12757impl<P> ::fbthrift::Deserialize<P> for self::SetConfigReq
12758where
12759    P: ::fbthrift::ProtocolReader,
12760{
12761    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12762        static FIELDS: &[::fbthrift::Field] = &[
12763            ::fbthrift::Field::new("item", ::fbthrift::TType::Struct, 1),
12764        ];
12765        let mut field_item = ::std::option::Option::None;
12766        let _ = p.read_struct_begin(|_| ())?;
12767        loop {
12768            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12769            match (fty, fid as ::std::primitive::i32) {
12770                (::fbthrift::TType::Stop, _) => break,
12771                (::fbthrift::TType::Struct, 1) => field_item = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12772                (fty, _) => p.skip(fty)?,
12773            }
12774            p.read_field_end()?;
12775        }
12776        p.read_struct_end()?;
12777        ::std::result::Result::Ok(Self {
12778            item: field_item.unwrap_or_default(),
12779            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12780        })
12781    }
12782}
12783
12784
12785#[allow(clippy::derivable_impls)]
12786impl ::std::default::Default for self::ListConfigsReq {
12787    fn default() -> Self {
12788        Self {
12789            space: ::std::default::Default::default(),
12790            module: ::std::default::Default::default(),
12791            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12792        }
12793    }
12794}
12795
12796impl ::std::fmt::Debug for self::ListConfigsReq {
12797    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12798        formatter
12799            .debug_struct("ListConfigsReq")
12800            .field("space", &self.space)
12801            .field("module", &self.module)
12802            .finish()
12803    }
12804}
12805
12806unsafe impl ::std::marker::Send for self::ListConfigsReq {}
12807unsafe impl ::std::marker::Sync for self::ListConfigsReq {}
12808
12809impl ::fbthrift::GetTType for self::ListConfigsReq {
12810    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12811}
12812
12813impl<P> ::fbthrift::Serialize<P> for self::ListConfigsReq
12814where
12815    P: ::fbthrift::ProtocolWriter,
12816{
12817    fn write(&self, p: &mut P) {
12818        p.write_struct_begin("ListConfigsReq");
12819        p.write_field_begin("space", ::fbthrift::TType::String, 1);
12820        ::fbthrift::Serialize::write(&self.space, p);
12821        p.write_field_end();
12822        p.write_field_begin("module", ::fbthrift::TType::I32, 2);
12823        ::fbthrift::Serialize::write(&self.module, p);
12824        p.write_field_end();
12825        p.write_field_stop();
12826        p.write_struct_end();
12827    }
12828}
12829
12830impl<P> ::fbthrift::Deserialize<P> for self::ListConfigsReq
12831where
12832    P: ::fbthrift::ProtocolReader,
12833{
12834    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12835        static FIELDS: &[::fbthrift::Field] = &[
12836            ::fbthrift::Field::new("module", ::fbthrift::TType::I32, 2),
12837            ::fbthrift::Field::new("space", ::fbthrift::TType::String, 1),
12838        ];
12839        let mut field_space = ::std::option::Option::None;
12840        let mut field_module = ::std::option::Option::None;
12841        let _ = p.read_struct_begin(|_| ())?;
12842        loop {
12843            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12844            match (fty, fid as ::std::primitive::i32) {
12845                (::fbthrift::TType::Stop, _) => break,
12846                (::fbthrift::TType::String, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12847                (::fbthrift::TType::I32, 2) => field_module = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12848                (fty, _) => p.skip(fty)?,
12849            }
12850            p.read_field_end()?;
12851        }
12852        p.read_struct_end()?;
12853        ::std::result::Result::Ok(Self {
12854            space: field_space.unwrap_or_default(),
12855            module: field_module.unwrap_or_default(),
12856            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12857        })
12858    }
12859}
12860
12861
12862#[allow(clippy::derivable_impls)]
12863impl ::std::default::Default for self::ListConfigsResp {
12864    fn default() -> Self {
12865        Self {
12866            code: ::std::default::Default::default(),
12867            leader: ::std::default::Default::default(),
12868            items: ::std::default::Default::default(),
12869            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12870        }
12871    }
12872}
12873
12874impl ::std::fmt::Debug for self::ListConfigsResp {
12875    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12876        formatter
12877            .debug_struct("ListConfigsResp")
12878            .field("code", &self.code)
12879            .field("leader", &self.leader)
12880            .field("items", &self.items)
12881            .finish()
12882    }
12883}
12884
12885unsafe impl ::std::marker::Send for self::ListConfigsResp {}
12886unsafe impl ::std::marker::Sync for self::ListConfigsResp {}
12887
12888impl ::fbthrift::GetTType for self::ListConfigsResp {
12889    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12890}
12891
12892impl<P> ::fbthrift::Serialize<P> for self::ListConfigsResp
12893where
12894    P: ::fbthrift::ProtocolWriter,
12895{
12896    fn write(&self, p: &mut P) {
12897        p.write_struct_begin("ListConfigsResp");
12898        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
12899        ::fbthrift::Serialize::write(&self.code, p);
12900        p.write_field_end();
12901        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
12902        ::fbthrift::Serialize::write(&self.leader, p);
12903        p.write_field_end();
12904        p.write_field_begin("items", ::fbthrift::TType::List, 3);
12905        ::fbthrift::Serialize::write(&self.items, p);
12906        p.write_field_end();
12907        p.write_field_stop();
12908        p.write_struct_end();
12909    }
12910}
12911
12912impl<P> ::fbthrift::Deserialize<P> for self::ListConfigsResp
12913where
12914    P: ::fbthrift::ProtocolReader,
12915{
12916    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12917        static FIELDS: &[::fbthrift::Field] = &[
12918            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
12919            ::fbthrift::Field::new("items", ::fbthrift::TType::List, 3),
12920            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
12921        ];
12922        let mut field_code = ::std::option::Option::None;
12923        let mut field_leader = ::std::option::Option::None;
12924        let mut field_items = ::std::option::Option::None;
12925        let _ = p.read_struct_begin(|_| ())?;
12926        loop {
12927            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12928            match (fty, fid as ::std::primitive::i32) {
12929                (::fbthrift::TType::Stop, _) => break,
12930                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12931                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12932                (::fbthrift::TType::List, 3) => field_items = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
12933                (fty, _) => p.skip(fty)?,
12934            }
12935            p.read_field_end()?;
12936        }
12937        p.read_struct_end()?;
12938        ::std::result::Result::Ok(Self {
12939            code: field_code.unwrap_or_default(),
12940            leader: field_leader.unwrap_or_default(),
12941            items: field_items.unwrap_or_default(),
12942            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12943        })
12944    }
12945}
12946
12947
12948#[allow(clippy::derivable_impls)]
12949impl ::std::default::Default for self::CreateSnapshotReq {
12950    fn default() -> Self {
12951        Self {
12952            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
12953        }
12954    }
12955}
12956
12957impl ::std::fmt::Debug for self::CreateSnapshotReq {
12958    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
12959        formatter
12960            .debug_struct("CreateSnapshotReq")
12961            .finish()
12962    }
12963}
12964
12965unsafe impl ::std::marker::Send for self::CreateSnapshotReq {}
12966unsafe impl ::std::marker::Sync for self::CreateSnapshotReq {}
12967
12968impl ::fbthrift::GetTType for self::CreateSnapshotReq {
12969    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
12970}
12971
12972impl<P> ::fbthrift::Serialize<P> for self::CreateSnapshotReq
12973where
12974    P: ::fbthrift::ProtocolWriter,
12975{
12976    fn write(&self, p: &mut P) {
12977        p.write_struct_begin("CreateSnapshotReq");
12978        p.write_field_stop();
12979        p.write_struct_end();
12980    }
12981}
12982
12983impl<P> ::fbthrift::Deserialize<P> for self::CreateSnapshotReq
12984where
12985    P: ::fbthrift::ProtocolReader,
12986{
12987    fn read(p: &mut P) -> ::anyhow::Result<Self> {
12988        static FIELDS: &[::fbthrift::Field] = &[
12989        ];
12990        let _ = p.read_struct_begin(|_| ())?;
12991        loop {
12992            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
12993            match (fty, fid as ::std::primitive::i32) {
12994                (::fbthrift::TType::Stop, _) => break,
12995                (fty, _) => p.skip(fty)?,
12996            }
12997            p.read_field_end()?;
12998        }
12999        p.read_struct_end()?;
13000        ::std::result::Result::Ok(Self {
13001            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13002        })
13003    }
13004}
13005
13006
13007#[allow(clippy::derivable_impls)]
13008impl ::std::default::Default for self::DropSnapshotReq {
13009    fn default() -> Self {
13010        Self {
13011            name: ::std::default::Default::default(),
13012            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13013        }
13014    }
13015}
13016
13017impl ::std::fmt::Debug for self::DropSnapshotReq {
13018    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13019        formatter
13020            .debug_struct("DropSnapshotReq")
13021            .field("name", &self.name)
13022            .finish()
13023    }
13024}
13025
13026unsafe impl ::std::marker::Send for self::DropSnapshotReq {}
13027unsafe impl ::std::marker::Sync for self::DropSnapshotReq {}
13028
13029impl ::fbthrift::GetTType for self::DropSnapshotReq {
13030    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13031}
13032
13033impl<P> ::fbthrift::Serialize<P> for self::DropSnapshotReq
13034where
13035    P: ::fbthrift::ProtocolWriter,
13036{
13037    fn write(&self, p: &mut P) {
13038        p.write_struct_begin("DropSnapshotReq");
13039        p.write_field_begin("name", ::fbthrift::TType::String, 1);
13040        ::fbthrift::Serialize::write(&self.name, p);
13041        p.write_field_end();
13042        p.write_field_stop();
13043        p.write_struct_end();
13044    }
13045}
13046
13047impl<P> ::fbthrift::Deserialize<P> for self::DropSnapshotReq
13048where
13049    P: ::fbthrift::ProtocolReader,
13050{
13051    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13052        static FIELDS: &[::fbthrift::Field] = &[
13053            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
13054        ];
13055        let mut field_name = ::std::option::Option::None;
13056        let _ = p.read_struct_begin(|_| ())?;
13057        loop {
13058            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13059            match (fty, fid as ::std::primitive::i32) {
13060                (::fbthrift::TType::Stop, _) => break,
13061                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13062                (fty, _) => p.skip(fty)?,
13063            }
13064            p.read_field_end()?;
13065        }
13066        p.read_struct_end()?;
13067        ::std::result::Result::Ok(Self {
13068            name: field_name.unwrap_or_default(),
13069            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13070        })
13071    }
13072}
13073
13074
13075#[allow(clippy::derivable_impls)]
13076impl ::std::default::Default for self::ListSnapshotsReq {
13077    fn default() -> Self {
13078        Self {
13079            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13080        }
13081    }
13082}
13083
13084impl ::std::fmt::Debug for self::ListSnapshotsReq {
13085    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13086        formatter
13087            .debug_struct("ListSnapshotsReq")
13088            .finish()
13089    }
13090}
13091
13092unsafe impl ::std::marker::Send for self::ListSnapshotsReq {}
13093unsafe impl ::std::marker::Sync for self::ListSnapshotsReq {}
13094
13095impl ::fbthrift::GetTType for self::ListSnapshotsReq {
13096    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13097}
13098
13099impl<P> ::fbthrift::Serialize<P> for self::ListSnapshotsReq
13100where
13101    P: ::fbthrift::ProtocolWriter,
13102{
13103    fn write(&self, p: &mut P) {
13104        p.write_struct_begin("ListSnapshotsReq");
13105        p.write_field_stop();
13106        p.write_struct_end();
13107    }
13108}
13109
13110impl<P> ::fbthrift::Deserialize<P> for self::ListSnapshotsReq
13111where
13112    P: ::fbthrift::ProtocolReader,
13113{
13114    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13115        static FIELDS: &[::fbthrift::Field] = &[
13116        ];
13117        let _ = p.read_struct_begin(|_| ())?;
13118        loop {
13119            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13120            match (fty, fid as ::std::primitive::i32) {
13121                (::fbthrift::TType::Stop, _) => break,
13122                (fty, _) => p.skip(fty)?,
13123            }
13124            p.read_field_end()?;
13125        }
13126        p.read_struct_end()?;
13127        ::std::result::Result::Ok(Self {
13128            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13129        })
13130    }
13131}
13132
13133
13134#[allow(clippy::derivable_impls)]
13135impl ::std::default::Default for self::Snapshot {
13136    fn default() -> Self {
13137        Self {
13138            name: ::std::default::Default::default(),
13139            status: ::std::default::Default::default(),
13140            hosts: ::std::default::Default::default(),
13141            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13142        }
13143    }
13144}
13145
13146impl ::std::fmt::Debug for self::Snapshot {
13147    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13148        formatter
13149            .debug_struct("Snapshot")
13150            .field("name", &self.name)
13151            .field("status", &self.status)
13152            .field("hosts", &self.hosts)
13153            .finish()
13154    }
13155}
13156
13157unsafe impl ::std::marker::Send for self::Snapshot {}
13158unsafe impl ::std::marker::Sync for self::Snapshot {}
13159
13160impl ::fbthrift::GetTType for self::Snapshot {
13161    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13162}
13163
13164impl<P> ::fbthrift::Serialize<P> for self::Snapshot
13165where
13166    P: ::fbthrift::ProtocolWriter,
13167{
13168    fn write(&self, p: &mut P) {
13169        p.write_struct_begin("Snapshot");
13170        p.write_field_begin("name", ::fbthrift::TType::String, 1);
13171        ::fbthrift::Serialize::write(&self.name, p);
13172        p.write_field_end();
13173        p.write_field_begin("status", ::fbthrift::TType::I32, 2);
13174        ::fbthrift::Serialize::write(&self.status, p);
13175        p.write_field_end();
13176        p.write_field_begin("hosts", ::fbthrift::TType::String, 3);
13177        ::fbthrift::Serialize::write(&self.hosts, p);
13178        p.write_field_end();
13179        p.write_field_stop();
13180        p.write_struct_end();
13181    }
13182}
13183
13184impl<P> ::fbthrift::Deserialize<P> for self::Snapshot
13185where
13186    P: ::fbthrift::ProtocolReader,
13187{
13188    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13189        static FIELDS: &[::fbthrift::Field] = &[
13190            ::fbthrift::Field::new("hosts", ::fbthrift::TType::String, 3),
13191            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
13192            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 2),
13193        ];
13194        let mut field_name = ::std::option::Option::None;
13195        let mut field_status = ::std::option::Option::None;
13196        let mut field_hosts = ::std::option::Option::None;
13197        let _ = p.read_struct_begin(|_| ())?;
13198        loop {
13199            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13200            match (fty, fid as ::std::primitive::i32) {
13201                (::fbthrift::TType::Stop, _) => break,
13202                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13203                (::fbthrift::TType::I32, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13204                (::fbthrift::TType::String, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13205                (fty, _) => p.skip(fty)?,
13206            }
13207            p.read_field_end()?;
13208        }
13209        p.read_struct_end()?;
13210        ::std::result::Result::Ok(Self {
13211            name: field_name.unwrap_or_default(),
13212            status: field_status.unwrap_or_default(),
13213            hosts: field_hosts.unwrap_or_default(),
13214            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13215        })
13216    }
13217}
13218
13219
13220#[allow(clippy::derivable_impls)]
13221impl ::std::default::Default for self::ListSnapshotsResp {
13222    fn default() -> Self {
13223        Self {
13224            code: ::std::default::Default::default(),
13225            leader: ::std::default::Default::default(),
13226            snapshots: ::std::default::Default::default(),
13227            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13228        }
13229    }
13230}
13231
13232impl ::std::fmt::Debug for self::ListSnapshotsResp {
13233    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13234        formatter
13235            .debug_struct("ListSnapshotsResp")
13236            .field("code", &self.code)
13237            .field("leader", &self.leader)
13238            .field("snapshots", &self.snapshots)
13239            .finish()
13240    }
13241}
13242
13243unsafe impl ::std::marker::Send for self::ListSnapshotsResp {}
13244unsafe impl ::std::marker::Sync for self::ListSnapshotsResp {}
13245
13246impl ::fbthrift::GetTType for self::ListSnapshotsResp {
13247    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13248}
13249
13250impl<P> ::fbthrift::Serialize<P> for self::ListSnapshotsResp
13251where
13252    P: ::fbthrift::ProtocolWriter,
13253{
13254    fn write(&self, p: &mut P) {
13255        p.write_struct_begin("ListSnapshotsResp");
13256        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
13257        ::fbthrift::Serialize::write(&self.code, p);
13258        p.write_field_end();
13259        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
13260        ::fbthrift::Serialize::write(&self.leader, p);
13261        p.write_field_end();
13262        p.write_field_begin("snapshots", ::fbthrift::TType::List, 3);
13263        ::fbthrift::Serialize::write(&self.snapshots, p);
13264        p.write_field_end();
13265        p.write_field_stop();
13266        p.write_struct_end();
13267    }
13268}
13269
13270impl<P> ::fbthrift::Deserialize<P> for self::ListSnapshotsResp
13271where
13272    P: ::fbthrift::ProtocolReader,
13273{
13274    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13275        static FIELDS: &[::fbthrift::Field] = &[
13276            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
13277            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
13278            ::fbthrift::Field::new("snapshots", ::fbthrift::TType::List, 3),
13279        ];
13280        let mut field_code = ::std::option::Option::None;
13281        let mut field_leader = ::std::option::Option::None;
13282        let mut field_snapshots = ::std::option::Option::None;
13283        let _ = p.read_struct_begin(|_| ())?;
13284        loop {
13285            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13286            match (fty, fid as ::std::primitive::i32) {
13287                (::fbthrift::TType::Stop, _) => break,
13288                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13289                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13290                (::fbthrift::TType::List, 3) => field_snapshots = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13291                (fty, _) => p.skip(fty)?,
13292            }
13293            p.read_field_end()?;
13294        }
13295        p.read_struct_end()?;
13296        ::std::result::Result::Ok(Self {
13297            code: field_code.unwrap_or_default(),
13298            leader: field_leader.unwrap_or_default(),
13299            snapshots: field_snapshots.unwrap_or_default(),
13300            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13301        })
13302    }
13303}
13304
13305
13306#[allow(clippy::derivable_impls)]
13307impl ::std::default::Default for self::ListIndexStatusReq {
13308    fn default() -> Self {
13309        Self {
13310            space_id: ::std::default::Default::default(),
13311            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13312        }
13313    }
13314}
13315
13316impl ::std::fmt::Debug for self::ListIndexStatusReq {
13317    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13318        formatter
13319            .debug_struct("ListIndexStatusReq")
13320            .field("space_id", &self.space_id)
13321            .finish()
13322    }
13323}
13324
13325unsafe impl ::std::marker::Send for self::ListIndexStatusReq {}
13326unsafe impl ::std::marker::Sync for self::ListIndexStatusReq {}
13327
13328impl ::fbthrift::GetTType for self::ListIndexStatusReq {
13329    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13330}
13331
13332impl<P> ::fbthrift::Serialize<P> for self::ListIndexStatusReq
13333where
13334    P: ::fbthrift::ProtocolWriter,
13335{
13336    fn write(&self, p: &mut P) {
13337        p.write_struct_begin("ListIndexStatusReq");
13338        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
13339        ::fbthrift::Serialize::write(&self.space_id, p);
13340        p.write_field_end();
13341        p.write_field_stop();
13342        p.write_struct_end();
13343    }
13344}
13345
13346impl<P> ::fbthrift::Deserialize<P> for self::ListIndexStatusReq
13347where
13348    P: ::fbthrift::ProtocolReader,
13349{
13350    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13351        static FIELDS: &[::fbthrift::Field] = &[
13352            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
13353        ];
13354        let mut field_space_id = ::std::option::Option::None;
13355        let _ = p.read_struct_begin(|_| ())?;
13356        loop {
13357            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13358            match (fty, fid as ::std::primitive::i32) {
13359                (::fbthrift::TType::Stop, _) => break,
13360                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13361                (fty, _) => p.skip(fty)?,
13362            }
13363            p.read_field_end()?;
13364        }
13365        p.read_struct_end()?;
13366        ::std::result::Result::Ok(Self {
13367            space_id: field_space_id.unwrap_or_default(),
13368            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13369        })
13370    }
13371}
13372
13373
13374#[allow(clippy::derivable_impls)]
13375impl ::std::default::Default for self::IndexStatus {
13376    fn default() -> Self {
13377        Self {
13378            name: ::std::default::Default::default(),
13379            status: ::std::default::Default::default(),
13380            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13381        }
13382    }
13383}
13384
13385impl ::std::fmt::Debug for self::IndexStatus {
13386    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13387        formatter
13388            .debug_struct("IndexStatus")
13389            .field("name", &self.name)
13390            .field("status", &self.status)
13391            .finish()
13392    }
13393}
13394
13395unsafe impl ::std::marker::Send for self::IndexStatus {}
13396unsafe impl ::std::marker::Sync for self::IndexStatus {}
13397
13398impl ::fbthrift::GetTType for self::IndexStatus {
13399    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13400}
13401
13402impl<P> ::fbthrift::Serialize<P> for self::IndexStatus
13403where
13404    P: ::fbthrift::ProtocolWriter,
13405{
13406    fn write(&self, p: &mut P) {
13407        p.write_struct_begin("IndexStatus");
13408        p.write_field_begin("name", ::fbthrift::TType::String, 1);
13409        ::fbthrift::Serialize::write(&self.name, p);
13410        p.write_field_end();
13411        p.write_field_begin("status", ::fbthrift::TType::String, 2);
13412        ::fbthrift::Serialize::write(&self.status, p);
13413        p.write_field_end();
13414        p.write_field_stop();
13415        p.write_struct_end();
13416    }
13417}
13418
13419impl<P> ::fbthrift::Deserialize<P> for self::IndexStatus
13420where
13421    P: ::fbthrift::ProtocolReader,
13422{
13423    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13424        static FIELDS: &[::fbthrift::Field] = &[
13425            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
13426            ::fbthrift::Field::new("status", ::fbthrift::TType::String, 2),
13427        ];
13428        let mut field_name = ::std::option::Option::None;
13429        let mut field_status = ::std::option::Option::None;
13430        let _ = p.read_struct_begin(|_| ())?;
13431        loop {
13432            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13433            match (fty, fid as ::std::primitive::i32) {
13434                (::fbthrift::TType::Stop, _) => break,
13435                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13436                (::fbthrift::TType::String, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13437                (fty, _) => p.skip(fty)?,
13438            }
13439            p.read_field_end()?;
13440        }
13441        p.read_struct_end()?;
13442        ::std::result::Result::Ok(Self {
13443            name: field_name.unwrap_or_default(),
13444            status: field_status.unwrap_or_default(),
13445            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13446        })
13447    }
13448}
13449
13450
13451#[allow(clippy::derivable_impls)]
13452impl ::std::default::Default for self::ListIndexStatusResp {
13453    fn default() -> Self {
13454        Self {
13455            code: ::std::default::Default::default(),
13456            leader: ::std::default::Default::default(),
13457            statuses: ::std::default::Default::default(),
13458            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13459        }
13460    }
13461}
13462
13463impl ::std::fmt::Debug for self::ListIndexStatusResp {
13464    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13465        formatter
13466            .debug_struct("ListIndexStatusResp")
13467            .field("code", &self.code)
13468            .field("leader", &self.leader)
13469            .field("statuses", &self.statuses)
13470            .finish()
13471    }
13472}
13473
13474unsafe impl ::std::marker::Send for self::ListIndexStatusResp {}
13475unsafe impl ::std::marker::Sync for self::ListIndexStatusResp {}
13476
13477impl ::fbthrift::GetTType for self::ListIndexStatusResp {
13478    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13479}
13480
13481impl<P> ::fbthrift::Serialize<P> for self::ListIndexStatusResp
13482where
13483    P: ::fbthrift::ProtocolWriter,
13484{
13485    fn write(&self, p: &mut P) {
13486        p.write_struct_begin("ListIndexStatusResp");
13487        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
13488        ::fbthrift::Serialize::write(&self.code, p);
13489        p.write_field_end();
13490        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
13491        ::fbthrift::Serialize::write(&self.leader, p);
13492        p.write_field_end();
13493        p.write_field_begin("statuses", ::fbthrift::TType::List, 3);
13494        ::fbthrift::Serialize::write(&self.statuses, p);
13495        p.write_field_end();
13496        p.write_field_stop();
13497        p.write_struct_end();
13498    }
13499}
13500
13501impl<P> ::fbthrift::Deserialize<P> for self::ListIndexStatusResp
13502where
13503    P: ::fbthrift::ProtocolReader,
13504{
13505    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13506        static FIELDS: &[::fbthrift::Field] = &[
13507            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
13508            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
13509            ::fbthrift::Field::new("statuses", ::fbthrift::TType::List, 3),
13510        ];
13511        let mut field_code = ::std::option::Option::None;
13512        let mut field_leader = ::std::option::Option::None;
13513        let mut field_statuses = ::std::option::Option::None;
13514        let _ = p.read_struct_begin(|_| ())?;
13515        loop {
13516            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13517            match (fty, fid as ::std::primitive::i32) {
13518                (::fbthrift::TType::Stop, _) => break,
13519                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13520                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13521                (::fbthrift::TType::List, 3) => field_statuses = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13522                (fty, _) => p.skip(fty)?,
13523            }
13524            p.read_field_end()?;
13525        }
13526        p.read_struct_end()?;
13527        ::std::result::Result::Ok(Self {
13528            code: field_code.unwrap_or_default(),
13529            leader: field_leader.unwrap_or_default(),
13530            statuses: field_statuses.unwrap_or_default(),
13531            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13532        })
13533    }
13534}
13535
13536
13537#[allow(clippy::derivable_impls)]
13538impl ::std::default::Default for self::AddZoneReq {
13539    fn default() -> Self {
13540        Self {
13541            zone_name: ::std::default::Default::default(),
13542            nodes: ::std::default::Default::default(),
13543            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13544        }
13545    }
13546}
13547
13548impl ::std::fmt::Debug for self::AddZoneReq {
13549    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13550        formatter
13551            .debug_struct("AddZoneReq")
13552            .field("zone_name", &self.zone_name)
13553            .field("nodes", &self.nodes)
13554            .finish()
13555    }
13556}
13557
13558unsafe impl ::std::marker::Send for self::AddZoneReq {}
13559unsafe impl ::std::marker::Sync for self::AddZoneReq {}
13560
13561impl ::fbthrift::GetTType for self::AddZoneReq {
13562    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13563}
13564
13565impl<P> ::fbthrift::Serialize<P> for self::AddZoneReq
13566where
13567    P: ::fbthrift::ProtocolWriter,
13568{
13569    fn write(&self, p: &mut P) {
13570        p.write_struct_begin("AddZoneReq");
13571        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
13572        ::fbthrift::Serialize::write(&self.zone_name, p);
13573        p.write_field_end();
13574        p.write_field_begin("nodes", ::fbthrift::TType::List, 2);
13575        ::fbthrift::Serialize::write(&self.nodes, p);
13576        p.write_field_end();
13577        p.write_field_stop();
13578        p.write_struct_end();
13579    }
13580}
13581
13582impl<P> ::fbthrift::Deserialize<P> for self::AddZoneReq
13583where
13584    P: ::fbthrift::ProtocolReader,
13585{
13586    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13587        static FIELDS: &[::fbthrift::Field] = &[
13588            ::fbthrift::Field::new("nodes", ::fbthrift::TType::List, 2),
13589            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
13590        ];
13591        let mut field_zone_name = ::std::option::Option::None;
13592        let mut field_nodes = ::std::option::Option::None;
13593        let _ = p.read_struct_begin(|_| ())?;
13594        loop {
13595            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13596            match (fty, fid as ::std::primitive::i32) {
13597                (::fbthrift::TType::Stop, _) => break,
13598                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13599                (::fbthrift::TType::List, 2) => field_nodes = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13600                (fty, _) => p.skip(fty)?,
13601            }
13602            p.read_field_end()?;
13603        }
13604        p.read_struct_end()?;
13605        ::std::result::Result::Ok(Self {
13606            zone_name: field_zone_name.unwrap_or_default(),
13607            nodes: field_nodes.unwrap_or_default(),
13608            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13609        })
13610    }
13611}
13612
13613
13614#[allow(clippy::derivable_impls)]
13615impl ::std::default::Default for self::DropZoneReq {
13616    fn default() -> Self {
13617        Self {
13618            zone_name: ::std::default::Default::default(),
13619            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13620        }
13621    }
13622}
13623
13624impl ::std::fmt::Debug for self::DropZoneReq {
13625    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13626        formatter
13627            .debug_struct("DropZoneReq")
13628            .field("zone_name", &self.zone_name)
13629            .finish()
13630    }
13631}
13632
13633unsafe impl ::std::marker::Send for self::DropZoneReq {}
13634unsafe impl ::std::marker::Sync for self::DropZoneReq {}
13635
13636impl ::fbthrift::GetTType for self::DropZoneReq {
13637    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13638}
13639
13640impl<P> ::fbthrift::Serialize<P> for self::DropZoneReq
13641where
13642    P: ::fbthrift::ProtocolWriter,
13643{
13644    fn write(&self, p: &mut P) {
13645        p.write_struct_begin("DropZoneReq");
13646        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
13647        ::fbthrift::Serialize::write(&self.zone_name, p);
13648        p.write_field_end();
13649        p.write_field_stop();
13650        p.write_struct_end();
13651    }
13652}
13653
13654impl<P> ::fbthrift::Deserialize<P> for self::DropZoneReq
13655where
13656    P: ::fbthrift::ProtocolReader,
13657{
13658    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13659        static FIELDS: &[::fbthrift::Field] = &[
13660            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
13661        ];
13662        let mut field_zone_name = ::std::option::Option::None;
13663        let _ = p.read_struct_begin(|_| ())?;
13664        loop {
13665            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13666            match (fty, fid as ::std::primitive::i32) {
13667                (::fbthrift::TType::Stop, _) => break,
13668                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13669                (fty, _) => p.skip(fty)?,
13670            }
13671            p.read_field_end()?;
13672        }
13673        p.read_struct_end()?;
13674        ::std::result::Result::Ok(Self {
13675            zone_name: field_zone_name.unwrap_or_default(),
13676            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13677        })
13678    }
13679}
13680
13681
13682#[allow(clippy::derivable_impls)]
13683impl ::std::default::Default for self::AddHostIntoZoneReq {
13684    fn default() -> Self {
13685        Self {
13686            node: ::std::default::Default::default(),
13687            zone_name: ::std::default::Default::default(),
13688            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13689        }
13690    }
13691}
13692
13693impl ::std::fmt::Debug for self::AddHostIntoZoneReq {
13694    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13695        formatter
13696            .debug_struct("AddHostIntoZoneReq")
13697            .field("node", &self.node)
13698            .field("zone_name", &self.zone_name)
13699            .finish()
13700    }
13701}
13702
13703unsafe impl ::std::marker::Send for self::AddHostIntoZoneReq {}
13704unsafe impl ::std::marker::Sync for self::AddHostIntoZoneReq {}
13705
13706impl ::fbthrift::GetTType for self::AddHostIntoZoneReq {
13707    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13708}
13709
13710impl<P> ::fbthrift::Serialize<P> for self::AddHostIntoZoneReq
13711where
13712    P: ::fbthrift::ProtocolWriter,
13713{
13714    fn write(&self, p: &mut P) {
13715        p.write_struct_begin("AddHostIntoZoneReq");
13716        p.write_field_begin("node", ::fbthrift::TType::Struct, 1);
13717        ::fbthrift::Serialize::write(&self.node, p);
13718        p.write_field_end();
13719        p.write_field_begin("zone_name", ::fbthrift::TType::String, 2);
13720        ::fbthrift::Serialize::write(&self.zone_name, p);
13721        p.write_field_end();
13722        p.write_field_stop();
13723        p.write_struct_end();
13724    }
13725}
13726
13727impl<P> ::fbthrift::Deserialize<P> for self::AddHostIntoZoneReq
13728where
13729    P: ::fbthrift::ProtocolReader,
13730{
13731    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13732        static FIELDS: &[::fbthrift::Field] = &[
13733            ::fbthrift::Field::new("node", ::fbthrift::TType::Struct, 1),
13734            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 2),
13735        ];
13736        let mut field_node = ::std::option::Option::None;
13737        let mut field_zone_name = ::std::option::Option::None;
13738        let _ = p.read_struct_begin(|_| ())?;
13739        loop {
13740            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13741            match (fty, fid as ::std::primitive::i32) {
13742                (::fbthrift::TType::Stop, _) => break,
13743                (::fbthrift::TType::Struct, 1) => field_node = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13744                (::fbthrift::TType::String, 2) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13745                (fty, _) => p.skip(fty)?,
13746            }
13747            p.read_field_end()?;
13748        }
13749        p.read_struct_end()?;
13750        ::std::result::Result::Ok(Self {
13751            node: field_node.unwrap_or_default(),
13752            zone_name: field_zone_name.unwrap_or_default(),
13753            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13754        })
13755    }
13756}
13757
13758
13759#[allow(clippy::derivable_impls)]
13760impl ::std::default::Default for self::DropHostFromZoneReq {
13761    fn default() -> Self {
13762        Self {
13763            node: ::std::default::Default::default(),
13764            zone_name: ::std::default::Default::default(),
13765            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13766        }
13767    }
13768}
13769
13770impl ::std::fmt::Debug for self::DropHostFromZoneReq {
13771    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13772        formatter
13773            .debug_struct("DropHostFromZoneReq")
13774            .field("node", &self.node)
13775            .field("zone_name", &self.zone_name)
13776            .finish()
13777    }
13778}
13779
13780unsafe impl ::std::marker::Send for self::DropHostFromZoneReq {}
13781unsafe impl ::std::marker::Sync for self::DropHostFromZoneReq {}
13782
13783impl ::fbthrift::GetTType for self::DropHostFromZoneReq {
13784    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13785}
13786
13787impl<P> ::fbthrift::Serialize<P> for self::DropHostFromZoneReq
13788where
13789    P: ::fbthrift::ProtocolWriter,
13790{
13791    fn write(&self, p: &mut P) {
13792        p.write_struct_begin("DropHostFromZoneReq");
13793        p.write_field_begin("node", ::fbthrift::TType::Struct, 1);
13794        ::fbthrift::Serialize::write(&self.node, p);
13795        p.write_field_end();
13796        p.write_field_begin("zone_name", ::fbthrift::TType::String, 2);
13797        ::fbthrift::Serialize::write(&self.zone_name, p);
13798        p.write_field_end();
13799        p.write_field_stop();
13800        p.write_struct_end();
13801    }
13802}
13803
13804impl<P> ::fbthrift::Deserialize<P> for self::DropHostFromZoneReq
13805where
13806    P: ::fbthrift::ProtocolReader,
13807{
13808    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13809        static FIELDS: &[::fbthrift::Field] = &[
13810            ::fbthrift::Field::new("node", ::fbthrift::TType::Struct, 1),
13811            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 2),
13812        ];
13813        let mut field_node = ::std::option::Option::None;
13814        let mut field_zone_name = ::std::option::Option::None;
13815        let _ = p.read_struct_begin(|_| ())?;
13816        loop {
13817            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13818            match (fty, fid as ::std::primitive::i32) {
13819                (::fbthrift::TType::Stop, _) => break,
13820                (::fbthrift::TType::Struct, 1) => field_node = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13821                (::fbthrift::TType::String, 2) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13822                (fty, _) => p.skip(fty)?,
13823            }
13824            p.read_field_end()?;
13825        }
13826        p.read_struct_end()?;
13827        ::std::result::Result::Ok(Self {
13828            node: field_node.unwrap_or_default(),
13829            zone_name: field_zone_name.unwrap_or_default(),
13830            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13831        })
13832    }
13833}
13834
13835
13836#[allow(clippy::derivable_impls)]
13837impl ::std::default::Default for self::GetZoneReq {
13838    fn default() -> Self {
13839        Self {
13840            zone_name: ::std::default::Default::default(),
13841            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13842        }
13843    }
13844}
13845
13846impl ::std::fmt::Debug for self::GetZoneReq {
13847    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13848        formatter
13849            .debug_struct("GetZoneReq")
13850            .field("zone_name", &self.zone_name)
13851            .finish()
13852    }
13853}
13854
13855unsafe impl ::std::marker::Send for self::GetZoneReq {}
13856unsafe impl ::std::marker::Sync for self::GetZoneReq {}
13857
13858impl ::fbthrift::GetTType for self::GetZoneReq {
13859    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13860}
13861
13862impl<P> ::fbthrift::Serialize<P> for self::GetZoneReq
13863where
13864    P: ::fbthrift::ProtocolWriter,
13865{
13866    fn write(&self, p: &mut P) {
13867        p.write_struct_begin("GetZoneReq");
13868        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
13869        ::fbthrift::Serialize::write(&self.zone_name, p);
13870        p.write_field_end();
13871        p.write_field_stop();
13872        p.write_struct_end();
13873    }
13874}
13875
13876impl<P> ::fbthrift::Deserialize<P> for self::GetZoneReq
13877where
13878    P: ::fbthrift::ProtocolReader,
13879{
13880    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13881        static FIELDS: &[::fbthrift::Field] = &[
13882            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
13883        ];
13884        let mut field_zone_name = ::std::option::Option::None;
13885        let _ = p.read_struct_begin(|_| ())?;
13886        loop {
13887            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13888            match (fty, fid as ::std::primitive::i32) {
13889                (::fbthrift::TType::Stop, _) => break,
13890                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13891                (fty, _) => p.skip(fty)?,
13892            }
13893            p.read_field_end()?;
13894        }
13895        p.read_struct_end()?;
13896        ::std::result::Result::Ok(Self {
13897            zone_name: field_zone_name.unwrap_or_default(),
13898            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13899        })
13900    }
13901}
13902
13903
13904#[allow(clippy::derivable_impls)]
13905impl ::std::default::Default for self::GetZoneResp {
13906    fn default() -> Self {
13907        Self {
13908            code: ::std::default::Default::default(),
13909            leader: ::std::default::Default::default(),
13910            hosts: ::std::default::Default::default(),
13911            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13912        }
13913    }
13914}
13915
13916impl ::std::fmt::Debug for self::GetZoneResp {
13917    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
13918        formatter
13919            .debug_struct("GetZoneResp")
13920            .field("code", &self.code)
13921            .field("leader", &self.leader)
13922            .field("hosts", &self.hosts)
13923            .finish()
13924    }
13925}
13926
13927unsafe impl ::std::marker::Send for self::GetZoneResp {}
13928unsafe impl ::std::marker::Sync for self::GetZoneResp {}
13929
13930impl ::fbthrift::GetTType for self::GetZoneResp {
13931    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
13932}
13933
13934impl<P> ::fbthrift::Serialize<P> for self::GetZoneResp
13935where
13936    P: ::fbthrift::ProtocolWriter,
13937{
13938    fn write(&self, p: &mut P) {
13939        p.write_struct_begin("GetZoneResp");
13940        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
13941        ::fbthrift::Serialize::write(&self.code, p);
13942        p.write_field_end();
13943        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
13944        ::fbthrift::Serialize::write(&self.leader, p);
13945        p.write_field_end();
13946        p.write_field_begin("hosts", ::fbthrift::TType::List, 3);
13947        ::fbthrift::Serialize::write(&self.hosts, p);
13948        p.write_field_end();
13949        p.write_field_stop();
13950        p.write_struct_end();
13951    }
13952}
13953
13954impl<P> ::fbthrift::Deserialize<P> for self::GetZoneResp
13955where
13956    P: ::fbthrift::ProtocolReader,
13957{
13958    fn read(p: &mut P) -> ::anyhow::Result<Self> {
13959        static FIELDS: &[::fbthrift::Field] = &[
13960            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
13961            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 3),
13962            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
13963        ];
13964        let mut field_code = ::std::option::Option::None;
13965        let mut field_leader = ::std::option::Option::None;
13966        let mut field_hosts = ::std::option::Option::None;
13967        let _ = p.read_struct_begin(|_| ())?;
13968        loop {
13969            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
13970            match (fty, fid as ::std::primitive::i32) {
13971                (::fbthrift::TType::Stop, _) => break,
13972                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13973                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13974                (::fbthrift::TType::List, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
13975                (fty, _) => p.skip(fty)?,
13976            }
13977            p.read_field_end()?;
13978        }
13979        p.read_struct_end()?;
13980        ::std::result::Result::Ok(Self {
13981            code: field_code.unwrap_or_default(),
13982            leader: field_leader.unwrap_or_default(),
13983            hosts: field_hosts.unwrap_or_default(),
13984            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13985        })
13986    }
13987}
13988
13989
13990#[allow(clippy::derivable_impls)]
13991impl ::std::default::Default for self::ListZonesReq {
13992    fn default() -> Self {
13993        Self {
13994            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
13995        }
13996    }
13997}
13998
13999impl ::std::fmt::Debug for self::ListZonesReq {
14000    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14001        formatter
14002            .debug_struct("ListZonesReq")
14003            .finish()
14004    }
14005}
14006
14007unsafe impl ::std::marker::Send for self::ListZonesReq {}
14008unsafe impl ::std::marker::Sync for self::ListZonesReq {}
14009
14010impl ::fbthrift::GetTType for self::ListZonesReq {
14011    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14012}
14013
14014impl<P> ::fbthrift::Serialize<P> for self::ListZonesReq
14015where
14016    P: ::fbthrift::ProtocolWriter,
14017{
14018    fn write(&self, p: &mut P) {
14019        p.write_struct_begin("ListZonesReq");
14020        p.write_field_stop();
14021        p.write_struct_end();
14022    }
14023}
14024
14025impl<P> ::fbthrift::Deserialize<P> for self::ListZonesReq
14026where
14027    P: ::fbthrift::ProtocolReader,
14028{
14029    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14030        static FIELDS: &[::fbthrift::Field] = &[
14031        ];
14032        let _ = p.read_struct_begin(|_| ())?;
14033        loop {
14034            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14035            match (fty, fid as ::std::primitive::i32) {
14036                (::fbthrift::TType::Stop, _) => break,
14037                (fty, _) => p.skip(fty)?,
14038            }
14039            p.read_field_end()?;
14040        }
14041        p.read_struct_end()?;
14042        ::std::result::Result::Ok(Self {
14043            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14044        })
14045    }
14046}
14047
14048
14049#[allow(clippy::derivable_impls)]
14050impl ::std::default::Default for self::Zone {
14051    fn default() -> Self {
14052        Self {
14053            zone_name: ::std::default::Default::default(),
14054            nodes: ::std::default::Default::default(),
14055            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14056        }
14057    }
14058}
14059
14060impl ::std::fmt::Debug for self::Zone {
14061    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14062        formatter
14063            .debug_struct("Zone")
14064            .field("zone_name", &self.zone_name)
14065            .field("nodes", &self.nodes)
14066            .finish()
14067    }
14068}
14069
14070unsafe impl ::std::marker::Send for self::Zone {}
14071unsafe impl ::std::marker::Sync for self::Zone {}
14072
14073impl ::fbthrift::GetTType for self::Zone {
14074    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14075}
14076
14077impl<P> ::fbthrift::Serialize<P> for self::Zone
14078where
14079    P: ::fbthrift::ProtocolWriter,
14080{
14081    fn write(&self, p: &mut P) {
14082        p.write_struct_begin("Zone");
14083        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
14084        ::fbthrift::Serialize::write(&self.zone_name, p);
14085        p.write_field_end();
14086        p.write_field_begin("nodes", ::fbthrift::TType::List, 2);
14087        ::fbthrift::Serialize::write(&self.nodes, p);
14088        p.write_field_end();
14089        p.write_field_stop();
14090        p.write_struct_end();
14091    }
14092}
14093
14094impl<P> ::fbthrift::Deserialize<P> for self::Zone
14095where
14096    P: ::fbthrift::ProtocolReader,
14097{
14098    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14099        static FIELDS: &[::fbthrift::Field] = &[
14100            ::fbthrift::Field::new("nodes", ::fbthrift::TType::List, 2),
14101            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
14102        ];
14103        let mut field_zone_name = ::std::option::Option::None;
14104        let mut field_nodes = ::std::option::Option::None;
14105        let _ = p.read_struct_begin(|_| ())?;
14106        loop {
14107            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14108            match (fty, fid as ::std::primitive::i32) {
14109                (::fbthrift::TType::Stop, _) => break,
14110                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14111                (::fbthrift::TType::List, 2) => field_nodes = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14112                (fty, _) => p.skip(fty)?,
14113            }
14114            p.read_field_end()?;
14115        }
14116        p.read_struct_end()?;
14117        ::std::result::Result::Ok(Self {
14118            zone_name: field_zone_name.unwrap_or_default(),
14119            nodes: field_nodes.unwrap_or_default(),
14120            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14121        })
14122    }
14123}
14124
14125
14126#[allow(clippy::derivable_impls)]
14127impl ::std::default::Default for self::ListZonesResp {
14128    fn default() -> Self {
14129        Self {
14130            code: ::std::default::Default::default(),
14131            leader: ::std::default::Default::default(),
14132            zones: ::std::default::Default::default(),
14133            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14134        }
14135    }
14136}
14137
14138impl ::std::fmt::Debug for self::ListZonesResp {
14139    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14140        formatter
14141            .debug_struct("ListZonesResp")
14142            .field("code", &self.code)
14143            .field("leader", &self.leader)
14144            .field("zones", &self.zones)
14145            .finish()
14146    }
14147}
14148
14149unsafe impl ::std::marker::Send for self::ListZonesResp {}
14150unsafe impl ::std::marker::Sync for self::ListZonesResp {}
14151
14152impl ::fbthrift::GetTType for self::ListZonesResp {
14153    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14154}
14155
14156impl<P> ::fbthrift::Serialize<P> for self::ListZonesResp
14157where
14158    P: ::fbthrift::ProtocolWriter,
14159{
14160    fn write(&self, p: &mut P) {
14161        p.write_struct_begin("ListZonesResp");
14162        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14163        ::fbthrift::Serialize::write(&self.code, p);
14164        p.write_field_end();
14165        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14166        ::fbthrift::Serialize::write(&self.leader, p);
14167        p.write_field_end();
14168        p.write_field_begin("zones", ::fbthrift::TType::List, 3);
14169        ::fbthrift::Serialize::write(&self.zones, p);
14170        p.write_field_end();
14171        p.write_field_stop();
14172        p.write_struct_end();
14173    }
14174}
14175
14176impl<P> ::fbthrift::Deserialize<P> for self::ListZonesResp
14177where
14178    P: ::fbthrift::ProtocolReader,
14179{
14180    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14181        static FIELDS: &[::fbthrift::Field] = &[
14182            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14183            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14184            ::fbthrift::Field::new("zones", ::fbthrift::TType::List, 3),
14185        ];
14186        let mut field_code = ::std::option::Option::None;
14187        let mut field_leader = ::std::option::Option::None;
14188        let mut field_zones = ::std::option::Option::None;
14189        let _ = p.read_struct_begin(|_| ())?;
14190        loop {
14191            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14192            match (fty, fid as ::std::primitive::i32) {
14193                (::fbthrift::TType::Stop, _) => break,
14194                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14195                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14196                (::fbthrift::TType::List, 3) => field_zones = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14197                (fty, _) => p.skip(fty)?,
14198            }
14199            p.read_field_end()?;
14200        }
14201        p.read_struct_end()?;
14202        ::std::result::Result::Ok(Self {
14203            code: field_code.unwrap_or_default(),
14204            leader: field_leader.unwrap_or_default(),
14205            zones: field_zones.unwrap_or_default(),
14206            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14207        })
14208    }
14209}
14210
14211
14212#[allow(clippy::derivable_impls)]
14213impl ::std::default::Default for self::AddGroupReq {
14214    fn default() -> Self {
14215        Self {
14216            group_name: ::std::default::Default::default(),
14217            zone_names: ::std::default::Default::default(),
14218            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14219        }
14220    }
14221}
14222
14223impl ::std::fmt::Debug for self::AddGroupReq {
14224    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14225        formatter
14226            .debug_struct("AddGroupReq")
14227            .field("group_name", &self.group_name)
14228            .field("zone_names", &self.zone_names)
14229            .finish()
14230    }
14231}
14232
14233unsafe impl ::std::marker::Send for self::AddGroupReq {}
14234unsafe impl ::std::marker::Sync for self::AddGroupReq {}
14235
14236impl ::fbthrift::GetTType for self::AddGroupReq {
14237    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14238}
14239
14240impl<P> ::fbthrift::Serialize<P> for self::AddGroupReq
14241where
14242    P: ::fbthrift::ProtocolWriter,
14243{
14244    fn write(&self, p: &mut P) {
14245        p.write_struct_begin("AddGroupReq");
14246        p.write_field_begin("group_name", ::fbthrift::TType::String, 1);
14247        ::fbthrift::Serialize::write(&self.group_name, p);
14248        p.write_field_end();
14249        p.write_field_begin("zone_names", ::fbthrift::TType::List, 2);
14250        ::fbthrift::Serialize::write(&self.zone_names, p);
14251        p.write_field_end();
14252        p.write_field_stop();
14253        p.write_struct_end();
14254    }
14255}
14256
14257impl<P> ::fbthrift::Deserialize<P> for self::AddGroupReq
14258where
14259    P: ::fbthrift::ProtocolReader,
14260{
14261    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14262        static FIELDS: &[::fbthrift::Field] = &[
14263            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 1),
14264            ::fbthrift::Field::new("zone_names", ::fbthrift::TType::List, 2),
14265        ];
14266        let mut field_group_name = ::std::option::Option::None;
14267        let mut field_zone_names = ::std::option::Option::None;
14268        let _ = p.read_struct_begin(|_| ())?;
14269        loop {
14270            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14271            match (fty, fid as ::std::primitive::i32) {
14272                (::fbthrift::TType::Stop, _) => break,
14273                (::fbthrift::TType::String, 1) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14274                (::fbthrift::TType::List, 2) => field_zone_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14275                (fty, _) => p.skip(fty)?,
14276            }
14277            p.read_field_end()?;
14278        }
14279        p.read_struct_end()?;
14280        ::std::result::Result::Ok(Self {
14281            group_name: field_group_name.unwrap_or_default(),
14282            zone_names: field_zone_names.unwrap_or_default(),
14283            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14284        })
14285    }
14286}
14287
14288
14289#[allow(clippy::derivable_impls)]
14290impl ::std::default::Default for self::DropGroupReq {
14291    fn default() -> Self {
14292        Self {
14293            group_name: ::std::default::Default::default(),
14294            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14295        }
14296    }
14297}
14298
14299impl ::std::fmt::Debug for self::DropGroupReq {
14300    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14301        formatter
14302            .debug_struct("DropGroupReq")
14303            .field("group_name", &self.group_name)
14304            .finish()
14305    }
14306}
14307
14308unsafe impl ::std::marker::Send for self::DropGroupReq {}
14309unsafe impl ::std::marker::Sync for self::DropGroupReq {}
14310
14311impl ::fbthrift::GetTType for self::DropGroupReq {
14312    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14313}
14314
14315impl<P> ::fbthrift::Serialize<P> for self::DropGroupReq
14316where
14317    P: ::fbthrift::ProtocolWriter,
14318{
14319    fn write(&self, p: &mut P) {
14320        p.write_struct_begin("DropGroupReq");
14321        p.write_field_begin("group_name", ::fbthrift::TType::String, 1);
14322        ::fbthrift::Serialize::write(&self.group_name, p);
14323        p.write_field_end();
14324        p.write_field_stop();
14325        p.write_struct_end();
14326    }
14327}
14328
14329impl<P> ::fbthrift::Deserialize<P> for self::DropGroupReq
14330where
14331    P: ::fbthrift::ProtocolReader,
14332{
14333    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14334        static FIELDS: &[::fbthrift::Field] = &[
14335            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 1),
14336        ];
14337        let mut field_group_name = ::std::option::Option::None;
14338        let _ = p.read_struct_begin(|_| ())?;
14339        loop {
14340            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14341            match (fty, fid as ::std::primitive::i32) {
14342                (::fbthrift::TType::Stop, _) => break,
14343                (::fbthrift::TType::String, 1) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14344                (fty, _) => p.skip(fty)?,
14345            }
14346            p.read_field_end()?;
14347        }
14348        p.read_struct_end()?;
14349        ::std::result::Result::Ok(Self {
14350            group_name: field_group_name.unwrap_or_default(),
14351            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14352        })
14353    }
14354}
14355
14356
14357#[allow(clippy::derivable_impls)]
14358impl ::std::default::Default for self::AddZoneIntoGroupReq {
14359    fn default() -> Self {
14360        Self {
14361            zone_name: ::std::default::Default::default(),
14362            group_name: ::std::default::Default::default(),
14363            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14364        }
14365    }
14366}
14367
14368impl ::std::fmt::Debug for self::AddZoneIntoGroupReq {
14369    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14370        formatter
14371            .debug_struct("AddZoneIntoGroupReq")
14372            .field("zone_name", &self.zone_name)
14373            .field("group_name", &self.group_name)
14374            .finish()
14375    }
14376}
14377
14378unsafe impl ::std::marker::Send for self::AddZoneIntoGroupReq {}
14379unsafe impl ::std::marker::Sync for self::AddZoneIntoGroupReq {}
14380
14381impl ::fbthrift::GetTType for self::AddZoneIntoGroupReq {
14382    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14383}
14384
14385impl<P> ::fbthrift::Serialize<P> for self::AddZoneIntoGroupReq
14386where
14387    P: ::fbthrift::ProtocolWriter,
14388{
14389    fn write(&self, p: &mut P) {
14390        p.write_struct_begin("AddZoneIntoGroupReq");
14391        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
14392        ::fbthrift::Serialize::write(&self.zone_name, p);
14393        p.write_field_end();
14394        p.write_field_begin("group_name", ::fbthrift::TType::String, 2);
14395        ::fbthrift::Serialize::write(&self.group_name, p);
14396        p.write_field_end();
14397        p.write_field_stop();
14398        p.write_struct_end();
14399    }
14400}
14401
14402impl<P> ::fbthrift::Deserialize<P> for self::AddZoneIntoGroupReq
14403where
14404    P: ::fbthrift::ProtocolReader,
14405{
14406    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14407        static FIELDS: &[::fbthrift::Field] = &[
14408            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 2),
14409            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
14410        ];
14411        let mut field_zone_name = ::std::option::Option::None;
14412        let mut field_group_name = ::std::option::Option::None;
14413        let _ = p.read_struct_begin(|_| ())?;
14414        loop {
14415            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14416            match (fty, fid as ::std::primitive::i32) {
14417                (::fbthrift::TType::Stop, _) => break,
14418                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14419                (::fbthrift::TType::String, 2) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14420                (fty, _) => p.skip(fty)?,
14421            }
14422            p.read_field_end()?;
14423        }
14424        p.read_struct_end()?;
14425        ::std::result::Result::Ok(Self {
14426            zone_name: field_zone_name.unwrap_or_default(),
14427            group_name: field_group_name.unwrap_or_default(),
14428            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14429        })
14430    }
14431}
14432
14433
14434#[allow(clippy::derivable_impls)]
14435impl ::std::default::Default for self::DropZoneFromGroupReq {
14436    fn default() -> Self {
14437        Self {
14438            zone_name: ::std::default::Default::default(),
14439            group_name: ::std::default::Default::default(),
14440            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14441        }
14442    }
14443}
14444
14445impl ::std::fmt::Debug for self::DropZoneFromGroupReq {
14446    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14447        formatter
14448            .debug_struct("DropZoneFromGroupReq")
14449            .field("zone_name", &self.zone_name)
14450            .field("group_name", &self.group_name)
14451            .finish()
14452    }
14453}
14454
14455unsafe impl ::std::marker::Send for self::DropZoneFromGroupReq {}
14456unsafe impl ::std::marker::Sync for self::DropZoneFromGroupReq {}
14457
14458impl ::fbthrift::GetTType for self::DropZoneFromGroupReq {
14459    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14460}
14461
14462impl<P> ::fbthrift::Serialize<P> for self::DropZoneFromGroupReq
14463where
14464    P: ::fbthrift::ProtocolWriter,
14465{
14466    fn write(&self, p: &mut P) {
14467        p.write_struct_begin("DropZoneFromGroupReq");
14468        p.write_field_begin("zone_name", ::fbthrift::TType::String, 1);
14469        ::fbthrift::Serialize::write(&self.zone_name, p);
14470        p.write_field_end();
14471        p.write_field_begin("group_name", ::fbthrift::TType::String, 2);
14472        ::fbthrift::Serialize::write(&self.group_name, p);
14473        p.write_field_end();
14474        p.write_field_stop();
14475        p.write_struct_end();
14476    }
14477}
14478
14479impl<P> ::fbthrift::Deserialize<P> for self::DropZoneFromGroupReq
14480where
14481    P: ::fbthrift::ProtocolReader,
14482{
14483    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14484        static FIELDS: &[::fbthrift::Field] = &[
14485            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 2),
14486            ::fbthrift::Field::new("zone_name", ::fbthrift::TType::String, 1),
14487        ];
14488        let mut field_zone_name = ::std::option::Option::None;
14489        let mut field_group_name = ::std::option::Option::None;
14490        let _ = p.read_struct_begin(|_| ())?;
14491        loop {
14492            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14493            match (fty, fid as ::std::primitive::i32) {
14494                (::fbthrift::TType::Stop, _) => break,
14495                (::fbthrift::TType::String, 1) => field_zone_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14496                (::fbthrift::TType::String, 2) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14497                (fty, _) => p.skip(fty)?,
14498            }
14499            p.read_field_end()?;
14500        }
14501        p.read_struct_end()?;
14502        ::std::result::Result::Ok(Self {
14503            zone_name: field_zone_name.unwrap_or_default(),
14504            group_name: field_group_name.unwrap_or_default(),
14505            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14506        })
14507    }
14508}
14509
14510
14511#[allow(clippy::derivable_impls)]
14512impl ::std::default::Default for self::GetGroupReq {
14513    fn default() -> Self {
14514        Self {
14515            group_name: ::std::default::Default::default(),
14516            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14517        }
14518    }
14519}
14520
14521impl ::std::fmt::Debug for self::GetGroupReq {
14522    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14523        formatter
14524            .debug_struct("GetGroupReq")
14525            .field("group_name", &self.group_name)
14526            .finish()
14527    }
14528}
14529
14530unsafe impl ::std::marker::Send for self::GetGroupReq {}
14531unsafe impl ::std::marker::Sync for self::GetGroupReq {}
14532
14533impl ::fbthrift::GetTType for self::GetGroupReq {
14534    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14535}
14536
14537impl<P> ::fbthrift::Serialize<P> for self::GetGroupReq
14538where
14539    P: ::fbthrift::ProtocolWriter,
14540{
14541    fn write(&self, p: &mut P) {
14542        p.write_struct_begin("GetGroupReq");
14543        p.write_field_begin("group_name", ::fbthrift::TType::String, 1);
14544        ::fbthrift::Serialize::write(&self.group_name, p);
14545        p.write_field_end();
14546        p.write_field_stop();
14547        p.write_struct_end();
14548    }
14549}
14550
14551impl<P> ::fbthrift::Deserialize<P> for self::GetGroupReq
14552where
14553    P: ::fbthrift::ProtocolReader,
14554{
14555    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14556        static FIELDS: &[::fbthrift::Field] = &[
14557            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 1),
14558        ];
14559        let mut field_group_name = ::std::option::Option::None;
14560        let _ = p.read_struct_begin(|_| ())?;
14561        loop {
14562            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14563            match (fty, fid as ::std::primitive::i32) {
14564                (::fbthrift::TType::Stop, _) => break,
14565                (::fbthrift::TType::String, 1) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14566                (fty, _) => p.skip(fty)?,
14567            }
14568            p.read_field_end()?;
14569        }
14570        p.read_struct_end()?;
14571        ::std::result::Result::Ok(Self {
14572            group_name: field_group_name.unwrap_or_default(),
14573            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14574        })
14575    }
14576}
14577
14578
14579#[allow(clippy::derivable_impls)]
14580impl ::std::default::Default for self::GetGroupResp {
14581    fn default() -> Self {
14582        Self {
14583            code: ::std::default::Default::default(),
14584            leader: ::std::default::Default::default(),
14585            zone_names: ::std::default::Default::default(),
14586            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14587        }
14588    }
14589}
14590
14591impl ::std::fmt::Debug for self::GetGroupResp {
14592    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14593        formatter
14594            .debug_struct("GetGroupResp")
14595            .field("code", &self.code)
14596            .field("leader", &self.leader)
14597            .field("zone_names", &self.zone_names)
14598            .finish()
14599    }
14600}
14601
14602unsafe impl ::std::marker::Send for self::GetGroupResp {}
14603unsafe impl ::std::marker::Sync for self::GetGroupResp {}
14604
14605impl ::fbthrift::GetTType for self::GetGroupResp {
14606    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14607}
14608
14609impl<P> ::fbthrift::Serialize<P> for self::GetGroupResp
14610where
14611    P: ::fbthrift::ProtocolWriter,
14612{
14613    fn write(&self, p: &mut P) {
14614        p.write_struct_begin("GetGroupResp");
14615        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14616        ::fbthrift::Serialize::write(&self.code, p);
14617        p.write_field_end();
14618        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14619        ::fbthrift::Serialize::write(&self.leader, p);
14620        p.write_field_end();
14621        p.write_field_begin("zone_names", ::fbthrift::TType::List, 3);
14622        ::fbthrift::Serialize::write(&self.zone_names, p);
14623        p.write_field_end();
14624        p.write_field_stop();
14625        p.write_struct_end();
14626    }
14627}
14628
14629impl<P> ::fbthrift::Deserialize<P> for self::GetGroupResp
14630where
14631    P: ::fbthrift::ProtocolReader,
14632{
14633    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14634        static FIELDS: &[::fbthrift::Field] = &[
14635            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14636            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14637            ::fbthrift::Field::new("zone_names", ::fbthrift::TType::List, 3),
14638        ];
14639        let mut field_code = ::std::option::Option::None;
14640        let mut field_leader = ::std::option::Option::None;
14641        let mut field_zone_names = ::std::option::Option::None;
14642        let _ = p.read_struct_begin(|_| ())?;
14643        loop {
14644            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14645            match (fty, fid as ::std::primitive::i32) {
14646                (::fbthrift::TType::Stop, _) => break,
14647                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14648                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14649                (::fbthrift::TType::List, 3) => field_zone_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14650                (fty, _) => p.skip(fty)?,
14651            }
14652            p.read_field_end()?;
14653        }
14654        p.read_struct_end()?;
14655        ::std::result::Result::Ok(Self {
14656            code: field_code.unwrap_or_default(),
14657            leader: field_leader.unwrap_or_default(),
14658            zone_names: field_zone_names.unwrap_or_default(),
14659            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14660        })
14661    }
14662}
14663
14664
14665#[allow(clippy::derivable_impls)]
14666impl ::std::default::Default for self::ListGroupsReq {
14667    fn default() -> Self {
14668        Self {
14669            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14670        }
14671    }
14672}
14673
14674impl ::std::fmt::Debug for self::ListGroupsReq {
14675    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14676        formatter
14677            .debug_struct("ListGroupsReq")
14678            .finish()
14679    }
14680}
14681
14682unsafe impl ::std::marker::Send for self::ListGroupsReq {}
14683unsafe impl ::std::marker::Sync for self::ListGroupsReq {}
14684
14685impl ::fbthrift::GetTType for self::ListGroupsReq {
14686    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14687}
14688
14689impl<P> ::fbthrift::Serialize<P> for self::ListGroupsReq
14690where
14691    P: ::fbthrift::ProtocolWriter,
14692{
14693    fn write(&self, p: &mut P) {
14694        p.write_struct_begin("ListGroupsReq");
14695        p.write_field_stop();
14696        p.write_struct_end();
14697    }
14698}
14699
14700impl<P> ::fbthrift::Deserialize<P> for self::ListGroupsReq
14701where
14702    P: ::fbthrift::ProtocolReader,
14703{
14704    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14705        static FIELDS: &[::fbthrift::Field] = &[
14706        ];
14707        let _ = p.read_struct_begin(|_| ())?;
14708        loop {
14709            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14710            match (fty, fid as ::std::primitive::i32) {
14711                (::fbthrift::TType::Stop, _) => break,
14712                (fty, _) => p.skip(fty)?,
14713            }
14714            p.read_field_end()?;
14715        }
14716        p.read_struct_end()?;
14717        ::std::result::Result::Ok(Self {
14718            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14719        })
14720    }
14721}
14722
14723
14724#[allow(clippy::derivable_impls)]
14725impl ::std::default::Default for self::Group {
14726    fn default() -> Self {
14727        Self {
14728            group_name: ::std::default::Default::default(),
14729            zone_names: ::std::default::Default::default(),
14730            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14731        }
14732    }
14733}
14734
14735impl ::std::fmt::Debug for self::Group {
14736    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14737        formatter
14738            .debug_struct("Group")
14739            .field("group_name", &self.group_name)
14740            .field("zone_names", &self.zone_names)
14741            .finish()
14742    }
14743}
14744
14745unsafe impl ::std::marker::Send for self::Group {}
14746unsafe impl ::std::marker::Sync for self::Group {}
14747
14748impl ::fbthrift::GetTType for self::Group {
14749    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14750}
14751
14752impl<P> ::fbthrift::Serialize<P> for self::Group
14753where
14754    P: ::fbthrift::ProtocolWriter,
14755{
14756    fn write(&self, p: &mut P) {
14757        p.write_struct_begin("Group");
14758        p.write_field_begin("group_name", ::fbthrift::TType::String, 1);
14759        ::fbthrift::Serialize::write(&self.group_name, p);
14760        p.write_field_end();
14761        p.write_field_begin("zone_names", ::fbthrift::TType::List, 2);
14762        ::fbthrift::Serialize::write(&self.zone_names, p);
14763        p.write_field_end();
14764        p.write_field_stop();
14765        p.write_struct_end();
14766    }
14767}
14768
14769impl<P> ::fbthrift::Deserialize<P> for self::Group
14770where
14771    P: ::fbthrift::ProtocolReader,
14772{
14773    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14774        static FIELDS: &[::fbthrift::Field] = &[
14775            ::fbthrift::Field::new("group_name", ::fbthrift::TType::String, 1),
14776            ::fbthrift::Field::new("zone_names", ::fbthrift::TType::List, 2),
14777        ];
14778        let mut field_group_name = ::std::option::Option::None;
14779        let mut field_zone_names = ::std::option::Option::None;
14780        let _ = p.read_struct_begin(|_| ())?;
14781        loop {
14782            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14783            match (fty, fid as ::std::primitive::i32) {
14784                (::fbthrift::TType::Stop, _) => break,
14785                (::fbthrift::TType::String, 1) => field_group_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14786                (::fbthrift::TType::List, 2) => field_zone_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14787                (fty, _) => p.skip(fty)?,
14788            }
14789            p.read_field_end()?;
14790        }
14791        p.read_struct_end()?;
14792        ::std::result::Result::Ok(Self {
14793            group_name: field_group_name.unwrap_or_default(),
14794            zone_names: field_zone_names.unwrap_or_default(),
14795            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14796        })
14797    }
14798}
14799
14800
14801#[allow(clippy::derivable_impls)]
14802impl ::std::default::Default for self::ListGroupsResp {
14803    fn default() -> Self {
14804        Self {
14805            code: ::std::default::Default::default(),
14806            leader: ::std::default::Default::default(),
14807            groups: ::std::default::Default::default(),
14808            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14809        }
14810    }
14811}
14812
14813impl ::std::fmt::Debug for self::ListGroupsResp {
14814    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14815        formatter
14816            .debug_struct("ListGroupsResp")
14817            .field("code", &self.code)
14818            .field("leader", &self.leader)
14819            .field("groups", &self.groups)
14820            .finish()
14821    }
14822}
14823
14824unsafe impl ::std::marker::Send for self::ListGroupsResp {}
14825unsafe impl ::std::marker::Sync for self::ListGroupsResp {}
14826
14827impl ::fbthrift::GetTType for self::ListGroupsResp {
14828    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14829}
14830
14831impl<P> ::fbthrift::Serialize<P> for self::ListGroupsResp
14832where
14833    P: ::fbthrift::ProtocolWriter,
14834{
14835    fn write(&self, p: &mut P) {
14836        p.write_struct_begin("ListGroupsResp");
14837        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
14838        ::fbthrift::Serialize::write(&self.code, p);
14839        p.write_field_end();
14840        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
14841        ::fbthrift::Serialize::write(&self.leader, p);
14842        p.write_field_end();
14843        p.write_field_begin("groups", ::fbthrift::TType::List, 3);
14844        ::fbthrift::Serialize::write(&self.groups, p);
14845        p.write_field_end();
14846        p.write_field_stop();
14847        p.write_struct_end();
14848    }
14849}
14850
14851impl<P> ::fbthrift::Deserialize<P> for self::ListGroupsResp
14852where
14853    P: ::fbthrift::ProtocolReader,
14854{
14855    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14856        static FIELDS: &[::fbthrift::Field] = &[
14857            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
14858            ::fbthrift::Field::new("groups", ::fbthrift::TType::List, 3),
14859            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
14860        ];
14861        let mut field_code = ::std::option::Option::None;
14862        let mut field_leader = ::std::option::Option::None;
14863        let mut field_groups = ::std::option::Option::None;
14864        let _ = p.read_struct_begin(|_| ())?;
14865        loop {
14866            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14867            match (fty, fid as ::std::primitive::i32) {
14868                (::fbthrift::TType::Stop, _) => break,
14869                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14870                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14871                (::fbthrift::TType::List, 3) => field_groups = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14872                (fty, _) => p.skip(fty)?,
14873            }
14874            p.read_field_end()?;
14875        }
14876        p.read_struct_end()?;
14877        ::std::result::Result::Ok(Self {
14878            code: field_code.unwrap_or_default(),
14879            leader: field_leader.unwrap_or_default(),
14880            groups: field_groups.unwrap_or_default(),
14881            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14882        })
14883    }
14884}
14885
14886
14887#[allow(clippy::derivable_impls)]
14888impl ::std::default::Default for self::AddListenerReq {
14889    fn default() -> Self {
14890        Self {
14891            space_id: ::std::default::Default::default(),
14892            r#type: ::std::default::Default::default(),
14893            hosts: ::std::default::Default::default(),
14894            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14895        }
14896    }
14897}
14898
14899impl ::std::fmt::Debug for self::AddListenerReq {
14900    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14901        formatter
14902            .debug_struct("AddListenerReq")
14903            .field("space_id", &self.space_id)
14904            .field("r#type", &self.r#type)
14905            .field("hosts", &self.hosts)
14906            .finish()
14907    }
14908}
14909
14910unsafe impl ::std::marker::Send for self::AddListenerReq {}
14911unsafe impl ::std::marker::Sync for self::AddListenerReq {}
14912
14913impl ::fbthrift::GetTType for self::AddListenerReq {
14914    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14915}
14916
14917impl<P> ::fbthrift::Serialize<P> for self::AddListenerReq
14918where
14919    P: ::fbthrift::ProtocolWriter,
14920{
14921    fn write(&self, p: &mut P) {
14922        p.write_struct_begin("AddListenerReq");
14923        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
14924        ::fbthrift::Serialize::write(&self.space_id, p);
14925        p.write_field_end();
14926        p.write_field_begin("type", ::fbthrift::TType::I32, 2);
14927        ::fbthrift::Serialize::write(&self.r#type, p);
14928        p.write_field_end();
14929        p.write_field_begin("hosts", ::fbthrift::TType::List, 3);
14930        ::fbthrift::Serialize::write(&self.hosts, p);
14931        p.write_field_end();
14932        p.write_field_stop();
14933        p.write_struct_end();
14934    }
14935}
14936
14937impl<P> ::fbthrift::Deserialize<P> for self::AddListenerReq
14938where
14939    P: ::fbthrift::ProtocolReader,
14940{
14941    fn read(p: &mut P) -> ::anyhow::Result<Self> {
14942        static FIELDS: &[::fbthrift::Field] = &[
14943            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 3),
14944            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
14945            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 2),
14946        ];
14947        let mut field_space_id = ::std::option::Option::None;
14948        let mut field_type = ::std::option::Option::None;
14949        let mut field_hosts = ::std::option::Option::None;
14950        let _ = p.read_struct_begin(|_| ())?;
14951        loop {
14952            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
14953            match (fty, fid as ::std::primitive::i32) {
14954                (::fbthrift::TType::Stop, _) => break,
14955                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14956                (::fbthrift::TType::I32, 2) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14957                (::fbthrift::TType::List, 3) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
14958                (fty, _) => p.skip(fty)?,
14959            }
14960            p.read_field_end()?;
14961        }
14962        p.read_struct_end()?;
14963        ::std::result::Result::Ok(Self {
14964            space_id: field_space_id.unwrap_or_default(),
14965            r#type: field_type.unwrap_or_default(),
14966            hosts: field_hosts.unwrap_or_default(),
14967            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14968        })
14969    }
14970}
14971
14972
14973#[allow(clippy::derivable_impls)]
14974impl ::std::default::Default for self::RemoveListenerReq {
14975    fn default() -> Self {
14976        Self {
14977            space_id: ::std::default::Default::default(),
14978            r#type: ::std::default::Default::default(),
14979            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
14980        }
14981    }
14982}
14983
14984impl ::std::fmt::Debug for self::RemoveListenerReq {
14985    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
14986        formatter
14987            .debug_struct("RemoveListenerReq")
14988            .field("space_id", &self.space_id)
14989            .field("r#type", &self.r#type)
14990            .finish()
14991    }
14992}
14993
14994unsafe impl ::std::marker::Send for self::RemoveListenerReq {}
14995unsafe impl ::std::marker::Sync for self::RemoveListenerReq {}
14996
14997impl ::fbthrift::GetTType for self::RemoveListenerReq {
14998    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
14999}
15000
15001impl<P> ::fbthrift::Serialize<P> for self::RemoveListenerReq
15002where
15003    P: ::fbthrift::ProtocolWriter,
15004{
15005    fn write(&self, p: &mut P) {
15006        p.write_struct_begin("RemoveListenerReq");
15007        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
15008        ::fbthrift::Serialize::write(&self.space_id, p);
15009        p.write_field_end();
15010        p.write_field_begin("type", ::fbthrift::TType::I32, 2);
15011        ::fbthrift::Serialize::write(&self.r#type, p);
15012        p.write_field_end();
15013        p.write_field_stop();
15014        p.write_struct_end();
15015    }
15016}
15017
15018impl<P> ::fbthrift::Deserialize<P> for self::RemoveListenerReq
15019where
15020    P: ::fbthrift::ProtocolReader,
15021{
15022    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15023        static FIELDS: &[::fbthrift::Field] = &[
15024            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
15025            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 2),
15026        ];
15027        let mut field_space_id = ::std::option::Option::None;
15028        let mut field_type = ::std::option::Option::None;
15029        let _ = p.read_struct_begin(|_| ())?;
15030        loop {
15031            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15032            match (fty, fid as ::std::primitive::i32) {
15033                (::fbthrift::TType::Stop, _) => break,
15034                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15035                (::fbthrift::TType::I32, 2) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15036                (fty, _) => p.skip(fty)?,
15037            }
15038            p.read_field_end()?;
15039        }
15040        p.read_struct_end()?;
15041        ::std::result::Result::Ok(Self {
15042            space_id: field_space_id.unwrap_or_default(),
15043            r#type: field_type.unwrap_or_default(),
15044            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15045        })
15046    }
15047}
15048
15049
15050#[allow(clippy::derivable_impls)]
15051impl ::std::default::Default for self::ListListenerReq {
15052    fn default() -> Self {
15053        Self {
15054            space_id: ::std::default::Default::default(),
15055            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15056        }
15057    }
15058}
15059
15060impl ::std::fmt::Debug for self::ListListenerReq {
15061    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15062        formatter
15063            .debug_struct("ListListenerReq")
15064            .field("space_id", &self.space_id)
15065            .finish()
15066    }
15067}
15068
15069unsafe impl ::std::marker::Send for self::ListListenerReq {}
15070unsafe impl ::std::marker::Sync for self::ListListenerReq {}
15071
15072impl ::fbthrift::GetTType for self::ListListenerReq {
15073    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15074}
15075
15076impl<P> ::fbthrift::Serialize<P> for self::ListListenerReq
15077where
15078    P: ::fbthrift::ProtocolWriter,
15079{
15080    fn write(&self, p: &mut P) {
15081        p.write_struct_begin("ListListenerReq");
15082        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
15083        ::fbthrift::Serialize::write(&self.space_id, p);
15084        p.write_field_end();
15085        p.write_field_stop();
15086        p.write_struct_end();
15087    }
15088}
15089
15090impl<P> ::fbthrift::Deserialize<P> for self::ListListenerReq
15091where
15092    P: ::fbthrift::ProtocolReader,
15093{
15094    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15095        static FIELDS: &[::fbthrift::Field] = &[
15096            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
15097        ];
15098        let mut field_space_id = ::std::option::Option::None;
15099        let _ = p.read_struct_begin(|_| ())?;
15100        loop {
15101            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15102            match (fty, fid as ::std::primitive::i32) {
15103                (::fbthrift::TType::Stop, _) => break,
15104                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15105                (fty, _) => p.skip(fty)?,
15106            }
15107            p.read_field_end()?;
15108        }
15109        p.read_struct_end()?;
15110        ::std::result::Result::Ok(Self {
15111            space_id: field_space_id.unwrap_or_default(),
15112            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15113        })
15114    }
15115}
15116
15117
15118#[allow(clippy::derivable_impls)]
15119impl ::std::default::Default for self::ListenerInfo {
15120    fn default() -> Self {
15121        Self {
15122            r#type: ::std::default::Default::default(),
15123            host: ::std::default::Default::default(),
15124            part_id: ::std::default::Default::default(),
15125            status: ::std::default::Default::default(),
15126            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15127        }
15128    }
15129}
15130
15131impl ::std::fmt::Debug for self::ListenerInfo {
15132    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15133        formatter
15134            .debug_struct("ListenerInfo")
15135            .field("r#type", &self.r#type)
15136            .field("host", &self.host)
15137            .field("part_id", &self.part_id)
15138            .field("status", &self.status)
15139            .finish()
15140    }
15141}
15142
15143unsafe impl ::std::marker::Send for self::ListenerInfo {}
15144unsafe impl ::std::marker::Sync for self::ListenerInfo {}
15145
15146impl ::fbthrift::GetTType for self::ListenerInfo {
15147    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15148}
15149
15150impl<P> ::fbthrift::Serialize<P> for self::ListenerInfo
15151where
15152    P: ::fbthrift::ProtocolWriter,
15153{
15154    fn write(&self, p: &mut P) {
15155        p.write_struct_begin("ListenerInfo");
15156        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
15157        ::fbthrift::Serialize::write(&self.r#type, p);
15158        p.write_field_end();
15159        p.write_field_begin("host", ::fbthrift::TType::Struct, 2);
15160        ::fbthrift::Serialize::write(&self.host, p);
15161        p.write_field_end();
15162        p.write_field_begin("part_id", ::fbthrift::TType::I32, 3);
15163        ::fbthrift::Serialize::write(&self.part_id, p);
15164        p.write_field_end();
15165        p.write_field_begin("status", ::fbthrift::TType::I32, 4);
15166        ::fbthrift::Serialize::write(&self.status, p);
15167        p.write_field_end();
15168        p.write_field_stop();
15169        p.write_struct_end();
15170    }
15171}
15172
15173impl<P> ::fbthrift::Deserialize<P> for self::ListenerInfo
15174where
15175    P: ::fbthrift::ProtocolReader,
15176{
15177    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15178        static FIELDS: &[::fbthrift::Field] = &[
15179            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 2),
15180            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 3),
15181            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 4),
15182            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
15183        ];
15184        let mut field_type = ::std::option::Option::None;
15185        let mut field_host = ::std::option::Option::None;
15186        let mut field_part_id = ::std::option::Option::None;
15187        let mut field_status = ::std::option::Option::None;
15188        let _ = p.read_struct_begin(|_| ())?;
15189        loop {
15190            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15191            match (fty, fid as ::std::primitive::i32) {
15192                (::fbthrift::TType::Stop, _) => break,
15193                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15194                (::fbthrift::TType::Struct, 2) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15195                (::fbthrift::TType::I32, 3) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15196                (::fbthrift::TType::I32, 4) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15197                (fty, _) => p.skip(fty)?,
15198            }
15199            p.read_field_end()?;
15200        }
15201        p.read_struct_end()?;
15202        ::std::result::Result::Ok(Self {
15203            r#type: field_type.unwrap_or_default(),
15204            host: field_host.unwrap_or_default(),
15205            part_id: field_part_id.unwrap_or_default(),
15206            status: field_status.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::ListListenerResp {
15215    fn default() -> Self {
15216        Self {
15217            code: ::std::default::Default::default(),
15218            leader: ::std::default::Default::default(),
15219            listeners: ::std::default::Default::default(),
15220            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15221        }
15222    }
15223}
15224
15225impl ::std::fmt::Debug for self::ListListenerResp {
15226    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15227        formatter
15228            .debug_struct("ListListenerResp")
15229            .field("code", &self.code)
15230            .field("leader", &self.leader)
15231            .field("listeners", &self.listeners)
15232            .finish()
15233    }
15234}
15235
15236unsafe impl ::std::marker::Send for self::ListListenerResp {}
15237unsafe impl ::std::marker::Sync for self::ListListenerResp {}
15238
15239impl ::fbthrift::GetTType for self::ListListenerResp {
15240    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15241}
15242
15243impl<P> ::fbthrift::Serialize<P> for self::ListListenerResp
15244where
15245    P: ::fbthrift::ProtocolWriter,
15246{
15247    fn write(&self, p: &mut P) {
15248        p.write_struct_begin("ListListenerResp");
15249        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
15250        ::fbthrift::Serialize::write(&self.code, p);
15251        p.write_field_end();
15252        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
15253        ::fbthrift::Serialize::write(&self.leader, p);
15254        p.write_field_end();
15255        p.write_field_begin("listeners", ::fbthrift::TType::List, 3);
15256        ::fbthrift::Serialize::write(&self.listeners, p);
15257        p.write_field_end();
15258        p.write_field_stop();
15259        p.write_struct_end();
15260    }
15261}
15262
15263impl<P> ::fbthrift::Deserialize<P> for self::ListListenerResp
15264where
15265    P: ::fbthrift::ProtocolReader,
15266{
15267    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15268        static FIELDS: &[::fbthrift::Field] = &[
15269            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
15270            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
15271            ::fbthrift::Field::new("listeners", ::fbthrift::TType::List, 3),
15272        ];
15273        let mut field_code = ::std::option::Option::None;
15274        let mut field_leader = ::std::option::Option::None;
15275        let mut field_listeners = ::std::option::Option::None;
15276        let _ = p.read_struct_begin(|_| ())?;
15277        loop {
15278            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15279            match (fty, fid as ::std::primitive::i32) {
15280                (::fbthrift::TType::Stop, _) => break,
15281                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15282                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15283                (::fbthrift::TType::List, 3) => field_listeners = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15284                (fty, _) => p.skip(fty)?,
15285            }
15286            p.read_field_end()?;
15287        }
15288        p.read_struct_end()?;
15289        ::std::result::Result::Ok(Self {
15290            code: field_code.unwrap_or_default(),
15291            leader: field_leader.unwrap_or_default(),
15292            listeners: field_listeners.unwrap_or_default(),
15293            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15294        })
15295    }
15296}
15297
15298
15299#[allow(clippy::derivable_impls)]
15300impl ::std::default::Default for self::GetStatsReq {
15301    fn default() -> Self {
15302        Self {
15303            space_id: ::std::default::Default::default(),
15304            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15305        }
15306    }
15307}
15308
15309impl ::std::fmt::Debug for self::GetStatsReq {
15310    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15311        formatter
15312            .debug_struct("GetStatsReq")
15313            .field("space_id", &self.space_id)
15314            .finish()
15315    }
15316}
15317
15318unsafe impl ::std::marker::Send for self::GetStatsReq {}
15319unsafe impl ::std::marker::Sync for self::GetStatsReq {}
15320
15321impl ::fbthrift::GetTType for self::GetStatsReq {
15322    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15323}
15324
15325impl<P> ::fbthrift::Serialize<P> for self::GetStatsReq
15326where
15327    P: ::fbthrift::ProtocolWriter,
15328{
15329    fn write(&self, p: &mut P) {
15330        p.write_struct_begin("GetStatsReq");
15331        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
15332        ::fbthrift::Serialize::write(&self.space_id, p);
15333        p.write_field_end();
15334        p.write_field_stop();
15335        p.write_struct_end();
15336    }
15337}
15338
15339impl<P> ::fbthrift::Deserialize<P> for self::GetStatsReq
15340where
15341    P: ::fbthrift::ProtocolReader,
15342{
15343    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15344        static FIELDS: &[::fbthrift::Field] = &[
15345            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
15346        ];
15347        let mut field_space_id = ::std::option::Option::None;
15348        let _ = p.read_struct_begin(|_| ())?;
15349        loop {
15350            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15351            match (fty, fid as ::std::primitive::i32) {
15352                (::fbthrift::TType::Stop, _) => break,
15353                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15354                (fty, _) => p.skip(fty)?,
15355            }
15356            p.read_field_end()?;
15357        }
15358        p.read_struct_end()?;
15359        ::std::result::Result::Ok(Self {
15360            space_id: field_space_id.unwrap_or_default(),
15361            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15362        })
15363    }
15364}
15365
15366
15367#[allow(clippy::derivable_impls)]
15368impl ::std::default::Default for self::GetStatsResp {
15369    fn default() -> Self {
15370        Self {
15371            code: ::std::default::Default::default(),
15372            leader: ::std::default::Default::default(),
15373            stats: ::std::default::Default::default(),
15374            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15375        }
15376    }
15377}
15378
15379impl ::std::fmt::Debug for self::GetStatsResp {
15380    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15381        formatter
15382            .debug_struct("GetStatsResp")
15383            .field("code", &self.code)
15384            .field("leader", &self.leader)
15385            .field("stats", &self.stats)
15386            .finish()
15387    }
15388}
15389
15390unsafe impl ::std::marker::Send for self::GetStatsResp {}
15391unsafe impl ::std::marker::Sync for self::GetStatsResp {}
15392
15393impl ::fbthrift::GetTType for self::GetStatsResp {
15394    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15395}
15396
15397impl<P> ::fbthrift::Serialize<P> for self::GetStatsResp
15398where
15399    P: ::fbthrift::ProtocolWriter,
15400{
15401    fn write(&self, p: &mut P) {
15402        p.write_struct_begin("GetStatsResp");
15403        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
15404        ::fbthrift::Serialize::write(&self.code, p);
15405        p.write_field_end();
15406        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
15407        ::fbthrift::Serialize::write(&self.leader, p);
15408        p.write_field_end();
15409        p.write_field_begin("stats", ::fbthrift::TType::Struct, 3);
15410        ::fbthrift::Serialize::write(&self.stats, p);
15411        p.write_field_end();
15412        p.write_field_stop();
15413        p.write_struct_end();
15414    }
15415}
15416
15417impl<P> ::fbthrift::Deserialize<P> for self::GetStatsResp
15418where
15419    P: ::fbthrift::ProtocolReader,
15420{
15421    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15422        static FIELDS: &[::fbthrift::Field] = &[
15423            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
15424            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
15425            ::fbthrift::Field::new("stats", ::fbthrift::TType::Struct, 3),
15426        ];
15427        let mut field_code = ::std::option::Option::None;
15428        let mut field_leader = ::std::option::Option::None;
15429        let mut field_stats = ::std::option::Option::None;
15430        let _ = p.read_struct_begin(|_| ())?;
15431        loop {
15432            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15433            match (fty, fid as ::std::primitive::i32) {
15434                (::fbthrift::TType::Stop, _) => break,
15435                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15436                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15437                (::fbthrift::TType::Struct, 3) => field_stats = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15438                (fty, _) => p.skip(fty)?,
15439            }
15440            p.read_field_end()?;
15441        }
15442        p.read_struct_end()?;
15443        ::std::result::Result::Ok(Self {
15444            code: field_code.unwrap_or_default(),
15445            leader: field_leader.unwrap_or_default(),
15446            stats: field_stats.unwrap_or_default(),
15447            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15448        })
15449    }
15450}
15451
15452
15453#[allow(clippy::derivable_impls)]
15454impl ::std::default::Default for self::BackupInfo {
15455    fn default() -> Self {
15456        Self {
15457            host: ::std::default::Default::default(),
15458            info: ::std::default::Default::default(),
15459            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15460        }
15461    }
15462}
15463
15464impl ::std::fmt::Debug for self::BackupInfo {
15465    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15466        formatter
15467            .debug_struct("BackupInfo")
15468            .field("host", &self.host)
15469            .field("info", &self.info)
15470            .finish()
15471    }
15472}
15473
15474unsafe impl ::std::marker::Send for self::BackupInfo {}
15475unsafe impl ::std::marker::Sync for self::BackupInfo {}
15476
15477impl ::fbthrift::GetTType for self::BackupInfo {
15478    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15479}
15480
15481impl<P> ::fbthrift::Serialize<P> for self::BackupInfo
15482where
15483    P: ::fbthrift::ProtocolWriter,
15484{
15485    fn write(&self, p: &mut P) {
15486        p.write_struct_begin("BackupInfo");
15487        p.write_field_begin("host", ::fbthrift::TType::Struct, 1);
15488        ::fbthrift::Serialize::write(&self.host, p);
15489        p.write_field_end();
15490        p.write_field_begin("info", ::fbthrift::TType::List, 2);
15491        ::fbthrift::Serialize::write(&self.info, p);
15492        p.write_field_end();
15493        p.write_field_stop();
15494        p.write_struct_end();
15495    }
15496}
15497
15498impl<P> ::fbthrift::Deserialize<P> for self::BackupInfo
15499where
15500    P: ::fbthrift::ProtocolReader,
15501{
15502    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15503        static FIELDS: &[::fbthrift::Field] = &[
15504            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 1),
15505            ::fbthrift::Field::new("info", ::fbthrift::TType::List, 2),
15506        ];
15507        let mut field_host = ::std::option::Option::None;
15508        let mut field_info = ::std::option::Option::None;
15509        let _ = p.read_struct_begin(|_| ())?;
15510        loop {
15511            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15512            match (fty, fid as ::std::primitive::i32) {
15513                (::fbthrift::TType::Stop, _) => break,
15514                (::fbthrift::TType::Struct, 1) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15515                (::fbthrift::TType::List, 2) => field_info = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15516                (fty, _) => p.skip(fty)?,
15517            }
15518            p.read_field_end()?;
15519        }
15520        p.read_struct_end()?;
15521        ::std::result::Result::Ok(Self {
15522            host: field_host.unwrap_or_default(),
15523            info: field_info.unwrap_or_default(),
15524            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15525        })
15526    }
15527}
15528
15529
15530#[allow(clippy::derivable_impls)]
15531impl ::std::default::Default for self::SpaceBackupInfo {
15532    fn default() -> Self {
15533        Self {
15534            space: ::std::default::Default::default(),
15535            info: ::std::default::Default::default(),
15536            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15537        }
15538    }
15539}
15540
15541impl ::std::fmt::Debug for self::SpaceBackupInfo {
15542    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15543        formatter
15544            .debug_struct("SpaceBackupInfo")
15545            .field("space", &self.space)
15546            .field("info", &self.info)
15547            .finish()
15548    }
15549}
15550
15551unsafe impl ::std::marker::Send for self::SpaceBackupInfo {}
15552unsafe impl ::std::marker::Sync for self::SpaceBackupInfo {}
15553
15554impl ::fbthrift::GetTType for self::SpaceBackupInfo {
15555    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15556}
15557
15558impl<P> ::fbthrift::Serialize<P> for self::SpaceBackupInfo
15559where
15560    P: ::fbthrift::ProtocolWriter,
15561{
15562    fn write(&self, p: &mut P) {
15563        p.write_struct_begin("SpaceBackupInfo");
15564        p.write_field_begin("space", ::fbthrift::TType::Struct, 1);
15565        ::fbthrift::Serialize::write(&self.space, p);
15566        p.write_field_end();
15567        p.write_field_begin("info", ::fbthrift::TType::List, 2);
15568        ::fbthrift::Serialize::write(&self.info, p);
15569        p.write_field_end();
15570        p.write_field_stop();
15571        p.write_struct_end();
15572    }
15573}
15574
15575impl<P> ::fbthrift::Deserialize<P> for self::SpaceBackupInfo
15576where
15577    P: ::fbthrift::ProtocolReader,
15578{
15579    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15580        static FIELDS: &[::fbthrift::Field] = &[
15581            ::fbthrift::Field::new("info", ::fbthrift::TType::List, 2),
15582            ::fbthrift::Field::new("space", ::fbthrift::TType::Struct, 1),
15583        ];
15584        let mut field_space = ::std::option::Option::None;
15585        let mut field_info = ::std::option::Option::None;
15586        let _ = p.read_struct_begin(|_| ())?;
15587        loop {
15588            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15589            match (fty, fid as ::std::primitive::i32) {
15590                (::fbthrift::TType::Stop, _) => break,
15591                (::fbthrift::TType::Struct, 1) => field_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15592                (::fbthrift::TType::List, 2) => field_info = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15593                (fty, _) => p.skip(fty)?,
15594            }
15595            p.read_field_end()?;
15596        }
15597        p.read_struct_end()?;
15598        ::std::result::Result::Ok(Self {
15599            space: field_space.unwrap_or_default(),
15600            info: field_info.unwrap_or_default(),
15601            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15602        })
15603    }
15604}
15605
15606
15607#[allow(clippy::derivable_impls)]
15608impl ::std::default::Default for self::BackupMeta {
15609    fn default() -> Self {
15610        Self {
15611            backup_info: ::std::default::Default::default(),
15612            meta_files: ::std::default::Default::default(),
15613            backup_name: ::std::default::Default::default(),
15614            full: ::std::default::Default::default(),
15615            include_system_space: ::std::default::Default::default(),
15616            create_time: ::std::default::Default::default(),
15617            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15618        }
15619    }
15620}
15621
15622impl ::std::fmt::Debug for self::BackupMeta {
15623    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15624        formatter
15625            .debug_struct("BackupMeta")
15626            .field("backup_info", &self.backup_info)
15627            .field("meta_files", &self.meta_files)
15628            .field("backup_name", &self.backup_name)
15629            .field("full", &self.full)
15630            .field("include_system_space", &self.include_system_space)
15631            .field("create_time", &self.create_time)
15632            .finish()
15633    }
15634}
15635
15636unsafe impl ::std::marker::Send for self::BackupMeta {}
15637unsafe impl ::std::marker::Sync for self::BackupMeta {}
15638
15639impl ::fbthrift::GetTType for self::BackupMeta {
15640    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15641}
15642
15643impl<P> ::fbthrift::Serialize<P> for self::BackupMeta
15644where
15645    P: ::fbthrift::ProtocolWriter,
15646{
15647    fn write(&self, p: &mut P) {
15648        p.write_struct_begin("BackupMeta");
15649        p.write_field_begin("backup_info", ::fbthrift::TType::Map, 1);
15650        ::fbthrift::Serialize::write(&self.backup_info, p);
15651        p.write_field_end();
15652        p.write_field_begin("meta_files", ::fbthrift::TType::List, 2);
15653        ::fbthrift::Serialize::write(&self.meta_files, p);
15654        p.write_field_end();
15655        p.write_field_begin("backup_name", ::fbthrift::TType::String, 3);
15656        ::fbthrift::Serialize::write(&self.backup_name, p);
15657        p.write_field_end();
15658        p.write_field_begin("full", ::fbthrift::TType::Bool, 4);
15659        ::fbthrift::Serialize::write(&self.full, p);
15660        p.write_field_end();
15661        p.write_field_begin("include_system_space", ::fbthrift::TType::Bool, 5);
15662        ::fbthrift::Serialize::write(&self.include_system_space, p);
15663        p.write_field_end();
15664        p.write_field_begin("create_time", ::fbthrift::TType::I64, 6);
15665        ::fbthrift::Serialize::write(&self.create_time, 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::BackupMeta
15673where
15674    P: ::fbthrift::ProtocolReader,
15675{
15676    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15677        static FIELDS: &[::fbthrift::Field] = &[
15678            ::fbthrift::Field::new("backup_info", ::fbthrift::TType::Map, 1),
15679            ::fbthrift::Field::new("backup_name", ::fbthrift::TType::String, 3),
15680            ::fbthrift::Field::new("create_time", ::fbthrift::TType::I64, 6),
15681            ::fbthrift::Field::new("full", ::fbthrift::TType::Bool, 4),
15682            ::fbthrift::Field::new("include_system_space", ::fbthrift::TType::Bool, 5),
15683            ::fbthrift::Field::new("meta_files", ::fbthrift::TType::List, 2),
15684        ];
15685        let mut field_backup_info = ::std::option::Option::None;
15686        let mut field_meta_files = ::std::option::Option::None;
15687        let mut field_backup_name = ::std::option::Option::None;
15688        let mut field_full = ::std::option::Option::None;
15689        let mut field_include_system_space = ::std::option::Option::None;
15690        let mut field_create_time = ::std::option::Option::None;
15691        let _ = p.read_struct_begin(|_| ())?;
15692        loop {
15693            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15694            match (fty, fid as ::std::primitive::i32) {
15695                (::fbthrift::TType::Stop, _) => break,
15696                (::fbthrift::TType::Map, 1) => field_backup_info = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15697                (::fbthrift::TType::List, 2) => field_meta_files = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15698                (::fbthrift::TType::String, 3) => field_backup_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15699                (::fbthrift::TType::Bool, 4) => field_full = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15700                (::fbthrift::TType::Bool, 5) => field_include_system_space = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15701                (::fbthrift::TType::I64, 6) => field_create_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15702                (fty, _) => p.skip(fty)?,
15703            }
15704            p.read_field_end()?;
15705        }
15706        p.read_struct_end()?;
15707        ::std::result::Result::Ok(Self {
15708            backup_info: field_backup_info.unwrap_or_default(),
15709            meta_files: field_meta_files.unwrap_or_default(),
15710            backup_name: field_backup_name.unwrap_or_default(),
15711            full: field_full.unwrap_or_default(),
15712            include_system_space: field_include_system_space.unwrap_or_default(),
15713            create_time: field_create_time.unwrap_or_default(),
15714            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15715        })
15716    }
15717}
15718
15719
15720#[allow(clippy::derivable_impls)]
15721impl ::std::default::Default for self::CreateBackupReq {
15722    fn default() -> Self {
15723        Self {
15724            spaces: ::std::option::Option::None,
15725            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15726        }
15727    }
15728}
15729
15730impl ::std::fmt::Debug for self::CreateBackupReq {
15731    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15732        formatter
15733            .debug_struct("CreateBackupReq")
15734            .field("spaces", &self.spaces)
15735            .finish()
15736    }
15737}
15738
15739unsafe impl ::std::marker::Send for self::CreateBackupReq {}
15740unsafe impl ::std::marker::Sync for self::CreateBackupReq {}
15741
15742impl ::fbthrift::GetTType for self::CreateBackupReq {
15743    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15744}
15745
15746impl<P> ::fbthrift::Serialize<P> for self::CreateBackupReq
15747where
15748    P: ::fbthrift::ProtocolWriter,
15749{
15750    fn write(&self, p: &mut P) {
15751        p.write_struct_begin("CreateBackupReq");
15752        if let ::std::option::Option::Some(some) = &self.spaces {
15753            p.write_field_begin("spaces", ::fbthrift::TType::List, 1);
15754            ::fbthrift::Serialize::write(some, p);
15755            p.write_field_end();
15756        }
15757        p.write_field_stop();
15758        p.write_struct_end();
15759    }
15760}
15761
15762impl<P> ::fbthrift::Deserialize<P> for self::CreateBackupReq
15763where
15764    P: ::fbthrift::ProtocolReader,
15765{
15766    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15767        static FIELDS: &[::fbthrift::Field] = &[
15768            ::fbthrift::Field::new("spaces", ::fbthrift::TType::List, 1),
15769        ];
15770        let mut field_spaces = ::std::option::Option::None;
15771        let _ = p.read_struct_begin(|_| ())?;
15772        loop {
15773            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15774            match (fty, fid as ::std::primitive::i32) {
15775                (::fbthrift::TType::Stop, _) => break,
15776                (::fbthrift::TType::List, 1) => field_spaces = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15777                (fty, _) => p.skip(fty)?,
15778            }
15779            p.read_field_end()?;
15780        }
15781        p.read_struct_end()?;
15782        ::std::result::Result::Ok(Self {
15783            spaces: field_spaces,
15784            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15785        })
15786    }
15787}
15788
15789
15790#[allow(clippy::derivable_impls)]
15791impl ::std::default::Default for self::CreateBackupResp {
15792    fn default() -> Self {
15793        Self {
15794            code: ::std::default::Default::default(),
15795            leader: ::std::default::Default::default(),
15796            meta: ::std::default::Default::default(),
15797            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15798        }
15799    }
15800}
15801
15802impl ::std::fmt::Debug for self::CreateBackupResp {
15803    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15804        formatter
15805            .debug_struct("CreateBackupResp")
15806            .field("code", &self.code)
15807            .field("leader", &self.leader)
15808            .field("meta", &self.meta)
15809            .finish()
15810    }
15811}
15812
15813unsafe impl ::std::marker::Send for self::CreateBackupResp {}
15814unsafe impl ::std::marker::Sync for self::CreateBackupResp {}
15815
15816impl ::fbthrift::GetTType for self::CreateBackupResp {
15817    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15818}
15819
15820impl<P> ::fbthrift::Serialize<P> for self::CreateBackupResp
15821where
15822    P: ::fbthrift::ProtocolWriter,
15823{
15824    fn write(&self, p: &mut P) {
15825        p.write_struct_begin("CreateBackupResp");
15826        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
15827        ::fbthrift::Serialize::write(&self.code, p);
15828        p.write_field_end();
15829        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
15830        ::fbthrift::Serialize::write(&self.leader, p);
15831        p.write_field_end();
15832        p.write_field_begin("meta", ::fbthrift::TType::Struct, 3);
15833        ::fbthrift::Serialize::write(&self.meta, p);
15834        p.write_field_end();
15835        p.write_field_stop();
15836        p.write_struct_end();
15837    }
15838}
15839
15840impl<P> ::fbthrift::Deserialize<P> for self::CreateBackupResp
15841where
15842    P: ::fbthrift::ProtocolReader,
15843{
15844    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15845        static FIELDS: &[::fbthrift::Field] = &[
15846            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
15847            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
15848            ::fbthrift::Field::new("meta", ::fbthrift::TType::Struct, 3),
15849        ];
15850        let mut field_code = ::std::option::Option::None;
15851        let mut field_leader = ::std::option::Option::None;
15852        let mut field_meta = ::std::option::Option::None;
15853        let _ = p.read_struct_begin(|_| ())?;
15854        loop {
15855            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15856            match (fty, fid as ::std::primitive::i32) {
15857                (::fbthrift::TType::Stop, _) => break,
15858                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15859                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15860                (::fbthrift::TType::Struct, 3) => field_meta = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15861                (fty, _) => p.skip(fty)?,
15862            }
15863            p.read_field_end()?;
15864        }
15865        p.read_struct_end()?;
15866        ::std::result::Result::Ok(Self {
15867            code: field_code.unwrap_or_default(),
15868            leader: field_leader.unwrap_or_default(),
15869            meta: field_meta.unwrap_or_default(),
15870            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15871        })
15872    }
15873}
15874
15875
15876#[allow(clippy::derivable_impls)]
15877impl ::std::default::Default for self::HostPair {
15878    fn default() -> Self {
15879        Self {
15880            from_host: ::std::default::Default::default(),
15881            to_host: ::std::default::Default::default(),
15882            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15883        }
15884    }
15885}
15886
15887impl ::std::fmt::Debug for self::HostPair {
15888    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15889        formatter
15890            .debug_struct("HostPair")
15891            .field("from_host", &self.from_host)
15892            .field("to_host", &self.to_host)
15893            .finish()
15894    }
15895}
15896
15897unsafe impl ::std::marker::Send for self::HostPair {}
15898unsafe impl ::std::marker::Sync for self::HostPair {}
15899
15900impl ::fbthrift::GetTType for self::HostPair {
15901    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15902}
15903
15904impl<P> ::fbthrift::Serialize<P> for self::HostPair
15905where
15906    P: ::fbthrift::ProtocolWriter,
15907{
15908    fn write(&self, p: &mut P) {
15909        p.write_struct_begin("HostPair");
15910        p.write_field_begin("from_host", ::fbthrift::TType::Struct, 1);
15911        ::fbthrift::Serialize::write(&self.from_host, p);
15912        p.write_field_end();
15913        p.write_field_begin("to_host", ::fbthrift::TType::Struct, 2);
15914        ::fbthrift::Serialize::write(&self.to_host, p);
15915        p.write_field_end();
15916        p.write_field_stop();
15917        p.write_struct_end();
15918    }
15919}
15920
15921impl<P> ::fbthrift::Deserialize<P> for self::HostPair
15922where
15923    P: ::fbthrift::ProtocolReader,
15924{
15925    fn read(p: &mut P) -> ::anyhow::Result<Self> {
15926        static FIELDS: &[::fbthrift::Field] = &[
15927            ::fbthrift::Field::new("from_host", ::fbthrift::TType::Struct, 1),
15928            ::fbthrift::Field::new("to_host", ::fbthrift::TType::Struct, 2),
15929        ];
15930        let mut field_from_host = ::std::option::Option::None;
15931        let mut field_to_host = ::std::option::Option::None;
15932        let _ = p.read_struct_begin(|_| ())?;
15933        loop {
15934            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
15935            match (fty, fid as ::std::primitive::i32) {
15936                (::fbthrift::TType::Stop, _) => break,
15937                (::fbthrift::TType::Struct, 1) => field_from_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15938                (::fbthrift::TType::Struct, 2) => field_to_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
15939                (fty, _) => p.skip(fty)?,
15940            }
15941            p.read_field_end()?;
15942        }
15943        p.read_struct_end()?;
15944        ::std::result::Result::Ok(Self {
15945            from_host: field_from_host.unwrap_or_default(),
15946            to_host: field_to_host.unwrap_or_default(),
15947            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15948        })
15949    }
15950}
15951
15952
15953#[allow(clippy::derivable_impls)]
15954impl ::std::default::Default for self::RestoreMetaReq {
15955    fn default() -> Self {
15956        Self {
15957            files: ::std::default::Default::default(),
15958            hosts: ::std::default::Default::default(),
15959            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
15960        }
15961    }
15962}
15963
15964impl ::std::fmt::Debug for self::RestoreMetaReq {
15965    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
15966        formatter
15967            .debug_struct("RestoreMetaReq")
15968            .field("files", &self.files)
15969            .field("hosts", &self.hosts)
15970            .finish()
15971    }
15972}
15973
15974unsafe impl ::std::marker::Send for self::RestoreMetaReq {}
15975unsafe impl ::std::marker::Sync for self::RestoreMetaReq {}
15976
15977impl ::fbthrift::GetTType for self::RestoreMetaReq {
15978    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
15979}
15980
15981impl<P> ::fbthrift::Serialize<P> for self::RestoreMetaReq
15982where
15983    P: ::fbthrift::ProtocolWriter,
15984{
15985    fn write(&self, p: &mut P) {
15986        p.write_struct_begin("RestoreMetaReq");
15987        p.write_field_begin("files", ::fbthrift::TType::List, 1);
15988        ::fbthrift::Serialize::write(&self.files, p);
15989        p.write_field_end();
15990        p.write_field_begin("hosts", ::fbthrift::TType::List, 2);
15991        ::fbthrift::Serialize::write(&self.hosts, p);
15992        p.write_field_end();
15993        p.write_field_stop();
15994        p.write_struct_end();
15995    }
15996}
15997
15998impl<P> ::fbthrift::Deserialize<P> for self::RestoreMetaReq
15999where
16000    P: ::fbthrift::ProtocolReader,
16001{
16002    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16003        static FIELDS: &[::fbthrift::Field] = &[
16004            ::fbthrift::Field::new("files", ::fbthrift::TType::List, 1),
16005            ::fbthrift::Field::new("hosts", ::fbthrift::TType::List, 2),
16006        ];
16007        let mut field_files = ::std::option::Option::None;
16008        let mut field_hosts = ::std::option::Option::None;
16009        let _ = p.read_struct_begin(|_| ())?;
16010        loop {
16011            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16012            match (fty, fid as ::std::primitive::i32) {
16013                (::fbthrift::TType::Stop, _) => break,
16014                (::fbthrift::TType::List, 1) => field_files = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16015                (::fbthrift::TType::List, 2) => field_hosts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16016                (fty, _) => p.skip(fty)?,
16017            }
16018            p.read_field_end()?;
16019        }
16020        p.read_struct_end()?;
16021        ::std::result::Result::Ok(Self {
16022            files: field_files.unwrap_or_default(),
16023            hosts: field_hosts.unwrap_or_default(),
16024            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16025        })
16026    }
16027}
16028
16029
16030#[allow(clippy::derivable_impls)]
16031impl ::std::default::Default for self::FTClient {
16032    fn default() -> Self {
16033        Self {
16034            host: ::std::default::Default::default(),
16035            user: ::std::option::Option::None,
16036            pwd: ::std::option::Option::None,
16037            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16038        }
16039    }
16040}
16041
16042impl ::std::fmt::Debug for self::FTClient {
16043    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16044        formatter
16045            .debug_struct("FTClient")
16046            .field("host", &self.host)
16047            .field("user", &self.user)
16048            .field("pwd", &self.pwd)
16049            .finish()
16050    }
16051}
16052
16053unsafe impl ::std::marker::Send for self::FTClient {}
16054unsafe impl ::std::marker::Sync for self::FTClient {}
16055
16056impl ::fbthrift::GetTType for self::FTClient {
16057    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16058}
16059
16060impl<P> ::fbthrift::Serialize<P> for self::FTClient
16061where
16062    P: ::fbthrift::ProtocolWriter,
16063{
16064    fn write(&self, p: &mut P) {
16065        p.write_struct_begin("FTClient");
16066        p.write_field_begin("host", ::fbthrift::TType::Struct, 1);
16067        ::fbthrift::Serialize::write(&self.host, p);
16068        p.write_field_end();
16069        if let ::std::option::Option::Some(some) = &self.user {
16070            p.write_field_begin("user", ::fbthrift::TType::String, 2);
16071            ::fbthrift::Serialize::write(some, p);
16072            p.write_field_end();
16073        }
16074        if let ::std::option::Option::Some(some) = &self.pwd {
16075            p.write_field_begin("pwd", ::fbthrift::TType::String, 3);
16076            ::fbthrift::Serialize::write(some, p);
16077            p.write_field_end();
16078        }
16079        p.write_field_stop();
16080        p.write_struct_end();
16081    }
16082}
16083
16084impl<P> ::fbthrift::Deserialize<P> for self::FTClient
16085where
16086    P: ::fbthrift::ProtocolReader,
16087{
16088    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16089        static FIELDS: &[::fbthrift::Field] = &[
16090            ::fbthrift::Field::new("host", ::fbthrift::TType::Struct, 1),
16091            ::fbthrift::Field::new("pwd", ::fbthrift::TType::String, 3),
16092            ::fbthrift::Field::new("user", ::fbthrift::TType::String, 2),
16093        ];
16094        let mut field_host = ::std::option::Option::None;
16095        let mut field_user = ::std::option::Option::None;
16096        let mut field_pwd = ::std::option::Option::None;
16097        let _ = p.read_struct_begin(|_| ())?;
16098        loop {
16099            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16100            match (fty, fid as ::std::primitive::i32) {
16101                (::fbthrift::TType::Stop, _) => break,
16102                (::fbthrift::TType::Struct, 1) => field_host = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16103                (::fbthrift::TType::String, 2) => field_user = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16104                (::fbthrift::TType::String, 3) => field_pwd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16105                (fty, _) => p.skip(fty)?,
16106            }
16107            p.read_field_end()?;
16108        }
16109        p.read_struct_end()?;
16110        ::std::result::Result::Ok(Self {
16111            host: field_host.unwrap_or_default(),
16112            user: field_user,
16113            pwd: field_pwd,
16114            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16115        })
16116    }
16117}
16118
16119
16120#[allow(clippy::derivable_impls)]
16121impl ::std::default::Default for self::SignInFTServiceReq {
16122    fn default() -> Self {
16123        Self {
16124            r#type: ::std::default::Default::default(),
16125            clients: ::std::default::Default::default(),
16126            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16127        }
16128    }
16129}
16130
16131impl ::std::fmt::Debug for self::SignInFTServiceReq {
16132    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16133        formatter
16134            .debug_struct("SignInFTServiceReq")
16135            .field("r#type", &self.r#type)
16136            .field("clients", &self.clients)
16137            .finish()
16138    }
16139}
16140
16141unsafe impl ::std::marker::Send for self::SignInFTServiceReq {}
16142unsafe impl ::std::marker::Sync for self::SignInFTServiceReq {}
16143
16144impl ::fbthrift::GetTType for self::SignInFTServiceReq {
16145    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16146}
16147
16148impl<P> ::fbthrift::Serialize<P> for self::SignInFTServiceReq
16149where
16150    P: ::fbthrift::ProtocolWriter,
16151{
16152    fn write(&self, p: &mut P) {
16153        p.write_struct_begin("SignInFTServiceReq");
16154        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
16155        ::fbthrift::Serialize::write(&self.r#type, p);
16156        p.write_field_end();
16157        p.write_field_begin("clients", ::fbthrift::TType::List, 2);
16158        ::fbthrift::Serialize::write(&self.clients, p);
16159        p.write_field_end();
16160        p.write_field_stop();
16161        p.write_struct_end();
16162    }
16163}
16164
16165impl<P> ::fbthrift::Deserialize<P> for self::SignInFTServiceReq
16166where
16167    P: ::fbthrift::ProtocolReader,
16168{
16169    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16170        static FIELDS: &[::fbthrift::Field] = &[
16171            ::fbthrift::Field::new("clients", ::fbthrift::TType::List, 2),
16172            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
16173        ];
16174        let mut field_type = ::std::option::Option::None;
16175        let mut field_clients = ::std::option::Option::None;
16176        let _ = p.read_struct_begin(|_| ())?;
16177        loop {
16178            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16179            match (fty, fid as ::std::primitive::i32) {
16180                (::fbthrift::TType::Stop, _) => break,
16181                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16182                (::fbthrift::TType::List, 2) => field_clients = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16183                (fty, _) => p.skip(fty)?,
16184            }
16185            p.read_field_end()?;
16186        }
16187        p.read_struct_end()?;
16188        ::std::result::Result::Ok(Self {
16189            r#type: field_type.unwrap_or_default(),
16190            clients: field_clients.unwrap_or_default(),
16191            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16192        })
16193    }
16194}
16195
16196
16197#[allow(clippy::derivable_impls)]
16198impl ::std::default::Default for self::SignOutFTServiceReq {
16199    fn default() -> Self {
16200        Self {
16201            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16202        }
16203    }
16204}
16205
16206impl ::std::fmt::Debug for self::SignOutFTServiceReq {
16207    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16208        formatter
16209            .debug_struct("SignOutFTServiceReq")
16210            .finish()
16211    }
16212}
16213
16214unsafe impl ::std::marker::Send for self::SignOutFTServiceReq {}
16215unsafe impl ::std::marker::Sync for self::SignOutFTServiceReq {}
16216
16217impl ::fbthrift::GetTType for self::SignOutFTServiceReq {
16218    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16219}
16220
16221impl<P> ::fbthrift::Serialize<P> for self::SignOutFTServiceReq
16222where
16223    P: ::fbthrift::ProtocolWriter,
16224{
16225    fn write(&self, p: &mut P) {
16226        p.write_struct_begin("SignOutFTServiceReq");
16227        p.write_field_stop();
16228        p.write_struct_end();
16229    }
16230}
16231
16232impl<P> ::fbthrift::Deserialize<P> for self::SignOutFTServiceReq
16233where
16234    P: ::fbthrift::ProtocolReader,
16235{
16236    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16237        static FIELDS: &[::fbthrift::Field] = &[
16238        ];
16239        let _ = p.read_struct_begin(|_| ())?;
16240        loop {
16241            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16242            match (fty, fid as ::std::primitive::i32) {
16243                (::fbthrift::TType::Stop, _) => break,
16244                (fty, _) => p.skip(fty)?,
16245            }
16246            p.read_field_end()?;
16247        }
16248        p.read_struct_end()?;
16249        ::std::result::Result::Ok(Self {
16250            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16251        })
16252    }
16253}
16254
16255
16256#[allow(clippy::derivable_impls)]
16257impl ::std::default::Default for self::ListFTClientsReq {
16258    fn default() -> Self {
16259        Self {
16260            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16261        }
16262    }
16263}
16264
16265impl ::std::fmt::Debug for self::ListFTClientsReq {
16266    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16267        formatter
16268            .debug_struct("ListFTClientsReq")
16269            .finish()
16270    }
16271}
16272
16273unsafe impl ::std::marker::Send for self::ListFTClientsReq {}
16274unsafe impl ::std::marker::Sync for self::ListFTClientsReq {}
16275
16276impl ::fbthrift::GetTType for self::ListFTClientsReq {
16277    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16278}
16279
16280impl<P> ::fbthrift::Serialize<P> for self::ListFTClientsReq
16281where
16282    P: ::fbthrift::ProtocolWriter,
16283{
16284    fn write(&self, p: &mut P) {
16285        p.write_struct_begin("ListFTClientsReq");
16286        p.write_field_stop();
16287        p.write_struct_end();
16288    }
16289}
16290
16291impl<P> ::fbthrift::Deserialize<P> for self::ListFTClientsReq
16292where
16293    P: ::fbthrift::ProtocolReader,
16294{
16295    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16296        static FIELDS: &[::fbthrift::Field] = &[
16297        ];
16298        let _ = p.read_struct_begin(|_| ())?;
16299        loop {
16300            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16301            match (fty, fid as ::std::primitive::i32) {
16302                (::fbthrift::TType::Stop, _) => break,
16303                (fty, _) => p.skip(fty)?,
16304            }
16305            p.read_field_end()?;
16306        }
16307        p.read_struct_end()?;
16308        ::std::result::Result::Ok(Self {
16309            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16310        })
16311    }
16312}
16313
16314
16315#[allow(clippy::derivable_impls)]
16316impl ::std::default::Default for self::ListFTClientsResp {
16317    fn default() -> Self {
16318        Self {
16319            code: ::std::default::Default::default(),
16320            leader: ::std::default::Default::default(),
16321            clients: ::std::default::Default::default(),
16322            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16323        }
16324    }
16325}
16326
16327impl ::std::fmt::Debug for self::ListFTClientsResp {
16328    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16329        formatter
16330            .debug_struct("ListFTClientsResp")
16331            .field("code", &self.code)
16332            .field("leader", &self.leader)
16333            .field("clients", &self.clients)
16334            .finish()
16335    }
16336}
16337
16338unsafe impl ::std::marker::Send for self::ListFTClientsResp {}
16339unsafe impl ::std::marker::Sync for self::ListFTClientsResp {}
16340
16341impl ::fbthrift::GetTType for self::ListFTClientsResp {
16342    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16343}
16344
16345impl<P> ::fbthrift::Serialize<P> for self::ListFTClientsResp
16346where
16347    P: ::fbthrift::ProtocolWriter,
16348{
16349    fn write(&self, p: &mut P) {
16350        p.write_struct_begin("ListFTClientsResp");
16351        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
16352        ::fbthrift::Serialize::write(&self.code, p);
16353        p.write_field_end();
16354        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
16355        ::fbthrift::Serialize::write(&self.leader, p);
16356        p.write_field_end();
16357        p.write_field_begin("clients", ::fbthrift::TType::List, 3);
16358        ::fbthrift::Serialize::write(&self.clients, p);
16359        p.write_field_end();
16360        p.write_field_stop();
16361        p.write_struct_end();
16362    }
16363}
16364
16365impl<P> ::fbthrift::Deserialize<P> for self::ListFTClientsResp
16366where
16367    P: ::fbthrift::ProtocolReader,
16368{
16369    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16370        static FIELDS: &[::fbthrift::Field] = &[
16371            ::fbthrift::Field::new("clients", ::fbthrift::TType::List, 3),
16372            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
16373            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
16374        ];
16375        let mut field_code = ::std::option::Option::None;
16376        let mut field_leader = ::std::option::Option::None;
16377        let mut field_clients = ::std::option::Option::None;
16378        let _ = p.read_struct_begin(|_| ())?;
16379        loop {
16380            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16381            match (fty, fid as ::std::primitive::i32) {
16382                (::fbthrift::TType::Stop, _) => break,
16383                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16384                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16385                (::fbthrift::TType::List, 3) => field_clients = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16386                (fty, _) => p.skip(fty)?,
16387            }
16388            p.read_field_end()?;
16389        }
16390        p.read_struct_end()?;
16391        ::std::result::Result::Ok(Self {
16392            code: field_code.unwrap_or_default(),
16393            leader: field_leader.unwrap_or_default(),
16394            clients: field_clients.unwrap_or_default(),
16395            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16396        })
16397    }
16398}
16399
16400
16401#[allow(clippy::derivable_impls)]
16402impl ::std::default::Default for self::FTIndex {
16403    fn default() -> Self {
16404        Self {
16405            space_id: ::std::default::Default::default(),
16406            depend_schema: ::std::default::Default::default(),
16407            fields: ::std::default::Default::default(),
16408            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16409        }
16410    }
16411}
16412
16413impl ::std::fmt::Debug for self::FTIndex {
16414    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16415        formatter
16416            .debug_struct("FTIndex")
16417            .field("space_id", &self.space_id)
16418            .field("depend_schema", &self.depend_schema)
16419            .field("fields", &self.fields)
16420            .finish()
16421    }
16422}
16423
16424unsafe impl ::std::marker::Send for self::FTIndex {}
16425unsafe impl ::std::marker::Sync for self::FTIndex {}
16426
16427impl ::fbthrift::GetTType for self::FTIndex {
16428    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16429}
16430
16431impl<P> ::fbthrift::Serialize<P> for self::FTIndex
16432where
16433    P: ::fbthrift::ProtocolWriter,
16434{
16435    fn write(&self, p: &mut P) {
16436        p.write_struct_begin("FTIndex");
16437        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
16438        ::fbthrift::Serialize::write(&self.space_id, p);
16439        p.write_field_end();
16440        p.write_field_begin("depend_schema", ::fbthrift::TType::Struct, 2);
16441        ::fbthrift::Serialize::write(&self.depend_schema, p);
16442        p.write_field_end();
16443        p.write_field_begin("fields", ::fbthrift::TType::List, 3);
16444        ::fbthrift::Serialize::write(&self.fields, p);
16445        p.write_field_end();
16446        p.write_field_stop();
16447        p.write_struct_end();
16448    }
16449}
16450
16451impl<P> ::fbthrift::Deserialize<P> for self::FTIndex
16452where
16453    P: ::fbthrift::ProtocolReader,
16454{
16455    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16456        static FIELDS: &[::fbthrift::Field] = &[
16457            ::fbthrift::Field::new("depend_schema", ::fbthrift::TType::Struct, 2),
16458            ::fbthrift::Field::new("fields", ::fbthrift::TType::List, 3),
16459            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
16460        ];
16461        let mut field_space_id = ::std::option::Option::None;
16462        let mut field_depend_schema = ::std::option::Option::None;
16463        let mut field_fields = ::std::option::Option::None;
16464        let _ = p.read_struct_begin(|_| ())?;
16465        loop {
16466            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16467            match (fty, fid as ::std::primitive::i32) {
16468                (::fbthrift::TType::Stop, _) => break,
16469                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16470                (::fbthrift::TType::Struct, 2) => field_depend_schema = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16471                (::fbthrift::TType::List, 3) => field_fields = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16472                (fty, _) => p.skip(fty)?,
16473            }
16474            p.read_field_end()?;
16475        }
16476        p.read_struct_end()?;
16477        ::std::result::Result::Ok(Self {
16478            space_id: field_space_id.unwrap_or_default(),
16479            depend_schema: field_depend_schema.unwrap_or_default(),
16480            fields: field_fields.unwrap_or_default(),
16481            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16482        })
16483    }
16484}
16485
16486
16487#[allow(clippy::derivable_impls)]
16488impl ::std::default::Default for self::CreateFTIndexReq {
16489    fn default() -> Self {
16490        Self {
16491            fulltext_index_name: ::std::default::Default::default(),
16492            index: ::std::default::Default::default(),
16493            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16494        }
16495    }
16496}
16497
16498impl ::std::fmt::Debug for self::CreateFTIndexReq {
16499    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16500        formatter
16501            .debug_struct("CreateFTIndexReq")
16502            .field("fulltext_index_name", &self.fulltext_index_name)
16503            .field("index", &self.index)
16504            .finish()
16505    }
16506}
16507
16508unsafe impl ::std::marker::Send for self::CreateFTIndexReq {}
16509unsafe impl ::std::marker::Sync for self::CreateFTIndexReq {}
16510
16511impl ::fbthrift::GetTType for self::CreateFTIndexReq {
16512    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16513}
16514
16515impl<P> ::fbthrift::Serialize<P> for self::CreateFTIndexReq
16516where
16517    P: ::fbthrift::ProtocolWriter,
16518{
16519    fn write(&self, p: &mut P) {
16520        p.write_struct_begin("CreateFTIndexReq");
16521        p.write_field_begin("fulltext_index_name", ::fbthrift::TType::String, 1);
16522        ::fbthrift::Serialize::write(&self.fulltext_index_name, p);
16523        p.write_field_end();
16524        p.write_field_begin("index", ::fbthrift::TType::Struct, 2);
16525        ::fbthrift::Serialize::write(&self.index, p);
16526        p.write_field_end();
16527        p.write_field_stop();
16528        p.write_struct_end();
16529    }
16530}
16531
16532impl<P> ::fbthrift::Deserialize<P> for self::CreateFTIndexReq
16533where
16534    P: ::fbthrift::ProtocolReader,
16535{
16536    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16537        static FIELDS: &[::fbthrift::Field] = &[
16538            ::fbthrift::Field::new("fulltext_index_name", ::fbthrift::TType::String, 1),
16539            ::fbthrift::Field::new("index", ::fbthrift::TType::Struct, 2),
16540        ];
16541        let mut field_fulltext_index_name = ::std::option::Option::None;
16542        let mut field_index = ::std::option::Option::None;
16543        let _ = p.read_struct_begin(|_| ())?;
16544        loop {
16545            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16546            match (fty, fid as ::std::primitive::i32) {
16547                (::fbthrift::TType::Stop, _) => break,
16548                (::fbthrift::TType::String, 1) => field_fulltext_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16549                (::fbthrift::TType::Struct, 2) => field_index = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16550                (fty, _) => p.skip(fty)?,
16551            }
16552            p.read_field_end()?;
16553        }
16554        p.read_struct_end()?;
16555        ::std::result::Result::Ok(Self {
16556            fulltext_index_name: field_fulltext_index_name.unwrap_or_default(),
16557            index: field_index.unwrap_or_default(),
16558            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16559        })
16560    }
16561}
16562
16563
16564#[allow(clippy::derivable_impls)]
16565impl ::std::default::Default for self::DropFTIndexReq {
16566    fn default() -> Self {
16567        Self {
16568            space_id: ::std::default::Default::default(),
16569            fulltext_index_name: ::std::default::Default::default(),
16570            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16571        }
16572    }
16573}
16574
16575impl ::std::fmt::Debug for self::DropFTIndexReq {
16576    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16577        formatter
16578            .debug_struct("DropFTIndexReq")
16579            .field("space_id", &self.space_id)
16580            .field("fulltext_index_name", &self.fulltext_index_name)
16581            .finish()
16582    }
16583}
16584
16585unsafe impl ::std::marker::Send for self::DropFTIndexReq {}
16586unsafe impl ::std::marker::Sync for self::DropFTIndexReq {}
16587
16588impl ::fbthrift::GetTType for self::DropFTIndexReq {
16589    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16590}
16591
16592impl<P> ::fbthrift::Serialize<P> for self::DropFTIndexReq
16593where
16594    P: ::fbthrift::ProtocolWriter,
16595{
16596    fn write(&self, p: &mut P) {
16597        p.write_struct_begin("DropFTIndexReq");
16598        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
16599        ::fbthrift::Serialize::write(&self.space_id, p);
16600        p.write_field_end();
16601        p.write_field_begin("fulltext_index_name", ::fbthrift::TType::String, 2);
16602        ::fbthrift::Serialize::write(&self.fulltext_index_name, p);
16603        p.write_field_end();
16604        p.write_field_stop();
16605        p.write_struct_end();
16606    }
16607}
16608
16609impl<P> ::fbthrift::Deserialize<P> for self::DropFTIndexReq
16610where
16611    P: ::fbthrift::ProtocolReader,
16612{
16613    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16614        static FIELDS: &[::fbthrift::Field] = &[
16615            ::fbthrift::Field::new("fulltext_index_name", ::fbthrift::TType::String, 2),
16616            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
16617        ];
16618        let mut field_space_id = ::std::option::Option::None;
16619        let mut field_fulltext_index_name = ::std::option::Option::None;
16620        let _ = p.read_struct_begin(|_| ())?;
16621        loop {
16622            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16623            match (fty, fid as ::std::primitive::i32) {
16624                (::fbthrift::TType::Stop, _) => break,
16625                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16626                (::fbthrift::TType::String, 2) => field_fulltext_index_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16627                (fty, _) => p.skip(fty)?,
16628            }
16629            p.read_field_end()?;
16630        }
16631        p.read_struct_end()?;
16632        ::std::result::Result::Ok(Self {
16633            space_id: field_space_id.unwrap_or_default(),
16634            fulltext_index_name: field_fulltext_index_name.unwrap_or_default(),
16635            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16636        })
16637    }
16638}
16639
16640
16641#[allow(clippy::derivable_impls)]
16642impl ::std::default::Default for self::ListFTIndexesReq {
16643    fn default() -> Self {
16644        Self {
16645            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16646        }
16647    }
16648}
16649
16650impl ::std::fmt::Debug for self::ListFTIndexesReq {
16651    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16652        formatter
16653            .debug_struct("ListFTIndexesReq")
16654            .finish()
16655    }
16656}
16657
16658unsafe impl ::std::marker::Send for self::ListFTIndexesReq {}
16659unsafe impl ::std::marker::Sync for self::ListFTIndexesReq {}
16660
16661impl ::fbthrift::GetTType for self::ListFTIndexesReq {
16662    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16663}
16664
16665impl<P> ::fbthrift::Serialize<P> for self::ListFTIndexesReq
16666where
16667    P: ::fbthrift::ProtocolWriter,
16668{
16669    fn write(&self, p: &mut P) {
16670        p.write_struct_begin("ListFTIndexesReq");
16671        p.write_field_stop();
16672        p.write_struct_end();
16673    }
16674}
16675
16676impl<P> ::fbthrift::Deserialize<P> for self::ListFTIndexesReq
16677where
16678    P: ::fbthrift::ProtocolReader,
16679{
16680    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16681        static FIELDS: &[::fbthrift::Field] = &[
16682        ];
16683        let _ = p.read_struct_begin(|_| ())?;
16684        loop {
16685            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16686            match (fty, fid as ::std::primitive::i32) {
16687                (::fbthrift::TType::Stop, _) => break,
16688                (fty, _) => p.skip(fty)?,
16689            }
16690            p.read_field_end()?;
16691        }
16692        p.read_struct_end()?;
16693        ::std::result::Result::Ok(Self {
16694            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16695        })
16696    }
16697}
16698
16699
16700#[allow(clippy::derivable_impls)]
16701impl ::std::default::Default for self::ListFTIndexesResp {
16702    fn default() -> Self {
16703        Self {
16704            code: ::std::default::Default::default(),
16705            leader: ::std::default::Default::default(),
16706            indexes: ::std::default::Default::default(),
16707            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16708        }
16709    }
16710}
16711
16712impl ::std::fmt::Debug for self::ListFTIndexesResp {
16713    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16714        formatter
16715            .debug_struct("ListFTIndexesResp")
16716            .field("code", &self.code)
16717            .field("leader", &self.leader)
16718            .field("indexes", &self.indexes)
16719            .finish()
16720    }
16721}
16722
16723unsafe impl ::std::marker::Send for self::ListFTIndexesResp {}
16724unsafe impl ::std::marker::Sync for self::ListFTIndexesResp {}
16725
16726impl ::fbthrift::GetTType for self::ListFTIndexesResp {
16727    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16728}
16729
16730impl<P> ::fbthrift::Serialize<P> for self::ListFTIndexesResp
16731where
16732    P: ::fbthrift::ProtocolWriter,
16733{
16734    fn write(&self, p: &mut P) {
16735        p.write_struct_begin("ListFTIndexesResp");
16736        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
16737        ::fbthrift::Serialize::write(&self.code, p);
16738        p.write_field_end();
16739        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
16740        ::fbthrift::Serialize::write(&self.leader, p);
16741        p.write_field_end();
16742        p.write_field_begin("indexes", ::fbthrift::TType::Map, 3);
16743        ::fbthrift::Serialize::write(&self.indexes, p);
16744        p.write_field_end();
16745        p.write_field_stop();
16746        p.write_struct_end();
16747    }
16748}
16749
16750impl<P> ::fbthrift::Deserialize<P> for self::ListFTIndexesResp
16751where
16752    P: ::fbthrift::ProtocolReader,
16753{
16754    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16755        static FIELDS: &[::fbthrift::Field] = &[
16756            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
16757            ::fbthrift::Field::new("indexes", ::fbthrift::TType::Map, 3),
16758            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
16759        ];
16760        let mut field_code = ::std::option::Option::None;
16761        let mut field_leader = ::std::option::Option::None;
16762        let mut field_indexes = ::std::option::Option::None;
16763        let _ = p.read_struct_begin(|_| ())?;
16764        loop {
16765            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16766            match (fty, fid as ::std::primitive::i32) {
16767                (::fbthrift::TType::Stop, _) => break,
16768                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16769                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16770                (::fbthrift::TType::Map, 3) => field_indexes = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16771                (fty, _) => p.skip(fty)?,
16772            }
16773            p.read_field_end()?;
16774        }
16775        p.read_struct_end()?;
16776        ::std::result::Result::Ok(Self {
16777            code: field_code.unwrap_or_default(),
16778            leader: field_leader.unwrap_or_default(),
16779            indexes: field_indexes.unwrap_or_default(),
16780            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16781        })
16782    }
16783}
16784
16785
16786#[allow(clippy::derivable_impls)]
16787impl ::std::default::Default for self::QueryDesc {
16788    fn default() -> Self {
16789        Self {
16790            start_time: ::std::default::Default::default(),
16791            status: ::std::default::Default::default(),
16792            duration: ::std::default::Default::default(),
16793            query: ::std::default::Default::default(),
16794            graph_addr: ::std::default::Default::default(),
16795            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16796        }
16797    }
16798}
16799
16800impl ::std::fmt::Debug for self::QueryDesc {
16801    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16802        formatter
16803            .debug_struct("QueryDesc")
16804            .field("start_time", &self.start_time)
16805            .field("status", &self.status)
16806            .field("duration", &self.duration)
16807            .field("query", &self.query)
16808            .field("graph_addr", &self.graph_addr)
16809            .finish()
16810    }
16811}
16812
16813unsafe impl ::std::marker::Send for self::QueryDesc {}
16814unsafe impl ::std::marker::Sync for self::QueryDesc {}
16815
16816impl ::fbthrift::GetTType for self::QueryDesc {
16817    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16818}
16819
16820impl<P> ::fbthrift::Serialize<P> for self::QueryDesc
16821where
16822    P: ::fbthrift::ProtocolWriter,
16823{
16824    fn write(&self, p: &mut P) {
16825        p.write_struct_begin("QueryDesc");
16826        p.write_field_begin("start_time", ::fbthrift::TType::I64, 1);
16827        ::fbthrift::Serialize::write(&self.start_time, p);
16828        p.write_field_end();
16829        p.write_field_begin("status", ::fbthrift::TType::I32, 2);
16830        ::fbthrift::Serialize::write(&self.status, p);
16831        p.write_field_end();
16832        p.write_field_begin("duration", ::fbthrift::TType::I64, 3);
16833        ::fbthrift::Serialize::write(&self.duration, p);
16834        p.write_field_end();
16835        p.write_field_begin("query", ::fbthrift::TType::String, 4);
16836        ::fbthrift::Serialize::write(&self.query, p);
16837        p.write_field_end();
16838        p.write_field_begin("graph_addr", ::fbthrift::TType::Struct, 5);
16839        ::fbthrift::Serialize::write(&self.graph_addr, p);
16840        p.write_field_end();
16841        p.write_field_stop();
16842        p.write_struct_end();
16843    }
16844}
16845
16846impl<P> ::fbthrift::Deserialize<P> for self::QueryDesc
16847where
16848    P: ::fbthrift::ProtocolReader,
16849{
16850    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16851        static FIELDS: &[::fbthrift::Field] = &[
16852            ::fbthrift::Field::new("duration", ::fbthrift::TType::I64, 3),
16853            ::fbthrift::Field::new("graph_addr", ::fbthrift::TType::Struct, 5),
16854            ::fbthrift::Field::new("query", ::fbthrift::TType::String, 4),
16855            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 1),
16856            ::fbthrift::Field::new("status", ::fbthrift::TType::I32, 2),
16857        ];
16858        let mut field_start_time = ::std::option::Option::None;
16859        let mut field_status = ::std::option::Option::None;
16860        let mut field_duration = ::std::option::Option::None;
16861        let mut field_query = ::std::option::Option::None;
16862        let mut field_graph_addr = ::std::option::Option::None;
16863        let _ = p.read_struct_begin(|_| ())?;
16864        loop {
16865            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
16866            match (fty, fid as ::std::primitive::i32) {
16867                (::fbthrift::TType::Stop, _) => break,
16868                (::fbthrift::TType::I64, 1) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16869                (::fbthrift::TType::I32, 2) => field_status = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16870                (::fbthrift::TType::I64, 3) => field_duration = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16871                (::fbthrift::TType::String, 4) => field_query = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16872                (::fbthrift::TType::Struct, 5) => field_graph_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
16873                (fty, _) => p.skip(fty)?,
16874            }
16875            p.read_field_end()?;
16876        }
16877        p.read_struct_end()?;
16878        ::std::result::Result::Ok(Self {
16879            start_time: field_start_time.unwrap_or_default(),
16880            status: field_status.unwrap_or_default(),
16881            duration: field_duration.unwrap_or_default(),
16882            query: field_query.unwrap_or_default(),
16883            graph_addr: field_graph_addr.unwrap_or_default(),
16884            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16885        })
16886    }
16887}
16888
16889
16890#[allow(clippy::derivable_impls)]
16891impl ::std::default::Default for self::Session {
16892    fn default() -> Self {
16893        Self {
16894            session_id: ::std::default::Default::default(),
16895            create_time: ::std::default::Default::default(),
16896            update_time: ::std::default::Default::default(),
16897            user_name: ::std::default::Default::default(),
16898            space_name: ::std::default::Default::default(),
16899            graph_addr: ::std::default::Default::default(),
16900            timezone: ::std::default::Default::default(),
16901            client_ip: ::std::default::Default::default(),
16902            configs: ::std::default::Default::default(),
16903            queries: ::std::default::Default::default(),
16904            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
16905        }
16906    }
16907}
16908
16909impl ::std::fmt::Debug for self::Session {
16910    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
16911        formatter
16912            .debug_struct("Session")
16913            .field("session_id", &self.session_id)
16914            .field("create_time", &self.create_time)
16915            .field("update_time", &self.update_time)
16916            .field("user_name", &self.user_name)
16917            .field("space_name", &self.space_name)
16918            .field("graph_addr", &self.graph_addr)
16919            .field("timezone", &self.timezone)
16920            .field("client_ip", &self.client_ip)
16921            .field("configs", &self.configs)
16922            .field("queries", &self.queries)
16923            .finish()
16924    }
16925}
16926
16927unsafe impl ::std::marker::Send for self::Session {}
16928unsafe impl ::std::marker::Sync for self::Session {}
16929
16930impl ::fbthrift::GetTType for self::Session {
16931    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
16932}
16933
16934impl<P> ::fbthrift::Serialize<P> for self::Session
16935where
16936    P: ::fbthrift::ProtocolWriter,
16937{
16938    fn write(&self, p: &mut P) {
16939        p.write_struct_begin("Session");
16940        p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
16941        ::fbthrift::Serialize::write(&self.session_id, p);
16942        p.write_field_end();
16943        p.write_field_begin("create_time", ::fbthrift::TType::I64, 2);
16944        ::fbthrift::Serialize::write(&self.create_time, p);
16945        p.write_field_end();
16946        p.write_field_begin("update_time", ::fbthrift::TType::I64, 3);
16947        ::fbthrift::Serialize::write(&self.update_time, p);
16948        p.write_field_end();
16949        p.write_field_begin("user_name", ::fbthrift::TType::String, 4);
16950        ::fbthrift::Serialize::write(&self.user_name, p);
16951        p.write_field_end();
16952        p.write_field_begin("space_name", ::fbthrift::TType::String, 5);
16953        ::fbthrift::Serialize::write(&self.space_name, p);
16954        p.write_field_end();
16955        p.write_field_begin("graph_addr", ::fbthrift::TType::Struct, 6);
16956        ::fbthrift::Serialize::write(&self.graph_addr, p);
16957        p.write_field_end();
16958        p.write_field_begin("timezone", ::fbthrift::TType::I32, 7);
16959        ::fbthrift::Serialize::write(&self.timezone, p);
16960        p.write_field_end();
16961        p.write_field_begin("client_ip", ::fbthrift::TType::String, 8);
16962        ::fbthrift::Serialize::write(&self.client_ip, p);
16963        p.write_field_end();
16964        p.write_field_begin("configs", ::fbthrift::TType::Map, 9);
16965        ::fbthrift::Serialize::write(&self.configs, p);
16966        p.write_field_end();
16967        p.write_field_begin("queries", ::fbthrift::TType::Map, 10);
16968        ::fbthrift::Serialize::write(&self.queries, p);
16969        p.write_field_end();
16970        p.write_field_stop();
16971        p.write_struct_end();
16972    }
16973}
16974
16975impl<P> ::fbthrift::Deserialize<P> for self::Session
16976where
16977    P: ::fbthrift::ProtocolReader,
16978{
16979    fn read(p: &mut P) -> ::anyhow::Result<Self> {
16980        static FIELDS: &[::fbthrift::Field] = &[
16981            ::fbthrift::Field::new("client_ip", ::fbthrift::TType::String, 8),
16982            ::fbthrift::Field::new("configs", ::fbthrift::TType::Map, 9),
16983            ::fbthrift::Field::new("create_time", ::fbthrift::TType::I64, 2),
16984            ::fbthrift::Field::new("graph_addr", ::fbthrift::TType::Struct, 6),
16985            ::fbthrift::Field::new("queries", ::fbthrift::TType::Map, 10),
16986            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
16987            ::fbthrift::Field::new("space_name", ::fbthrift::TType::String, 5),
16988            ::fbthrift::Field::new("timezone", ::fbthrift::TType::I32, 7),
16989            ::fbthrift::Field::new("update_time", ::fbthrift::TType::I64, 3),
16990            ::fbthrift::Field::new("user_name", ::fbthrift::TType::String, 4),
16991        ];
16992        let mut field_session_id = ::std::option::Option::None;
16993        let mut field_create_time = ::std::option::Option::None;
16994        let mut field_update_time = ::std::option::Option::None;
16995        let mut field_user_name = ::std::option::Option::None;
16996        let mut field_space_name = ::std::option::Option::None;
16997        let mut field_graph_addr = ::std::option::Option::None;
16998        let mut field_timezone = ::std::option::Option::None;
16999        let mut field_client_ip = ::std::option::Option::None;
17000        let mut field_configs = ::std::option::Option::None;
17001        let mut field_queries = ::std::option::Option::None;
17002        let _ = p.read_struct_begin(|_| ())?;
17003        loop {
17004            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17005            match (fty, fid as ::std::primitive::i32) {
17006                (::fbthrift::TType::Stop, _) => break,
17007                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17008                (::fbthrift::TType::I64, 2) => field_create_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17009                (::fbthrift::TType::I64, 3) => field_update_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17010                (::fbthrift::TType::String, 4) => field_user_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17011                (::fbthrift::TType::String, 5) => field_space_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17012                (::fbthrift::TType::Struct, 6) => field_graph_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17013                (::fbthrift::TType::I32, 7) => field_timezone = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17014                (::fbthrift::TType::String, 8) => field_client_ip = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17015                (::fbthrift::TType::Map, 9) => field_configs = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17016                (::fbthrift::TType::Map, 10) => field_queries = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17017                (fty, _) => p.skip(fty)?,
17018            }
17019            p.read_field_end()?;
17020        }
17021        p.read_struct_end()?;
17022        ::std::result::Result::Ok(Self {
17023            session_id: field_session_id.unwrap_or_default(),
17024            create_time: field_create_time.unwrap_or_default(),
17025            update_time: field_update_time.unwrap_or_default(),
17026            user_name: field_user_name.unwrap_or_default(),
17027            space_name: field_space_name.unwrap_or_default(),
17028            graph_addr: field_graph_addr.unwrap_or_default(),
17029            timezone: field_timezone.unwrap_or_default(),
17030            client_ip: field_client_ip.unwrap_or_default(),
17031            configs: field_configs.unwrap_or_default(),
17032            queries: field_queries.unwrap_or_default(),
17033            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17034        })
17035    }
17036}
17037
17038
17039#[allow(clippy::derivable_impls)]
17040impl ::std::default::Default for self::CreateSessionReq {
17041    fn default() -> Self {
17042        Self {
17043            user: ::std::default::Default::default(),
17044            graph_addr: ::std::default::Default::default(),
17045            client_ip: ::std::default::Default::default(),
17046            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17047        }
17048    }
17049}
17050
17051impl ::std::fmt::Debug for self::CreateSessionReq {
17052    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17053        formatter
17054            .debug_struct("CreateSessionReq")
17055            .field("user", &self.user)
17056            .field("graph_addr", &self.graph_addr)
17057            .field("client_ip", &self.client_ip)
17058            .finish()
17059    }
17060}
17061
17062unsafe impl ::std::marker::Send for self::CreateSessionReq {}
17063unsafe impl ::std::marker::Sync for self::CreateSessionReq {}
17064
17065impl ::fbthrift::GetTType for self::CreateSessionReq {
17066    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17067}
17068
17069impl<P> ::fbthrift::Serialize<P> for self::CreateSessionReq
17070where
17071    P: ::fbthrift::ProtocolWriter,
17072{
17073    fn write(&self, p: &mut P) {
17074        p.write_struct_begin("CreateSessionReq");
17075        p.write_field_begin("user", ::fbthrift::TType::String, 1);
17076        ::fbthrift::Serialize::write(&self.user, p);
17077        p.write_field_end();
17078        p.write_field_begin("graph_addr", ::fbthrift::TType::Struct, 2);
17079        ::fbthrift::Serialize::write(&self.graph_addr, p);
17080        p.write_field_end();
17081        p.write_field_begin("client_ip", ::fbthrift::TType::String, 3);
17082        ::fbthrift::Serialize::write(&self.client_ip, p);
17083        p.write_field_end();
17084        p.write_field_stop();
17085        p.write_struct_end();
17086    }
17087}
17088
17089impl<P> ::fbthrift::Deserialize<P> for self::CreateSessionReq
17090where
17091    P: ::fbthrift::ProtocolReader,
17092{
17093    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17094        static FIELDS: &[::fbthrift::Field] = &[
17095            ::fbthrift::Field::new("client_ip", ::fbthrift::TType::String, 3),
17096            ::fbthrift::Field::new("graph_addr", ::fbthrift::TType::Struct, 2),
17097            ::fbthrift::Field::new("user", ::fbthrift::TType::String, 1),
17098        ];
17099        let mut field_user = ::std::option::Option::None;
17100        let mut field_graph_addr = ::std::option::Option::None;
17101        let mut field_client_ip = ::std::option::Option::None;
17102        let _ = p.read_struct_begin(|_| ())?;
17103        loop {
17104            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17105            match (fty, fid as ::std::primitive::i32) {
17106                (::fbthrift::TType::Stop, _) => break,
17107                (::fbthrift::TType::String, 1) => field_user = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17108                (::fbthrift::TType::Struct, 2) => field_graph_addr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17109                (::fbthrift::TType::String, 3) => field_client_ip = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17110                (fty, _) => p.skip(fty)?,
17111            }
17112            p.read_field_end()?;
17113        }
17114        p.read_struct_end()?;
17115        ::std::result::Result::Ok(Self {
17116            user: field_user.unwrap_or_default(),
17117            graph_addr: field_graph_addr.unwrap_or_default(),
17118            client_ip: field_client_ip.unwrap_or_default(),
17119            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17120        })
17121    }
17122}
17123
17124
17125#[allow(clippy::derivable_impls)]
17126impl ::std::default::Default for self::CreateSessionResp {
17127    fn default() -> Self {
17128        Self {
17129            code: ::std::default::Default::default(),
17130            leader: ::std::default::Default::default(),
17131            session: ::std::default::Default::default(),
17132            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17133        }
17134    }
17135}
17136
17137impl ::std::fmt::Debug for self::CreateSessionResp {
17138    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17139        formatter
17140            .debug_struct("CreateSessionResp")
17141            .field("code", &self.code)
17142            .field("leader", &self.leader)
17143            .field("session", &self.session)
17144            .finish()
17145    }
17146}
17147
17148unsafe impl ::std::marker::Send for self::CreateSessionResp {}
17149unsafe impl ::std::marker::Sync for self::CreateSessionResp {}
17150
17151impl ::fbthrift::GetTType for self::CreateSessionResp {
17152    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17153}
17154
17155impl<P> ::fbthrift::Serialize<P> for self::CreateSessionResp
17156where
17157    P: ::fbthrift::ProtocolWriter,
17158{
17159    fn write(&self, p: &mut P) {
17160        p.write_struct_begin("CreateSessionResp");
17161        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17162        ::fbthrift::Serialize::write(&self.code, p);
17163        p.write_field_end();
17164        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17165        ::fbthrift::Serialize::write(&self.leader, p);
17166        p.write_field_end();
17167        p.write_field_begin("session", ::fbthrift::TType::Struct, 3);
17168        ::fbthrift::Serialize::write(&self.session, p);
17169        p.write_field_end();
17170        p.write_field_stop();
17171        p.write_struct_end();
17172    }
17173}
17174
17175impl<P> ::fbthrift::Deserialize<P> for self::CreateSessionResp
17176where
17177    P: ::fbthrift::ProtocolReader,
17178{
17179    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17180        static FIELDS: &[::fbthrift::Field] = &[
17181            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17182            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17183            ::fbthrift::Field::new("session", ::fbthrift::TType::Struct, 3),
17184        ];
17185        let mut field_code = ::std::option::Option::None;
17186        let mut field_leader = ::std::option::Option::None;
17187        let mut field_session = ::std::option::Option::None;
17188        let _ = p.read_struct_begin(|_| ())?;
17189        loop {
17190            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17191            match (fty, fid as ::std::primitive::i32) {
17192                (::fbthrift::TType::Stop, _) => break,
17193                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17194                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17195                (::fbthrift::TType::Struct, 3) => field_session = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17196                (fty, _) => p.skip(fty)?,
17197            }
17198            p.read_field_end()?;
17199        }
17200        p.read_struct_end()?;
17201        ::std::result::Result::Ok(Self {
17202            code: field_code.unwrap_or_default(),
17203            leader: field_leader.unwrap_or_default(),
17204            session: field_session.unwrap_or_default(),
17205            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17206        })
17207    }
17208}
17209
17210
17211#[allow(clippy::derivable_impls)]
17212impl ::std::default::Default for self::UpdateSessionsReq {
17213    fn default() -> Self {
17214        Self {
17215            sessions: ::std::default::Default::default(),
17216            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17217        }
17218    }
17219}
17220
17221impl ::std::fmt::Debug for self::UpdateSessionsReq {
17222    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17223        formatter
17224            .debug_struct("UpdateSessionsReq")
17225            .field("sessions", &self.sessions)
17226            .finish()
17227    }
17228}
17229
17230unsafe impl ::std::marker::Send for self::UpdateSessionsReq {}
17231unsafe impl ::std::marker::Sync for self::UpdateSessionsReq {}
17232
17233impl ::fbthrift::GetTType for self::UpdateSessionsReq {
17234    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17235}
17236
17237impl<P> ::fbthrift::Serialize<P> for self::UpdateSessionsReq
17238where
17239    P: ::fbthrift::ProtocolWriter,
17240{
17241    fn write(&self, p: &mut P) {
17242        p.write_struct_begin("UpdateSessionsReq");
17243        p.write_field_begin("sessions", ::fbthrift::TType::List, 1);
17244        ::fbthrift::Serialize::write(&self.sessions, p);
17245        p.write_field_end();
17246        p.write_field_stop();
17247        p.write_struct_end();
17248    }
17249}
17250
17251impl<P> ::fbthrift::Deserialize<P> for self::UpdateSessionsReq
17252where
17253    P: ::fbthrift::ProtocolReader,
17254{
17255    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17256        static FIELDS: &[::fbthrift::Field] = &[
17257            ::fbthrift::Field::new("sessions", ::fbthrift::TType::List, 1),
17258        ];
17259        let mut field_sessions = ::std::option::Option::None;
17260        let _ = p.read_struct_begin(|_| ())?;
17261        loop {
17262            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17263            match (fty, fid as ::std::primitive::i32) {
17264                (::fbthrift::TType::Stop, _) => break,
17265                (::fbthrift::TType::List, 1) => field_sessions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17266                (fty, _) => p.skip(fty)?,
17267            }
17268            p.read_field_end()?;
17269        }
17270        p.read_struct_end()?;
17271        ::std::result::Result::Ok(Self {
17272            sessions: field_sessions.unwrap_or_default(),
17273            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17274        })
17275    }
17276}
17277
17278
17279#[allow(clippy::derivable_impls)]
17280impl ::std::default::Default for self::UpdateSessionsResp {
17281    fn default() -> Self {
17282        Self {
17283            code: ::std::default::Default::default(),
17284            leader: ::std::default::Default::default(),
17285            killed_queries: ::std::default::Default::default(),
17286            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17287        }
17288    }
17289}
17290
17291impl ::std::fmt::Debug for self::UpdateSessionsResp {
17292    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17293        formatter
17294            .debug_struct("UpdateSessionsResp")
17295            .field("code", &self.code)
17296            .field("leader", &self.leader)
17297            .field("killed_queries", &self.killed_queries)
17298            .finish()
17299    }
17300}
17301
17302unsafe impl ::std::marker::Send for self::UpdateSessionsResp {}
17303unsafe impl ::std::marker::Sync for self::UpdateSessionsResp {}
17304
17305impl ::fbthrift::GetTType for self::UpdateSessionsResp {
17306    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17307}
17308
17309impl<P> ::fbthrift::Serialize<P> for self::UpdateSessionsResp
17310where
17311    P: ::fbthrift::ProtocolWriter,
17312{
17313    fn write(&self, p: &mut P) {
17314        p.write_struct_begin("UpdateSessionsResp");
17315        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17316        ::fbthrift::Serialize::write(&self.code, p);
17317        p.write_field_end();
17318        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17319        ::fbthrift::Serialize::write(&self.leader, p);
17320        p.write_field_end();
17321        p.write_field_begin("killed_queries", ::fbthrift::TType::Map, 3);
17322        ::fbthrift::Serialize::write(&self.killed_queries, p);
17323        p.write_field_end();
17324        p.write_field_stop();
17325        p.write_struct_end();
17326    }
17327}
17328
17329impl<P> ::fbthrift::Deserialize<P> for self::UpdateSessionsResp
17330where
17331    P: ::fbthrift::ProtocolReader,
17332{
17333    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17334        static FIELDS: &[::fbthrift::Field] = &[
17335            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17336            ::fbthrift::Field::new("killed_queries", ::fbthrift::TType::Map, 3),
17337            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17338        ];
17339        let mut field_code = ::std::option::Option::None;
17340        let mut field_leader = ::std::option::Option::None;
17341        let mut field_killed_queries = ::std::option::Option::None;
17342        let _ = p.read_struct_begin(|_| ())?;
17343        loop {
17344            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17345            match (fty, fid as ::std::primitive::i32) {
17346                (::fbthrift::TType::Stop, _) => break,
17347                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17348                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17349                (::fbthrift::TType::Map, 3) => field_killed_queries = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17350                (fty, _) => p.skip(fty)?,
17351            }
17352            p.read_field_end()?;
17353        }
17354        p.read_struct_end()?;
17355        ::std::result::Result::Ok(Self {
17356            code: field_code.unwrap_or_default(),
17357            leader: field_leader.unwrap_or_default(),
17358            killed_queries: field_killed_queries.unwrap_or_default(),
17359            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17360        })
17361    }
17362}
17363
17364
17365#[allow(clippy::derivable_impls)]
17366impl ::std::default::Default for self::ListSessionsReq {
17367    fn default() -> Self {
17368        Self {
17369            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17370        }
17371    }
17372}
17373
17374impl ::std::fmt::Debug for self::ListSessionsReq {
17375    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17376        formatter
17377            .debug_struct("ListSessionsReq")
17378            .finish()
17379    }
17380}
17381
17382unsafe impl ::std::marker::Send for self::ListSessionsReq {}
17383unsafe impl ::std::marker::Sync for self::ListSessionsReq {}
17384
17385impl ::fbthrift::GetTType for self::ListSessionsReq {
17386    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17387}
17388
17389impl<P> ::fbthrift::Serialize<P> for self::ListSessionsReq
17390where
17391    P: ::fbthrift::ProtocolWriter,
17392{
17393    fn write(&self, p: &mut P) {
17394        p.write_struct_begin("ListSessionsReq");
17395        p.write_field_stop();
17396        p.write_struct_end();
17397    }
17398}
17399
17400impl<P> ::fbthrift::Deserialize<P> for self::ListSessionsReq
17401where
17402    P: ::fbthrift::ProtocolReader,
17403{
17404    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17405        static FIELDS: &[::fbthrift::Field] = &[
17406        ];
17407        let _ = p.read_struct_begin(|_| ())?;
17408        loop {
17409            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17410            match (fty, fid as ::std::primitive::i32) {
17411                (::fbthrift::TType::Stop, _) => break,
17412                (fty, _) => p.skip(fty)?,
17413            }
17414            p.read_field_end()?;
17415        }
17416        p.read_struct_end()?;
17417        ::std::result::Result::Ok(Self {
17418            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17419        })
17420    }
17421}
17422
17423
17424#[allow(clippy::derivable_impls)]
17425impl ::std::default::Default for self::ListSessionsResp {
17426    fn default() -> Self {
17427        Self {
17428            code: ::std::default::Default::default(),
17429            leader: ::std::default::Default::default(),
17430            sessions: ::std::default::Default::default(),
17431            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17432        }
17433    }
17434}
17435
17436impl ::std::fmt::Debug for self::ListSessionsResp {
17437    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17438        formatter
17439            .debug_struct("ListSessionsResp")
17440            .field("code", &self.code)
17441            .field("leader", &self.leader)
17442            .field("sessions", &self.sessions)
17443            .finish()
17444    }
17445}
17446
17447unsafe impl ::std::marker::Send for self::ListSessionsResp {}
17448unsafe impl ::std::marker::Sync for self::ListSessionsResp {}
17449
17450impl ::fbthrift::GetTType for self::ListSessionsResp {
17451    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17452}
17453
17454impl<P> ::fbthrift::Serialize<P> for self::ListSessionsResp
17455where
17456    P: ::fbthrift::ProtocolWriter,
17457{
17458    fn write(&self, p: &mut P) {
17459        p.write_struct_begin("ListSessionsResp");
17460        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17461        ::fbthrift::Serialize::write(&self.code, p);
17462        p.write_field_end();
17463        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17464        ::fbthrift::Serialize::write(&self.leader, p);
17465        p.write_field_end();
17466        p.write_field_begin("sessions", ::fbthrift::TType::List, 3);
17467        ::fbthrift::Serialize::write(&self.sessions, p);
17468        p.write_field_end();
17469        p.write_field_stop();
17470        p.write_struct_end();
17471    }
17472}
17473
17474impl<P> ::fbthrift::Deserialize<P> for self::ListSessionsResp
17475where
17476    P: ::fbthrift::ProtocolReader,
17477{
17478    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17479        static FIELDS: &[::fbthrift::Field] = &[
17480            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17481            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17482            ::fbthrift::Field::new("sessions", ::fbthrift::TType::List, 3),
17483        ];
17484        let mut field_code = ::std::option::Option::None;
17485        let mut field_leader = ::std::option::Option::None;
17486        let mut field_sessions = ::std::option::Option::None;
17487        let _ = p.read_struct_begin(|_| ())?;
17488        loop {
17489            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17490            match (fty, fid as ::std::primitive::i32) {
17491                (::fbthrift::TType::Stop, _) => break,
17492                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17493                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17494                (::fbthrift::TType::List, 3) => field_sessions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17495                (fty, _) => p.skip(fty)?,
17496            }
17497            p.read_field_end()?;
17498        }
17499        p.read_struct_end()?;
17500        ::std::result::Result::Ok(Self {
17501            code: field_code.unwrap_or_default(),
17502            leader: field_leader.unwrap_or_default(),
17503            sessions: field_sessions.unwrap_or_default(),
17504            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17505        })
17506    }
17507}
17508
17509
17510#[allow(clippy::derivable_impls)]
17511impl ::std::default::Default for self::GetSessionReq {
17512    fn default() -> Self {
17513        Self {
17514            session_id: ::std::default::Default::default(),
17515            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17516        }
17517    }
17518}
17519
17520impl ::std::fmt::Debug for self::GetSessionReq {
17521    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17522        formatter
17523            .debug_struct("GetSessionReq")
17524            .field("session_id", &self.session_id)
17525            .finish()
17526    }
17527}
17528
17529unsafe impl ::std::marker::Send for self::GetSessionReq {}
17530unsafe impl ::std::marker::Sync for self::GetSessionReq {}
17531
17532impl ::fbthrift::GetTType for self::GetSessionReq {
17533    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17534}
17535
17536impl<P> ::fbthrift::Serialize<P> for self::GetSessionReq
17537where
17538    P: ::fbthrift::ProtocolWriter,
17539{
17540    fn write(&self, p: &mut P) {
17541        p.write_struct_begin("GetSessionReq");
17542        p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
17543        ::fbthrift::Serialize::write(&self.session_id, p);
17544        p.write_field_end();
17545        p.write_field_stop();
17546        p.write_struct_end();
17547    }
17548}
17549
17550impl<P> ::fbthrift::Deserialize<P> for self::GetSessionReq
17551where
17552    P: ::fbthrift::ProtocolReader,
17553{
17554    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17555        static FIELDS: &[::fbthrift::Field] = &[
17556            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
17557        ];
17558        let mut field_session_id = ::std::option::Option::None;
17559        let _ = p.read_struct_begin(|_| ())?;
17560        loop {
17561            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17562            match (fty, fid as ::std::primitive::i32) {
17563                (::fbthrift::TType::Stop, _) => break,
17564                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17565                (fty, _) => p.skip(fty)?,
17566            }
17567            p.read_field_end()?;
17568        }
17569        p.read_struct_end()?;
17570        ::std::result::Result::Ok(Self {
17571            session_id: field_session_id.unwrap_or_default(),
17572            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17573        })
17574    }
17575}
17576
17577
17578#[allow(clippy::derivable_impls)]
17579impl ::std::default::Default for self::GetSessionResp {
17580    fn default() -> Self {
17581        Self {
17582            code: ::std::default::Default::default(),
17583            leader: ::std::default::Default::default(),
17584            session: ::std::default::Default::default(),
17585            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17586        }
17587    }
17588}
17589
17590impl ::std::fmt::Debug for self::GetSessionResp {
17591    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17592        formatter
17593            .debug_struct("GetSessionResp")
17594            .field("code", &self.code)
17595            .field("leader", &self.leader)
17596            .field("session", &self.session)
17597            .finish()
17598    }
17599}
17600
17601unsafe impl ::std::marker::Send for self::GetSessionResp {}
17602unsafe impl ::std::marker::Sync for self::GetSessionResp {}
17603
17604impl ::fbthrift::GetTType for self::GetSessionResp {
17605    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17606}
17607
17608impl<P> ::fbthrift::Serialize<P> for self::GetSessionResp
17609where
17610    P: ::fbthrift::ProtocolWriter,
17611{
17612    fn write(&self, p: &mut P) {
17613        p.write_struct_begin("GetSessionResp");
17614        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17615        ::fbthrift::Serialize::write(&self.code, p);
17616        p.write_field_end();
17617        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17618        ::fbthrift::Serialize::write(&self.leader, p);
17619        p.write_field_end();
17620        p.write_field_begin("session", ::fbthrift::TType::Struct, 3);
17621        ::fbthrift::Serialize::write(&self.session, p);
17622        p.write_field_end();
17623        p.write_field_stop();
17624        p.write_struct_end();
17625    }
17626}
17627
17628impl<P> ::fbthrift::Deserialize<P> for self::GetSessionResp
17629where
17630    P: ::fbthrift::ProtocolReader,
17631{
17632    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17633        static FIELDS: &[::fbthrift::Field] = &[
17634            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17635            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17636            ::fbthrift::Field::new("session", ::fbthrift::TType::Struct, 3),
17637        ];
17638        let mut field_code = ::std::option::Option::None;
17639        let mut field_leader = ::std::option::Option::None;
17640        let mut field_session = ::std::option::Option::None;
17641        let _ = p.read_struct_begin(|_| ())?;
17642        loop {
17643            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17644            match (fty, fid as ::std::primitive::i32) {
17645                (::fbthrift::TType::Stop, _) => break,
17646                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17647                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17648                (::fbthrift::TType::Struct, 3) => field_session = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17649                (fty, _) => p.skip(fty)?,
17650            }
17651            p.read_field_end()?;
17652        }
17653        p.read_struct_end()?;
17654        ::std::result::Result::Ok(Self {
17655            code: field_code.unwrap_or_default(),
17656            leader: field_leader.unwrap_or_default(),
17657            session: field_session.unwrap_or_default(),
17658            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17659        })
17660    }
17661}
17662
17663
17664#[allow(clippy::derivable_impls)]
17665impl ::std::default::Default for self::RemoveSessionReq {
17666    fn default() -> Self {
17667        Self {
17668            session_id: ::std::default::Default::default(),
17669            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17670        }
17671    }
17672}
17673
17674impl ::std::fmt::Debug for self::RemoveSessionReq {
17675    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17676        formatter
17677            .debug_struct("RemoveSessionReq")
17678            .field("session_id", &self.session_id)
17679            .finish()
17680    }
17681}
17682
17683unsafe impl ::std::marker::Send for self::RemoveSessionReq {}
17684unsafe impl ::std::marker::Sync for self::RemoveSessionReq {}
17685
17686impl ::fbthrift::GetTType for self::RemoveSessionReq {
17687    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17688}
17689
17690impl<P> ::fbthrift::Serialize<P> for self::RemoveSessionReq
17691where
17692    P: ::fbthrift::ProtocolWriter,
17693{
17694    fn write(&self, p: &mut P) {
17695        p.write_struct_begin("RemoveSessionReq");
17696        p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
17697        ::fbthrift::Serialize::write(&self.session_id, p);
17698        p.write_field_end();
17699        p.write_field_stop();
17700        p.write_struct_end();
17701    }
17702}
17703
17704impl<P> ::fbthrift::Deserialize<P> for self::RemoveSessionReq
17705where
17706    P: ::fbthrift::ProtocolReader,
17707{
17708    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17709        static FIELDS: &[::fbthrift::Field] = &[
17710            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
17711        ];
17712        let mut field_session_id = ::std::option::Option::None;
17713        let _ = p.read_struct_begin(|_| ())?;
17714        loop {
17715            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17716            match (fty, fid as ::std::primitive::i32) {
17717                (::fbthrift::TType::Stop, _) => break,
17718                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17719                (fty, _) => p.skip(fty)?,
17720            }
17721            p.read_field_end()?;
17722        }
17723        p.read_struct_end()?;
17724        ::std::result::Result::Ok(Self {
17725            session_id: field_session_id.unwrap_or_default(),
17726            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17727        })
17728    }
17729}
17730
17731
17732#[allow(clippy::derivable_impls)]
17733impl ::std::default::Default for self::KillQueryReq {
17734    fn default() -> Self {
17735        Self {
17736            kill_queries: ::std::default::Default::default(),
17737            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17738        }
17739    }
17740}
17741
17742impl ::std::fmt::Debug for self::KillQueryReq {
17743    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17744        formatter
17745            .debug_struct("KillQueryReq")
17746            .field("kill_queries", &self.kill_queries)
17747            .finish()
17748    }
17749}
17750
17751unsafe impl ::std::marker::Send for self::KillQueryReq {}
17752unsafe impl ::std::marker::Sync for self::KillQueryReq {}
17753
17754impl ::fbthrift::GetTType for self::KillQueryReq {
17755    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17756}
17757
17758impl<P> ::fbthrift::Serialize<P> for self::KillQueryReq
17759where
17760    P: ::fbthrift::ProtocolWriter,
17761{
17762    fn write(&self, p: &mut P) {
17763        p.write_struct_begin("KillQueryReq");
17764        p.write_field_begin("kill_queries", ::fbthrift::TType::Map, 1);
17765        ::fbthrift::Serialize::write(&self.kill_queries, p);
17766        p.write_field_end();
17767        p.write_field_stop();
17768        p.write_struct_end();
17769    }
17770}
17771
17772impl<P> ::fbthrift::Deserialize<P> for self::KillQueryReq
17773where
17774    P: ::fbthrift::ProtocolReader,
17775{
17776    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17777        static FIELDS: &[::fbthrift::Field] = &[
17778            ::fbthrift::Field::new("kill_queries", ::fbthrift::TType::Map, 1),
17779        ];
17780        let mut field_kill_queries = ::std::option::Option::None;
17781        let _ = p.read_struct_begin(|_| ())?;
17782        loop {
17783            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17784            match (fty, fid as ::std::primitive::i32) {
17785                (::fbthrift::TType::Stop, _) => break,
17786                (::fbthrift::TType::Map, 1) => field_kill_queries = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17787                (fty, _) => p.skip(fty)?,
17788            }
17789            p.read_field_end()?;
17790        }
17791        p.read_struct_end()?;
17792        ::std::result::Result::Ok(Self {
17793            kill_queries: field_kill_queries.unwrap_or_default(),
17794            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17795        })
17796    }
17797}
17798
17799
17800#[allow(clippy::derivable_impls)]
17801impl ::std::default::Default for self::ReportTaskReq {
17802    fn default() -> Self {
17803        Self {
17804            code: ::std::default::Default::default(),
17805            job_id: ::std::default::Default::default(),
17806            task_id: ::std::default::Default::default(),
17807            stats: ::std::option::Option::None,
17808            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17809        }
17810    }
17811}
17812
17813impl ::std::fmt::Debug for self::ReportTaskReq {
17814    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17815        formatter
17816            .debug_struct("ReportTaskReq")
17817            .field("code", &self.code)
17818            .field("job_id", &self.job_id)
17819            .field("task_id", &self.task_id)
17820            .field("stats", &self.stats)
17821            .finish()
17822    }
17823}
17824
17825unsafe impl ::std::marker::Send for self::ReportTaskReq {}
17826unsafe impl ::std::marker::Sync for self::ReportTaskReq {}
17827
17828impl ::fbthrift::GetTType for self::ReportTaskReq {
17829    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17830}
17831
17832impl<P> ::fbthrift::Serialize<P> for self::ReportTaskReq
17833where
17834    P: ::fbthrift::ProtocolWriter,
17835{
17836    fn write(&self, p: &mut P) {
17837        p.write_struct_begin("ReportTaskReq");
17838        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17839        ::fbthrift::Serialize::write(&self.code, p);
17840        p.write_field_end();
17841        p.write_field_begin("job_id", ::fbthrift::TType::I32, 2);
17842        ::fbthrift::Serialize::write(&self.job_id, p);
17843        p.write_field_end();
17844        p.write_field_begin("task_id", ::fbthrift::TType::I32, 3);
17845        ::fbthrift::Serialize::write(&self.task_id, p);
17846        p.write_field_end();
17847        if let ::std::option::Option::Some(some) = &self.stats {
17848            p.write_field_begin("stats", ::fbthrift::TType::Struct, 4);
17849            ::fbthrift::Serialize::write(some, p);
17850            p.write_field_end();
17851        }
17852        p.write_field_stop();
17853        p.write_struct_end();
17854    }
17855}
17856
17857impl<P> ::fbthrift::Deserialize<P> for self::ReportTaskReq
17858where
17859    P: ::fbthrift::ProtocolReader,
17860{
17861    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17862        static FIELDS: &[::fbthrift::Field] = &[
17863            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17864            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 2),
17865            ::fbthrift::Field::new("stats", ::fbthrift::TType::Struct, 4),
17866            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 3),
17867        ];
17868        let mut field_code = ::std::option::Option::None;
17869        let mut field_job_id = ::std::option::Option::None;
17870        let mut field_task_id = ::std::option::Option::None;
17871        let mut field_stats = ::std::option::Option::None;
17872        let _ = p.read_struct_begin(|_| ())?;
17873        loop {
17874            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17875            match (fty, fid as ::std::primitive::i32) {
17876                (::fbthrift::TType::Stop, _) => break,
17877                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17878                (::fbthrift::TType::I32, 2) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17879                (::fbthrift::TType::I32, 3) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17880                (::fbthrift::TType::Struct, 4) => field_stats = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17881                (fty, _) => p.skip(fty)?,
17882            }
17883            p.read_field_end()?;
17884        }
17885        p.read_struct_end()?;
17886        ::std::result::Result::Ok(Self {
17887            code: field_code.unwrap_or_default(),
17888            job_id: field_job_id.unwrap_or_default(),
17889            task_id: field_task_id.unwrap_or_default(),
17890            stats: field_stats,
17891            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17892        })
17893    }
17894}
17895
17896
17897#[allow(clippy::derivable_impls)]
17898impl ::std::default::Default for self::ListClusterInfoResp {
17899    fn default() -> Self {
17900        Self {
17901            code: ::std::default::Default::default(),
17902            leader: ::std::default::Default::default(),
17903            meta_servers: ::std::default::Default::default(),
17904            storage_servers: ::std::default::Default::default(),
17905            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17906        }
17907    }
17908}
17909
17910impl ::std::fmt::Debug for self::ListClusterInfoResp {
17911    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
17912        formatter
17913            .debug_struct("ListClusterInfoResp")
17914            .field("code", &self.code)
17915            .field("leader", &self.leader)
17916            .field("meta_servers", &self.meta_servers)
17917            .field("storage_servers", &self.storage_servers)
17918            .finish()
17919    }
17920}
17921
17922unsafe impl ::std::marker::Send for self::ListClusterInfoResp {}
17923unsafe impl ::std::marker::Sync for self::ListClusterInfoResp {}
17924
17925impl ::fbthrift::GetTType for self::ListClusterInfoResp {
17926    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
17927}
17928
17929impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoResp
17930where
17931    P: ::fbthrift::ProtocolWriter,
17932{
17933    fn write(&self, p: &mut P) {
17934        p.write_struct_begin("ListClusterInfoResp");
17935        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
17936        ::fbthrift::Serialize::write(&self.code, p);
17937        p.write_field_end();
17938        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
17939        ::fbthrift::Serialize::write(&self.leader, p);
17940        p.write_field_end();
17941        p.write_field_begin("meta_servers", ::fbthrift::TType::List, 3);
17942        ::fbthrift::Serialize::write(&self.meta_servers, p);
17943        p.write_field_end();
17944        p.write_field_begin("storage_servers", ::fbthrift::TType::List, 4);
17945        ::fbthrift::Serialize::write(&self.storage_servers, p);
17946        p.write_field_end();
17947        p.write_field_stop();
17948        p.write_struct_end();
17949    }
17950}
17951
17952impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoResp
17953where
17954    P: ::fbthrift::ProtocolReader,
17955{
17956    fn read(p: &mut P) -> ::anyhow::Result<Self> {
17957        static FIELDS: &[::fbthrift::Field] = &[
17958            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
17959            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
17960            ::fbthrift::Field::new("meta_servers", ::fbthrift::TType::List, 3),
17961            ::fbthrift::Field::new("storage_servers", ::fbthrift::TType::List, 4),
17962        ];
17963        let mut field_code = ::std::option::Option::None;
17964        let mut field_leader = ::std::option::Option::None;
17965        let mut field_meta_servers = ::std::option::Option::None;
17966        let mut field_storage_servers = ::std::option::Option::None;
17967        let _ = p.read_struct_begin(|_| ())?;
17968        loop {
17969            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
17970            match (fty, fid as ::std::primitive::i32) {
17971                (::fbthrift::TType::Stop, _) => break,
17972                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17973                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17974                (::fbthrift::TType::List, 3) => field_meta_servers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17975                (::fbthrift::TType::List, 4) => field_storage_servers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
17976                (fty, _) => p.skip(fty)?,
17977            }
17978            p.read_field_end()?;
17979        }
17980        p.read_struct_end()?;
17981        ::std::result::Result::Ok(Self {
17982            code: field_code.unwrap_or_default(),
17983            leader: field_leader.unwrap_or_default(),
17984            meta_servers: field_meta_servers.unwrap_or_default(),
17985            storage_servers: field_storage_servers.unwrap_or_default(),
17986            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17987        })
17988    }
17989}
17990
17991
17992#[allow(clippy::derivable_impls)]
17993impl ::std::default::Default for self::ListClusterInfoReq {
17994    fn default() -> Self {
17995        Self {
17996            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
17997        }
17998    }
17999}
18000
18001impl ::std::fmt::Debug for self::ListClusterInfoReq {
18002    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18003        formatter
18004            .debug_struct("ListClusterInfoReq")
18005            .finish()
18006    }
18007}
18008
18009unsafe impl ::std::marker::Send for self::ListClusterInfoReq {}
18010unsafe impl ::std::marker::Sync for self::ListClusterInfoReq {}
18011
18012impl ::fbthrift::GetTType for self::ListClusterInfoReq {
18013    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18014}
18015
18016impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoReq
18017where
18018    P: ::fbthrift::ProtocolWriter,
18019{
18020    fn write(&self, p: &mut P) {
18021        p.write_struct_begin("ListClusterInfoReq");
18022        p.write_field_stop();
18023        p.write_struct_end();
18024    }
18025}
18026
18027impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoReq
18028where
18029    P: ::fbthrift::ProtocolReader,
18030{
18031    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18032        static FIELDS: &[::fbthrift::Field] = &[
18033        ];
18034        let _ = p.read_struct_begin(|_| ())?;
18035        loop {
18036            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18037            match (fty, fid as ::std::primitive::i32) {
18038                (::fbthrift::TType::Stop, _) => break,
18039                (fty, _) => p.skip(fty)?,
18040            }
18041            p.read_field_end()?;
18042        }
18043        p.read_struct_end()?;
18044        ::std::result::Result::Ok(Self {
18045            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18046        })
18047    }
18048}
18049
18050
18051#[allow(clippy::derivable_impls)]
18052impl ::std::default::Default for self::GetMetaDirInfoResp {
18053    fn default() -> Self {
18054        Self {
18055            code: ::std::default::Default::default(),
18056            dir: ::std::default::Default::default(),
18057            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18058        }
18059    }
18060}
18061
18062impl ::std::fmt::Debug for self::GetMetaDirInfoResp {
18063    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18064        formatter
18065            .debug_struct("GetMetaDirInfoResp")
18066            .field("code", &self.code)
18067            .field("dir", &self.dir)
18068            .finish()
18069    }
18070}
18071
18072unsafe impl ::std::marker::Send for self::GetMetaDirInfoResp {}
18073unsafe impl ::std::marker::Sync for self::GetMetaDirInfoResp {}
18074
18075impl ::fbthrift::GetTType for self::GetMetaDirInfoResp {
18076    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18077}
18078
18079impl<P> ::fbthrift::Serialize<P> for self::GetMetaDirInfoResp
18080where
18081    P: ::fbthrift::ProtocolWriter,
18082{
18083    fn write(&self, p: &mut P) {
18084        p.write_struct_begin("GetMetaDirInfoResp");
18085        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
18086        ::fbthrift::Serialize::write(&self.code, p);
18087        p.write_field_end();
18088        p.write_field_begin("dir", ::fbthrift::TType::Struct, 2);
18089        ::fbthrift::Serialize::write(&self.dir, p);
18090        p.write_field_end();
18091        p.write_field_stop();
18092        p.write_struct_end();
18093    }
18094}
18095
18096impl<P> ::fbthrift::Deserialize<P> for self::GetMetaDirInfoResp
18097where
18098    P: ::fbthrift::ProtocolReader,
18099{
18100    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18101        static FIELDS: &[::fbthrift::Field] = &[
18102            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
18103            ::fbthrift::Field::new("dir", ::fbthrift::TType::Struct, 2),
18104        ];
18105        let mut field_code = ::std::option::Option::None;
18106        let mut field_dir = ::std::option::Option::None;
18107        let _ = p.read_struct_begin(|_| ())?;
18108        loop {
18109            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18110            match (fty, fid as ::std::primitive::i32) {
18111                (::fbthrift::TType::Stop, _) => break,
18112                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18113                (::fbthrift::TType::Struct, 2) => field_dir = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18114                (fty, _) => p.skip(fty)?,
18115            }
18116            p.read_field_end()?;
18117        }
18118        p.read_struct_end()?;
18119        ::std::result::Result::Ok(Self {
18120            code: field_code.unwrap_or_default(),
18121            dir: field_dir.unwrap_or_default(),
18122            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18123        })
18124    }
18125}
18126
18127
18128#[allow(clippy::derivable_impls)]
18129impl ::std::default::Default for self::GetMetaDirInfoReq {
18130    fn default() -> Self {
18131        Self {
18132            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18133        }
18134    }
18135}
18136
18137impl ::std::fmt::Debug for self::GetMetaDirInfoReq {
18138    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18139        formatter
18140            .debug_struct("GetMetaDirInfoReq")
18141            .finish()
18142    }
18143}
18144
18145unsafe impl ::std::marker::Send for self::GetMetaDirInfoReq {}
18146unsafe impl ::std::marker::Sync for self::GetMetaDirInfoReq {}
18147
18148impl ::fbthrift::GetTType for self::GetMetaDirInfoReq {
18149    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18150}
18151
18152impl<P> ::fbthrift::Serialize<P> for self::GetMetaDirInfoReq
18153where
18154    P: ::fbthrift::ProtocolWriter,
18155{
18156    fn write(&self, p: &mut P) {
18157        p.write_struct_begin("GetMetaDirInfoReq");
18158        p.write_field_stop();
18159        p.write_struct_end();
18160    }
18161}
18162
18163impl<P> ::fbthrift::Deserialize<P> for self::GetMetaDirInfoReq
18164where
18165    P: ::fbthrift::ProtocolReader,
18166{
18167    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18168        static FIELDS: &[::fbthrift::Field] = &[
18169        ];
18170        let _ = p.read_struct_begin(|_| ())?;
18171        loop {
18172            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18173            match (fty, fid as ::std::primitive::i32) {
18174                (::fbthrift::TType::Stop, _) => break,
18175                (fty, _) => p.skip(fty)?,
18176            }
18177            p.read_field_end()?;
18178        }
18179        p.read_struct_end()?;
18180        ::std::result::Result::Ok(Self {
18181            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18182        })
18183    }
18184}
18185
18186
18187#[allow(clippy::derivable_impls)]
18188impl ::std::default::Default for self::VerifyClientVersionResp {
18189    fn default() -> Self {
18190        Self {
18191            code: ::std::default::Default::default(),
18192            leader: ::std::default::Default::default(),
18193            error_msg: ::std::option::Option::None,
18194            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18195        }
18196    }
18197}
18198
18199impl ::std::fmt::Debug for self::VerifyClientVersionResp {
18200    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18201        formatter
18202            .debug_struct("VerifyClientVersionResp")
18203            .field("code", &self.code)
18204            .field("leader", &self.leader)
18205            .field("error_msg", &self.error_msg)
18206            .finish()
18207    }
18208}
18209
18210unsafe impl ::std::marker::Send for self::VerifyClientVersionResp {}
18211unsafe impl ::std::marker::Sync for self::VerifyClientVersionResp {}
18212
18213impl ::fbthrift::GetTType for self::VerifyClientVersionResp {
18214    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18215}
18216
18217impl<P> ::fbthrift::Serialize<P> for self::VerifyClientVersionResp
18218where
18219    P: ::fbthrift::ProtocolWriter,
18220{
18221    fn write(&self, p: &mut P) {
18222        p.write_struct_begin("VerifyClientVersionResp");
18223        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
18224        ::fbthrift::Serialize::write(&self.code, p);
18225        p.write_field_end();
18226        p.write_field_begin("leader", ::fbthrift::TType::Struct, 2);
18227        ::fbthrift::Serialize::write(&self.leader, p);
18228        p.write_field_end();
18229        if let ::std::option::Option::Some(some) = &self.error_msg {
18230            p.write_field_begin("error_msg", ::fbthrift::TType::String, 3);
18231            ::fbthrift::Serialize::write(some, p);
18232            p.write_field_end();
18233        }
18234        p.write_field_stop();
18235        p.write_struct_end();
18236    }
18237}
18238
18239impl<P> ::fbthrift::Deserialize<P> for self::VerifyClientVersionResp
18240where
18241    P: ::fbthrift::ProtocolReader,
18242{
18243    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18244        static FIELDS: &[::fbthrift::Field] = &[
18245            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
18246            ::fbthrift::Field::new("error_msg", ::fbthrift::TType::String, 3),
18247            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 2),
18248        ];
18249        let mut field_code = ::std::option::Option::None;
18250        let mut field_leader = ::std::option::Option::None;
18251        let mut field_error_msg = ::std::option::Option::None;
18252        let _ = p.read_struct_begin(|_| ())?;
18253        loop {
18254            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18255            match (fty, fid as ::std::primitive::i32) {
18256                (::fbthrift::TType::Stop, _) => break,
18257                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18258                (::fbthrift::TType::Struct, 2) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18259                (::fbthrift::TType::String, 3) => field_error_msg = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18260                (fty, _) => p.skip(fty)?,
18261            }
18262            p.read_field_end()?;
18263        }
18264        p.read_struct_end()?;
18265        ::std::result::Result::Ok(Self {
18266            code: field_code.unwrap_or_default(),
18267            leader: field_leader.unwrap_or_default(),
18268            error_msg: field_error_msg,
18269            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18270        })
18271    }
18272}
18273
18274
18275#[allow(clippy::derivable_impls)]
18276impl ::std::default::Default for self::VerifyClientVersionReq {
18277    fn default() -> Self {
18278        Self {
18279            version: "2.6.0".as_bytes().into(),
18280            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18281        }
18282    }
18283}
18284
18285impl ::std::fmt::Debug for self::VerifyClientVersionReq {
18286    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
18287        formatter
18288            .debug_struct("VerifyClientVersionReq")
18289            .field("version", &self.version)
18290            .finish()
18291    }
18292}
18293
18294unsafe impl ::std::marker::Send for self::VerifyClientVersionReq {}
18295unsafe impl ::std::marker::Sync for self::VerifyClientVersionReq {}
18296
18297impl ::fbthrift::GetTType for self::VerifyClientVersionReq {
18298    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
18299}
18300
18301impl<P> ::fbthrift::Serialize<P> for self::VerifyClientVersionReq
18302where
18303    P: ::fbthrift::ProtocolWriter,
18304{
18305    fn write(&self, p: &mut P) {
18306        p.write_struct_begin("VerifyClientVersionReq");
18307        p.write_field_begin("version", ::fbthrift::TType::String, 1);
18308        ::fbthrift::Serialize::write(&self.version, p);
18309        p.write_field_end();
18310        p.write_field_stop();
18311        p.write_struct_end();
18312    }
18313}
18314
18315impl<P> ::fbthrift::Deserialize<P> for self::VerifyClientVersionReq
18316where
18317    P: ::fbthrift::ProtocolReader,
18318{
18319    fn read(p: &mut P) -> ::anyhow::Result<Self> {
18320        static FIELDS: &[::fbthrift::Field] = &[
18321            ::fbthrift::Field::new("version", ::fbthrift::TType::String, 1),
18322        ];
18323        let mut field_version = ::std::option::Option::None;
18324        let _ = p.read_struct_begin(|_| ())?;
18325        loop {
18326            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
18327            match (fty, fid as ::std::primitive::i32) {
18328                (::fbthrift::TType::Stop, _) => break,
18329                (::fbthrift::TType::String, 1) => field_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
18330                (fty, _) => p.skip(fty)?,
18331            }
18332            p.read_field_end()?;
18333        }
18334        p.read_struct_end()?;
18335        ::std::result::Result::Ok(Self {
18336            version: field_version.unwrap_or_else(|| "2.6.0".as_bytes().into()),
18337            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
18338        })
18339    }
18340}
18341
18342
18343mod dot_dot {
18344    #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18345    pub struct OtherFields(pub(crate) ());
18346
18347    #[allow(dead_code)] // if serde isn't being used
18348    pub(super) fn default_for_serde_deserialize() -> OtherFields {
18349        OtherFields(())
18350    }
18351}