nebula_fbthrift_storage_v3/
types.rs

1// @generated by Thrift for src/interface/storage.thrift
2// This file is probably not the place you want to edit!
3
4//! Thrift type definitions for `storage`.
5
6#![allow(clippy::redundant_closure)]
7
8
9#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
10pub struct RequestCommon {
11    pub session_id: ::std::option::Option<common::types::SessionID>,
12    pub plan_id: ::std::option::Option<common::types::ExecutionPlanID>,
13    pub profile_detail: ::std::option::Option<::std::primitive::bool>,
14    // This field forces `..Default::default()` when instantiating this
15    // struct, to make code future-proof against new fields added later to
16    // the definition in Thrift. If you don't want this, add the annotation
17    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
18    #[doc(hidden)]
19    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
20}
21
22#[derive(Clone, PartialEq)]
23pub struct PartitionResult {
24    pub code: common::types::ErrorCode,
25    pub part_id: common::types::PartitionID,
26    pub leader: ::std::option::Option<common::types::HostAddr>,
27    // This field forces `..Default::default()` when instantiating this
28    // struct, to make code future-proof against new fields added later to
29    // the definition in Thrift. If you don't want this, add the annotation
30    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
31    #[doc(hidden)]
32    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
33}
34
35#[derive(Clone, PartialEq)]
36pub struct ResponseCommon {
37    pub failed_parts: ::std::vec::Vec<crate::types::PartitionResult>,
38    pub latency_in_us: ::std::primitive::i64,
39    pub latency_detail_us: ::std::option::Option<::std::collections::BTreeMap<::std::string::String, ::std::primitive::i32>>,
40    // This field forces `..Default::default()` when instantiating this
41    // struct, to make code future-proof against new fields added later to
42    // the definition in Thrift. If you don't want this, add the annotation
43    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
44    #[doc(hidden)]
45    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
46}
47
48#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
49pub struct StatProp {
50    pub alias: ::std::vec::Vec<::std::primitive::u8>,
51    pub prop: ::std::vec::Vec<::std::primitive::u8>,
52    pub stat: crate::types::StatType,
53    // This field forces `..Default::default()` when instantiating this
54    // struct, to make code future-proof against new fields added later to
55    // the definition in Thrift. If you don't want this, add the annotation
56    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
57    #[doc(hidden)]
58    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
59}
60
61#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
62pub struct Expr {
63    pub alias: ::std::vec::Vec<::std::primitive::u8>,
64    pub expr: ::std::vec::Vec<::std::primitive::u8>,
65    // This field forces `..Default::default()` when instantiating this
66    // struct, to make code future-proof against new fields added later to
67    // the definition in Thrift. If you don't want this, add the annotation
68    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
69    #[doc(hidden)]
70    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
71}
72
73#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
74pub struct EdgeProp {
75    pub r#type: common::types::EdgeType,
76    pub props: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
77    // This field forces `..Default::default()` when instantiating this
78    // struct, to make code future-proof against new fields added later to
79    // the definition in Thrift. If you don't want this, add the annotation
80    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
81    #[doc(hidden)]
82    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
83}
84
85#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
86pub struct VertexProp {
87    pub tag: common::types::TagID,
88    pub props: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
89    // This field forces `..Default::default()` when instantiating this
90    // struct, to make code future-proof against new fields added later to
91    // the definition in Thrift. If you don't want this, add the annotation
92    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
93    #[doc(hidden)]
94    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
95}
96
97#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
98pub struct OrderBy {
99    pub prop: ::std::vec::Vec<::std::primitive::u8>,
100    pub direction: crate::types::OrderDirection,
101    // This field forces `..Default::default()` when instantiating this
102    // struct, to make code future-proof against new fields added later to
103    // the definition in Thrift. If you don't want this, add the annotation
104    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
105    #[doc(hidden)]
106    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
107}
108
109#[derive(Clone, PartialEq)]
110pub struct TraverseSpec {
111    pub edge_types: ::std::vec::Vec<common::types::EdgeType>,
112    pub edge_direction: crate::types::EdgeDirection,
113    pub dedup: ::std::primitive::bool,
114    pub stat_props: ::std::option::Option<::std::vec::Vec<crate::types::StatProp>>,
115    pub vertex_props: ::std::option::Option<::std::vec::Vec<crate::types::VertexProp>>,
116    pub edge_props: ::std::option::Option<::std::vec::Vec<crate::types::EdgeProp>>,
117    pub expressions: ::std::option::Option<::std::vec::Vec<crate::types::Expr>>,
118    pub order_by: ::std::option::Option<::std::vec::Vec<crate::types::OrderBy>>,
119    pub random: ::std::option::Option<::std::primitive::bool>,
120    pub limit: ::std::option::Option<::std::primitive::i64>,
121    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
122    pub tag_filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
123    // This field forces `..Default::default()` when instantiating this
124    // struct, to make code future-proof against new fields added later to
125    // the definition in Thrift. If you don't want this, add the annotation
126    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
127    #[doc(hidden)]
128    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
129}
130
131#[derive(Clone, PartialEq)]
132pub struct GetNeighborsRequest {
133    pub space_id: common::types::GraphSpaceID,
134    pub column_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
135    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Value>>,
136    pub traverse_spec: crate::types::TraverseSpec,
137    pub common: ::std::option::Option<crate::types::RequestCommon>,
138    // This field forces `..Default::default()` when instantiating this
139    // struct, to make code future-proof against new fields added later to
140    // the definition in Thrift. If you don't want this, add the annotation
141    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
142    #[doc(hidden)]
143    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
144}
145
146#[derive(Clone, PartialEq)]
147pub struct GetNeighborsResponse {
148    pub result: crate::types::ResponseCommon,
149    pub vertices: ::std::option::Option<common::types::DataSet>,
150    // This field forces `..Default::default()` when instantiating this
151    // struct, to make code future-proof against new fields added later to
152    // the definition in Thrift. If you don't want this, add the annotation
153    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
154    #[doc(hidden)]
155    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
156}
157
158#[derive(Clone, PartialEq)]
159pub struct GetDstBySrcRequest {
160    pub space_id: common::types::GraphSpaceID,
161    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Value>>,
162    pub edge_types: ::std::vec::Vec<common::types::EdgeType>,
163    pub common: ::std::option::Option<crate::types::RequestCommon>,
164    // This field forces `..Default::default()` when instantiating this
165    // struct, to make code future-proof against new fields added later to
166    // the definition in Thrift. If you don't want this, add the annotation
167    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
168    #[doc(hidden)]
169    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
170}
171
172#[derive(Clone, PartialEq)]
173pub struct GetDstBySrcResponse {
174    pub result: crate::types::ResponseCommon,
175    pub dsts: ::std::option::Option<common::types::DataSet>,
176    // This field forces `..Default::default()` when instantiating this
177    // struct, to make code future-proof against new fields added later to
178    // the definition in Thrift. If you don't want this, add the annotation
179    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
180    #[doc(hidden)]
181    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
182}
183
184#[derive(Clone, PartialEq)]
185pub struct ExecResponse {
186    pub result: crate::types::ResponseCommon,
187    // This field forces `..Default::default()` when instantiating this
188    // struct, to make code future-proof against new fields added later to
189    // the definition in Thrift. If you don't want this, add the annotation
190    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
191    #[doc(hidden)]
192    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
193}
194
195#[derive(Clone, PartialEq)]
196pub struct GetPropRequest {
197    pub space_id: common::types::GraphSpaceID,
198    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Row>>,
199    pub vertex_props: ::std::option::Option<::std::vec::Vec<crate::types::VertexProp>>,
200    pub edge_props: ::std::option::Option<::std::vec::Vec<crate::types::EdgeProp>>,
201    pub expressions: ::std::option::Option<::std::vec::Vec<crate::types::Expr>>,
202    pub dedup: ::std::primitive::bool,
203    pub order_by: ::std::option::Option<::std::vec::Vec<crate::types::OrderBy>>,
204    pub limit: ::std::option::Option<::std::primitive::i64>,
205    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
206    pub common: ::std::option::Option<crate::types::RequestCommon>,
207    // This field forces `..Default::default()` when instantiating this
208    // struct, to make code future-proof against new fields added later to
209    // the definition in Thrift. If you don't want this, add the annotation
210    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
211    #[doc(hidden)]
212    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
213}
214
215#[derive(Clone, PartialEq)]
216pub struct GetPropResponse {
217    pub result: crate::types::ResponseCommon,
218    pub props: ::std::option::Option<common::types::DataSet>,
219    // This field forces `..Default::default()` when instantiating this
220    // struct, to make code future-proof against new fields added later to
221    // the definition in Thrift. If you don't want this, add the annotation
222    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
223    #[doc(hidden)]
224    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
225}
226
227#[derive(Clone, PartialEq)]
228pub struct NewTag {
229    pub tag_id: common::types::TagID,
230    pub props: ::std::vec::Vec<common::types::Value>,
231    // This field forces `..Default::default()` when instantiating this
232    // struct, to make code future-proof against new fields added later to
233    // the definition in Thrift. If you don't want this, add the annotation
234    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
235    #[doc(hidden)]
236    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
237}
238
239#[derive(Clone, PartialEq)]
240pub struct NewVertex {
241    pub id: common::types::Value,
242    pub tags: ::std::vec::Vec<crate::types::NewTag>,
243    // This field forces `..Default::default()` when instantiating this
244    // struct, to make code future-proof against new fields added later to
245    // the definition in Thrift. If you don't want this, add the annotation
246    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
247    #[doc(hidden)]
248    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
249}
250
251#[derive(Clone, PartialEq)]
252pub struct EdgeKey {
253    pub src: common::types::Value,
254    pub edge_type: common::types::EdgeType,
255    pub ranking: common::types::EdgeRanking,
256    pub dst: common::types::Value,
257    // This field forces `..Default::default()` when instantiating this
258    // struct, to make code future-proof against new fields added later to
259    // the definition in Thrift. If you don't want this, add the annotation
260    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
261    #[doc(hidden)]
262    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
263}
264
265#[derive(Clone, PartialEq)]
266pub struct NewEdge {
267    pub key: crate::types::EdgeKey,
268    pub props: ::std::vec::Vec<common::types::Value>,
269    // This field forces `..Default::default()` when instantiating this
270    // struct, to make code future-proof against new fields added later to
271    // the definition in Thrift. If you don't want this, add the annotation
272    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
273    #[doc(hidden)]
274    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
275}
276
277#[derive(Clone, PartialEq)]
278pub struct AddVerticesRequest {
279    pub space_id: common::types::GraphSpaceID,
280    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::NewVertex>>,
281    pub prop_names: ::std::collections::BTreeMap<common::types::TagID, ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
282    pub if_not_exists: ::std::primitive::bool,
283    pub ignore_existed_index: ::std::primitive::bool,
284    pub common: ::std::option::Option<crate::types::RequestCommon>,
285    // This field forces `..Default::default()` when instantiating this
286    // struct, to make code future-proof against new fields added later to
287    // the definition in Thrift. If you don't want this, add the annotation
288    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
289    #[doc(hidden)]
290    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
291}
292
293#[derive(Clone, PartialEq)]
294pub struct AddEdgesRequest {
295    pub space_id: common::types::GraphSpaceID,
296    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::NewEdge>>,
297    pub prop_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
298    pub if_not_exists: ::std::primitive::bool,
299    pub ignore_existed_index: ::std::primitive::bool,
300    pub common: ::std::option::Option<crate::types::RequestCommon>,
301    // This field forces `..Default::default()` when instantiating this
302    // struct, to make code future-proof against new fields added later to
303    // the definition in Thrift. If you don't want this, add the annotation
304    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
305    #[doc(hidden)]
306    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
307}
308
309#[derive(Clone, PartialEq)]
310pub struct DeleteVerticesRequest {
311    pub space_id: common::types::GraphSpaceID,
312    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Value>>,
313    pub common: ::std::option::Option<crate::types::RequestCommon>,
314    // This field forces `..Default::default()` when instantiating this
315    // struct, to make code future-proof against new fields added later to
316    // the definition in Thrift. If you don't want this, add the annotation
317    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
318    #[doc(hidden)]
319    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
320}
321
322#[derive(Clone, PartialEq)]
323pub struct DeleteEdgesRequest {
324    pub space_id: common::types::GraphSpaceID,
325    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::EdgeKey>>,
326    pub common: ::std::option::Option<crate::types::RequestCommon>,
327    // This field forces `..Default::default()` when instantiating this
328    // struct, to make code future-proof against new fields added later to
329    // the definition in Thrift. If you don't want this, add the annotation
330    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
331    #[doc(hidden)]
332    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
333}
334
335#[derive(Clone, PartialEq)]
336pub struct DelTags {
337    pub id: common::types::Value,
338    pub tags: ::std::vec::Vec<common::types::TagID>,
339    // This field forces `..Default::default()` when instantiating this
340    // struct, to make code future-proof against new fields added later to
341    // the definition in Thrift. If you don't want this, add the annotation
342    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
343    #[doc(hidden)]
344    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
345}
346
347#[derive(Clone, PartialEq)]
348pub struct DeleteTagsRequest {
349    pub space_id: common::types::GraphSpaceID,
350    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::DelTags>>,
351    pub common: ::std::option::Option<crate::types::RequestCommon>,
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)]
361pub struct UpdateResponse {
362    pub result: crate::types::ResponseCommon,
363    pub props: ::std::option::Option<common::types::DataSet>,
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 UpdatedProp {
374    pub name: ::std::vec::Vec<::std::primitive::u8>,
375    pub value: ::std::vec::Vec<::std::primitive::u8>,
376    // This field forces `..Default::default()` when instantiating this
377    // struct, to make code future-proof against new fields added later to
378    // the definition in Thrift. If you don't want this, add the annotation
379    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
380    #[doc(hidden)]
381    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
382}
383
384#[derive(Clone, PartialEq)]
385pub struct UpdateVertexRequest {
386    pub space_id: common::types::GraphSpaceID,
387    pub part_id: common::types::PartitionID,
388    pub vertex_id: common::types::Value,
389    pub tag_id: common::types::TagID,
390    pub updated_props: ::std::vec::Vec<crate::types::UpdatedProp>,
391    pub insertable: ::std::option::Option<::std::primitive::bool>,
392    pub return_props: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
393    pub condition: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
394    pub common: ::std::option::Option<crate::types::RequestCommon>,
395    // This field forces `..Default::default()` when instantiating this
396    // struct, to make code future-proof against new fields added later to
397    // the definition in Thrift. If you don't want this, add the annotation
398    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
399    #[doc(hidden)]
400    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
401}
402
403#[derive(Clone, PartialEq)]
404pub struct UpdateEdgeRequest {
405    pub space_id: common::types::GraphSpaceID,
406    pub part_id: common::types::PartitionID,
407    pub edge_key: crate::types::EdgeKey,
408    pub updated_props: ::std::vec::Vec<crate::types::UpdatedProp>,
409    pub insertable: ::std::option::Option<::std::primitive::bool>,
410    pub return_props: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
411    pub condition: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
412    pub common: ::std::option::Option<crate::types::RequestCommon>,
413    // This field forces `..Default::default()` when instantiating this
414    // struct, to make code future-proof against new fields added later to
415    // the definition in Thrift. If you don't want this, add the annotation
416    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
417    #[doc(hidden)]
418    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
419}
420
421#[derive(Clone, PartialEq)]
422pub struct GetUUIDReq {
423    pub space_id: common::types::GraphSpaceID,
424    pub part_id: common::types::PartitionID,
425    pub name: ::std::vec::Vec<::std::primitive::u8>,
426    pub common: ::std::option::Option<crate::types::RequestCommon>,
427    // This field forces `..Default::default()` when instantiating this
428    // struct, to make code future-proof against new fields added later to
429    // the definition in Thrift. If you don't want this, add the annotation
430    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
431    #[doc(hidden)]
432    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
433}
434
435#[derive(Clone, PartialEq)]
436pub struct GetUUIDResp {
437    pub result: crate::types::ResponseCommon,
438    pub id: common::types::Value,
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)]
448pub struct LookupIndexResp {
449    pub result: crate::types::ResponseCommon,
450    pub data: ::std::option::Option<common::types::DataSet>,
451    pub stat_data: ::std::option::Option<common::types::DataSet>,
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)]
461pub struct IndexColumnHint {
462    pub column_name: ::std::vec::Vec<::std::primitive::u8>,
463    pub scan_type: crate::types::ScanType,
464    pub begin_value: common::types::Value,
465    pub end_value: common::types::Value,
466    pub include_begin: ::std::primitive::bool,
467    pub include_end: ::std::primitive::bool,
468    // This field forces `..Default::default()` when instantiating this
469    // struct, to make code future-proof against new fields added later to
470    // the definition in Thrift. If you don't want this, add the annotation
471    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
472    #[doc(hidden)]
473    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
474}
475
476#[derive(Clone, PartialEq)]
477pub struct IndexQueryContext {
478    pub index_id: common::types::IndexID,
479    pub filter: ::std::vec::Vec<::std::primitive::u8>,
480    pub column_hints: ::std::vec::Vec<crate::types::IndexColumnHint>,
481    // This field forces `..Default::default()` when instantiating this
482    // struct, to make code future-proof against new fields added later to
483    // the definition in Thrift. If you don't want this, add the annotation
484    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
485    #[doc(hidden)]
486    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
487}
488
489#[derive(Clone, PartialEq)]
490pub struct IndexSpec {
491    pub contexts: ::std::vec::Vec<crate::types::IndexQueryContext>,
492    pub schema_id: common::types::SchemaID,
493    // This field forces `..Default::default()` when instantiating this
494    // struct, to make code future-proof against new fields added later to
495    // the definition in Thrift. If you don't want this, add the annotation
496    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
497    #[doc(hidden)]
498    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
499}
500
501#[derive(Clone, PartialEq)]
502pub struct LookupIndexRequest {
503    pub space_id: common::types::GraphSpaceID,
504    pub parts: ::std::vec::Vec<common::types::PartitionID>,
505    pub indices: crate::types::IndexSpec,
506    pub return_columns: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
507    pub common: ::std::option::Option<crate::types::RequestCommon>,
508    pub limit: ::std::option::Option<::std::primitive::i64>,
509    pub order_by: ::std::option::Option<::std::vec::Vec<crate::types::OrderBy>>,
510    pub stat_columns: ::std::option::Option<::std::vec::Vec<crate::types::StatProp>>,
511    // This field forces `..Default::default()` when instantiating this
512    // struct, to make code future-proof against new fields added later to
513    // the definition in Thrift. If you don't want this, add the annotation
514    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
515    #[doc(hidden)]
516    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
517}
518
519#[derive(Clone, PartialEq)]
520pub struct LookupAndTraverseRequest {
521    pub space_id: common::types::GraphSpaceID,
522    pub parts: ::std::vec::Vec<common::types::PartitionID>,
523    pub indices: crate::types::IndexSpec,
524    pub traverse_spec: crate::types::TraverseSpec,
525    pub common: ::std::option::Option<crate::types::RequestCommon>,
526    // This field forces `..Default::default()` when instantiating this
527    // struct, to make code future-proof against new fields added later to
528    // the definition in Thrift. If you don't want this, add the annotation
529    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
530    #[doc(hidden)]
531    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
532}
533
534#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
535pub struct ScanCursor {
536    pub next_cursor: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
537    // This field forces `..Default::default()` when instantiating this
538    // struct, to make code future-proof against new fields added later to
539    // the definition in Thrift. If you don't want this, add the annotation
540    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
541    #[doc(hidden)]
542    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
543}
544
545#[derive(Clone, PartialEq)]
546pub struct ScanVertexRequest {
547    pub space_id: common::types::GraphSpaceID,
548    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, crate::types::ScanCursor>,
549    pub return_columns: ::std::vec::Vec<crate::types::VertexProp>,
550    pub limit: ::std::primitive::i64,
551    pub start_time: ::std::option::Option<::std::primitive::i64>,
552    pub end_time: ::std::option::Option<::std::primitive::i64>,
553    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
554    pub only_latest_version: ::std::primitive::bool,
555    pub enable_read_from_follower: ::std::primitive::bool,
556    pub common: ::std::option::Option<crate::types::RequestCommon>,
557    // This field forces `..Default::default()` when instantiating this
558    // struct, to make code future-proof against new fields added later to
559    // the definition in Thrift. If you don't want this, add the annotation
560    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
561    #[doc(hidden)]
562    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
563}
564
565#[derive(Clone, PartialEq)]
566pub struct ScanEdgeRequest {
567    pub space_id: common::types::GraphSpaceID,
568    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, crate::types::ScanCursor>,
569    pub return_columns: ::std::vec::Vec<crate::types::EdgeProp>,
570    pub limit: ::std::primitive::i64,
571    pub start_time: ::std::option::Option<::std::primitive::i64>,
572    pub end_time: ::std::option::Option<::std::primitive::i64>,
573    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
574    pub only_latest_version: ::std::primitive::bool,
575    pub enable_read_from_follower: ::std::primitive::bool,
576    pub common: ::std::option::Option<crate::types::RequestCommon>,
577    // This field forces `..Default::default()` when instantiating this
578    // struct, to make code future-proof against new fields added later to
579    // the definition in Thrift. If you don't want this, add the annotation
580    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
581    #[doc(hidden)]
582    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
583}
584
585#[derive(Clone, PartialEq)]
586pub struct ScanResponse {
587    pub result: crate::types::ResponseCommon,
588    pub props: ::std::option::Option<common::types::DataSet>,
589    pub cursors: ::std::collections::BTreeMap<common::types::PartitionID, crate::types::ScanCursor>,
590    // This field forces `..Default::default()` when instantiating this
591    // struct, to make code future-proof against new fields added later to
592    // the definition in Thrift. If you don't want this, add the annotation
593    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
594    #[doc(hidden)]
595    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
596}
597
598#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
599pub struct TaskPara {
600    pub space_id: common::types::GraphSpaceID,
601    pub parts: ::std::option::Option<::std::vec::Vec<common::types::PartitionID>>,
602    pub task_specific_paras: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
603    // This field forces `..Default::default()` when instantiating this
604    // struct, to make code future-proof against new fields added later to
605    // the definition in Thrift. If you don't want this, add the annotation
606    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
607    #[doc(hidden)]
608    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
609}
610
611#[derive(Clone, PartialEq)]
612pub struct KVGetRequest {
613    pub space_id: common::types::GraphSpaceID,
614    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
615    pub return_partly: ::std::primitive::bool,
616    // This field forces `..Default::default()` when instantiating this
617    // struct, to make code future-proof against new fields added later to
618    // the definition in Thrift. If you don't want this, add the annotation
619    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
620    #[doc(hidden)]
621    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
622}
623
624#[derive(Clone, PartialEq)]
625pub struct KVGetResponse {
626    pub result: crate::types::ResponseCommon,
627    pub key_values: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<::std::primitive::u8>>,
628    // This field forces `..Default::default()` when instantiating this
629    // struct, to make code future-proof against new fields added later to
630    // the definition in Thrift. If you don't want this, add the annotation
631    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
632    #[doc(hidden)]
633    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
634}
635
636#[derive(Clone, PartialEq)]
637pub struct KVPutRequest {
638    pub space_id: common::types::GraphSpaceID,
639    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::KeyValue>>,
640    // This field forces `..Default::default()` when instantiating this
641    // struct, to make code future-proof against new fields added later to
642    // the definition in Thrift. If you don't want this, add the annotation
643    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
644    #[doc(hidden)]
645    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
646}
647
648#[derive(Clone, PartialEq)]
649pub struct KVRemoveRequest {
650    pub space_id: common::types::GraphSpaceID,
651    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
652    // This field forces `..Default::default()` when instantiating this
653    // struct, to make code future-proof against new fields added later to
654    // the definition in Thrift. If you don't want this, add the annotation
655    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
656    #[doc(hidden)]
657    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
658}
659
660#[derive(Clone, PartialEq)]
661pub struct AdminExecResp {
662    pub result: crate::types::ResponseCommon,
663    pub stats: ::std::option::Option<meta::types::StatsItem>,
664    // This field forces `..Default::default()` when instantiating this
665    // struct, to make code future-proof against new fields added later to
666    // the definition in Thrift. If you don't want this, add the annotation
667    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
668    #[doc(hidden)]
669    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
670}
671
672#[derive(Clone, PartialEq)]
673pub struct TransLeaderReq {
674    pub space_id: common::types::GraphSpaceID,
675    pub part_id: common::types::PartitionID,
676    pub new_leader: common::types::HostAddr,
677    // This field forces `..Default::default()` when instantiating this
678    // struct, to make code future-proof against new fields added later to
679    // the definition in Thrift. If you don't want this, add the annotation
680    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
681    #[doc(hidden)]
682    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
683}
684
685#[derive(Clone, PartialEq)]
686pub struct AddPartReq {
687    pub space_id: common::types::GraphSpaceID,
688    pub part_id: common::types::PartitionID,
689    pub as_learner: ::std::primitive::bool,
690    pub peers: ::std::vec::Vec<common::types::HostAddr>,
691    // This field forces `..Default::default()` when instantiating this
692    // struct, to make code future-proof against new fields added later to
693    // the definition in Thrift. If you don't want this, add the annotation
694    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
695    #[doc(hidden)]
696    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
697}
698
699#[derive(Clone, PartialEq)]
700pub struct AddLearnerReq {
701    pub space_id: common::types::GraphSpaceID,
702    pub part_id: common::types::PartitionID,
703    pub learner: common::types::HostAddr,
704    // This field forces `..Default::default()` when instantiating this
705    // struct, to make code future-proof against new fields added later to
706    // the definition in Thrift. If you don't want this, add the annotation
707    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
708    #[doc(hidden)]
709    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
710}
711
712#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
713pub struct RemovePartReq {
714    pub space_id: common::types::GraphSpaceID,
715    pub part_id: common::types::PartitionID,
716    // This field forces `..Default::default()` when instantiating this
717    // struct, to make code future-proof against new fields added later to
718    // the definition in Thrift. If you don't want this, add the annotation
719    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
720    #[doc(hidden)]
721    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
722}
723
724#[derive(Clone, PartialEq)]
725pub struct MemberChangeReq {
726    pub space_id: common::types::GraphSpaceID,
727    pub part_id: common::types::PartitionID,
728    pub peer: common::types::HostAddr,
729    pub add: ::std::primitive::bool,
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 CatchUpDataReq {
740    pub space_id: common::types::GraphSpaceID,
741    pub part_id: common::types::PartitionID,
742    pub target: common::types::HostAddr,
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 GetLeaderReq {
753    // This field forces `..Default::default()` when instantiating this
754    // struct, to make code future-proof against new fields added later to
755    // the definition in Thrift. If you don't want this, add the annotation
756    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
757    #[doc(hidden)]
758    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
759}
760
761#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
762pub struct CreateCPRequest {
763    pub space_ids: ::std::vec::Vec<common::types::GraphSpaceID>,
764    pub name: ::std::vec::Vec<::std::primitive::u8>,
765    // This field forces `..Default::default()` when instantiating this
766    // struct, to make code future-proof against new fields added later to
767    // the definition in Thrift. If you don't want this, add the annotation
768    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
769    #[doc(hidden)]
770    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
771}
772
773#[derive(Clone, PartialEq)]
774pub struct CreateCPResp {
775    pub code: common::types::ErrorCode,
776    pub info: ::std::vec::Vec<common::types::CheckpointInfo>,
777    // This field forces `..Default::default()` when instantiating this
778    // struct, to make code future-proof against new fields added later to
779    // the definition in Thrift. If you don't want this, add the annotation
780    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
781    #[doc(hidden)]
782    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
783}
784
785#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
786pub struct DropCPRequest {
787    pub space_ids: ::std::vec::Vec<common::types::GraphSpaceID>,
788    pub name: ::std::vec::Vec<::std::primitive::u8>,
789    // This field forces `..Default::default()` when instantiating this
790    // struct, to make code future-proof against new fields added later to
791    // the definition in Thrift. If you don't want this, add the annotation
792    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
793    #[doc(hidden)]
794    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
795}
796
797#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
798pub struct DropCPResp {
799    pub code: common::types::ErrorCode,
800    // This field forces `..Default::default()` when instantiating this
801    // struct, to make code future-proof against new fields added later to
802    // the definition in Thrift. If you don't want this, add the annotation
803    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
804    #[doc(hidden)]
805    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
806}
807
808#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
809pub struct BlockingSignRequest {
810    pub space_ids: ::std::vec::Vec<common::types::GraphSpaceID>,
811    pub sign: crate::types::EngineSignType,
812    // This field forces `..Default::default()` when instantiating this
813    // struct, to make code future-proof against new fields added later to
814    // the definition in Thrift. If you don't want this, add the annotation
815    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
816    #[doc(hidden)]
817    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
818}
819
820#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
821pub struct BlockingSignResp {
822    pub code: common::types::ErrorCode,
823    // This field forces `..Default::default()` when instantiating this
824    // struct, to make code future-proof against new fields added later to
825    // the definition in Thrift. If you don't want this, add the annotation
826    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
827    #[doc(hidden)]
828    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
829}
830
831#[derive(Clone, PartialEq)]
832pub struct GetLeaderPartsResp {
833    pub code: common::types::ErrorCode,
834    pub leader_parts: ::std::collections::BTreeMap<common::types::GraphSpaceID, ::std::vec::Vec<common::types::PartitionID>>,
835    // This field forces `..Default::default()` when instantiating this
836    // struct, to make code future-proof against new fields added later to
837    // the definition in Thrift. If you don't want this, add the annotation
838    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
839    #[doc(hidden)]
840    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
841}
842
843#[derive(Clone, PartialEq)]
844pub struct CheckPeersReq {
845    pub space_id: common::types::GraphSpaceID,
846    pub part_id: common::types::PartitionID,
847    pub peers: ::std::vec::Vec<common::types::HostAddr>,
848    // This field forces `..Default::default()` when instantiating this
849    // struct, to make code future-proof against new fields added later to
850    // the definition in Thrift. If you don't want this, add the annotation
851    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
852    #[doc(hidden)]
853    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
854}
855
856#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
857pub struct RebuildIndexRequest {
858    pub space_id: common::types::GraphSpaceID,
859    pub parts: ::std::vec::Vec<common::types::PartitionID>,
860    pub index_id: common::types::IndexID,
861    // This field forces `..Default::default()` when instantiating this
862    // struct, to make code future-proof against new fields added later to
863    // the definition in Thrift. If you don't want this, add the annotation
864    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
865    #[doc(hidden)]
866    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
867}
868
869#[derive(Clone, PartialEq)]
870pub struct ListClusterInfoResp {
871    pub result: crate::types::ResponseCommon,
872    pub dir: common::types::DirInfo,
873    // This field forces `..Default::default()` when instantiating this
874    // struct, to make code future-proof against new fields added later to
875    // the definition in Thrift. If you don't want this, add the annotation
876    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
877    #[doc(hidden)]
878    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
879}
880
881#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
882pub struct ListClusterInfoReq {
883    // This field forces `..Default::default()` when instantiating this
884    // struct, to make code future-proof against new fields added later to
885    // the definition in Thrift. If you don't want this, add the annotation
886    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
887    #[doc(hidden)]
888    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
889}
890
891#[derive(Clone, PartialEq)]
892pub struct AddTaskRequest {
893    pub job_type: meta::types::JobType,
894    pub job_id: ::std::primitive::i32,
895    pub task_id: ::std::primitive::i32,
896    pub para: crate::types::TaskPara,
897    // This field forces `..Default::default()` when instantiating this
898    // struct, to make code future-proof against new fields added later to
899    // the definition in Thrift. If you don't want this, add the annotation
900    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
901    #[doc(hidden)]
902    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
903}
904
905#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
906pub struct AddTaskResp {
907    pub code: common::types::ErrorCode,
908    // This field forces `..Default::default()` when instantiating this
909    // struct, to make code future-proof against new fields added later to
910    // the definition in Thrift. If you don't want this, add the annotation
911    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
912    #[doc(hidden)]
913    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
914}
915
916#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
917pub struct StopTaskRequest {
918    pub job_id: ::std::primitive::i32,
919    pub task_id: ::std::primitive::i32,
920    // This field forces `..Default::default()` when instantiating this
921    // struct, to make code future-proof against new fields added later to
922    // the definition in Thrift. If you don't want this, add the annotation
923    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
924    #[doc(hidden)]
925    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
926}
927
928#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
929pub struct StopTaskResp {
930    pub code: common::types::ErrorCode,
931    // This field forces `..Default::default()` when instantiating this
932    // struct, to make code future-proof against new fields added later to
933    // the definition in Thrift. If you don't want this, add the annotation
934    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
935    #[doc(hidden)]
936    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
937}
938
939#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
940pub struct ClearSpaceReq {
941    pub space_id: common::types::GraphSpaceID,
942    // This field forces `..Default::default()` when instantiating this
943    // struct, to make code future-proof against new fields added later to
944    // the definition in Thrift. If you don't want this, add the annotation
945    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
946    #[doc(hidden)]
947    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
948}
949
950#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
951pub struct ClearSpaceResp {
952    pub code: common::types::ErrorCode,
953    // This field forces `..Default::default()` when instantiating this
954    // struct, to make code future-proof against new fields added later to
955    // the definition in Thrift. If you don't want this, add the annotation
956    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
957    #[doc(hidden)]
958    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
959}
960
961#[derive(Clone, PartialEq)]
962pub struct ChainAddEdgesRequest {
963    pub space_id: common::types::GraphSpaceID,
964    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::NewEdge>>,
965    pub prop_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
966    pub if_not_exists: ::std::primitive::bool,
967    pub term: ::std::primitive::i64,
968    pub edge_version: ::std::option::Option<::std::primitive::i64>,
969    // This field forces `..Default::default()` when instantiating this
970    // struct, to make code future-proof against new fields added later to
971    // the definition in Thrift. If you don't want this, add the annotation
972    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
973    #[doc(hidden)]
974    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
975}
976
977#[derive(Clone, PartialEq)]
978pub struct ChainUpdateEdgeRequest {
979    pub update_edge_request: crate::types::UpdateEdgeRequest,
980    pub term: ::std::primitive::i64,
981    pub edge_version: ::std::option::Option<::std::primitive::i64>,
982    pub space_id: common::types::GraphSpaceID,
983    pub parts: ::std::vec::Vec<common::types::PartitionID>,
984    // This field forces `..Default::default()` when instantiating this
985    // struct, to make code future-proof against new fields added later to
986    // the definition in Thrift. If you don't want this, add the annotation
987    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
988    #[doc(hidden)]
989    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
990}
991
992#[derive(Clone, PartialEq)]
993pub struct ChainDeleteEdgesRequest {
994    pub space_id: common::types::GraphSpaceID,
995    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::EdgeKey>>,
996    pub txn_id: ::std::vec::Vec<::std::primitive::u8>,
997    pub term: ::std::primitive::i64,
998    // This field forces `..Default::default()` when instantiating this
999    // struct, to make code future-proof against new fields added later to
1000    // the definition in Thrift. If you don't want this, add the annotation
1001    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
1002    #[doc(hidden)]
1003    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
1004}
1005
1006#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1007pub struct StatType(pub ::std::primitive::i32);
1008
1009impl StatType {
1010    pub const SUM: Self = StatType(1i32);
1011    pub const COUNT: Self = StatType(2i32);
1012    pub const AVG: Self = StatType(3i32);
1013    pub const MAX: Self = StatType(4i32);
1014    pub const MIN: Self = StatType(5i32);
1015}
1016
1017impl ::fbthrift::ThriftEnum for StatType {
1018    fn enumerate() -> &'static [(Self, &'static str)] {
1019        &[
1020            (Self::SUM, "SUM"),
1021            (Self::COUNT, "COUNT"),
1022            (Self::AVG, "AVG"),
1023            (Self::MAX, "MAX"),
1024            (Self::MIN, "MIN"),
1025        ]
1026    }
1027
1028    fn variants() -> &'static [&'static str] {
1029        &[
1030            "SUM",
1031            "COUNT",
1032            "AVG",
1033            "MAX",
1034            "MIN",
1035        ]
1036    }
1037
1038    fn variant_values() -> &'static [Self] {
1039        &[
1040            Self::SUM,
1041            Self::COUNT,
1042            Self::AVG,
1043            Self::MAX,
1044            Self::MIN,
1045        ]
1046    }
1047}
1048
1049impl ::std::default::Default for StatType {
1050    fn default() -> Self {
1051        Self(::fbthrift::__UNKNOWN_ID)
1052    }
1053}
1054
1055impl<'a> ::std::convert::From<&'a StatType> for ::std::primitive::i32 {
1056    #[inline]
1057    fn from(x: &'a StatType) -> Self {
1058        x.0
1059    }
1060}
1061
1062impl ::std::convert::From<StatType> for ::std::primitive::i32 {
1063    #[inline]
1064    fn from(x: StatType) -> Self {
1065        x.0
1066    }
1067}
1068
1069impl ::std::convert::From<::std::primitive::i32> for StatType {
1070    #[inline]
1071    fn from(x: ::std::primitive::i32) -> Self {
1072        Self(x)
1073    }
1074}
1075
1076impl ::std::fmt::Display for StatType {
1077    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1078        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1079            ("SUM", 1),
1080            ("COUNT", 2),
1081            ("AVG", 3),
1082            ("MAX", 4),
1083            ("MIN", 5),
1084        ];
1085        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1086    }
1087}
1088
1089impl ::std::fmt::Debug for StatType {
1090    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1091        write!(fmt, "StatType::{}", self)
1092    }
1093}
1094
1095impl ::std::str::FromStr for StatType {
1096    type Err = ::anyhow::Error;
1097
1098    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1099        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1100            ("AVG", 3),
1101            ("COUNT", 2),
1102            ("MAX", 4),
1103            ("MIN", 5),
1104            ("SUM", 1),
1105        ];
1106        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "StatType").map(Self)
1107    }
1108}
1109
1110impl ::fbthrift::GetTType for StatType {
1111    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1112}
1113
1114impl<P> ::fbthrift::Serialize<P> for StatType
1115where
1116    P: ::fbthrift::ProtocolWriter,
1117{
1118    #[inline]
1119    fn write(&self, p: &mut P) {
1120        p.write_i32(self.into())
1121    }
1122}
1123
1124impl<P> ::fbthrift::Deserialize<P> for StatType
1125where
1126    P: ::fbthrift::ProtocolReader,
1127{
1128    #[inline]
1129    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1130        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1131    }
1132}
1133
1134#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1135pub struct OrderDirection(pub ::std::primitive::i32);
1136
1137impl OrderDirection {
1138    pub const ASCENDING: Self = OrderDirection(1i32);
1139    pub const DESCENDING: Self = OrderDirection(2i32);
1140}
1141
1142impl ::fbthrift::ThriftEnum for OrderDirection {
1143    fn enumerate() -> &'static [(Self, &'static str)] {
1144        &[
1145            (Self::ASCENDING, "ASCENDING"),
1146            (Self::DESCENDING, "DESCENDING"),
1147        ]
1148    }
1149
1150    fn variants() -> &'static [&'static str] {
1151        &[
1152            "ASCENDING",
1153            "DESCENDING",
1154        ]
1155    }
1156
1157    fn variant_values() -> &'static [Self] {
1158        &[
1159            Self::ASCENDING,
1160            Self::DESCENDING,
1161        ]
1162    }
1163}
1164
1165impl ::std::default::Default for OrderDirection {
1166    fn default() -> Self {
1167        Self(::fbthrift::__UNKNOWN_ID)
1168    }
1169}
1170
1171impl<'a> ::std::convert::From<&'a OrderDirection> for ::std::primitive::i32 {
1172    #[inline]
1173    fn from(x: &'a OrderDirection) -> Self {
1174        x.0
1175    }
1176}
1177
1178impl ::std::convert::From<OrderDirection> for ::std::primitive::i32 {
1179    #[inline]
1180    fn from(x: OrderDirection) -> Self {
1181        x.0
1182    }
1183}
1184
1185impl ::std::convert::From<::std::primitive::i32> for OrderDirection {
1186    #[inline]
1187    fn from(x: ::std::primitive::i32) -> Self {
1188        Self(x)
1189    }
1190}
1191
1192impl ::std::fmt::Display for OrderDirection {
1193    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1194        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1195            ("ASCENDING", 1),
1196            ("DESCENDING", 2),
1197        ];
1198        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1199    }
1200}
1201
1202impl ::std::fmt::Debug for OrderDirection {
1203    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1204        write!(fmt, "OrderDirection::{}", self)
1205    }
1206}
1207
1208impl ::std::str::FromStr for OrderDirection {
1209    type Err = ::anyhow::Error;
1210
1211    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1212        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1213            ("ASCENDING", 1),
1214            ("DESCENDING", 2),
1215        ];
1216        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "OrderDirection").map(Self)
1217    }
1218}
1219
1220impl ::fbthrift::GetTType for OrderDirection {
1221    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1222}
1223
1224impl<P> ::fbthrift::Serialize<P> for OrderDirection
1225where
1226    P: ::fbthrift::ProtocolWriter,
1227{
1228    #[inline]
1229    fn write(&self, p: &mut P) {
1230        p.write_i32(self.into())
1231    }
1232}
1233
1234impl<P> ::fbthrift::Deserialize<P> for OrderDirection
1235where
1236    P: ::fbthrift::ProtocolReader,
1237{
1238    #[inline]
1239    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1240        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1241    }
1242}
1243
1244#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1245pub struct EdgeDirection(pub ::std::primitive::i32);
1246
1247impl EdgeDirection {
1248    pub const BOTH: Self = EdgeDirection(1i32);
1249    pub const IN_EDGE: Self = EdgeDirection(2i32);
1250    pub const OUT_EDGE: Self = EdgeDirection(3i32);
1251}
1252
1253impl ::fbthrift::ThriftEnum for EdgeDirection {
1254    fn enumerate() -> &'static [(Self, &'static str)] {
1255        &[
1256            (Self::BOTH, "BOTH"),
1257            (Self::IN_EDGE, "IN_EDGE"),
1258            (Self::OUT_EDGE, "OUT_EDGE"),
1259        ]
1260    }
1261
1262    fn variants() -> &'static [&'static str] {
1263        &[
1264            "BOTH",
1265            "IN_EDGE",
1266            "OUT_EDGE",
1267        ]
1268    }
1269
1270    fn variant_values() -> &'static [Self] {
1271        &[
1272            Self::BOTH,
1273            Self::IN_EDGE,
1274            Self::OUT_EDGE,
1275        ]
1276    }
1277}
1278
1279impl ::std::default::Default for EdgeDirection {
1280    fn default() -> Self {
1281        Self(::fbthrift::__UNKNOWN_ID)
1282    }
1283}
1284
1285impl<'a> ::std::convert::From<&'a EdgeDirection> for ::std::primitive::i32 {
1286    #[inline]
1287    fn from(x: &'a EdgeDirection) -> Self {
1288        x.0
1289    }
1290}
1291
1292impl ::std::convert::From<EdgeDirection> for ::std::primitive::i32 {
1293    #[inline]
1294    fn from(x: EdgeDirection) -> Self {
1295        x.0
1296    }
1297}
1298
1299impl ::std::convert::From<::std::primitive::i32> for EdgeDirection {
1300    #[inline]
1301    fn from(x: ::std::primitive::i32) -> Self {
1302        Self(x)
1303    }
1304}
1305
1306impl ::std::fmt::Display for EdgeDirection {
1307    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1308        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1309            ("BOTH", 1),
1310            ("IN_EDGE", 2),
1311            ("OUT_EDGE", 3),
1312        ];
1313        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1314    }
1315}
1316
1317impl ::std::fmt::Debug for EdgeDirection {
1318    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1319        write!(fmt, "EdgeDirection::{}", self)
1320    }
1321}
1322
1323impl ::std::str::FromStr for EdgeDirection {
1324    type Err = ::anyhow::Error;
1325
1326    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1327        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1328            ("BOTH", 1),
1329            ("IN_EDGE", 2),
1330            ("OUT_EDGE", 3),
1331        ];
1332        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "EdgeDirection").map(Self)
1333    }
1334}
1335
1336impl ::fbthrift::GetTType for EdgeDirection {
1337    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1338}
1339
1340impl<P> ::fbthrift::Serialize<P> for EdgeDirection
1341where
1342    P: ::fbthrift::ProtocolWriter,
1343{
1344    #[inline]
1345    fn write(&self, p: &mut P) {
1346        p.write_i32(self.into())
1347    }
1348}
1349
1350impl<P> ::fbthrift::Deserialize<P> for EdgeDirection
1351where
1352    P: ::fbthrift::ProtocolReader,
1353{
1354    #[inline]
1355    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1356        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1357    }
1358}
1359
1360#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1361pub struct ScanType(pub ::std::primitive::i32);
1362
1363impl ScanType {
1364    pub const PREFIX: Self = ScanType(1i32);
1365    pub const RANGE: Self = ScanType(2i32);
1366}
1367
1368impl ::fbthrift::ThriftEnum for ScanType {
1369    fn enumerate() -> &'static [(Self, &'static str)] {
1370        &[
1371            (Self::PREFIX, "PREFIX"),
1372            (Self::RANGE, "RANGE"),
1373        ]
1374    }
1375
1376    fn variants() -> &'static [&'static str] {
1377        &[
1378            "PREFIX",
1379            "RANGE",
1380        ]
1381    }
1382
1383    fn variant_values() -> &'static [Self] {
1384        &[
1385            Self::PREFIX,
1386            Self::RANGE,
1387        ]
1388    }
1389}
1390
1391impl ::std::default::Default for ScanType {
1392    fn default() -> Self {
1393        Self(::fbthrift::__UNKNOWN_ID)
1394    }
1395}
1396
1397impl<'a> ::std::convert::From<&'a ScanType> for ::std::primitive::i32 {
1398    #[inline]
1399    fn from(x: &'a ScanType) -> Self {
1400        x.0
1401    }
1402}
1403
1404impl ::std::convert::From<ScanType> for ::std::primitive::i32 {
1405    #[inline]
1406    fn from(x: ScanType) -> Self {
1407        x.0
1408    }
1409}
1410
1411impl ::std::convert::From<::std::primitive::i32> for ScanType {
1412    #[inline]
1413    fn from(x: ::std::primitive::i32) -> Self {
1414        Self(x)
1415    }
1416}
1417
1418impl ::std::fmt::Display for ScanType {
1419    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1420        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1421            ("PREFIX", 1),
1422            ("RANGE", 2),
1423        ];
1424        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1425    }
1426}
1427
1428impl ::std::fmt::Debug for ScanType {
1429    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1430        write!(fmt, "ScanType::{}", self)
1431    }
1432}
1433
1434impl ::std::str::FromStr for ScanType {
1435    type Err = ::anyhow::Error;
1436
1437    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1438        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1439            ("PREFIX", 1),
1440            ("RANGE", 2),
1441        ];
1442        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ScanType").map(Self)
1443    }
1444}
1445
1446impl ::fbthrift::GetTType for ScanType {
1447    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1448}
1449
1450impl<P> ::fbthrift::Serialize<P> for ScanType
1451where
1452    P: ::fbthrift::ProtocolWriter,
1453{
1454    #[inline]
1455    fn write(&self, p: &mut P) {
1456        p.write_i32(self.into())
1457    }
1458}
1459
1460impl<P> ::fbthrift::Deserialize<P> for ScanType
1461where
1462    P: ::fbthrift::ProtocolReader,
1463{
1464    #[inline]
1465    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1466        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1467    }
1468}
1469
1470#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1471pub struct EngineSignType(pub ::std::primitive::i32);
1472
1473impl EngineSignType {
1474    pub const BLOCK_ON: Self = EngineSignType(1i32);
1475    pub const BLOCK_OFF: Self = EngineSignType(2i32);
1476}
1477
1478impl ::fbthrift::ThriftEnum for EngineSignType {
1479    fn enumerate() -> &'static [(Self, &'static str)] {
1480        &[
1481            (Self::BLOCK_ON, "BLOCK_ON"),
1482            (Self::BLOCK_OFF, "BLOCK_OFF"),
1483        ]
1484    }
1485
1486    fn variants() -> &'static [&'static str] {
1487        &[
1488            "BLOCK_ON",
1489            "BLOCK_OFF",
1490        ]
1491    }
1492
1493    fn variant_values() -> &'static [Self] {
1494        &[
1495            Self::BLOCK_ON,
1496            Self::BLOCK_OFF,
1497        ]
1498    }
1499}
1500
1501impl ::std::default::Default for EngineSignType {
1502    fn default() -> Self {
1503        Self(::fbthrift::__UNKNOWN_ID)
1504    }
1505}
1506
1507impl<'a> ::std::convert::From<&'a EngineSignType> for ::std::primitive::i32 {
1508    #[inline]
1509    fn from(x: &'a EngineSignType) -> Self {
1510        x.0
1511    }
1512}
1513
1514impl ::std::convert::From<EngineSignType> for ::std::primitive::i32 {
1515    #[inline]
1516    fn from(x: EngineSignType) -> Self {
1517        x.0
1518    }
1519}
1520
1521impl ::std::convert::From<::std::primitive::i32> for EngineSignType {
1522    #[inline]
1523    fn from(x: ::std::primitive::i32) -> Self {
1524        Self(x)
1525    }
1526}
1527
1528impl ::std::fmt::Display for EngineSignType {
1529    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1530        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1531            ("BLOCK_ON", 1),
1532            ("BLOCK_OFF", 2),
1533        ];
1534        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1535    }
1536}
1537
1538impl ::std::fmt::Debug for EngineSignType {
1539    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1540        write!(fmt, "EngineSignType::{}", self)
1541    }
1542}
1543
1544impl ::std::str::FromStr for EngineSignType {
1545    type Err = ::anyhow::Error;
1546
1547    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1548        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1549            ("BLOCK_OFF", 2),
1550            ("BLOCK_ON", 1),
1551        ];
1552        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "EngineSignType").map(Self)
1553    }
1554}
1555
1556impl ::fbthrift::GetTType for EngineSignType {
1557    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1558}
1559
1560impl<P> ::fbthrift::Serialize<P> for EngineSignType
1561where
1562    P: ::fbthrift::ProtocolWriter,
1563{
1564    #[inline]
1565    fn write(&self, p: &mut P) {
1566        p.write_i32(self.into())
1567    }
1568}
1569
1570impl<P> ::fbthrift::Deserialize<P> for EngineSignType
1571where
1572    P: ::fbthrift::ProtocolReader,
1573{
1574    #[inline]
1575    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1576        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1577    }
1578}
1579
1580#[allow(clippy::derivable_impls)]
1581impl ::std::default::Default for self::RequestCommon {
1582    fn default() -> Self {
1583        Self {
1584            session_id: ::std::option::Option::None,
1585            plan_id: ::std::option::Option::None,
1586            profile_detail: ::std::option::Option::None,
1587            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1588        }
1589    }
1590}
1591
1592impl ::std::fmt::Debug for self::RequestCommon {
1593    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1594        formatter
1595            .debug_struct("RequestCommon")
1596            .field("session_id", &self.session_id)
1597            .field("plan_id", &self.plan_id)
1598            .field("profile_detail", &self.profile_detail)
1599            .finish()
1600    }
1601}
1602
1603unsafe impl ::std::marker::Send for self::RequestCommon {}
1604unsafe impl ::std::marker::Sync for self::RequestCommon {}
1605
1606impl ::fbthrift::GetTType for self::RequestCommon {
1607    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1608}
1609
1610impl<P> ::fbthrift::Serialize<P> for self::RequestCommon
1611where
1612    P: ::fbthrift::ProtocolWriter,
1613{
1614    fn write(&self, p: &mut P) {
1615        p.write_struct_begin("RequestCommon");
1616        if let ::std::option::Option::Some(some) = &self.session_id {
1617            p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
1618            ::fbthrift::Serialize::write(some, p);
1619            p.write_field_end();
1620        }
1621        if let ::std::option::Option::Some(some) = &self.plan_id {
1622            p.write_field_begin("plan_id", ::fbthrift::TType::I64, 2);
1623            ::fbthrift::Serialize::write(some, p);
1624            p.write_field_end();
1625        }
1626        if let ::std::option::Option::Some(some) = &self.profile_detail {
1627            p.write_field_begin("profile_detail", ::fbthrift::TType::Bool, 3);
1628            ::fbthrift::Serialize::write(some, p);
1629            p.write_field_end();
1630        }
1631        p.write_field_stop();
1632        p.write_struct_end();
1633    }
1634}
1635
1636impl<P> ::fbthrift::Deserialize<P> for self::RequestCommon
1637where
1638    P: ::fbthrift::ProtocolReader,
1639{
1640    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1641        static FIELDS: &[::fbthrift::Field] = &[
1642            ::fbthrift::Field::new("plan_id", ::fbthrift::TType::I64, 2),
1643            ::fbthrift::Field::new("profile_detail", ::fbthrift::TType::Bool, 3),
1644            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
1645        ];
1646        let mut field_session_id = ::std::option::Option::None;
1647        let mut field_plan_id = ::std::option::Option::None;
1648        let mut field_profile_detail = ::std::option::Option::None;
1649        let _ = p.read_struct_begin(|_| ())?;
1650        loop {
1651            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1652            match (fty, fid as ::std::primitive::i32) {
1653                (::fbthrift::TType::Stop, _) => break,
1654                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1655                (::fbthrift::TType::I64, 2) => field_plan_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1656                (::fbthrift::TType::Bool, 3) => field_profile_detail = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1657                (fty, _) => p.skip(fty)?,
1658            }
1659            p.read_field_end()?;
1660        }
1661        p.read_struct_end()?;
1662        ::std::result::Result::Ok(Self {
1663            session_id: field_session_id,
1664            plan_id: field_plan_id,
1665            profile_detail: field_profile_detail,
1666            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1667        })
1668    }
1669}
1670
1671
1672#[allow(clippy::derivable_impls)]
1673impl ::std::default::Default for self::PartitionResult {
1674    fn default() -> Self {
1675        Self {
1676            code: ::std::default::Default::default(),
1677            part_id: ::std::default::Default::default(),
1678            leader: ::std::option::Option::None,
1679            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1680        }
1681    }
1682}
1683
1684impl ::std::fmt::Debug for self::PartitionResult {
1685    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1686        formatter
1687            .debug_struct("PartitionResult")
1688            .field("code", &self.code)
1689            .field("part_id", &self.part_id)
1690            .field("leader", &self.leader)
1691            .finish()
1692    }
1693}
1694
1695unsafe impl ::std::marker::Send for self::PartitionResult {}
1696unsafe impl ::std::marker::Sync for self::PartitionResult {}
1697
1698impl ::fbthrift::GetTType for self::PartitionResult {
1699    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1700}
1701
1702impl<P> ::fbthrift::Serialize<P> for self::PartitionResult
1703where
1704    P: ::fbthrift::ProtocolWriter,
1705{
1706    fn write(&self, p: &mut P) {
1707        p.write_struct_begin("PartitionResult");
1708        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
1709        ::fbthrift::Serialize::write(&self.code, p);
1710        p.write_field_end();
1711        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
1712        ::fbthrift::Serialize::write(&self.part_id, p);
1713        p.write_field_end();
1714        if let ::std::option::Option::Some(some) = &self.leader {
1715            p.write_field_begin("leader", ::fbthrift::TType::Struct, 3);
1716            ::fbthrift::Serialize::write(some, p);
1717            p.write_field_end();
1718        }
1719        p.write_field_stop();
1720        p.write_struct_end();
1721    }
1722}
1723
1724impl<P> ::fbthrift::Deserialize<P> for self::PartitionResult
1725where
1726    P: ::fbthrift::ProtocolReader,
1727{
1728    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1729        static FIELDS: &[::fbthrift::Field] = &[
1730            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
1731            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 3),
1732            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
1733        ];
1734        let mut field_code = ::std::option::Option::None;
1735        let mut field_part_id = ::std::option::Option::None;
1736        let mut field_leader = ::std::option::Option::None;
1737        let _ = p.read_struct_begin(|_| ())?;
1738        loop {
1739            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1740            match (fty, fid as ::std::primitive::i32) {
1741                (::fbthrift::TType::Stop, _) => break,
1742                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1743                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1744                (::fbthrift::TType::Struct, 3) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1745                (fty, _) => p.skip(fty)?,
1746            }
1747            p.read_field_end()?;
1748        }
1749        p.read_struct_end()?;
1750        ::std::result::Result::Ok(Self {
1751            code: field_code.unwrap_or_default(),
1752            part_id: field_part_id.unwrap_or_default(),
1753            leader: field_leader,
1754            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1755        })
1756    }
1757}
1758
1759
1760#[allow(clippy::derivable_impls)]
1761impl ::std::default::Default for self::ResponseCommon {
1762    fn default() -> Self {
1763        Self {
1764            failed_parts: ::std::default::Default::default(),
1765            latency_in_us: ::std::default::Default::default(),
1766            latency_detail_us: ::std::option::Option::None,
1767            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1768        }
1769    }
1770}
1771
1772impl ::std::fmt::Debug for self::ResponseCommon {
1773    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1774        formatter
1775            .debug_struct("ResponseCommon")
1776            .field("failed_parts", &self.failed_parts)
1777            .field("latency_in_us", &self.latency_in_us)
1778            .field("latency_detail_us", &self.latency_detail_us)
1779            .finish()
1780    }
1781}
1782
1783unsafe impl ::std::marker::Send for self::ResponseCommon {}
1784unsafe impl ::std::marker::Sync for self::ResponseCommon {}
1785
1786impl ::fbthrift::GetTType for self::ResponseCommon {
1787    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1788}
1789
1790impl<P> ::fbthrift::Serialize<P> for self::ResponseCommon
1791where
1792    P: ::fbthrift::ProtocolWriter,
1793{
1794    fn write(&self, p: &mut P) {
1795        p.write_struct_begin("ResponseCommon");
1796        p.write_field_begin("failed_parts", ::fbthrift::TType::List, 1);
1797        ::fbthrift::Serialize::write(&self.failed_parts, p);
1798        p.write_field_end();
1799        p.write_field_begin("latency_in_us", ::fbthrift::TType::I64, 2);
1800        ::fbthrift::Serialize::write(&self.latency_in_us, p);
1801        p.write_field_end();
1802        if let ::std::option::Option::Some(some) = &self.latency_detail_us {
1803            p.write_field_begin("latency_detail_us", ::fbthrift::TType::Map, 3);
1804            ::fbthrift::Serialize::write(some, p);
1805            p.write_field_end();
1806        }
1807        p.write_field_stop();
1808        p.write_struct_end();
1809    }
1810}
1811
1812impl<P> ::fbthrift::Deserialize<P> for self::ResponseCommon
1813where
1814    P: ::fbthrift::ProtocolReader,
1815{
1816    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1817        static FIELDS: &[::fbthrift::Field] = &[
1818            ::fbthrift::Field::new("failed_parts", ::fbthrift::TType::List, 1),
1819            ::fbthrift::Field::new("latency_detail_us", ::fbthrift::TType::Map, 3),
1820            ::fbthrift::Field::new("latency_in_us", ::fbthrift::TType::I64, 2),
1821        ];
1822        let mut field_failed_parts = ::std::option::Option::None;
1823        let mut field_latency_in_us = ::std::option::Option::None;
1824        let mut field_latency_detail_us = ::std::option::Option::None;
1825        let _ = p.read_struct_begin(|_| ())?;
1826        loop {
1827            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1828            match (fty, fid as ::std::primitive::i32) {
1829                (::fbthrift::TType::Stop, _) => break,
1830                (::fbthrift::TType::List, 1) => field_failed_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1831                (::fbthrift::TType::I64, 2) => field_latency_in_us = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1832                (::fbthrift::TType::Map, 3) => field_latency_detail_us = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1833                (fty, _) => p.skip(fty)?,
1834            }
1835            p.read_field_end()?;
1836        }
1837        p.read_struct_end()?;
1838        ::std::result::Result::Ok(Self {
1839            failed_parts: field_failed_parts.unwrap_or_default(),
1840            latency_in_us: field_latency_in_us.unwrap_or_default(),
1841            latency_detail_us: field_latency_detail_us,
1842            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1843        })
1844    }
1845}
1846
1847
1848#[allow(clippy::derivable_impls)]
1849impl ::std::default::Default for self::StatProp {
1850    fn default() -> Self {
1851        Self {
1852            alias: ::std::default::Default::default(),
1853            prop: ::std::default::Default::default(),
1854            stat: ::std::default::Default::default(),
1855            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1856        }
1857    }
1858}
1859
1860impl ::std::fmt::Debug for self::StatProp {
1861    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1862        formatter
1863            .debug_struct("StatProp")
1864            .field("alias", &self.alias)
1865            .field("prop", &self.prop)
1866            .field("stat", &self.stat)
1867            .finish()
1868    }
1869}
1870
1871unsafe impl ::std::marker::Send for self::StatProp {}
1872unsafe impl ::std::marker::Sync for self::StatProp {}
1873
1874impl ::fbthrift::GetTType for self::StatProp {
1875    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1876}
1877
1878impl<P> ::fbthrift::Serialize<P> for self::StatProp
1879where
1880    P: ::fbthrift::ProtocolWriter,
1881{
1882    fn write(&self, p: &mut P) {
1883        p.write_struct_begin("StatProp");
1884        p.write_field_begin("alias", ::fbthrift::TType::String, 1);
1885        ::fbthrift::Serialize::write(&self.alias, p);
1886        p.write_field_end();
1887        p.write_field_begin("prop", ::fbthrift::TType::String, 2);
1888        ::fbthrift::Serialize::write(&self.prop, p);
1889        p.write_field_end();
1890        p.write_field_begin("stat", ::fbthrift::TType::I32, 3);
1891        ::fbthrift::Serialize::write(&self.stat, p);
1892        p.write_field_end();
1893        p.write_field_stop();
1894        p.write_struct_end();
1895    }
1896}
1897
1898impl<P> ::fbthrift::Deserialize<P> for self::StatProp
1899where
1900    P: ::fbthrift::ProtocolReader,
1901{
1902    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1903        static FIELDS: &[::fbthrift::Field] = &[
1904            ::fbthrift::Field::new("alias", ::fbthrift::TType::String, 1),
1905            ::fbthrift::Field::new("prop", ::fbthrift::TType::String, 2),
1906            ::fbthrift::Field::new("stat", ::fbthrift::TType::I32, 3),
1907        ];
1908        let mut field_alias = ::std::option::Option::None;
1909        let mut field_prop = ::std::option::Option::None;
1910        let mut field_stat = ::std::option::Option::None;
1911        let _ = p.read_struct_begin(|_| ())?;
1912        loop {
1913            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1914            match (fty, fid as ::std::primitive::i32) {
1915                (::fbthrift::TType::Stop, _) => break,
1916                (::fbthrift::TType::String, 1) => field_alias = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1917                (::fbthrift::TType::String, 2) => field_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1918                (::fbthrift::TType::I32, 3) => field_stat = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1919                (fty, _) => p.skip(fty)?,
1920            }
1921            p.read_field_end()?;
1922        }
1923        p.read_struct_end()?;
1924        ::std::result::Result::Ok(Self {
1925            alias: field_alias.unwrap_or_default(),
1926            prop: field_prop.unwrap_or_default(),
1927            stat: field_stat.unwrap_or_default(),
1928            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1929        })
1930    }
1931}
1932
1933
1934#[allow(clippy::derivable_impls)]
1935impl ::std::default::Default for self::Expr {
1936    fn default() -> Self {
1937        Self {
1938            alias: ::std::default::Default::default(),
1939            expr: ::std::default::Default::default(),
1940            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1941        }
1942    }
1943}
1944
1945impl ::std::fmt::Debug for self::Expr {
1946    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1947        formatter
1948            .debug_struct("Expr")
1949            .field("alias", &self.alias)
1950            .field("expr", &self.expr)
1951            .finish()
1952    }
1953}
1954
1955unsafe impl ::std::marker::Send for self::Expr {}
1956unsafe impl ::std::marker::Sync for self::Expr {}
1957
1958impl ::fbthrift::GetTType for self::Expr {
1959    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1960}
1961
1962impl<P> ::fbthrift::Serialize<P> for self::Expr
1963where
1964    P: ::fbthrift::ProtocolWriter,
1965{
1966    fn write(&self, p: &mut P) {
1967        p.write_struct_begin("Expr");
1968        p.write_field_begin("alias", ::fbthrift::TType::String, 1);
1969        ::fbthrift::Serialize::write(&self.alias, p);
1970        p.write_field_end();
1971        p.write_field_begin("expr", ::fbthrift::TType::String, 2);
1972        ::fbthrift::Serialize::write(&self.expr, p);
1973        p.write_field_end();
1974        p.write_field_stop();
1975        p.write_struct_end();
1976    }
1977}
1978
1979impl<P> ::fbthrift::Deserialize<P> for self::Expr
1980where
1981    P: ::fbthrift::ProtocolReader,
1982{
1983    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1984        static FIELDS: &[::fbthrift::Field] = &[
1985            ::fbthrift::Field::new("alias", ::fbthrift::TType::String, 1),
1986            ::fbthrift::Field::new("expr", ::fbthrift::TType::String, 2),
1987        ];
1988        let mut field_alias = ::std::option::Option::None;
1989        let mut field_expr = ::std::option::Option::None;
1990        let _ = p.read_struct_begin(|_| ())?;
1991        loop {
1992            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1993            match (fty, fid as ::std::primitive::i32) {
1994                (::fbthrift::TType::Stop, _) => break,
1995                (::fbthrift::TType::String, 1) => field_alias = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1996                (::fbthrift::TType::String, 2) => field_expr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1997                (fty, _) => p.skip(fty)?,
1998            }
1999            p.read_field_end()?;
2000        }
2001        p.read_struct_end()?;
2002        ::std::result::Result::Ok(Self {
2003            alias: field_alias.unwrap_or_default(),
2004            expr: field_expr.unwrap_or_default(),
2005            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2006        })
2007    }
2008}
2009
2010
2011#[allow(clippy::derivable_impls)]
2012impl ::std::default::Default for self::EdgeProp {
2013    fn default() -> Self {
2014        Self {
2015            r#type: ::std::default::Default::default(),
2016            props: ::std::default::Default::default(),
2017            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2018        }
2019    }
2020}
2021
2022impl ::std::fmt::Debug for self::EdgeProp {
2023    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2024        formatter
2025            .debug_struct("EdgeProp")
2026            .field("r#type", &self.r#type)
2027            .field("props", &self.props)
2028            .finish()
2029    }
2030}
2031
2032unsafe impl ::std::marker::Send for self::EdgeProp {}
2033unsafe impl ::std::marker::Sync for self::EdgeProp {}
2034
2035impl ::fbthrift::GetTType for self::EdgeProp {
2036    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2037}
2038
2039impl<P> ::fbthrift::Serialize<P> for self::EdgeProp
2040where
2041    P: ::fbthrift::ProtocolWriter,
2042{
2043    fn write(&self, p: &mut P) {
2044        p.write_struct_begin("EdgeProp");
2045        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
2046        ::fbthrift::Serialize::write(&self.r#type, p);
2047        p.write_field_end();
2048        p.write_field_begin("props", ::fbthrift::TType::List, 2);
2049        ::fbthrift::Serialize::write(&self.props, p);
2050        p.write_field_end();
2051        p.write_field_stop();
2052        p.write_struct_end();
2053    }
2054}
2055
2056impl<P> ::fbthrift::Deserialize<P> for self::EdgeProp
2057where
2058    P: ::fbthrift::ProtocolReader,
2059{
2060    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2061        static FIELDS: &[::fbthrift::Field] = &[
2062            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
2063            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
2064        ];
2065        let mut field_type = ::std::option::Option::None;
2066        let mut field_props = ::std::option::Option::None;
2067        let _ = p.read_struct_begin(|_| ())?;
2068        loop {
2069            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2070            match (fty, fid as ::std::primitive::i32) {
2071                (::fbthrift::TType::Stop, _) => break,
2072                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2073                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2074                (fty, _) => p.skip(fty)?,
2075            }
2076            p.read_field_end()?;
2077        }
2078        p.read_struct_end()?;
2079        ::std::result::Result::Ok(Self {
2080            r#type: field_type.unwrap_or_default(),
2081            props: field_props.unwrap_or_default(),
2082            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2083        })
2084    }
2085}
2086
2087
2088#[allow(clippy::derivable_impls)]
2089impl ::std::default::Default for self::VertexProp {
2090    fn default() -> Self {
2091        Self {
2092            tag: ::std::default::Default::default(),
2093            props: ::std::default::Default::default(),
2094            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2095        }
2096    }
2097}
2098
2099impl ::std::fmt::Debug for self::VertexProp {
2100    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2101        formatter
2102            .debug_struct("VertexProp")
2103            .field("tag", &self.tag)
2104            .field("props", &self.props)
2105            .finish()
2106    }
2107}
2108
2109unsafe impl ::std::marker::Send for self::VertexProp {}
2110unsafe impl ::std::marker::Sync for self::VertexProp {}
2111
2112impl ::fbthrift::GetTType for self::VertexProp {
2113    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2114}
2115
2116impl<P> ::fbthrift::Serialize<P> for self::VertexProp
2117where
2118    P: ::fbthrift::ProtocolWriter,
2119{
2120    fn write(&self, p: &mut P) {
2121        p.write_struct_begin("VertexProp");
2122        p.write_field_begin("tag", ::fbthrift::TType::I32, 1);
2123        ::fbthrift::Serialize::write(&self.tag, p);
2124        p.write_field_end();
2125        p.write_field_begin("props", ::fbthrift::TType::List, 2);
2126        ::fbthrift::Serialize::write(&self.props, p);
2127        p.write_field_end();
2128        p.write_field_stop();
2129        p.write_struct_end();
2130    }
2131}
2132
2133impl<P> ::fbthrift::Deserialize<P> for self::VertexProp
2134where
2135    P: ::fbthrift::ProtocolReader,
2136{
2137    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2138        static FIELDS: &[::fbthrift::Field] = &[
2139            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
2140            ::fbthrift::Field::new("tag", ::fbthrift::TType::I32, 1),
2141        ];
2142        let mut field_tag = ::std::option::Option::None;
2143        let mut field_props = ::std::option::Option::None;
2144        let _ = p.read_struct_begin(|_| ())?;
2145        loop {
2146            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2147            match (fty, fid as ::std::primitive::i32) {
2148                (::fbthrift::TType::Stop, _) => break,
2149                (::fbthrift::TType::I32, 1) => field_tag = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2150                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2151                (fty, _) => p.skip(fty)?,
2152            }
2153            p.read_field_end()?;
2154        }
2155        p.read_struct_end()?;
2156        ::std::result::Result::Ok(Self {
2157            tag: field_tag.unwrap_or_default(),
2158            props: field_props.unwrap_or_default(),
2159            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2160        })
2161    }
2162}
2163
2164
2165#[allow(clippy::derivable_impls)]
2166impl ::std::default::Default for self::OrderBy {
2167    fn default() -> Self {
2168        Self {
2169            prop: ::std::default::Default::default(),
2170            direction: ::std::default::Default::default(),
2171            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2172        }
2173    }
2174}
2175
2176impl ::std::fmt::Debug for self::OrderBy {
2177    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2178        formatter
2179            .debug_struct("OrderBy")
2180            .field("prop", &self.prop)
2181            .field("direction", &self.direction)
2182            .finish()
2183    }
2184}
2185
2186unsafe impl ::std::marker::Send for self::OrderBy {}
2187unsafe impl ::std::marker::Sync for self::OrderBy {}
2188
2189impl ::fbthrift::GetTType for self::OrderBy {
2190    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2191}
2192
2193impl<P> ::fbthrift::Serialize<P> for self::OrderBy
2194where
2195    P: ::fbthrift::ProtocolWriter,
2196{
2197    fn write(&self, p: &mut P) {
2198        p.write_struct_begin("OrderBy");
2199        p.write_field_begin("prop", ::fbthrift::TType::String, 1);
2200        ::fbthrift::Serialize::write(&self.prop, p);
2201        p.write_field_end();
2202        p.write_field_begin("direction", ::fbthrift::TType::I32, 2);
2203        ::fbthrift::Serialize::write(&self.direction, p);
2204        p.write_field_end();
2205        p.write_field_stop();
2206        p.write_struct_end();
2207    }
2208}
2209
2210impl<P> ::fbthrift::Deserialize<P> for self::OrderBy
2211where
2212    P: ::fbthrift::ProtocolReader,
2213{
2214    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2215        static FIELDS: &[::fbthrift::Field] = &[
2216            ::fbthrift::Field::new("direction", ::fbthrift::TType::I32, 2),
2217            ::fbthrift::Field::new("prop", ::fbthrift::TType::String, 1),
2218        ];
2219        let mut field_prop = ::std::option::Option::None;
2220        let mut field_direction = ::std::option::Option::None;
2221        let _ = p.read_struct_begin(|_| ())?;
2222        loop {
2223            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2224            match (fty, fid as ::std::primitive::i32) {
2225                (::fbthrift::TType::Stop, _) => break,
2226                (::fbthrift::TType::String, 1) => field_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2227                (::fbthrift::TType::I32, 2) => field_direction = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2228                (fty, _) => p.skip(fty)?,
2229            }
2230            p.read_field_end()?;
2231        }
2232        p.read_struct_end()?;
2233        ::std::result::Result::Ok(Self {
2234            prop: field_prop.unwrap_or_default(),
2235            direction: field_direction.unwrap_or_default(),
2236            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2237        })
2238    }
2239}
2240
2241
2242#[allow(clippy::derivable_impls)]
2243impl ::std::default::Default for self::TraverseSpec {
2244    fn default() -> Self {
2245        Self {
2246            edge_types: ::std::default::Default::default(),
2247            edge_direction: crate::types::EdgeDirection::BOTH,
2248            dedup: false,
2249            stat_props: ::std::option::Option::None,
2250            vertex_props: ::std::option::Option::None,
2251            edge_props: ::std::option::Option::None,
2252            expressions: ::std::option::Option::None,
2253            order_by: ::std::option::Option::None,
2254            random: ::std::option::Option::None,
2255            limit: ::std::option::Option::None,
2256            filter: ::std::option::Option::None,
2257            tag_filter: ::std::option::Option::None,
2258            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2259        }
2260    }
2261}
2262
2263impl ::std::fmt::Debug for self::TraverseSpec {
2264    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2265        formatter
2266            .debug_struct("TraverseSpec")
2267            .field("edge_types", &self.edge_types)
2268            .field("edge_direction", &self.edge_direction)
2269            .field("dedup", &self.dedup)
2270            .field("stat_props", &self.stat_props)
2271            .field("vertex_props", &self.vertex_props)
2272            .field("edge_props", &self.edge_props)
2273            .field("expressions", &self.expressions)
2274            .field("order_by", &self.order_by)
2275            .field("random", &self.random)
2276            .field("limit", &self.limit)
2277            .field("filter", &self.filter)
2278            .field("tag_filter", &self.tag_filter)
2279            .finish()
2280    }
2281}
2282
2283unsafe impl ::std::marker::Send for self::TraverseSpec {}
2284unsafe impl ::std::marker::Sync for self::TraverseSpec {}
2285
2286impl ::fbthrift::GetTType for self::TraverseSpec {
2287    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2288}
2289
2290impl<P> ::fbthrift::Serialize<P> for self::TraverseSpec
2291where
2292    P: ::fbthrift::ProtocolWriter,
2293{
2294    fn write(&self, p: &mut P) {
2295        p.write_struct_begin("TraverseSpec");
2296        p.write_field_begin("edge_types", ::fbthrift::TType::List, 1);
2297        ::fbthrift::Serialize::write(&self.edge_types, p);
2298        p.write_field_end();
2299        p.write_field_begin("edge_direction", ::fbthrift::TType::I32, 2);
2300        ::fbthrift::Serialize::write(&self.edge_direction, p);
2301        p.write_field_end();
2302        p.write_field_begin("dedup", ::fbthrift::TType::Bool, 3);
2303        ::fbthrift::Serialize::write(&self.dedup, p);
2304        p.write_field_end();
2305        if let ::std::option::Option::Some(some) = &self.stat_props {
2306            p.write_field_begin("stat_props", ::fbthrift::TType::List, 4);
2307            ::fbthrift::Serialize::write(some, p);
2308            p.write_field_end();
2309        }
2310        if let ::std::option::Option::Some(some) = &self.vertex_props {
2311            p.write_field_begin("vertex_props", ::fbthrift::TType::List, 5);
2312            ::fbthrift::Serialize::write(some, p);
2313            p.write_field_end();
2314        }
2315        if let ::std::option::Option::Some(some) = &self.edge_props {
2316            p.write_field_begin("edge_props", ::fbthrift::TType::List, 6);
2317            ::fbthrift::Serialize::write(some, p);
2318            p.write_field_end();
2319        }
2320        if let ::std::option::Option::Some(some) = &self.expressions {
2321            p.write_field_begin("expressions", ::fbthrift::TType::List, 7);
2322            ::fbthrift::Serialize::write(some, p);
2323            p.write_field_end();
2324        }
2325        if let ::std::option::Option::Some(some) = &self.order_by {
2326            p.write_field_begin("order_by", ::fbthrift::TType::List, 8);
2327            ::fbthrift::Serialize::write(some, p);
2328            p.write_field_end();
2329        }
2330        if let ::std::option::Option::Some(some) = &self.random {
2331            p.write_field_begin("random", ::fbthrift::TType::Bool, 9);
2332            ::fbthrift::Serialize::write(some, p);
2333            p.write_field_end();
2334        }
2335        if let ::std::option::Option::Some(some) = &self.limit {
2336            p.write_field_begin("limit", ::fbthrift::TType::I64, 10);
2337            ::fbthrift::Serialize::write(some, p);
2338            p.write_field_end();
2339        }
2340        if let ::std::option::Option::Some(some) = &self.filter {
2341            p.write_field_begin("filter", ::fbthrift::TType::String, 11);
2342            ::fbthrift::Serialize::write(some, p);
2343            p.write_field_end();
2344        }
2345        if let ::std::option::Option::Some(some) = &self.tag_filter {
2346            p.write_field_begin("tag_filter", ::fbthrift::TType::String, 12);
2347            ::fbthrift::Serialize::write(some, p);
2348            p.write_field_end();
2349        }
2350        p.write_field_stop();
2351        p.write_struct_end();
2352    }
2353}
2354
2355impl<P> ::fbthrift::Deserialize<P> for self::TraverseSpec
2356where
2357    P: ::fbthrift::ProtocolReader,
2358{
2359    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2360        static FIELDS: &[::fbthrift::Field] = &[
2361            ::fbthrift::Field::new("dedup", ::fbthrift::TType::Bool, 3),
2362            ::fbthrift::Field::new("edge_direction", ::fbthrift::TType::I32, 2),
2363            ::fbthrift::Field::new("edge_props", ::fbthrift::TType::List, 6),
2364            ::fbthrift::Field::new("edge_types", ::fbthrift::TType::List, 1),
2365            ::fbthrift::Field::new("expressions", ::fbthrift::TType::List, 7),
2366            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 11),
2367            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 10),
2368            ::fbthrift::Field::new("order_by", ::fbthrift::TType::List, 8),
2369            ::fbthrift::Field::new("random", ::fbthrift::TType::Bool, 9),
2370            ::fbthrift::Field::new("stat_props", ::fbthrift::TType::List, 4),
2371            ::fbthrift::Field::new("tag_filter", ::fbthrift::TType::String, 12),
2372            ::fbthrift::Field::new("vertex_props", ::fbthrift::TType::List, 5),
2373        ];
2374        let mut field_edge_types = ::std::option::Option::None;
2375        let mut field_edge_direction = ::std::option::Option::None;
2376        let mut field_dedup = ::std::option::Option::None;
2377        let mut field_stat_props = ::std::option::Option::None;
2378        let mut field_vertex_props = ::std::option::Option::None;
2379        let mut field_edge_props = ::std::option::Option::None;
2380        let mut field_expressions = ::std::option::Option::None;
2381        let mut field_order_by = ::std::option::Option::None;
2382        let mut field_random = ::std::option::Option::None;
2383        let mut field_limit = ::std::option::Option::None;
2384        let mut field_filter = ::std::option::Option::None;
2385        let mut field_tag_filter = ::std::option::Option::None;
2386        let _ = p.read_struct_begin(|_| ())?;
2387        loop {
2388            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2389            match (fty, fid as ::std::primitive::i32) {
2390                (::fbthrift::TType::Stop, _) => break,
2391                (::fbthrift::TType::List, 1) => field_edge_types = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2392                (::fbthrift::TType::I32, 2) => field_edge_direction = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2393                (::fbthrift::TType::Bool, 3) => field_dedup = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2394                (::fbthrift::TType::List, 4) => field_stat_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2395                (::fbthrift::TType::List, 5) => field_vertex_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2396                (::fbthrift::TType::List, 6) => field_edge_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2397                (::fbthrift::TType::List, 7) => field_expressions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2398                (::fbthrift::TType::List, 8) => field_order_by = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2399                (::fbthrift::TType::Bool, 9) => field_random = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2400                (::fbthrift::TType::I64, 10) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2401                (::fbthrift::TType::String, 11) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2402                (::fbthrift::TType::String, 12) => field_tag_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2403                (fty, _) => p.skip(fty)?,
2404            }
2405            p.read_field_end()?;
2406        }
2407        p.read_struct_end()?;
2408        ::std::result::Result::Ok(Self {
2409            edge_types: field_edge_types.unwrap_or_default(),
2410            edge_direction: field_edge_direction.unwrap_or(crate::types::EdgeDirection::BOTH),
2411            dedup: field_dedup.unwrap_or(false),
2412            stat_props: field_stat_props,
2413            vertex_props: field_vertex_props,
2414            edge_props: field_edge_props,
2415            expressions: field_expressions,
2416            order_by: field_order_by,
2417            random: field_random,
2418            limit: field_limit,
2419            filter: field_filter,
2420            tag_filter: field_tag_filter,
2421            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2422        })
2423    }
2424}
2425
2426
2427#[allow(clippy::derivable_impls)]
2428impl ::std::default::Default for self::GetNeighborsRequest {
2429    fn default() -> Self {
2430        Self {
2431            space_id: ::std::default::Default::default(),
2432            column_names: ::std::default::Default::default(),
2433            parts: ::std::default::Default::default(),
2434            traverse_spec: ::std::default::Default::default(),
2435            common: ::std::option::Option::None,
2436            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2437        }
2438    }
2439}
2440
2441impl ::std::fmt::Debug for self::GetNeighborsRequest {
2442    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2443        formatter
2444            .debug_struct("GetNeighborsRequest")
2445            .field("space_id", &self.space_id)
2446            .field("column_names", &self.column_names)
2447            .field("parts", &self.parts)
2448            .field("traverse_spec", &self.traverse_spec)
2449            .field("common", &self.common)
2450            .finish()
2451    }
2452}
2453
2454unsafe impl ::std::marker::Send for self::GetNeighborsRequest {}
2455unsafe impl ::std::marker::Sync for self::GetNeighborsRequest {}
2456
2457impl ::fbthrift::GetTType for self::GetNeighborsRequest {
2458    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2459}
2460
2461impl<P> ::fbthrift::Serialize<P> for self::GetNeighborsRequest
2462where
2463    P: ::fbthrift::ProtocolWriter,
2464{
2465    fn write(&self, p: &mut P) {
2466        p.write_struct_begin("GetNeighborsRequest");
2467        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
2468        ::fbthrift::Serialize::write(&self.space_id, p);
2469        p.write_field_end();
2470        p.write_field_begin("column_names", ::fbthrift::TType::List, 2);
2471        ::fbthrift::Serialize::write(&self.column_names, p);
2472        p.write_field_end();
2473        p.write_field_begin("parts", ::fbthrift::TType::Map, 3);
2474        ::fbthrift::Serialize::write(&self.parts, p);
2475        p.write_field_end();
2476        p.write_field_begin("traverse_spec", ::fbthrift::TType::Struct, 4);
2477        ::fbthrift::Serialize::write(&self.traverse_spec, p);
2478        p.write_field_end();
2479        if let ::std::option::Option::Some(some) = &self.common {
2480            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
2481            ::fbthrift::Serialize::write(some, p);
2482            p.write_field_end();
2483        }
2484        p.write_field_stop();
2485        p.write_struct_end();
2486    }
2487}
2488
2489impl<P> ::fbthrift::Deserialize<P> for self::GetNeighborsRequest
2490where
2491    P: ::fbthrift::ProtocolReader,
2492{
2493    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2494        static FIELDS: &[::fbthrift::Field] = &[
2495            ::fbthrift::Field::new("column_names", ::fbthrift::TType::List, 2),
2496            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
2497            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 3),
2498            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
2499            ::fbthrift::Field::new("traverse_spec", ::fbthrift::TType::Struct, 4),
2500        ];
2501        let mut field_space_id = ::std::option::Option::None;
2502        let mut field_column_names = ::std::option::Option::None;
2503        let mut field_parts = ::std::option::Option::None;
2504        let mut field_traverse_spec = ::std::option::Option::None;
2505        let mut field_common = ::std::option::Option::None;
2506        let _ = p.read_struct_begin(|_| ())?;
2507        loop {
2508            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2509            match (fty, fid as ::std::primitive::i32) {
2510                (::fbthrift::TType::Stop, _) => break,
2511                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2512                (::fbthrift::TType::List, 2) => field_column_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2513                (::fbthrift::TType::Map, 3) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2514                (::fbthrift::TType::Struct, 4) => field_traverse_spec = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2515                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2516                (fty, _) => p.skip(fty)?,
2517            }
2518            p.read_field_end()?;
2519        }
2520        p.read_struct_end()?;
2521        ::std::result::Result::Ok(Self {
2522            space_id: field_space_id.unwrap_or_default(),
2523            column_names: field_column_names.unwrap_or_default(),
2524            parts: field_parts.unwrap_or_default(),
2525            traverse_spec: field_traverse_spec.unwrap_or_default(),
2526            common: field_common,
2527            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2528        })
2529    }
2530}
2531
2532
2533#[allow(clippy::derivable_impls)]
2534impl ::std::default::Default for self::GetNeighborsResponse {
2535    fn default() -> Self {
2536        Self {
2537            result: ::std::default::Default::default(),
2538            vertices: ::std::option::Option::None,
2539            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2540        }
2541    }
2542}
2543
2544impl ::std::fmt::Debug for self::GetNeighborsResponse {
2545    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2546        formatter
2547            .debug_struct("GetNeighborsResponse")
2548            .field("result", &self.result)
2549            .field("vertices", &self.vertices)
2550            .finish()
2551    }
2552}
2553
2554unsafe impl ::std::marker::Send for self::GetNeighborsResponse {}
2555unsafe impl ::std::marker::Sync for self::GetNeighborsResponse {}
2556
2557impl ::fbthrift::GetTType for self::GetNeighborsResponse {
2558    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2559}
2560
2561impl<P> ::fbthrift::Serialize<P> for self::GetNeighborsResponse
2562where
2563    P: ::fbthrift::ProtocolWriter,
2564{
2565    fn write(&self, p: &mut P) {
2566        p.write_struct_begin("GetNeighborsResponse");
2567        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
2568        ::fbthrift::Serialize::write(&self.result, p);
2569        p.write_field_end();
2570        if let ::std::option::Option::Some(some) = &self.vertices {
2571            p.write_field_begin("vertices", ::fbthrift::TType::Struct, 2);
2572            ::fbthrift::Serialize::write(some, p);
2573            p.write_field_end();
2574        }
2575        p.write_field_stop();
2576        p.write_struct_end();
2577    }
2578}
2579
2580impl<P> ::fbthrift::Deserialize<P> for self::GetNeighborsResponse
2581where
2582    P: ::fbthrift::ProtocolReader,
2583{
2584    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2585        static FIELDS: &[::fbthrift::Field] = &[
2586            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
2587            ::fbthrift::Field::new("vertices", ::fbthrift::TType::Struct, 2),
2588        ];
2589        let mut field_result = ::std::option::Option::None;
2590        let mut field_vertices = ::std::option::Option::None;
2591        let _ = p.read_struct_begin(|_| ())?;
2592        loop {
2593            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2594            match (fty, fid as ::std::primitive::i32) {
2595                (::fbthrift::TType::Stop, _) => break,
2596                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2597                (::fbthrift::TType::Struct, 2) => field_vertices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2598                (fty, _) => p.skip(fty)?,
2599            }
2600            p.read_field_end()?;
2601        }
2602        p.read_struct_end()?;
2603        ::std::result::Result::Ok(Self {
2604            result: field_result.unwrap_or_default(),
2605            vertices: field_vertices,
2606            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2607        })
2608    }
2609}
2610
2611
2612#[allow(clippy::derivable_impls)]
2613impl ::std::default::Default for self::GetDstBySrcRequest {
2614    fn default() -> Self {
2615        Self {
2616            space_id: ::std::default::Default::default(),
2617            parts: ::std::default::Default::default(),
2618            edge_types: ::std::default::Default::default(),
2619            common: ::std::option::Option::None,
2620            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2621        }
2622    }
2623}
2624
2625impl ::std::fmt::Debug for self::GetDstBySrcRequest {
2626    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2627        formatter
2628            .debug_struct("GetDstBySrcRequest")
2629            .field("space_id", &self.space_id)
2630            .field("parts", &self.parts)
2631            .field("edge_types", &self.edge_types)
2632            .field("common", &self.common)
2633            .finish()
2634    }
2635}
2636
2637unsafe impl ::std::marker::Send for self::GetDstBySrcRequest {}
2638unsafe impl ::std::marker::Sync for self::GetDstBySrcRequest {}
2639
2640impl ::fbthrift::GetTType for self::GetDstBySrcRequest {
2641    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2642}
2643
2644impl<P> ::fbthrift::Serialize<P> for self::GetDstBySrcRequest
2645where
2646    P: ::fbthrift::ProtocolWriter,
2647{
2648    fn write(&self, p: &mut P) {
2649        p.write_struct_begin("GetDstBySrcRequest");
2650        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
2651        ::fbthrift::Serialize::write(&self.space_id, p);
2652        p.write_field_end();
2653        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
2654        ::fbthrift::Serialize::write(&self.parts, p);
2655        p.write_field_end();
2656        p.write_field_begin("edge_types", ::fbthrift::TType::List, 3);
2657        ::fbthrift::Serialize::write(&self.edge_types, p);
2658        p.write_field_end();
2659        if let ::std::option::Option::Some(some) = &self.common {
2660            p.write_field_begin("common", ::fbthrift::TType::Struct, 4);
2661            ::fbthrift::Serialize::write(some, p);
2662            p.write_field_end();
2663        }
2664        p.write_field_stop();
2665        p.write_struct_end();
2666    }
2667}
2668
2669impl<P> ::fbthrift::Deserialize<P> for self::GetDstBySrcRequest
2670where
2671    P: ::fbthrift::ProtocolReader,
2672{
2673    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2674        static FIELDS: &[::fbthrift::Field] = &[
2675            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 4),
2676            ::fbthrift::Field::new("edge_types", ::fbthrift::TType::List, 3),
2677            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
2678            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
2679        ];
2680        let mut field_space_id = ::std::option::Option::None;
2681        let mut field_parts = ::std::option::Option::None;
2682        let mut field_edge_types = ::std::option::Option::None;
2683        let mut field_common = ::std::option::Option::None;
2684        let _ = p.read_struct_begin(|_| ())?;
2685        loop {
2686            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2687            match (fty, fid as ::std::primitive::i32) {
2688                (::fbthrift::TType::Stop, _) => break,
2689                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2690                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2691                (::fbthrift::TType::List, 3) => field_edge_types = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2692                (::fbthrift::TType::Struct, 4) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2693                (fty, _) => p.skip(fty)?,
2694            }
2695            p.read_field_end()?;
2696        }
2697        p.read_struct_end()?;
2698        ::std::result::Result::Ok(Self {
2699            space_id: field_space_id.unwrap_or_default(),
2700            parts: field_parts.unwrap_or_default(),
2701            edge_types: field_edge_types.unwrap_or_default(),
2702            common: field_common,
2703            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2704        })
2705    }
2706}
2707
2708
2709#[allow(clippy::derivable_impls)]
2710impl ::std::default::Default for self::GetDstBySrcResponse {
2711    fn default() -> Self {
2712        Self {
2713            result: ::std::default::Default::default(),
2714            dsts: ::std::option::Option::None,
2715            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2716        }
2717    }
2718}
2719
2720impl ::std::fmt::Debug for self::GetDstBySrcResponse {
2721    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2722        formatter
2723            .debug_struct("GetDstBySrcResponse")
2724            .field("result", &self.result)
2725            .field("dsts", &self.dsts)
2726            .finish()
2727    }
2728}
2729
2730unsafe impl ::std::marker::Send for self::GetDstBySrcResponse {}
2731unsafe impl ::std::marker::Sync for self::GetDstBySrcResponse {}
2732
2733impl ::fbthrift::GetTType for self::GetDstBySrcResponse {
2734    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2735}
2736
2737impl<P> ::fbthrift::Serialize<P> for self::GetDstBySrcResponse
2738where
2739    P: ::fbthrift::ProtocolWriter,
2740{
2741    fn write(&self, p: &mut P) {
2742        p.write_struct_begin("GetDstBySrcResponse");
2743        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
2744        ::fbthrift::Serialize::write(&self.result, p);
2745        p.write_field_end();
2746        if let ::std::option::Option::Some(some) = &self.dsts {
2747            p.write_field_begin("dsts", ::fbthrift::TType::Struct, 2);
2748            ::fbthrift::Serialize::write(some, p);
2749            p.write_field_end();
2750        }
2751        p.write_field_stop();
2752        p.write_struct_end();
2753    }
2754}
2755
2756impl<P> ::fbthrift::Deserialize<P> for self::GetDstBySrcResponse
2757where
2758    P: ::fbthrift::ProtocolReader,
2759{
2760    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2761        static FIELDS: &[::fbthrift::Field] = &[
2762            ::fbthrift::Field::new("dsts", ::fbthrift::TType::Struct, 2),
2763            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
2764        ];
2765        let mut field_result = ::std::option::Option::None;
2766        let mut field_dsts = ::std::option::Option::None;
2767        let _ = p.read_struct_begin(|_| ())?;
2768        loop {
2769            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2770            match (fty, fid as ::std::primitive::i32) {
2771                (::fbthrift::TType::Stop, _) => break,
2772                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2773                (::fbthrift::TType::Struct, 2) => field_dsts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2774                (fty, _) => p.skip(fty)?,
2775            }
2776            p.read_field_end()?;
2777        }
2778        p.read_struct_end()?;
2779        ::std::result::Result::Ok(Self {
2780            result: field_result.unwrap_or_default(),
2781            dsts: field_dsts,
2782            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2783        })
2784    }
2785}
2786
2787
2788#[allow(clippy::derivable_impls)]
2789impl ::std::default::Default for self::ExecResponse {
2790    fn default() -> Self {
2791        Self {
2792            result: ::std::default::Default::default(),
2793            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2794        }
2795    }
2796}
2797
2798impl ::std::fmt::Debug for self::ExecResponse {
2799    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2800        formatter
2801            .debug_struct("ExecResponse")
2802            .field("result", &self.result)
2803            .finish()
2804    }
2805}
2806
2807unsafe impl ::std::marker::Send for self::ExecResponse {}
2808unsafe impl ::std::marker::Sync for self::ExecResponse {}
2809
2810impl ::fbthrift::GetTType for self::ExecResponse {
2811    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2812}
2813
2814impl<P> ::fbthrift::Serialize<P> for self::ExecResponse
2815where
2816    P: ::fbthrift::ProtocolWriter,
2817{
2818    fn write(&self, p: &mut P) {
2819        p.write_struct_begin("ExecResponse");
2820        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
2821        ::fbthrift::Serialize::write(&self.result, p);
2822        p.write_field_end();
2823        p.write_field_stop();
2824        p.write_struct_end();
2825    }
2826}
2827
2828impl<P> ::fbthrift::Deserialize<P> for self::ExecResponse
2829where
2830    P: ::fbthrift::ProtocolReader,
2831{
2832    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2833        static FIELDS: &[::fbthrift::Field] = &[
2834            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
2835        ];
2836        let mut field_result = ::std::option::Option::None;
2837        let _ = p.read_struct_begin(|_| ())?;
2838        loop {
2839            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2840            match (fty, fid as ::std::primitive::i32) {
2841                (::fbthrift::TType::Stop, _) => break,
2842                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2843                (fty, _) => p.skip(fty)?,
2844            }
2845            p.read_field_end()?;
2846        }
2847        p.read_struct_end()?;
2848        ::std::result::Result::Ok(Self {
2849            result: field_result.unwrap_or_default(),
2850            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2851        })
2852    }
2853}
2854
2855
2856#[allow(clippy::derivable_impls)]
2857impl ::std::default::Default for self::GetPropRequest {
2858    fn default() -> Self {
2859        Self {
2860            space_id: ::std::default::Default::default(),
2861            parts: ::std::default::Default::default(),
2862            vertex_props: ::std::option::Option::None,
2863            edge_props: ::std::option::Option::None,
2864            expressions: ::std::option::Option::None,
2865            dedup: false,
2866            order_by: ::std::option::Option::None,
2867            limit: ::std::option::Option::None,
2868            filter: ::std::option::Option::None,
2869            common: ::std::option::Option::None,
2870            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2871        }
2872    }
2873}
2874
2875impl ::std::fmt::Debug for self::GetPropRequest {
2876    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2877        formatter
2878            .debug_struct("GetPropRequest")
2879            .field("space_id", &self.space_id)
2880            .field("parts", &self.parts)
2881            .field("vertex_props", &self.vertex_props)
2882            .field("edge_props", &self.edge_props)
2883            .field("expressions", &self.expressions)
2884            .field("dedup", &self.dedup)
2885            .field("order_by", &self.order_by)
2886            .field("limit", &self.limit)
2887            .field("filter", &self.filter)
2888            .field("common", &self.common)
2889            .finish()
2890    }
2891}
2892
2893unsafe impl ::std::marker::Send for self::GetPropRequest {}
2894unsafe impl ::std::marker::Sync for self::GetPropRequest {}
2895
2896impl ::fbthrift::GetTType for self::GetPropRequest {
2897    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2898}
2899
2900impl<P> ::fbthrift::Serialize<P> for self::GetPropRequest
2901where
2902    P: ::fbthrift::ProtocolWriter,
2903{
2904    fn write(&self, p: &mut P) {
2905        p.write_struct_begin("GetPropRequest");
2906        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
2907        ::fbthrift::Serialize::write(&self.space_id, p);
2908        p.write_field_end();
2909        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
2910        ::fbthrift::Serialize::write(&self.parts, p);
2911        p.write_field_end();
2912        if let ::std::option::Option::Some(some) = &self.vertex_props {
2913            p.write_field_begin("vertex_props", ::fbthrift::TType::List, 3);
2914            ::fbthrift::Serialize::write(some, p);
2915            p.write_field_end();
2916        }
2917        if let ::std::option::Option::Some(some) = &self.edge_props {
2918            p.write_field_begin("edge_props", ::fbthrift::TType::List, 4);
2919            ::fbthrift::Serialize::write(some, p);
2920            p.write_field_end();
2921        }
2922        if let ::std::option::Option::Some(some) = &self.expressions {
2923            p.write_field_begin("expressions", ::fbthrift::TType::List, 5);
2924            ::fbthrift::Serialize::write(some, p);
2925            p.write_field_end();
2926        }
2927        p.write_field_begin("dedup", ::fbthrift::TType::Bool, 6);
2928        ::fbthrift::Serialize::write(&self.dedup, p);
2929        p.write_field_end();
2930        if let ::std::option::Option::Some(some) = &self.order_by {
2931            p.write_field_begin("order_by", ::fbthrift::TType::List, 7);
2932            ::fbthrift::Serialize::write(some, p);
2933            p.write_field_end();
2934        }
2935        if let ::std::option::Option::Some(some) = &self.limit {
2936            p.write_field_begin("limit", ::fbthrift::TType::I64, 8);
2937            ::fbthrift::Serialize::write(some, p);
2938            p.write_field_end();
2939        }
2940        if let ::std::option::Option::Some(some) = &self.filter {
2941            p.write_field_begin("filter", ::fbthrift::TType::String, 9);
2942            ::fbthrift::Serialize::write(some, p);
2943            p.write_field_end();
2944        }
2945        if let ::std::option::Option::Some(some) = &self.common {
2946            p.write_field_begin("common", ::fbthrift::TType::Struct, 10);
2947            ::fbthrift::Serialize::write(some, p);
2948            p.write_field_end();
2949        }
2950        p.write_field_stop();
2951        p.write_struct_end();
2952    }
2953}
2954
2955impl<P> ::fbthrift::Deserialize<P> for self::GetPropRequest
2956where
2957    P: ::fbthrift::ProtocolReader,
2958{
2959    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2960        static FIELDS: &[::fbthrift::Field] = &[
2961            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 10),
2962            ::fbthrift::Field::new("dedup", ::fbthrift::TType::Bool, 6),
2963            ::fbthrift::Field::new("edge_props", ::fbthrift::TType::List, 4),
2964            ::fbthrift::Field::new("expressions", ::fbthrift::TType::List, 5),
2965            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 9),
2966            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 8),
2967            ::fbthrift::Field::new("order_by", ::fbthrift::TType::List, 7),
2968            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
2969            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
2970            ::fbthrift::Field::new("vertex_props", ::fbthrift::TType::List, 3),
2971        ];
2972        let mut field_space_id = ::std::option::Option::None;
2973        let mut field_parts = ::std::option::Option::None;
2974        let mut field_vertex_props = ::std::option::Option::None;
2975        let mut field_edge_props = ::std::option::Option::None;
2976        let mut field_expressions = ::std::option::Option::None;
2977        let mut field_dedup = ::std::option::Option::None;
2978        let mut field_order_by = ::std::option::Option::None;
2979        let mut field_limit = ::std::option::Option::None;
2980        let mut field_filter = ::std::option::Option::None;
2981        let mut field_common = ::std::option::Option::None;
2982        let _ = p.read_struct_begin(|_| ())?;
2983        loop {
2984            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2985            match (fty, fid as ::std::primitive::i32) {
2986                (::fbthrift::TType::Stop, _) => break,
2987                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2988                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2989                (::fbthrift::TType::List, 3) => field_vertex_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2990                (::fbthrift::TType::List, 4) => field_edge_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2991                (::fbthrift::TType::List, 5) => field_expressions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2992                (::fbthrift::TType::Bool, 6) => field_dedup = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2993                (::fbthrift::TType::List, 7) => field_order_by = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2994                (::fbthrift::TType::I64, 8) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2995                (::fbthrift::TType::String, 9) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2996                (::fbthrift::TType::Struct, 10) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2997                (fty, _) => p.skip(fty)?,
2998            }
2999            p.read_field_end()?;
3000        }
3001        p.read_struct_end()?;
3002        ::std::result::Result::Ok(Self {
3003            space_id: field_space_id.unwrap_or_default(),
3004            parts: field_parts.unwrap_or_default(),
3005            vertex_props: field_vertex_props,
3006            edge_props: field_edge_props,
3007            expressions: field_expressions,
3008            dedup: field_dedup.unwrap_or(false),
3009            order_by: field_order_by,
3010            limit: field_limit,
3011            filter: field_filter,
3012            common: field_common,
3013            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3014        })
3015    }
3016}
3017
3018
3019#[allow(clippy::derivable_impls)]
3020impl ::std::default::Default for self::GetPropResponse {
3021    fn default() -> Self {
3022        Self {
3023            result: ::std::default::Default::default(),
3024            props: ::std::option::Option::None,
3025            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3026        }
3027    }
3028}
3029
3030impl ::std::fmt::Debug for self::GetPropResponse {
3031    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3032        formatter
3033            .debug_struct("GetPropResponse")
3034            .field("result", &self.result)
3035            .field("props", &self.props)
3036            .finish()
3037    }
3038}
3039
3040unsafe impl ::std::marker::Send for self::GetPropResponse {}
3041unsafe impl ::std::marker::Sync for self::GetPropResponse {}
3042
3043impl ::fbthrift::GetTType for self::GetPropResponse {
3044    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3045}
3046
3047impl<P> ::fbthrift::Serialize<P> for self::GetPropResponse
3048where
3049    P: ::fbthrift::ProtocolWriter,
3050{
3051    fn write(&self, p: &mut P) {
3052        p.write_struct_begin("GetPropResponse");
3053        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
3054        ::fbthrift::Serialize::write(&self.result, p);
3055        p.write_field_end();
3056        if let ::std::option::Option::Some(some) = &self.props {
3057            p.write_field_begin("props", ::fbthrift::TType::Struct, 2);
3058            ::fbthrift::Serialize::write(some, p);
3059            p.write_field_end();
3060        }
3061        p.write_field_stop();
3062        p.write_struct_end();
3063    }
3064}
3065
3066impl<P> ::fbthrift::Deserialize<P> for self::GetPropResponse
3067where
3068    P: ::fbthrift::ProtocolReader,
3069{
3070    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3071        static FIELDS: &[::fbthrift::Field] = &[
3072            ::fbthrift::Field::new("props", ::fbthrift::TType::Struct, 2),
3073            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
3074        ];
3075        let mut field_result = ::std::option::Option::None;
3076        let mut field_props = ::std::option::Option::None;
3077        let _ = p.read_struct_begin(|_| ())?;
3078        loop {
3079            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3080            match (fty, fid as ::std::primitive::i32) {
3081                (::fbthrift::TType::Stop, _) => break,
3082                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3083                (::fbthrift::TType::Struct, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3084                (fty, _) => p.skip(fty)?,
3085            }
3086            p.read_field_end()?;
3087        }
3088        p.read_struct_end()?;
3089        ::std::result::Result::Ok(Self {
3090            result: field_result.unwrap_or_default(),
3091            props: field_props,
3092            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3093        })
3094    }
3095}
3096
3097
3098#[allow(clippy::derivable_impls)]
3099impl ::std::default::Default for self::NewTag {
3100    fn default() -> Self {
3101        Self {
3102            tag_id: ::std::default::Default::default(),
3103            props: ::std::default::Default::default(),
3104            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3105        }
3106    }
3107}
3108
3109impl ::std::fmt::Debug for self::NewTag {
3110    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3111        formatter
3112            .debug_struct("NewTag")
3113            .field("tag_id", &self.tag_id)
3114            .field("props", &self.props)
3115            .finish()
3116    }
3117}
3118
3119unsafe impl ::std::marker::Send for self::NewTag {}
3120unsafe impl ::std::marker::Sync for self::NewTag {}
3121
3122impl ::fbthrift::GetTType for self::NewTag {
3123    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3124}
3125
3126impl<P> ::fbthrift::Serialize<P> for self::NewTag
3127where
3128    P: ::fbthrift::ProtocolWriter,
3129{
3130    fn write(&self, p: &mut P) {
3131        p.write_struct_begin("NewTag");
3132        p.write_field_begin("tag_id", ::fbthrift::TType::I32, 1);
3133        ::fbthrift::Serialize::write(&self.tag_id, p);
3134        p.write_field_end();
3135        p.write_field_begin("props", ::fbthrift::TType::List, 2);
3136        ::fbthrift::Serialize::write(&self.props, p);
3137        p.write_field_end();
3138        p.write_field_stop();
3139        p.write_struct_end();
3140    }
3141}
3142
3143impl<P> ::fbthrift::Deserialize<P> for self::NewTag
3144where
3145    P: ::fbthrift::ProtocolReader,
3146{
3147    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3148        static FIELDS: &[::fbthrift::Field] = &[
3149            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
3150            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 1),
3151        ];
3152        let mut field_tag_id = ::std::option::Option::None;
3153        let mut field_props = ::std::option::Option::None;
3154        let _ = p.read_struct_begin(|_| ())?;
3155        loop {
3156            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3157            match (fty, fid as ::std::primitive::i32) {
3158                (::fbthrift::TType::Stop, _) => break,
3159                (::fbthrift::TType::I32, 1) => field_tag_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3160                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3161                (fty, _) => p.skip(fty)?,
3162            }
3163            p.read_field_end()?;
3164        }
3165        p.read_struct_end()?;
3166        ::std::result::Result::Ok(Self {
3167            tag_id: field_tag_id.unwrap_or_default(),
3168            props: field_props.unwrap_or_default(),
3169            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3170        })
3171    }
3172}
3173
3174
3175#[allow(clippy::derivable_impls)]
3176impl ::std::default::Default for self::NewVertex {
3177    fn default() -> Self {
3178        Self {
3179            id: ::std::default::Default::default(),
3180            tags: ::std::default::Default::default(),
3181            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3182        }
3183    }
3184}
3185
3186impl ::std::fmt::Debug for self::NewVertex {
3187    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3188        formatter
3189            .debug_struct("NewVertex")
3190            .field("id", &self.id)
3191            .field("tags", &self.tags)
3192            .finish()
3193    }
3194}
3195
3196unsafe impl ::std::marker::Send for self::NewVertex {}
3197unsafe impl ::std::marker::Sync for self::NewVertex {}
3198
3199impl ::fbthrift::GetTType for self::NewVertex {
3200    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3201}
3202
3203impl<P> ::fbthrift::Serialize<P> for self::NewVertex
3204where
3205    P: ::fbthrift::ProtocolWriter,
3206{
3207    fn write(&self, p: &mut P) {
3208        p.write_struct_begin("NewVertex");
3209        p.write_field_begin("id", ::fbthrift::TType::Struct, 1);
3210        ::fbthrift::Serialize::write(&self.id, p);
3211        p.write_field_end();
3212        p.write_field_begin("tags", ::fbthrift::TType::List, 2);
3213        ::fbthrift::Serialize::write(&self.tags, p);
3214        p.write_field_end();
3215        p.write_field_stop();
3216        p.write_struct_end();
3217    }
3218}
3219
3220impl<P> ::fbthrift::Deserialize<P> for self::NewVertex
3221where
3222    P: ::fbthrift::ProtocolReader,
3223{
3224    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3225        static FIELDS: &[::fbthrift::Field] = &[
3226            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 1),
3227            ::fbthrift::Field::new("tags", ::fbthrift::TType::List, 2),
3228        ];
3229        let mut field_id = ::std::option::Option::None;
3230        let mut field_tags = ::std::option::Option::None;
3231        let _ = p.read_struct_begin(|_| ())?;
3232        loop {
3233            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3234            match (fty, fid as ::std::primitive::i32) {
3235                (::fbthrift::TType::Stop, _) => break,
3236                (::fbthrift::TType::Struct, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3237                (::fbthrift::TType::List, 2) => field_tags = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3238                (fty, _) => p.skip(fty)?,
3239            }
3240            p.read_field_end()?;
3241        }
3242        p.read_struct_end()?;
3243        ::std::result::Result::Ok(Self {
3244            id: field_id.unwrap_or_default(),
3245            tags: field_tags.unwrap_or_default(),
3246            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3247        })
3248    }
3249}
3250
3251
3252#[allow(clippy::derivable_impls)]
3253impl ::std::default::Default for self::EdgeKey {
3254    fn default() -> Self {
3255        Self {
3256            src: ::std::default::Default::default(),
3257            edge_type: ::std::default::Default::default(),
3258            ranking: ::std::default::Default::default(),
3259            dst: ::std::default::Default::default(),
3260            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3261        }
3262    }
3263}
3264
3265impl ::std::fmt::Debug for self::EdgeKey {
3266    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3267        formatter
3268            .debug_struct("EdgeKey")
3269            .field("src", &self.src)
3270            .field("edge_type", &self.edge_type)
3271            .field("ranking", &self.ranking)
3272            .field("dst", &self.dst)
3273            .finish()
3274    }
3275}
3276
3277unsafe impl ::std::marker::Send for self::EdgeKey {}
3278unsafe impl ::std::marker::Sync for self::EdgeKey {}
3279
3280impl ::fbthrift::GetTType for self::EdgeKey {
3281    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3282}
3283
3284impl<P> ::fbthrift::Serialize<P> for self::EdgeKey
3285where
3286    P: ::fbthrift::ProtocolWriter,
3287{
3288    fn write(&self, p: &mut P) {
3289        p.write_struct_begin("EdgeKey");
3290        p.write_field_begin("src", ::fbthrift::TType::Struct, 1);
3291        ::fbthrift::Serialize::write(&self.src, p);
3292        p.write_field_end();
3293        p.write_field_begin("edge_type", ::fbthrift::TType::I32, 2);
3294        ::fbthrift::Serialize::write(&self.edge_type, p);
3295        p.write_field_end();
3296        p.write_field_begin("ranking", ::fbthrift::TType::I64, 3);
3297        ::fbthrift::Serialize::write(&self.ranking, p);
3298        p.write_field_end();
3299        p.write_field_begin("dst", ::fbthrift::TType::Struct, 4);
3300        ::fbthrift::Serialize::write(&self.dst, p);
3301        p.write_field_end();
3302        p.write_field_stop();
3303        p.write_struct_end();
3304    }
3305}
3306
3307impl<P> ::fbthrift::Deserialize<P> for self::EdgeKey
3308where
3309    P: ::fbthrift::ProtocolReader,
3310{
3311    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3312        static FIELDS: &[::fbthrift::Field] = &[
3313            ::fbthrift::Field::new("dst", ::fbthrift::TType::Struct, 4),
3314            ::fbthrift::Field::new("edge_type", ::fbthrift::TType::I32, 2),
3315            ::fbthrift::Field::new("ranking", ::fbthrift::TType::I64, 3),
3316            ::fbthrift::Field::new("src", ::fbthrift::TType::Struct, 1),
3317        ];
3318        let mut field_src = ::std::option::Option::None;
3319        let mut field_edge_type = ::std::option::Option::None;
3320        let mut field_ranking = ::std::option::Option::None;
3321        let mut field_dst = ::std::option::Option::None;
3322        let _ = p.read_struct_begin(|_| ())?;
3323        loop {
3324            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3325            match (fty, fid as ::std::primitive::i32) {
3326                (::fbthrift::TType::Stop, _) => break,
3327                (::fbthrift::TType::Struct, 1) => field_src = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3328                (::fbthrift::TType::I32, 2) => field_edge_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3329                (::fbthrift::TType::I64, 3) => field_ranking = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3330                (::fbthrift::TType::Struct, 4) => field_dst = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3331                (fty, _) => p.skip(fty)?,
3332            }
3333            p.read_field_end()?;
3334        }
3335        p.read_struct_end()?;
3336        ::std::result::Result::Ok(Self {
3337            src: field_src.unwrap_or_default(),
3338            edge_type: field_edge_type.unwrap_or_default(),
3339            ranking: field_ranking.unwrap_or_default(),
3340            dst: field_dst.unwrap_or_default(),
3341            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3342        })
3343    }
3344}
3345
3346
3347#[allow(clippy::derivable_impls)]
3348impl ::std::default::Default for self::NewEdge {
3349    fn default() -> Self {
3350        Self {
3351            key: ::std::default::Default::default(),
3352            props: ::std::default::Default::default(),
3353            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3354        }
3355    }
3356}
3357
3358impl ::std::fmt::Debug for self::NewEdge {
3359    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3360        formatter
3361            .debug_struct("NewEdge")
3362            .field("key", &self.key)
3363            .field("props", &self.props)
3364            .finish()
3365    }
3366}
3367
3368unsafe impl ::std::marker::Send for self::NewEdge {}
3369unsafe impl ::std::marker::Sync for self::NewEdge {}
3370
3371impl ::fbthrift::GetTType for self::NewEdge {
3372    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3373}
3374
3375impl<P> ::fbthrift::Serialize<P> for self::NewEdge
3376where
3377    P: ::fbthrift::ProtocolWriter,
3378{
3379    fn write(&self, p: &mut P) {
3380        p.write_struct_begin("NewEdge");
3381        p.write_field_begin("key", ::fbthrift::TType::Struct, 1);
3382        ::fbthrift::Serialize::write(&self.key, p);
3383        p.write_field_end();
3384        p.write_field_begin("props", ::fbthrift::TType::List, 2);
3385        ::fbthrift::Serialize::write(&self.props, p);
3386        p.write_field_end();
3387        p.write_field_stop();
3388        p.write_struct_end();
3389    }
3390}
3391
3392impl<P> ::fbthrift::Deserialize<P> for self::NewEdge
3393where
3394    P: ::fbthrift::ProtocolReader,
3395{
3396    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3397        static FIELDS: &[::fbthrift::Field] = &[
3398            ::fbthrift::Field::new("key", ::fbthrift::TType::Struct, 1),
3399            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
3400        ];
3401        let mut field_key = ::std::option::Option::None;
3402        let mut field_props = ::std::option::Option::None;
3403        let _ = p.read_struct_begin(|_| ())?;
3404        loop {
3405            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3406            match (fty, fid as ::std::primitive::i32) {
3407                (::fbthrift::TType::Stop, _) => break,
3408                (::fbthrift::TType::Struct, 1) => field_key = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3409                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3410                (fty, _) => p.skip(fty)?,
3411            }
3412            p.read_field_end()?;
3413        }
3414        p.read_struct_end()?;
3415        ::std::result::Result::Ok(Self {
3416            key: field_key.unwrap_or_default(),
3417            props: field_props.unwrap_or_default(),
3418            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3419        })
3420    }
3421}
3422
3423
3424#[allow(clippy::derivable_impls)]
3425impl ::std::default::Default for self::AddVerticesRequest {
3426    fn default() -> Self {
3427        Self {
3428            space_id: ::std::default::Default::default(),
3429            parts: ::std::default::Default::default(),
3430            prop_names: ::std::default::Default::default(),
3431            if_not_exists: ::std::default::Default::default(),
3432            ignore_existed_index: false,
3433            common: ::std::option::Option::None,
3434            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3435        }
3436    }
3437}
3438
3439impl ::std::fmt::Debug for self::AddVerticesRequest {
3440    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3441        formatter
3442            .debug_struct("AddVerticesRequest")
3443            .field("space_id", &self.space_id)
3444            .field("parts", &self.parts)
3445            .field("prop_names", &self.prop_names)
3446            .field("if_not_exists", &self.if_not_exists)
3447            .field("ignore_existed_index", &self.ignore_existed_index)
3448            .field("common", &self.common)
3449            .finish()
3450    }
3451}
3452
3453unsafe impl ::std::marker::Send for self::AddVerticesRequest {}
3454unsafe impl ::std::marker::Sync for self::AddVerticesRequest {}
3455
3456impl ::fbthrift::GetTType for self::AddVerticesRequest {
3457    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3458}
3459
3460impl<P> ::fbthrift::Serialize<P> for self::AddVerticesRequest
3461where
3462    P: ::fbthrift::ProtocolWriter,
3463{
3464    fn write(&self, p: &mut P) {
3465        p.write_struct_begin("AddVerticesRequest");
3466        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3467        ::fbthrift::Serialize::write(&self.space_id, p);
3468        p.write_field_end();
3469        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3470        ::fbthrift::Serialize::write(&self.parts, p);
3471        p.write_field_end();
3472        p.write_field_begin("prop_names", ::fbthrift::TType::Map, 3);
3473        ::fbthrift::Serialize::write(&self.prop_names, p);
3474        p.write_field_end();
3475        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
3476        ::fbthrift::Serialize::write(&self.if_not_exists, p);
3477        p.write_field_end();
3478        p.write_field_begin("ignore_existed_index", ::fbthrift::TType::Bool, 5);
3479        ::fbthrift::Serialize::write(&self.ignore_existed_index, p);
3480        p.write_field_end();
3481        if let ::std::option::Option::Some(some) = &self.common {
3482            p.write_field_begin("common", ::fbthrift::TType::Struct, 6);
3483            ::fbthrift::Serialize::write(some, p);
3484            p.write_field_end();
3485        }
3486        p.write_field_stop();
3487        p.write_struct_end();
3488    }
3489}
3490
3491impl<P> ::fbthrift::Deserialize<P> for self::AddVerticesRequest
3492where
3493    P: ::fbthrift::ProtocolReader,
3494{
3495    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3496        static FIELDS: &[::fbthrift::Field] = &[
3497            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 6),
3498            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
3499            ::fbthrift::Field::new("ignore_existed_index", ::fbthrift::TType::Bool, 5),
3500            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3501            ::fbthrift::Field::new("prop_names", ::fbthrift::TType::Map, 3),
3502            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3503        ];
3504        let mut field_space_id = ::std::option::Option::None;
3505        let mut field_parts = ::std::option::Option::None;
3506        let mut field_prop_names = ::std::option::Option::None;
3507        let mut field_if_not_exists = ::std::option::Option::None;
3508        let mut field_ignore_existed_index = ::std::option::Option::None;
3509        let mut field_common = ::std::option::Option::None;
3510        let _ = p.read_struct_begin(|_| ())?;
3511        loop {
3512            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3513            match (fty, fid as ::std::primitive::i32) {
3514                (::fbthrift::TType::Stop, _) => break,
3515                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3516                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3517                (::fbthrift::TType::Map, 3) => field_prop_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3518                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3519                (::fbthrift::TType::Bool, 5) => field_ignore_existed_index = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3520                (::fbthrift::TType::Struct, 6) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3521                (fty, _) => p.skip(fty)?,
3522            }
3523            p.read_field_end()?;
3524        }
3525        p.read_struct_end()?;
3526        ::std::result::Result::Ok(Self {
3527            space_id: field_space_id.unwrap_or_default(),
3528            parts: field_parts.unwrap_or_default(),
3529            prop_names: field_prop_names.unwrap_or_default(),
3530            if_not_exists: field_if_not_exists.unwrap_or_default(),
3531            ignore_existed_index: field_ignore_existed_index.unwrap_or(false),
3532            common: field_common,
3533            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3534        })
3535    }
3536}
3537
3538
3539#[allow(clippy::derivable_impls)]
3540impl ::std::default::Default for self::AddEdgesRequest {
3541    fn default() -> Self {
3542        Self {
3543            space_id: ::std::default::Default::default(),
3544            parts: ::std::default::Default::default(),
3545            prop_names: ::std::default::Default::default(),
3546            if_not_exists: ::std::default::Default::default(),
3547            ignore_existed_index: false,
3548            common: ::std::option::Option::None,
3549            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3550        }
3551    }
3552}
3553
3554impl ::std::fmt::Debug for self::AddEdgesRequest {
3555    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3556        formatter
3557            .debug_struct("AddEdgesRequest")
3558            .field("space_id", &self.space_id)
3559            .field("parts", &self.parts)
3560            .field("prop_names", &self.prop_names)
3561            .field("if_not_exists", &self.if_not_exists)
3562            .field("ignore_existed_index", &self.ignore_existed_index)
3563            .field("common", &self.common)
3564            .finish()
3565    }
3566}
3567
3568unsafe impl ::std::marker::Send for self::AddEdgesRequest {}
3569unsafe impl ::std::marker::Sync for self::AddEdgesRequest {}
3570
3571impl ::fbthrift::GetTType for self::AddEdgesRequest {
3572    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3573}
3574
3575impl<P> ::fbthrift::Serialize<P> for self::AddEdgesRequest
3576where
3577    P: ::fbthrift::ProtocolWriter,
3578{
3579    fn write(&self, p: &mut P) {
3580        p.write_struct_begin("AddEdgesRequest");
3581        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3582        ::fbthrift::Serialize::write(&self.space_id, p);
3583        p.write_field_end();
3584        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3585        ::fbthrift::Serialize::write(&self.parts, p);
3586        p.write_field_end();
3587        p.write_field_begin("prop_names", ::fbthrift::TType::List, 3);
3588        ::fbthrift::Serialize::write(&self.prop_names, p);
3589        p.write_field_end();
3590        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
3591        ::fbthrift::Serialize::write(&self.if_not_exists, p);
3592        p.write_field_end();
3593        p.write_field_begin("ignore_existed_index", ::fbthrift::TType::Bool, 5);
3594        ::fbthrift::Serialize::write(&self.ignore_existed_index, p);
3595        p.write_field_end();
3596        if let ::std::option::Option::Some(some) = &self.common {
3597            p.write_field_begin("common", ::fbthrift::TType::Struct, 6);
3598            ::fbthrift::Serialize::write(some, p);
3599            p.write_field_end();
3600        }
3601        p.write_field_stop();
3602        p.write_struct_end();
3603    }
3604}
3605
3606impl<P> ::fbthrift::Deserialize<P> for self::AddEdgesRequest
3607where
3608    P: ::fbthrift::ProtocolReader,
3609{
3610    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3611        static FIELDS: &[::fbthrift::Field] = &[
3612            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 6),
3613            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
3614            ::fbthrift::Field::new("ignore_existed_index", ::fbthrift::TType::Bool, 5),
3615            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3616            ::fbthrift::Field::new("prop_names", ::fbthrift::TType::List, 3),
3617            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3618        ];
3619        let mut field_space_id = ::std::option::Option::None;
3620        let mut field_parts = ::std::option::Option::None;
3621        let mut field_prop_names = ::std::option::Option::None;
3622        let mut field_if_not_exists = ::std::option::Option::None;
3623        let mut field_ignore_existed_index = ::std::option::Option::None;
3624        let mut field_common = ::std::option::Option::None;
3625        let _ = p.read_struct_begin(|_| ())?;
3626        loop {
3627            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3628            match (fty, fid as ::std::primitive::i32) {
3629                (::fbthrift::TType::Stop, _) => break,
3630                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3631                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3632                (::fbthrift::TType::List, 3) => field_prop_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3633                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3634                (::fbthrift::TType::Bool, 5) => field_ignore_existed_index = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3635                (::fbthrift::TType::Struct, 6) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3636                (fty, _) => p.skip(fty)?,
3637            }
3638            p.read_field_end()?;
3639        }
3640        p.read_struct_end()?;
3641        ::std::result::Result::Ok(Self {
3642            space_id: field_space_id.unwrap_or_default(),
3643            parts: field_parts.unwrap_or_default(),
3644            prop_names: field_prop_names.unwrap_or_default(),
3645            if_not_exists: field_if_not_exists.unwrap_or_default(),
3646            ignore_existed_index: field_ignore_existed_index.unwrap_or(false),
3647            common: field_common,
3648            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3649        })
3650    }
3651}
3652
3653
3654#[allow(clippy::derivable_impls)]
3655impl ::std::default::Default for self::DeleteVerticesRequest {
3656    fn default() -> Self {
3657        Self {
3658            space_id: ::std::default::Default::default(),
3659            parts: ::std::default::Default::default(),
3660            common: ::std::option::Option::None,
3661            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3662        }
3663    }
3664}
3665
3666impl ::std::fmt::Debug for self::DeleteVerticesRequest {
3667    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3668        formatter
3669            .debug_struct("DeleteVerticesRequest")
3670            .field("space_id", &self.space_id)
3671            .field("parts", &self.parts)
3672            .field("common", &self.common)
3673            .finish()
3674    }
3675}
3676
3677unsafe impl ::std::marker::Send for self::DeleteVerticesRequest {}
3678unsafe impl ::std::marker::Sync for self::DeleteVerticesRequest {}
3679
3680impl ::fbthrift::GetTType for self::DeleteVerticesRequest {
3681    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3682}
3683
3684impl<P> ::fbthrift::Serialize<P> for self::DeleteVerticesRequest
3685where
3686    P: ::fbthrift::ProtocolWriter,
3687{
3688    fn write(&self, p: &mut P) {
3689        p.write_struct_begin("DeleteVerticesRequest");
3690        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3691        ::fbthrift::Serialize::write(&self.space_id, p);
3692        p.write_field_end();
3693        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3694        ::fbthrift::Serialize::write(&self.parts, p);
3695        p.write_field_end();
3696        if let ::std::option::Option::Some(some) = &self.common {
3697            p.write_field_begin("common", ::fbthrift::TType::Struct, 3);
3698            ::fbthrift::Serialize::write(some, p);
3699            p.write_field_end();
3700        }
3701        p.write_field_stop();
3702        p.write_struct_end();
3703    }
3704}
3705
3706impl<P> ::fbthrift::Deserialize<P> for self::DeleteVerticesRequest
3707where
3708    P: ::fbthrift::ProtocolReader,
3709{
3710    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3711        static FIELDS: &[::fbthrift::Field] = &[
3712            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 3),
3713            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3714            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3715        ];
3716        let mut field_space_id = ::std::option::Option::None;
3717        let mut field_parts = ::std::option::Option::None;
3718        let mut field_common = ::std::option::Option::None;
3719        let _ = p.read_struct_begin(|_| ())?;
3720        loop {
3721            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3722            match (fty, fid as ::std::primitive::i32) {
3723                (::fbthrift::TType::Stop, _) => break,
3724                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3725                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3726                (::fbthrift::TType::Struct, 3) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3727                (fty, _) => p.skip(fty)?,
3728            }
3729            p.read_field_end()?;
3730        }
3731        p.read_struct_end()?;
3732        ::std::result::Result::Ok(Self {
3733            space_id: field_space_id.unwrap_or_default(),
3734            parts: field_parts.unwrap_or_default(),
3735            common: field_common,
3736            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3737        })
3738    }
3739}
3740
3741
3742#[allow(clippy::derivable_impls)]
3743impl ::std::default::Default for self::DeleteEdgesRequest {
3744    fn default() -> Self {
3745        Self {
3746            space_id: ::std::default::Default::default(),
3747            parts: ::std::default::Default::default(),
3748            common: ::std::option::Option::None,
3749            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3750        }
3751    }
3752}
3753
3754impl ::std::fmt::Debug for self::DeleteEdgesRequest {
3755    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3756        formatter
3757            .debug_struct("DeleteEdgesRequest")
3758            .field("space_id", &self.space_id)
3759            .field("parts", &self.parts)
3760            .field("common", &self.common)
3761            .finish()
3762    }
3763}
3764
3765unsafe impl ::std::marker::Send for self::DeleteEdgesRequest {}
3766unsafe impl ::std::marker::Sync for self::DeleteEdgesRequest {}
3767
3768impl ::fbthrift::GetTType for self::DeleteEdgesRequest {
3769    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3770}
3771
3772impl<P> ::fbthrift::Serialize<P> for self::DeleteEdgesRequest
3773where
3774    P: ::fbthrift::ProtocolWriter,
3775{
3776    fn write(&self, p: &mut P) {
3777        p.write_struct_begin("DeleteEdgesRequest");
3778        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3779        ::fbthrift::Serialize::write(&self.space_id, p);
3780        p.write_field_end();
3781        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3782        ::fbthrift::Serialize::write(&self.parts, p);
3783        p.write_field_end();
3784        if let ::std::option::Option::Some(some) = &self.common {
3785            p.write_field_begin("common", ::fbthrift::TType::Struct, 3);
3786            ::fbthrift::Serialize::write(some, p);
3787            p.write_field_end();
3788        }
3789        p.write_field_stop();
3790        p.write_struct_end();
3791    }
3792}
3793
3794impl<P> ::fbthrift::Deserialize<P> for self::DeleteEdgesRequest
3795where
3796    P: ::fbthrift::ProtocolReader,
3797{
3798    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3799        static FIELDS: &[::fbthrift::Field] = &[
3800            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 3),
3801            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3802            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3803        ];
3804        let mut field_space_id = ::std::option::Option::None;
3805        let mut field_parts = ::std::option::Option::None;
3806        let mut field_common = ::std::option::Option::None;
3807        let _ = p.read_struct_begin(|_| ())?;
3808        loop {
3809            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3810            match (fty, fid as ::std::primitive::i32) {
3811                (::fbthrift::TType::Stop, _) => break,
3812                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3813                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3814                (::fbthrift::TType::Struct, 3) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3815                (fty, _) => p.skip(fty)?,
3816            }
3817            p.read_field_end()?;
3818        }
3819        p.read_struct_end()?;
3820        ::std::result::Result::Ok(Self {
3821            space_id: field_space_id.unwrap_or_default(),
3822            parts: field_parts.unwrap_or_default(),
3823            common: field_common,
3824            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3825        })
3826    }
3827}
3828
3829
3830#[allow(clippy::derivable_impls)]
3831impl ::std::default::Default for self::DelTags {
3832    fn default() -> Self {
3833        Self {
3834            id: ::std::default::Default::default(),
3835            tags: ::std::default::Default::default(),
3836            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3837        }
3838    }
3839}
3840
3841impl ::std::fmt::Debug for self::DelTags {
3842    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3843        formatter
3844            .debug_struct("DelTags")
3845            .field("id", &self.id)
3846            .field("tags", &self.tags)
3847            .finish()
3848    }
3849}
3850
3851unsafe impl ::std::marker::Send for self::DelTags {}
3852unsafe impl ::std::marker::Sync for self::DelTags {}
3853
3854impl ::fbthrift::GetTType for self::DelTags {
3855    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3856}
3857
3858impl<P> ::fbthrift::Serialize<P> for self::DelTags
3859where
3860    P: ::fbthrift::ProtocolWriter,
3861{
3862    fn write(&self, p: &mut P) {
3863        p.write_struct_begin("DelTags");
3864        p.write_field_begin("id", ::fbthrift::TType::Struct, 1);
3865        ::fbthrift::Serialize::write(&self.id, p);
3866        p.write_field_end();
3867        p.write_field_begin("tags", ::fbthrift::TType::List, 2);
3868        ::fbthrift::Serialize::write(&self.tags, p);
3869        p.write_field_end();
3870        p.write_field_stop();
3871        p.write_struct_end();
3872    }
3873}
3874
3875impl<P> ::fbthrift::Deserialize<P> for self::DelTags
3876where
3877    P: ::fbthrift::ProtocolReader,
3878{
3879    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3880        static FIELDS: &[::fbthrift::Field] = &[
3881            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 1),
3882            ::fbthrift::Field::new("tags", ::fbthrift::TType::List, 2),
3883        ];
3884        let mut field_id = ::std::option::Option::None;
3885        let mut field_tags = ::std::option::Option::None;
3886        let _ = p.read_struct_begin(|_| ())?;
3887        loop {
3888            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3889            match (fty, fid as ::std::primitive::i32) {
3890                (::fbthrift::TType::Stop, _) => break,
3891                (::fbthrift::TType::Struct, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3892                (::fbthrift::TType::List, 2) => field_tags = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3893                (fty, _) => p.skip(fty)?,
3894            }
3895            p.read_field_end()?;
3896        }
3897        p.read_struct_end()?;
3898        ::std::result::Result::Ok(Self {
3899            id: field_id.unwrap_or_default(),
3900            tags: field_tags.unwrap_or_default(),
3901            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3902        })
3903    }
3904}
3905
3906
3907#[allow(clippy::derivable_impls)]
3908impl ::std::default::Default for self::DeleteTagsRequest {
3909    fn default() -> Self {
3910        Self {
3911            space_id: ::std::default::Default::default(),
3912            parts: ::std::default::Default::default(),
3913            common: ::std::option::Option::None,
3914            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3915        }
3916    }
3917}
3918
3919impl ::std::fmt::Debug for self::DeleteTagsRequest {
3920    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3921        formatter
3922            .debug_struct("DeleteTagsRequest")
3923            .field("space_id", &self.space_id)
3924            .field("parts", &self.parts)
3925            .field("common", &self.common)
3926            .finish()
3927    }
3928}
3929
3930unsafe impl ::std::marker::Send for self::DeleteTagsRequest {}
3931unsafe impl ::std::marker::Sync for self::DeleteTagsRequest {}
3932
3933impl ::fbthrift::GetTType for self::DeleteTagsRequest {
3934    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3935}
3936
3937impl<P> ::fbthrift::Serialize<P> for self::DeleteTagsRequest
3938where
3939    P: ::fbthrift::ProtocolWriter,
3940{
3941    fn write(&self, p: &mut P) {
3942        p.write_struct_begin("DeleteTagsRequest");
3943        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3944        ::fbthrift::Serialize::write(&self.space_id, p);
3945        p.write_field_end();
3946        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3947        ::fbthrift::Serialize::write(&self.parts, p);
3948        p.write_field_end();
3949        if let ::std::option::Option::Some(some) = &self.common {
3950            p.write_field_begin("common", ::fbthrift::TType::Struct, 3);
3951            ::fbthrift::Serialize::write(some, p);
3952            p.write_field_end();
3953        }
3954        p.write_field_stop();
3955        p.write_struct_end();
3956    }
3957}
3958
3959impl<P> ::fbthrift::Deserialize<P> for self::DeleteTagsRequest
3960where
3961    P: ::fbthrift::ProtocolReader,
3962{
3963    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3964        static FIELDS: &[::fbthrift::Field] = &[
3965            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 3),
3966            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3967            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3968        ];
3969        let mut field_space_id = ::std::option::Option::None;
3970        let mut field_parts = ::std::option::Option::None;
3971        let mut field_common = ::std::option::Option::None;
3972        let _ = p.read_struct_begin(|_| ())?;
3973        loop {
3974            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3975            match (fty, fid as ::std::primitive::i32) {
3976                (::fbthrift::TType::Stop, _) => break,
3977                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3978                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3979                (::fbthrift::TType::Struct, 3) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3980                (fty, _) => p.skip(fty)?,
3981            }
3982            p.read_field_end()?;
3983        }
3984        p.read_struct_end()?;
3985        ::std::result::Result::Ok(Self {
3986            space_id: field_space_id.unwrap_or_default(),
3987            parts: field_parts.unwrap_or_default(),
3988            common: field_common,
3989            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3990        })
3991    }
3992}
3993
3994
3995#[allow(clippy::derivable_impls)]
3996impl ::std::default::Default for self::UpdateResponse {
3997    fn default() -> Self {
3998        Self {
3999            result: ::std::default::Default::default(),
4000            props: ::std::option::Option::None,
4001            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4002        }
4003    }
4004}
4005
4006impl ::std::fmt::Debug for self::UpdateResponse {
4007    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4008        formatter
4009            .debug_struct("UpdateResponse")
4010            .field("result", &self.result)
4011            .field("props", &self.props)
4012            .finish()
4013    }
4014}
4015
4016unsafe impl ::std::marker::Send for self::UpdateResponse {}
4017unsafe impl ::std::marker::Sync for self::UpdateResponse {}
4018
4019impl ::fbthrift::GetTType for self::UpdateResponse {
4020    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4021}
4022
4023impl<P> ::fbthrift::Serialize<P> for self::UpdateResponse
4024where
4025    P: ::fbthrift::ProtocolWriter,
4026{
4027    fn write(&self, p: &mut P) {
4028        p.write_struct_begin("UpdateResponse");
4029        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
4030        ::fbthrift::Serialize::write(&self.result, p);
4031        p.write_field_end();
4032        if let ::std::option::Option::Some(some) = &self.props {
4033            p.write_field_begin("props", ::fbthrift::TType::Struct, 2);
4034            ::fbthrift::Serialize::write(some, p);
4035            p.write_field_end();
4036        }
4037        p.write_field_stop();
4038        p.write_struct_end();
4039    }
4040}
4041
4042impl<P> ::fbthrift::Deserialize<P> for self::UpdateResponse
4043where
4044    P: ::fbthrift::ProtocolReader,
4045{
4046    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4047        static FIELDS: &[::fbthrift::Field] = &[
4048            ::fbthrift::Field::new("props", ::fbthrift::TType::Struct, 2),
4049            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
4050        ];
4051        let mut field_result = ::std::option::Option::None;
4052        let mut field_props = ::std::option::Option::None;
4053        let _ = p.read_struct_begin(|_| ())?;
4054        loop {
4055            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4056            match (fty, fid as ::std::primitive::i32) {
4057                (::fbthrift::TType::Stop, _) => break,
4058                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4059                (::fbthrift::TType::Struct, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4060                (fty, _) => p.skip(fty)?,
4061            }
4062            p.read_field_end()?;
4063        }
4064        p.read_struct_end()?;
4065        ::std::result::Result::Ok(Self {
4066            result: field_result.unwrap_or_default(),
4067            props: field_props,
4068            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4069        })
4070    }
4071}
4072
4073
4074#[allow(clippy::derivable_impls)]
4075impl ::std::default::Default for self::UpdatedProp {
4076    fn default() -> Self {
4077        Self {
4078            name: ::std::default::Default::default(),
4079            value: ::std::default::Default::default(),
4080            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4081        }
4082    }
4083}
4084
4085impl ::std::fmt::Debug for self::UpdatedProp {
4086    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4087        formatter
4088            .debug_struct("UpdatedProp")
4089            .field("name", &self.name)
4090            .field("value", &self.value)
4091            .finish()
4092    }
4093}
4094
4095unsafe impl ::std::marker::Send for self::UpdatedProp {}
4096unsafe impl ::std::marker::Sync for self::UpdatedProp {}
4097
4098impl ::fbthrift::GetTType for self::UpdatedProp {
4099    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4100}
4101
4102impl<P> ::fbthrift::Serialize<P> for self::UpdatedProp
4103where
4104    P: ::fbthrift::ProtocolWriter,
4105{
4106    fn write(&self, p: &mut P) {
4107        p.write_struct_begin("UpdatedProp");
4108        p.write_field_begin("name", ::fbthrift::TType::String, 1);
4109        ::fbthrift::Serialize::write(&self.name, p);
4110        p.write_field_end();
4111        p.write_field_begin("value", ::fbthrift::TType::String, 2);
4112        ::fbthrift::Serialize::write(&self.value, p);
4113        p.write_field_end();
4114        p.write_field_stop();
4115        p.write_struct_end();
4116    }
4117}
4118
4119impl<P> ::fbthrift::Deserialize<P> for self::UpdatedProp
4120where
4121    P: ::fbthrift::ProtocolReader,
4122{
4123    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4124        static FIELDS: &[::fbthrift::Field] = &[
4125            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
4126            ::fbthrift::Field::new("value", ::fbthrift::TType::String, 2),
4127        ];
4128        let mut field_name = ::std::option::Option::None;
4129        let mut field_value = ::std::option::Option::None;
4130        let _ = p.read_struct_begin(|_| ())?;
4131        loop {
4132            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4133            match (fty, fid as ::std::primitive::i32) {
4134                (::fbthrift::TType::Stop, _) => break,
4135                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4136                (::fbthrift::TType::String, 2) => field_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4137                (fty, _) => p.skip(fty)?,
4138            }
4139            p.read_field_end()?;
4140        }
4141        p.read_struct_end()?;
4142        ::std::result::Result::Ok(Self {
4143            name: field_name.unwrap_or_default(),
4144            value: field_value.unwrap_or_default(),
4145            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4146        })
4147    }
4148}
4149
4150
4151#[allow(clippy::derivable_impls)]
4152impl ::std::default::Default for self::UpdateVertexRequest {
4153    fn default() -> Self {
4154        Self {
4155            space_id: ::std::default::Default::default(),
4156            part_id: ::std::default::Default::default(),
4157            vertex_id: ::std::default::Default::default(),
4158            tag_id: ::std::default::Default::default(),
4159            updated_props: ::std::default::Default::default(),
4160            insertable: ::std::option::Option::Some(false),
4161            return_props: ::std::option::Option::None,
4162            condition: ::std::option::Option::None,
4163            common: ::std::option::Option::None,
4164            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4165        }
4166    }
4167}
4168
4169impl ::std::fmt::Debug for self::UpdateVertexRequest {
4170    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4171        formatter
4172            .debug_struct("UpdateVertexRequest")
4173            .field("space_id", &self.space_id)
4174            .field("part_id", &self.part_id)
4175            .field("vertex_id", &self.vertex_id)
4176            .field("tag_id", &self.tag_id)
4177            .field("updated_props", &self.updated_props)
4178            .field("insertable", &self.insertable)
4179            .field("return_props", &self.return_props)
4180            .field("condition", &self.condition)
4181            .field("common", &self.common)
4182            .finish()
4183    }
4184}
4185
4186unsafe impl ::std::marker::Send for self::UpdateVertexRequest {}
4187unsafe impl ::std::marker::Sync for self::UpdateVertexRequest {}
4188
4189impl ::fbthrift::GetTType for self::UpdateVertexRequest {
4190    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4191}
4192
4193impl<P> ::fbthrift::Serialize<P> for self::UpdateVertexRequest
4194where
4195    P: ::fbthrift::ProtocolWriter,
4196{
4197    fn write(&self, p: &mut P) {
4198        p.write_struct_begin("UpdateVertexRequest");
4199        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4200        ::fbthrift::Serialize::write(&self.space_id, p);
4201        p.write_field_end();
4202        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
4203        ::fbthrift::Serialize::write(&self.part_id, p);
4204        p.write_field_end();
4205        p.write_field_begin("vertex_id", ::fbthrift::TType::Struct, 3);
4206        ::fbthrift::Serialize::write(&self.vertex_id, p);
4207        p.write_field_end();
4208        p.write_field_begin("tag_id", ::fbthrift::TType::I32, 4);
4209        ::fbthrift::Serialize::write(&self.tag_id, p);
4210        p.write_field_end();
4211        p.write_field_begin("updated_props", ::fbthrift::TType::List, 5);
4212        ::fbthrift::Serialize::write(&self.updated_props, p);
4213        p.write_field_end();
4214        if let ::std::option::Option::Some(some) = &self.insertable {
4215            p.write_field_begin("insertable", ::fbthrift::TType::Bool, 6);
4216            ::fbthrift::Serialize::write(some, p);
4217            p.write_field_end();
4218        }
4219        if let ::std::option::Option::Some(some) = &self.return_props {
4220            p.write_field_begin("return_props", ::fbthrift::TType::List, 7);
4221            ::fbthrift::Serialize::write(some, p);
4222            p.write_field_end();
4223        }
4224        if let ::std::option::Option::Some(some) = &self.condition {
4225            p.write_field_begin("condition", ::fbthrift::TType::String, 8);
4226            ::fbthrift::Serialize::write(some, p);
4227            p.write_field_end();
4228        }
4229        if let ::std::option::Option::Some(some) = &self.common {
4230            p.write_field_begin("common", ::fbthrift::TType::Struct, 9);
4231            ::fbthrift::Serialize::write(some, p);
4232            p.write_field_end();
4233        }
4234        p.write_field_stop();
4235        p.write_struct_end();
4236    }
4237}
4238
4239impl<P> ::fbthrift::Deserialize<P> for self::UpdateVertexRequest
4240where
4241    P: ::fbthrift::ProtocolReader,
4242{
4243    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4244        static FIELDS: &[::fbthrift::Field] = &[
4245            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 9),
4246            ::fbthrift::Field::new("condition", ::fbthrift::TType::String, 8),
4247            ::fbthrift::Field::new("insertable", ::fbthrift::TType::Bool, 6),
4248            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
4249            ::fbthrift::Field::new("return_props", ::fbthrift::TType::List, 7),
4250            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4251            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 4),
4252            ::fbthrift::Field::new("updated_props", ::fbthrift::TType::List, 5),
4253            ::fbthrift::Field::new("vertex_id", ::fbthrift::TType::Struct, 3),
4254        ];
4255        let mut field_space_id = ::std::option::Option::None;
4256        let mut field_part_id = ::std::option::Option::None;
4257        let mut field_vertex_id = ::std::option::Option::None;
4258        let mut field_tag_id = ::std::option::Option::None;
4259        let mut field_updated_props = ::std::option::Option::None;
4260        let mut field_insertable = ::std::option::Option::None;
4261        let mut field_return_props = ::std::option::Option::None;
4262        let mut field_condition = ::std::option::Option::None;
4263        let mut field_common = ::std::option::Option::None;
4264        let _ = p.read_struct_begin(|_| ())?;
4265        loop {
4266            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4267            match (fty, fid as ::std::primitive::i32) {
4268                (::fbthrift::TType::Stop, _) => break,
4269                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4270                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4271                (::fbthrift::TType::Struct, 3) => field_vertex_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4272                (::fbthrift::TType::I32, 4) => field_tag_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4273                (::fbthrift::TType::List, 5) => field_updated_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4274                (::fbthrift::TType::Bool, 6) => field_insertable = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4275                (::fbthrift::TType::List, 7) => field_return_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4276                (::fbthrift::TType::String, 8) => field_condition = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4277                (::fbthrift::TType::Struct, 9) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4278                (fty, _) => p.skip(fty)?,
4279            }
4280            p.read_field_end()?;
4281        }
4282        p.read_struct_end()?;
4283        ::std::result::Result::Ok(Self {
4284            space_id: field_space_id.unwrap_or_default(),
4285            part_id: field_part_id.unwrap_or_default(),
4286            vertex_id: field_vertex_id.unwrap_or_default(),
4287            tag_id: field_tag_id.unwrap_or_default(),
4288            updated_props: field_updated_props.unwrap_or_default(),
4289            insertable: field_insertable,
4290            return_props: field_return_props,
4291            condition: field_condition,
4292            common: field_common,
4293            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4294        })
4295    }
4296}
4297
4298
4299#[allow(clippy::derivable_impls)]
4300impl ::std::default::Default for self::UpdateEdgeRequest {
4301    fn default() -> Self {
4302        Self {
4303            space_id: ::std::default::Default::default(),
4304            part_id: ::std::default::Default::default(),
4305            edge_key: ::std::default::Default::default(),
4306            updated_props: ::std::default::Default::default(),
4307            insertable: ::std::option::Option::Some(false),
4308            return_props: ::std::option::Option::None,
4309            condition: ::std::option::Option::None,
4310            common: ::std::option::Option::None,
4311            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4312        }
4313    }
4314}
4315
4316impl ::std::fmt::Debug for self::UpdateEdgeRequest {
4317    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4318        formatter
4319            .debug_struct("UpdateEdgeRequest")
4320            .field("space_id", &self.space_id)
4321            .field("part_id", &self.part_id)
4322            .field("edge_key", &self.edge_key)
4323            .field("updated_props", &self.updated_props)
4324            .field("insertable", &self.insertable)
4325            .field("return_props", &self.return_props)
4326            .field("condition", &self.condition)
4327            .field("common", &self.common)
4328            .finish()
4329    }
4330}
4331
4332unsafe impl ::std::marker::Send for self::UpdateEdgeRequest {}
4333unsafe impl ::std::marker::Sync for self::UpdateEdgeRequest {}
4334
4335impl ::fbthrift::GetTType for self::UpdateEdgeRequest {
4336    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4337}
4338
4339impl<P> ::fbthrift::Serialize<P> for self::UpdateEdgeRequest
4340where
4341    P: ::fbthrift::ProtocolWriter,
4342{
4343    fn write(&self, p: &mut P) {
4344        p.write_struct_begin("UpdateEdgeRequest");
4345        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4346        ::fbthrift::Serialize::write(&self.space_id, p);
4347        p.write_field_end();
4348        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
4349        ::fbthrift::Serialize::write(&self.part_id, p);
4350        p.write_field_end();
4351        p.write_field_begin("edge_key", ::fbthrift::TType::Struct, 3);
4352        ::fbthrift::Serialize::write(&self.edge_key, p);
4353        p.write_field_end();
4354        p.write_field_begin("updated_props", ::fbthrift::TType::List, 4);
4355        ::fbthrift::Serialize::write(&self.updated_props, p);
4356        p.write_field_end();
4357        if let ::std::option::Option::Some(some) = &self.insertable {
4358            p.write_field_begin("insertable", ::fbthrift::TType::Bool, 5);
4359            ::fbthrift::Serialize::write(some, p);
4360            p.write_field_end();
4361        }
4362        if let ::std::option::Option::Some(some) = &self.return_props {
4363            p.write_field_begin("return_props", ::fbthrift::TType::List, 6);
4364            ::fbthrift::Serialize::write(some, p);
4365            p.write_field_end();
4366        }
4367        if let ::std::option::Option::Some(some) = &self.condition {
4368            p.write_field_begin("condition", ::fbthrift::TType::String, 7);
4369            ::fbthrift::Serialize::write(some, p);
4370            p.write_field_end();
4371        }
4372        if let ::std::option::Option::Some(some) = &self.common {
4373            p.write_field_begin("common", ::fbthrift::TType::Struct, 8);
4374            ::fbthrift::Serialize::write(some, p);
4375            p.write_field_end();
4376        }
4377        p.write_field_stop();
4378        p.write_struct_end();
4379    }
4380}
4381
4382impl<P> ::fbthrift::Deserialize<P> for self::UpdateEdgeRequest
4383where
4384    P: ::fbthrift::ProtocolReader,
4385{
4386    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4387        static FIELDS: &[::fbthrift::Field] = &[
4388            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 8),
4389            ::fbthrift::Field::new("condition", ::fbthrift::TType::String, 7),
4390            ::fbthrift::Field::new("edge_key", ::fbthrift::TType::Struct, 3),
4391            ::fbthrift::Field::new("insertable", ::fbthrift::TType::Bool, 5),
4392            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
4393            ::fbthrift::Field::new("return_props", ::fbthrift::TType::List, 6),
4394            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4395            ::fbthrift::Field::new("updated_props", ::fbthrift::TType::List, 4),
4396        ];
4397        let mut field_space_id = ::std::option::Option::None;
4398        let mut field_part_id = ::std::option::Option::None;
4399        let mut field_edge_key = ::std::option::Option::None;
4400        let mut field_updated_props = ::std::option::Option::None;
4401        let mut field_insertable = ::std::option::Option::None;
4402        let mut field_return_props = ::std::option::Option::None;
4403        let mut field_condition = ::std::option::Option::None;
4404        let mut field_common = ::std::option::Option::None;
4405        let _ = p.read_struct_begin(|_| ())?;
4406        loop {
4407            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4408            match (fty, fid as ::std::primitive::i32) {
4409                (::fbthrift::TType::Stop, _) => break,
4410                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4411                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4412                (::fbthrift::TType::Struct, 3) => field_edge_key = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4413                (::fbthrift::TType::List, 4) => field_updated_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4414                (::fbthrift::TType::Bool, 5) => field_insertable = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4415                (::fbthrift::TType::List, 6) => field_return_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4416                (::fbthrift::TType::String, 7) => field_condition = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4417                (::fbthrift::TType::Struct, 8) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4418                (fty, _) => p.skip(fty)?,
4419            }
4420            p.read_field_end()?;
4421        }
4422        p.read_struct_end()?;
4423        ::std::result::Result::Ok(Self {
4424            space_id: field_space_id.unwrap_or_default(),
4425            part_id: field_part_id.unwrap_or_default(),
4426            edge_key: field_edge_key.unwrap_or_default(),
4427            updated_props: field_updated_props.unwrap_or_default(),
4428            insertable: field_insertable,
4429            return_props: field_return_props,
4430            condition: field_condition,
4431            common: field_common,
4432            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4433        })
4434    }
4435}
4436
4437
4438#[allow(clippy::derivable_impls)]
4439impl ::std::default::Default for self::GetUUIDReq {
4440    fn default() -> Self {
4441        Self {
4442            space_id: ::std::default::Default::default(),
4443            part_id: ::std::default::Default::default(),
4444            name: ::std::default::Default::default(),
4445            common: ::std::option::Option::None,
4446            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4447        }
4448    }
4449}
4450
4451impl ::std::fmt::Debug for self::GetUUIDReq {
4452    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4453        formatter
4454            .debug_struct("GetUUIDReq")
4455            .field("space_id", &self.space_id)
4456            .field("part_id", &self.part_id)
4457            .field("name", &self.name)
4458            .field("common", &self.common)
4459            .finish()
4460    }
4461}
4462
4463unsafe impl ::std::marker::Send for self::GetUUIDReq {}
4464unsafe impl ::std::marker::Sync for self::GetUUIDReq {}
4465
4466impl ::fbthrift::GetTType for self::GetUUIDReq {
4467    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4468}
4469
4470impl<P> ::fbthrift::Serialize<P> for self::GetUUIDReq
4471where
4472    P: ::fbthrift::ProtocolWriter,
4473{
4474    fn write(&self, p: &mut P) {
4475        p.write_struct_begin("GetUUIDReq");
4476        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4477        ::fbthrift::Serialize::write(&self.space_id, p);
4478        p.write_field_end();
4479        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
4480        ::fbthrift::Serialize::write(&self.part_id, p);
4481        p.write_field_end();
4482        p.write_field_begin("name", ::fbthrift::TType::String, 3);
4483        ::fbthrift::Serialize::write(&self.name, p);
4484        p.write_field_end();
4485        if let ::std::option::Option::Some(some) = &self.common {
4486            p.write_field_begin("common", ::fbthrift::TType::Struct, 4);
4487            ::fbthrift::Serialize::write(some, p);
4488            p.write_field_end();
4489        }
4490        p.write_field_stop();
4491        p.write_struct_end();
4492    }
4493}
4494
4495impl<P> ::fbthrift::Deserialize<P> for self::GetUUIDReq
4496where
4497    P: ::fbthrift::ProtocolReader,
4498{
4499    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4500        static FIELDS: &[::fbthrift::Field] = &[
4501            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 4),
4502            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 3),
4503            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
4504            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4505        ];
4506        let mut field_space_id = ::std::option::Option::None;
4507        let mut field_part_id = ::std::option::Option::None;
4508        let mut field_name = ::std::option::Option::None;
4509        let mut field_common = ::std::option::Option::None;
4510        let _ = p.read_struct_begin(|_| ())?;
4511        loop {
4512            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4513            match (fty, fid as ::std::primitive::i32) {
4514                (::fbthrift::TType::Stop, _) => break,
4515                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4516                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4517                (::fbthrift::TType::String, 3) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4518                (::fbthrift::TType::Struct, 4) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4519                (fty, _) => p.skip(fty)?,
4520            }
4521            p.read_field_end()?;
4522        }
4523        p.read_struct_end()?;
4524        ::std::result::Result::Ok(Self {
4525            space_id: field_space_id.unwrap_or_default(),
4526            part_id: field_part_id.unwrap_or_default(),
4527            name: field_name.unwrap_or_default(),
4528            common: field_common,
4529            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4530        })
4531    }
4532}
4533
4534
4535#[allow(clippy::derivable_impls)]
4536impl ::std::default::Default for self::GetUUIDResp {
4537    fn default() -> Self {
4538        Self {
4539            result: ::std::default::Default::default(),
4540            id: ::std::default::Default::default(),
4541            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4542        }
4543    }
4544}
4545
4546impl ::std::fmt::Debug for self::GetUUIDResp {
4547    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4548        formatter
4549            .debug_struct("GetUUIDResp")
4550            .field("result", &self.result)
4551            .field("id", &self.id)
4552            .finish()
4553    }
4554}
4555
4556unsafe impl ::std::marker::Send for self::GetUUIDResp {}
4557unsafe impl ::std::marker::Sync for self::GetUUIDResp {}
4558
4559impl ::fbthrift::GetTType for self::GetUUIDResp {
4560    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4561}
4562
4563impl<P> ::fbthrift::Serialize<P> for self::GetUUIDResp
4564where
4565    P: ::fbthrift::ProtocolWriter,
4566{
4567    fn write(&self, p: &mut P) {
4568        p.write_struct_begin("GetUUIDResp");
4569        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
4570        ::fbthrift::Serialize::write(&self.result, p);
4571        p.write_field_end();
4572        p.write_field_begin("id", ::fbthrift::TType::Struct, 2);
4573        ::fbthrift::Serialize::write(&self.id, p);
4574        p.write_field_end();
4575        p.write_field_stop();
4576        p.write_struct_end();
4577    }
4578}
4579
4580impl<P> ::fbthrift::Deserialize<P> for self::GetUUIDResp
4581where
4582    P: ::fbthrift::ProtocolReader,
4583{
4584    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4585        static FIELDS: &[::fbthrift::Field] = &[
4586            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 2),
4587            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
4588        ];
4589        let mut field_result = ::std::option::Option::None;
4590        let mut field_id = ::std::option::Option::None;
4591        let _ = p.read_struct_begin(|_| ())?;
4592        loop {
4593            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4594            match (fty, fid as ::std::primitive::i32) {
4595                (::fbthrift::TType::Stop, _) => break,
4596                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4597                (::fbthrift::TType::Struct, 2) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4598                (fty, _) => p.skip(fty)?,
4599            }
4600            p.read_field_end()?;
4601        }
4602        p.read_struct_end()?;
4603        ::std::result::Result::Ok(Self {
4604            result: field_result.unwrap_or_default(),
4605            id: field_id.unwrap_or_default(),
4606            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4607        })
4608    }
4609}
4610
4611
4612#[allow(clippy::derivable_impls)]
4613impl ::std::default::Default for self::LookupIndexResp {
4614    fn default() -> Self {
4615        Self {
4616            result: ::std::default::Default::default(),
4617            data: ::std::option::Option::None,
4618            stat_data: ::std::option::Option::None,
4619            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4620        }
4621    }
4622}
4623
4624impl ::std::fmt::Debug for self::LookupIndexResp {
4625    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4626        formatter
4627            .debug_struct("LookupIndexResp")
4628            .field("result", &self.result)
4629            .field("data", &self.data)
4630            .field("stat_data", &self.stat_data)
4631            .finish()
4632    }
4633}
4634
4635unsafe impl ::std::marker::Send for self::LookupIndexResp {}
4636unsafe impl ::std::marker::Sync for self::LookupIndexResp {}
4637
4638impl ::fbthrift::GetTType for self::LookupIndexResp {
4639    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4640}
4641
4642impl<P> ::fbthrift::Serialize<P> for self::LookupIndexResp
4643where
4644    P: ::fbthrift::ProtocolWriter,
4645{
4646    fn write(&self, p: &mut P) {
4647        p.write_struct_begin("LookupIndexResp");
4648        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
4649        ::fbthrift::Serialize::write(&self.result, p);
4650        p.write_field_end();
4651        if let ::std::option::Option::Some(some) = &self.data {
4652            p.write_field_begin("data", ::fbthrift::TType::Struct, 2);
4653            ::fbthrift::Serialize::write(some, p);
4654            p.write_field_end();
4655        }
4656        if let ::std::option::Option::Some(some) = &self.stat_data {
4657            p.write_field_begin("stat_data", ::fbthrift::TType::Struct, 3);
4658            ::fbthrift::Serialize::write(some, p);
4659            p.write_field_end();
4660        }
4661        p.write_field_stop();
4662        p.write_struct_end();
4663    }
4664}
4665
4666impl<P> ::fbthrift::Deserialize<P> for self::LookupIndexResp
4667where
4668    P: ::fbthrift::ProtocolReader,
4669{
4670    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4671        static FIELDS: &[::fbthrift::Field] = &[
4672            ::fbthrift::Field::new("data", ::fbthrift::TType::Struct, 2),
4673            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
4674            ::fbthrift::Field::new("stat_data", ::fbthrift::TType::Struct, 3),
4675        ];
4676        let mut field_result = ::std::option::Option::None;
4677        let mut field_data = ::std::option::Option::None;
4678        let mut field_stat_data = ::std::option::Option::None;
4679        let _ = p.read_struct_begin(|_| ())?;
4680        loop {
4681            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4682            match (fty, fid as ::std::primitive::i32) {
4683                (::fbthrift::TType::Stop, _) => break,
4684                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4685                (::fbthrift::TType::Struct, 2) => field_data = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4686                (::fbthrift::TType::Struct, 3) => field_stat_data = ::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            result: field_result.unwrap_or_default(),
4694            data: field_data,
4695            stat_data: field_stat_data,
4696            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4697        })
4698    }
4699}
4700
4701
4702#[allow(clippy::derivable_impls)]
4703impl ::std::default::Default for self::IndexColumnHint {
4704    fn default() -> Self {
4705        Self {
4706            column_name: ::std::default::Default::default(),
4707            scan_type: ::std::default::Default::default(),
4708            begin_value: ::std::default::Default::default(),
4709            end_value: ::std::default::Default::default(),
4710            include_begin: true,
4711            include_end: false,
4712            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4713        }
4714    }
4715}
4716
4717impl ::std::fmt::Debug for self::IndexColumnHint {
4718    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4719        formatter
4720            .debug_struct("IndexColumnHint")
4721            .field("column_name", &self.column_name)
4722            .field("scan_type", &self.scan_type)
4723            .field("begin_value", &self.begin_value)
4724            .field("end_value", &self.end_value)
4725            .field("include_begin", &self.include_begin)
4726            .field("include_end", &self.include_end)
4727            .finish()
4728    }
4729}
4730
4731unsafe impl ::std::marker::Send for self::IndexColumnHint {}
4732unsafe impl ::std::marker::Sync for self::IndexColumnHint {}
4733
4734impl ::fbthrift::GetTType for self::IndexColumnHint {
4735    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4736}
4737
4738impl<P> ::fbthrift::Serialize<P> for self::IndexColumnHint
4739where
4740    P: ::fbthrift::ProtocolWriter,
4741{
4742    fn write(&self, p: &mut P) {
4743        p.write_struct_begin("IndexColumnHint");
4744        p.write_field_begin("column_name", ::fbthrift::TType::String, 1);
4745        ::fbthrift::Serialize::write(&self.column_name, p);
4746        p.write_field_end();
4747        p.write_field_begin("scan_type", ::fbthrift::TType::I32, 2);
4748        ::fbthrift::Serialize::write(&self.scan_type, p);
4749        p.write_field_end();
4750        p.write_field_begin("begin_value", ::fbthrift::TType::Struct, 3);
4751        ::fbthrift::Serialize::write(&self.begin_value, p);
4752        p.write_field_end();
4753        p.write_field_begin("end_value", ::fbthrift::TType::Struct, 4);
4754        ::fbthrift::Serialize::write(&self.end_value, p);
4755        p.write_field_end();
4756        p.write_field_begin("include_begin", ::fbthrift::TType::Bool, 5);
4757        ::fbthrift::Serialize::write(&self.include_begin, p);
4758        p.write_field_end();
4759        p.write_field_begin("include_end", ::fbthrift::TType::Bool, 6);
4760        ::fbthrift::Serialize::write(&self.include_end, p);
4761        p.write_field_end();
4762        p.write_field_stop();
4763        p.write_struct_end();
4764    }
4765}
4766
4767impl<P> ::fbthrift::Deserialize<P> for self::IndexColumnHint
4768where
4769    P: ::fbthrift::ProtocolReader,
4770{
4771    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4772        static FIELDS: &[::fbthrift::Field] = &[
4773            ::fbthrift::Field::new("begin_value", ::fbthrift::TType::Struct, 3),
4774            ::fbthrift::Field::new("column_name", ::fbthrift::TType::String, 1),
4775            ::fbthrift::Field::new("end_value", ::fbthrift::TType::Struct, 4),
4776            ::fbthrift::Field::new("include_begin", ::fbthrift::TType::Bool, 5),
4777            ::fbthrift::Field::new("include_end", ::fbthrift::TType::Bool, 6),
4778            ::fbthrift::Field::new("scan_type", ::fbthrift::TType::I32, 2),
4779        ];
4780        let mut field_column_name = ::std::option::Option::None;
4781        let mut field_scan_type = ::std::option::Option::None;
4782        let mut field_begin_value = ::std::option::Option::None;
4783        let mut field_end_value = ::std::option::Option::None;
4784        let mut field_include_begin = ::std::option::Option::None;
4785        let mut field_include_end = ::std::option::Option::None;
4786        let _ = p.read_struct_begin(|_| ())?;
4787        loop {
4788            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4789            match (fty, fid as ::std::primitive::i32) {
4790                (::fbthrift::TType::Stop, _) => break,
4791                (::fbthrift::TType::String, 1) => field_column_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4792                (::fbthrift::TType::I32, 2) => field_scan_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4793                (::fbthrift::TType::Struct, 3) => field_begin_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4794                (::fbthrift::TType::Struct, 4) => field_end_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4795                (::fbthrift::TType::Bool, 5) => field_include_begin = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4796                (::fbthrift::TType::Bool, 6) => field_include_end = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4797                (fty, _) => p.skip(fty)?,
4798            }
4799            p.read_field_end()?;
4800        }
4801        p.read_struct_end()?;
4802        ::std::result::Result::Ok(Self {
4803            column_name: field_column_name.unwrap_or_default(),
4804            scan_type: field_scan_type.unwrap_or_default(),
4805            begin_value: field_begin_value.unwrap_or_default(),
4806            end_value: field_end_value.unwrap_or_default(),
4807            include_begin: field_include_begin.unwrap_or(true),
4808            include_end: field_include_end.unwrap_or(false),
4809            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4810        })
4811    }
4812}
4813
4814
4815#[allow(clippy::derivable_impls)]
4816impl ::std::default::Default for self::IndexQueryContext {
4817    fn default() -> Self {
4818        Self {
4819            index_id: ::std::default::Default::default(),
4820            filter: ::std::default::Default::default(),
4821            column_hints: ::std::default::Default::default(),
4822            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4823        }
4824    }
4825}
4826
4827impl ::std::fmt::Debug for self::IndexQueryContext {
4828    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4829        formatter
4830            .debug_struct("IndexQueryContext")
4831            .field("index_id", &self.index_id)
4832            .field("filter", &self.filter)
4833            .field("column_hints", &self.column_hints)
4834            .finish()
4835    }
4836}
4837
4838unsafe impl ::std::marker::Send for self::IndexQueryContext {}
4839unsafe impl ::std::marker::Sync for self::IndexQueryContext {}
4840
4841impl ::fbthrift::GetTType for self::IndexQueryContext {
4842    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4843}
4844
4845impl<P> ::fbthrift::Serialize<P> for self::IndexQueryContext
4846where
4847    P: ::fbthrift::ProtocolWriter,
4848{
4849    fn write(&self, p: &mut P) {
4850        p.write_struct_begin("IndexQueryContext");
4851        p.write_field_begin("index_id", ::fbthrift::TType::I32, 1);
4852        ::fbthrift::Serialize::write(&self.index_id, p);
4853        p.write_field_end();
4854        p.write_field_begin("filter", ::fbthrift::TType::String, 2);
4855        ::fbthrift::Serialize::write(&self.filter, p);
4856        p.write_field_end();
4857        p.write_field_begin("column_hints", ::fbthrift::TType::List, 3);
4858        ::fbthrift::Serialize::write(&self.column_hints, p);
4859        p.write_field_end();
4860        p.write_field_stop();
4861        p.write_struct_end();
4862    }
4863}
4864
4865impl<P> ::fbthrift::Deserialize<P> for self::IndexQueryContext
4866where
4867    P: ::fbthrift::ProtocolReader,
4868{
4869    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4870        static FIELDS: &[::fbthrift::Field] = &[
4871            ::fbthrift::Field::new("column_hints", ::fbthrift::TType::List, 3),
4872            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 2),
4873            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 1),
4874        ];
4875        let mut field_index_id = ::std::option::Option::None;
4876        let mut field_filter = ::std::option::Option::None;
4877        let mut field_column_hints = ::std::option::Option::None;
4878        let _ = p.read_struct_begin(|_| ())?;
4879        loop {
4880            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4881            match (fty, fid as ::std::primitive::i32) {
4882                (::fbthrift::TType::Stop, _) => break,
4883                (::fbthrift::TType::I32, 1) => field_index_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4884                (::fbthrift::TType::String, 2) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4885                (::fbthrift::TType::List, 3) => field_column_hints = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4886                (fty, _) => p.skip(fty)?,
4887            }
4888            p.read_field_end()?;
4889        }
4890        p.read_struct_end()?;
4891        ::std::result::Result::Ok(Self {
4892            index_id: field_index_id.unwrap_or_default(),
4893            filter: field_filter.unwrap_or_default(),
4894            column_hints: field_column_hints.unwrap_or_default(),
4895            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4896        })
4897    }
4898}
4899
4900
4901#[allow(clippy::derivable_impls)]
4902impl ::std::default::Default for self::IndexSpec {
4903    fn default() -> Self {
4904        Self {
4905            contexts: ::std::default::Default::default(),
4906            schema_id: ::std::default::Default::default(),
4907            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4908        }
4909    }
4910}
4911
4912impl ::std::fmt::Debug for self::IndexSpec {
4913    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4914        formatter
4915            .debug_struct("IndexSpec")
4916            .field("contexts", &self.contexts)
4917            .field("schema_id", &self.schema_id)
4918            .finish()
4919    }
4920}
4921
4922unsafe impl ::std::marker::Send for self::IndexSpec {}
4923unsafe impl ::std::marker::Sync for self::IndexSpec {}
4924
4925impl ::fbthrift::GetTType for self::IndexSpec {
4926    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4927}
4928
4929impl<P> ::fbthrift::Serialize<P> for self::IndexSpec
4930where
4931    P: ::fbthrift::ProtocolWriter,
4932{
4933    fn write(&self, p: &mut P) {
4934        p.write_struct_begin("IndexSpec");
4935        p.write_field_begin("contexts", ::fbthrift::TType::List, 1);
4936        ::fbthrift::Serialize::write(&self.contexts, p);
4937        p.write_field_end();
4938        p.write_field_begin("schema_id", ::fbthrift::TType::Struct, 2);
4939        ::fbthrift::Serialize::write(&self.schema_id, p);
4940        p.write_field_end();
4941        p.write_field_stop();
4942        p.write_struct_end();
4943    }
4944}
4945
4946impl<P> ::fbthrift::Deserialize<P> for self::IndexSpec
4947where
4948    P: ::fbthrift::ProtocolReader,
4949{
4950    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4951        static FIELDS: &[::fbthrift::Field] = &[
4952            ::fbthrift::Field::new("contexts", ::fbthrift::TType::List, 1),
4953            ::fbthrift::Field::new("schema_id", ::fbthrift::TType::Struct, 2),
4954        ];
4955        let mut field_contexts = ::std::option::Option::None;
4956        let mut field_schema_id = ::std::option::Option::None;
4957        let _ = p.read_struct_begin(|_| ())?;
4958        loop {
4959            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4960            match (fty, fid as ::std::primitive::i32) {
4961                (::fbthrift::TType::Stop, _) => break,
4962                (::fbthrift::TType::List, 1) => field_contexts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4963                (::fbthrift::TType::Struct, 2) => field_schema_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4964                (fty, _) => p.skip(fty)?,
4965            }
4966            p.read_field_end()?;
4967        }
4968        p.read_struct_end()?;
4969        ::std::result::Result::Ok(Self {
4970            contexts: field_contexts.unwrap_or_default(),
4971            schema_id: field_schema_id.unwrap_or_default(),
4972            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4973        })
4974    }
4975}
4976
4977
4978#[allow(clippy::derivable_impls)]
4979impl ::std::default::Default for self::LookupIndexRequest {
4980    fn default() -> Self {
4981        Self {
4982            space_id: ::std::default::Default::default(),
4983            parts: ::std::default::Default::default(),
4984            indices: ::std::default::Default::default(),
4985            return_columns: ::std::option::Option::None,
4986            common: ::std::option::Option::None,
4987            limit: ::std::option::Option::None,
4988            order_by: ::std::option::Option::None,
4989            stat_columns: ::std::option::Option::None,
4990            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4991        }
4992    }
4993}
4994
4995impl ::std::fmt::Debug for self::LookupIndexRequest {
4996    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4997        formatter
4998            .debug_struct("LookupIndexRequest")
4999            .field("space_id", &self.space_id)
5000            .field("parts", &self.parts)
5001            .field("indices", &self.indices)
5002            .field("return_columns", &self.return_columns)
5003            .field("common", &self.common)
5004            .field("limit", &self.limit)
5005            .field("order_by", &self.order_by)
5006            .field("stat_columns", &self.stat_columns)
5007            .finish()
5008    }
5009}
5010
5011unsafe impl ::std::marker::Send for self::LookupIndexRequest {}
5012unsafe impl ::std::marker::Sync for self::LookupIndexRequest {}
5013
5014impl ::fbthrift::GetTType for self::LookupIndexRequest {
5015    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5016}
5017
5018impl<P> ::fbthrift::Serialize<P> for self::LookupIndexRequest
5019where
5020    P: ::fbthrift::ProtocolWriter,
5021{
5022    fn write(&self, p: &mut P) {
5023        p.write_struct_begin("LookupIndexRequest");
5024        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5025        ::fbthrift::Serialize::write(&self.space_id, p);
5026        p.write_field_end();
5027        p.write_field_begin("parts", ::fbthrift::TType::List, 2);
5028        ::fbthrift::Serialize::write(&self.parts, p);
5029        p.write_field_end();
5030        p.write_field_begin("indices", ::fbthrift::TType::Struct, 3);
5031        ::fbthrift::Serialize::write(&self.indices, p);
5032        p.write_field_end();
5033        if let ::std::option::Option::Some(some) = &self.return_columns {
5034            p.write_field_begin("return_columns", ::fbthrift::TType::List, 4);
5035            ::fbthrift::Serialize::write(some, p);
5036            p.write_field_end();
5037        }
5038        if let ::std::option::Option::Some(some) = &self.common {
5039            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
5040            ::fbthrift::Serialize::write(some, p);
5041            p.write_field_end();
5042        }
5043        if let ::std::option::Option::Some(some) = &self.limit {
5044            p.write_field_begin("limit", ::fbthrift::TType::I64, 6);
5045            ::fbthrift::Serialize::write(some, p);
5046            p.write_field_end();
5047        }
5048        if let ::std::option::Option::Some(some) = &self.order_by {
5049            p.write_field_begin("order_by", ::fbthrift::TType::List, 7);
5050            ::fbthrift::Serialize::write(some, p);
5051            p.write_field_end();
5052        }
5053        if let ::std::option::Option::Some(some) = &self.stat_columns {
5054            p.write_field_begin("stat_columns", ::fbthrift::TType::List, 8);
5055            ::fbthrift::Serialize::write(some, p);
5056            p.write_field_end();
5057        }
5058        p.write_field_stop();
5059        p.write_struct_end();
5060    }
5061}
5062
5063impl<P> ::fbthrift::Deserialize<P> for self::LookupIndexRequest
5064where
5065    P: ::fbthrift::ProtocolReader,
5066{
5067    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5068        static FIELDS: &[::fbthrift::Field] = &[
5069            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
5070            ::fbthrift::Field::new("indices", ::fbthrift::TType::Struct, 3),
5071            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 6),
5072            ::fbthrift::Field::new("order_by", ::fbthrift::TType::List, 7),
5073            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
5074            ::fbthrift::Field::new("return_columns", ::fbthrift::TType::List, 4),
5075            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5076            ::fbthrift::Field::new("stat_columns", ::fbthrift::TType::List, 8),
5077        ];
5078        let mut field_space_id = ::std::option::Option::None;
5079        let mut field_parts = ::std::option::Option::None;
5080        let mut field_indices = ::std::option::Option::None;
5081        let mut field_return_columns = ::std::option::Option::None;
5082        let mut field_common = ::std::option::Option::None;
5083        let mut field_limit = ::std::option::Option::None;
5084        let mut field_order_by = ::std::option::Option::None;
5085        let mut field_stat_columns = ::std::option::Option::None;
5086        let _ = p.read_struct_begin(|_| ())?;
5087        loop {
5088            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5089            match (fty, fid as ::std::primitive::i32) {
5090                (::fbthrift::TType::Stop, _) => break,
5091                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5092                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5093                (::fbthrift::TType::Struct, 3) => field_indices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5094                (::fbthrift::TType::List, 4) => field_return_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5095                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5096                (::fbthrift::TType::I64, 6) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5097                (::fbthrift::TType::List, 7) => field_order_by = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5098                (::fbthrift::TType::List, 8) => field_stat_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5099                (fty, _) => p.skip(fty)?,
5100            }
5101            p.read_field_end()?;
5102        }
5103        p.read_struct_end()?;
5104        ::std::result::Result::Ok(Self {
5105            space_id: field_space_id.unwrap_or_default(),
5106            parts: field_parts.unwrap_or_default(),
5107            indices: field_indices.unwrap_or_default(),
5108            return_columns: field_return_columns,
5109            common: field_common,
5110            limit: field_limit,
5111            order_by: field_order_by,
5112            stat_columns: field_stat_columns,
5113            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5114        })
5115    }
5116}
5117
5118
5119#[allow(clippy::derivable_impls)]
5120impl ::std::default::Default for self::LookupAndTraverseRequest {
5121    fn default() -> Self {
5122        Self {
5123            space_id: ::std::default::Default::default(),
5124            parts: ::std::default::Default::default(),
5125            indices: ::std::default::Default::default(),
5126            traverse_spec: ::std::default::Default::default(),
5127            common: ::std::option::Option::None,
5128            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5129        }
5130    }
5131}
5132
5133impl ::std::fmt::Debug for self::LookupAndTraverseRequest {
5134    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5135        formatter
5136            .debug_struct("LookupAndTraverseRequest")
5137            .field("space_id", &self.space_id)
5138            .field("parts", &self.parts)
5139            .field("indices", &self.indices)
5140            .field("traverse_spec", &self.traverse_spec)
5141            .field("common", &self.common)
5142            .finish()
5143    }
5144}
5145
5146unsafe impl ::std::marker::Send for self::LookupAndTraverseRequest {}
5147unsafe impl ::std::marker::Sync for self::LookupAndTraverseRequest {}
5148
5149impl ::fbthrift::GetTType for self::LookupAndTraverseRequest {
5150    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5151}
5152
5153impl<P> ::fbthrift::Serialize<P> for self::LookupAndTraverseRequest
5154where
5155    P: ::fbthrift::ProtocolWriter,
5156{
5157    fn write(&self, p: &mut P) {
5158        p.write_struct_begin("LookupAndTraverseRequest");
5159        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5160        ::fbthrift::Serialize::write(&self.space_id, p);
5161        p.write_field_end();
5162        p.write_field_begin("parts", ::fbthrift::TType::List, 2);
5163        ::fbthrift::Serialize::write(&self.parts, p);
5164        p.write_field_end();
5165        p.write_field_begin("indices", ::fbthrift::TType::Struct, 3);
5166        ::fbthrift::Serialize::write(&self.indices, p);
5167        p.write_field_end();
5168        p.write_field_begin("traverse_spec", ::fbthrift::TType::Struct, 4);
5169        ::fbthrift::Serialize::write(&self.traverse_spec, p);
5170        p.write_field_end();
5171        if let ::std::option::Option::Some(some) = &self.common {
5172            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
5173            ::fbthrift::Serialize::write(some, p);
5174            p.write_field_end();
5175        }
5176        p.write_field_stop();
5177        p.write_struct_end();
5178    }
5179}
5180
5181impl<P> ::fbthrift::Deserialize<P> for self::LookupAndTraverseRequest
5182where
5183    P: ::fbthrift::ProtocolReader,
5184{
5185    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5186        static FIELDS: &[::fbthrift::Field] = &[
5187            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
5188            ::fbthrift::Field::new("indices", ::fbthrift::TType::Struct, 3),
5189            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
5190            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5191            ::fbthrift::Field::new("traverse_spec", ::fbthrift::TType::Struct, 4),
5192        ];
5193        let mut field_space_id = ::std::option::Option::None;
5194        let mut field_parts = ::std::option::Option::None;
5195        let mut field_indices = ::std::option::Option::None;
5196        let mut field_traverse_spec = ::std::option::Option::None;
5197        let mut field_common = ::std::option::Option::None;
5198        let _ = p.read_struct_begin(|_| ())?;
5199        loop {
5200            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5201            match (fty, fid as ::std::primitive::i32) {
5202                (::fbthrift::TType::Stop, _) => break,
5203                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5204                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5205                (::fbthrift::TType::Struct, 3) => field_indices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5206                (::fbthrift::TType::Struct, 4) => field_traverse_spec = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5207                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5208                (fty, _) => p.skip(fty)?,
5209            }
5210            p.read_field_end()?;
5211        }
5212        p.read_struct_end()?;
5213        ::std::result::Result::Ok(Self {
5214            space_id: field_space_id.unwrap_or_default(),
5215            parts: field_parts.unwrap_or_default(),
5216            indices: field_indices.unwrap_or_default(),
5217            traverse_spec: field_traverse_spec.unwrap_or_default(),
5218            common: field_common,
5219            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5220        })
5221    }
5222}
5223
5224
5225#[allow(clippy::derivable_impls)]
5226impl ::std::default::Default for self::ScanCursor {
5227    fn default() -> Self {
5228        Self {
5229            next_cursor: ::std::option::Option::None,
5230            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5231        }
5232    }
5233}
5234
5235impl ::std::fmt::Debug for self::ScanCursor {
5236    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5237        formatter
5238            .debug_struct("ScanCursor")
5239            .field("next_cursor", &self.next_cursor)
5240            .finish()
5241    }
5242}
5243
5244unsafe impl ::std::marker::Send for self::ScanCursor {}
5245unsafe impl ::std::marker::Sync for self::ScanCursor {}
5246
5247impl ::fbthrift::GetTType for self::ScanCursor {
5248    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5249}
5250
5251impl<P> ::fbthrift::Serialize<P> for self::ScanCursor
5252where
5253    P: ::fbthrift::ProtocolWriter,
5254{
5255    fn write(&self, p: &mut P) {
5256        p.write_struct_begin("ScanCursor");
5257        if let ::std::option::Option::Some(some) = &self.next_cursor {
5258            p.write_field_begin("next_cursor", ::fbthrift::TType::String, 1);
5259            ::fbthrift::Serialize::write(some, p);
5260            p.write_field_end();
5261        }
5262        p.write_field_stop();
5263        p.write_struct_end();
5264    }
5265}
5266
5267impl<P> ::fbthrift::Deserialize<P> for self::ScanCursor
5268where
5269    P: ::fbthrift::ProtocolReader,
5270{
5271    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5272        static FIELDS: &[::fbthrift::Field] = &[
5273            ::fbthrift::Field::new("next_cursor", ::fbthrift::TType::String, 1),
5274        ];
5275        let mut field_next_cursor = ::std::option::Option::None;
5276        let _ = p.read_struct_begin(|_| ())?;
5277        loop {
5278            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5279            match (fty, fid as ::std::primitive::i32) {
5280                (::fbthrift::TType::Stop, _) => break,
5281                (::fbthrift::TType::String, 1) => field_next_cursor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5282                (fty, _) => p.skip(fty)?,
5283            }
5284            p.read_field_end()?;
5285        }
5286        p.read_struct_end()?;
5287        ::std::result::Result::Ok(Self {
5288            next_cursor: field_next_cursor,
5289            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5290        })
5291    }
5292}
5293
5294
5295#[allow(clippy::derivable_impls)]
5296impl ::std::default::Default for self::ScanVertexRequest {
5297    fn default() -> Self {
5298        Self {
5299            space_id: ::std::default::Default::default(),
5300            parts: ::std::default::Default::default(),
5301            return_columns: ::std::default::Default::default(),
5302            limit: ::std::default::Default::default(),
5303            start_time: ::std::option::Option::None,
5304            end_time: ::std::option::Option::None,
5305            filter: ::std::option::Option::None,
5306            only_latest_version: false,
5307            enable_read_from_follower: true,
5308            common: ::std::option::Option::None,
5309            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5310        }
5311    }
5312}
5313
5314impl ::std::fmt::Debug for self::ScanVertexRequest {
5315    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5316        formatter
5317            .debug_struct("ScanVertexRequest")
5318            .field("space_id", &self.space_id)
5319            .field("parts", &self.parts)
5320            .field("return_columns", &self.return_columns)
5321            .field("limit", &self.limit)
5322            .field("start_time", &self.start_time)
5323            .field("end_time", &self.end_time)
5324            .field("filter", &self.filter)
5325            .field("only_latest_version", &self.only_latest_version)
5326            .field("enable_read_from_follower", &self.enable_read_from_follower)
5327            .field("common", &self.common)
5328            .finish()
5329    }
5330}
5331
5332unsafe impl ::std::marker::Send for self::ScanVertexRequest {}
5333unsafe impl ::std::marker::Sync for self::ScanVertexRequest {}
5334
5335impl ::fbthrift::GetTType for self::ScanVertexRequest {
5336    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5337}
5338
5339impl<P> ::fbthrift::Serialize<P> for self::ScanVertexRequest
5340where
5341    P: ::fbthrift::ProtocolWriter,
5342{
5343    fn write(&self, p: &mut P) {
5344        p.write_struct_begin("ScanVertexRequest");
5345        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5346        ::fbthrift::Serialize::write(&self.space_id, p);
5347        p.write_field_end();
5348        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
5349        ::fbthrift::Serialize::write(&self.parts, p);
5350        p.write_field_end();
5351        p.write_field_begin("return_columns", ::fbthrift::TType::List, 3);
5352        ::fbthrift::Serialize::write(&self.return_columns, p);
5353        p.write_field_end();
5354        p.write_field_begin("limit", ::fbthrift::TType::I64, 4);
5355        ::fbthrift::Serialize::write(&self.limit, p);
5356        p.write_field_end();
5357        if let ::std::option::Option::Some(some) = &self.start_time {
5358            p.write_field_begin("start_time", ::fbthrift::TType::I64, 5);
5359            ::fbthrift::Serialize::write(some, p);
5360            p.write_field_end();
5361        }
5362        if let ::std::option::Option::Some(some) = &self.end_time {
5363            p.write_field_begin("end_time", ::fbthrift::TType::I64, 6);
5364            ::fbthrift::Serialize::write(some, p);
5365            p.write_field_end();
5366        }
5367        if let ::std::option::Option::Some(some) = &self.filter {
5368            p.write_field_begin("filter", ::fbthrift::TType::String, 7);
5369            ::fbthrift::Serialize::write(some, p);
5370            p.write_field_end();
5371        }
5372        p.write_field_begin("only_latest_version", ::fbthrift::TType::Bool, 8);
5373        ::fbthrift::Serialize::write(&self.only_latest_version, p);
5374        p.write_field_end();
5375        p.write_field_begin("enable_read_from_follower", ::fbthrift::TType::Bool, 9);
5376        ::fbthrift::Serialize::write(&self.enable_read_from_follower, p);
5377        p.write_field_end();
5378        if let ::std::option::Option::Some(some) = &self.common {
5379            p.write_field_begin("common", ::fbthrift::TType::Struct, 10);
5380            ::fbthrift::Serialize::write(some, p);
5381            p.write_field_end();
5382        }
5383        p.write_field_stop();
5384        p.write_struct_end();
5385    }
5386}
5387
5388impl<P> ::fbthrift::Deserialize<P> for self::ScanVertexRequest
5389where
5390    P: ::fbthrift::ProtocolReader,
5391{
5392    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5393        static FIELDS: &[::fbthrift::Field] = &[
5394            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 10),
5395            ::fbthrift::Field::new("enable_read_from_follower", ::fbthrift::TType::Bool, 9),
5396            ::fbthrift::Field::new("end_time", ::fbthrift::TType::I64, 6),
5397            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 7),
5398            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 4),
5399            ::fbthrift::Field::new("only_latest_version", ::fbthrift::TType::Bool, 8),
5400            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
5401            ::fbthrift::Field::new("return_columns", ::fbthrift::TType::List, 3),
5402            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5403            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 5),
5404        ];
5405        let mut field_space_id = ::std::option::Option::None;
5406        let mut field_parts = ::std::option::Option::None;
5407        let mut field_return_columns = ::std::option::Option::None;
5408        let mut field_limit = ::std::option::Option::None;
5409        let mut field_start_time = ::std::option::Option::None;
5410        let mut field_end_time = ::std::option::Option::None;
5411        let mut field_filter = ::std::option::Option::None;
5412        let mut field_only_latest_version = ::std::option::Option::None;
5413        let mut field_enable_read_from_follower = ::std::option::Option::None;
5414        let mut field_common = ::std::option::Option::None;
5415        let _ = p.read_struct_begin(|_| ())?;
5416        loop {
5417            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5418            match (fty, fid as ::std::primitive::i32) {
5419                (::fbthrift::TType::Stop, _) => break,
5420                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5421                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5422                (::fbthrift::TType::List, 3) => field_return_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5423                (::fbthrift::TType::I64, 4) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5424                (::fbthrift::TType::I64, 5) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5425                (::fbthrift::TType::I64, 6) => field_end_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5426                (::fbthrift::TType::String, 7) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5427                (::fbthrift::TType::Bool, 8) => field_only_latest_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5428                (::fbthrift::TType::Bool, 9) => field_enable_read_from_follower = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5429                (::fbthrift::TType::Struct, 10) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5430                (fty, _) => p.skip(fty)?,
5431            }
5432            p.read_field_end()?;
5433        }
5434        p.read_struct_end()?;
5435        ::std::result::Result::Ok(Self {
5436            space_id: field_space_id.unwrap_or_default(),
5437            parts: field_parts.unwrap_or_default(),
5438            return_columns: field_return_columns.unwrap_or_default(),
5439            limit: field_limit.unwrap_or_default(),
5440            start_time: field_start_time,
5441            end_time: field_end_time,
5442            filter: field_filter,
5443            only_latest_version: field_only_latest_version.unwrap_or(false),
5444            enable_read_from_follower: field_enable_read_from_follower.unwrap_or(true),
5445            common: field_common,
5446            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5447        })
5448    }
5449}
5450
5451
5452#[allow(clippy::derivable_impls)]
5453impl ::std::default::Default for self::ScanEdgeRequest {
5454    fn default() -> Self {
5455        Self {
5456            space_id: ::std::default::Default::default(),
5457            parts: ::std::default::Default::default(),
5458            return_columns: ::std::default::Default::default(),
5459            limit: ::std::default::Default::default(),
5460            start_time: ::std::option::Option::None,
5461            end_time: ::std::option::Option::None,
5462            filter: ::std::option::Option::None,
5463            only_latest_version: false,
5464            enable_read_from_follower: true,
5465            common: ::std::option::Option::None,
5466            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5467        }
5468    }
5469}
5470
5471impl ::std::fmt::Debug for self::ScanEdgeRequest {
5472    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5473        formatter
5474            .debug_struct("ScanEdgeRequest")
5475            .field("space_id", &self.space_id)
5476            .field("parts", &self.parts)
5477            .field("return_columns", &self.return_columns)
5478            .field("limit", &self.limit)
5479            .field("start_time", &self.start_time)
5480            .field("end_time", &self.end_time)
5481            .field("filter", &self.filter)
5482            .field("only_latest_version", &self.only_latest_version)
5483            .field("enable_read_from_follower", &self.enable_read_from_follower)
5484            .field("common", &self.common)
5485            .finish()
5486    }
5487}
5488
5489unsafe impl ::std::marker::Send for self::ScanEdgeRequest {}
5490unsafe impl ::std::marker::Sync for self::ScanEdgeRequest {}
5491
5492impl ::fbthrift::GetTType for self::ScanEdgeRequest {
5493    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5494}
5495
5496impl<P> ::fbthrift::Serialize<P> for self::ScanEdgeRequest
5497where
5498    P: ::fbthrift::ProtocolWriter,
5499{
5500    fn write(&self, p: &mut P) {
5501        p.write_struct_begin("ScanEdgeRequest");
5502        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5503        ::fbthrift::Serialize::write(&self.space_id, p);
5504        p.write_field_end();
5505        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
5506        ::fbthrift::Serialize::write(&self.parts, p);
5507        p.write_field_end();
5508        p.write_field_begin("return_columns", ::fbthrift::TType::List, 3);
5509        ::fbthrift::Serialize::write(&self.return_columns, p);
5510        p.write_field_end();
5511        p.write_field_begin("limit", ::fbthrift::TType::I64, 4);
5512        ::fbthrift::Serialize::write(&self.limit, p);
5513        p.write_field_end();
5514        if let ::std::option::Option::Some(some) = &self.start_time {
5515            p.write_field_begin("start_time", ::fbthrift::TType::I64, 5);
5516            ::fbthrift::Serialize::write(some, p);
5517            p.write_field_end();
5518        }
5519        if let ::std::option::Option::Some(some) = &self.end_time {
5520            p.write_field_begin("end_time", ::fbthrift::TType::I64, 6);
5521            ::fbthrift::Serialize::write(some, p);
5522            p.write_field_end();
5523        }
5524        if let ::std::option::Option::Some(some) = &self.filter {
5525            p.write_field_begin("filter", ::fbthrift::TType::String, 7);
5526            ::fbthrift::Serialize::write(some, p);
5527            p.write_field_end();
5528        }
5529        p.write_field_begin("only_latest_version", ::fbthrift::TType::Bool, 8);
5530        ::fbthrift::Serialize::write(&self.only_latest_version, p);
5531        p.write_field_end();
5532        p.write_field_begin("enable_read_from_follower", ::fbthrift::TType::Bool, 9);
5533        ::fbthrift::Serialize::write(&self.enable_read_from_follower, p);
5534        p.write_field_end();
5535        if let ::std::option::Option::Some(some) = &self.common {
5536            p.write_field_begin("common", ::fbthrift::TType::Struct, 10);
5537            ::fbthrift::Serialize::write(some, p);
5538            p.write_field_end();
5539        }
5540        p.write_field_stop();
5541        p.write_struct_end();
5542    }
5543}
5544
5545impl<P> ::fbthrift::Deserialize<P> for self::ScanEdgeRequest
5546where
5547    P: ::fbthrift::ProtocolReader,
5548{
5549    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5550        static FIELDS: &[::fbthrift::Field] = &[
5551            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 10),
5552            ::fbthrift::Field::new("enable_read_from_follower", ::fbthrift::TType::Bool, 9),
5553            ::fbthrift::Field::new("end_time", ::fbthrift::TType::I64, 6),
5554            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 7),
5555            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 4),
5556            ::fbthrift::Field::new("only_latest_version", ::fbthrift::TType::Bool, 8),
5557            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
5558            ::fbthrift::Field::new("return_columns", ::fbthrift::TType::List, 3),
5559            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5560            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 5),
5561        ];
5562        let mut field_space_id = ::std::option::Option::None;
5563        let mut field_parts = ::std::option::Option::None;
5564        let mut field_return_columns = ::std::option::Option::None;
5565        let mut field_limit = ::std::option::Option::None;
5566        let mut field_start_time = ::std::option::Option::None;
5567        let mut field_end_time = ::std::option::Option::None;
5568        let mut field_filter = ::std::option::Option::None;
5569        let mut field_only_latest_version = ::std::option::Option::None;
5570        let mut field_enable_read_from_follower = ::std::option::Option::None;
5571        let mut field_common = ::std::option::Option::None;
5572        let _ = p.read_struct_begin(|_| ())?;
5573        loop {
5574            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5575            match (fty, fid as ::std::primitive::i32) {
5576                (::fbthrift::TType::Stop, _) => break,
5577                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5578                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5579                (::fbthrift::TType::List, 3) => field_return_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5580                (::fbthrift::TType::I64, 4) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5581                (::fbthrift::TType::I64, 5) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5582                (::fbthrift::TType::I64, 6) => field_end_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5583                (::fbthrift::TType::String, 7) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5584                (::fbthrift::TType::Bool, 8) => field_only_latest_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5585                (::fbthrift::TType::Bool, 9) => field_enable_read_from_follower = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5586                (::fbthrift::TType::Struct, 10) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5587                (fty, _) => p.skip(fty)?,
5588            }
5589            p.read_field_end()?;
5590        }
5591        p.read_struct_end()?;
5592        ::std::result::Result::Ok(Self {
5593            space_id: field_space_id.unwrap_or_default(),
5594            parts: field_parts.unwrap_or_default(),
5595            return_columns: field_return_columns.unwrap_or_default(),
5596            limit: field_limit.unwrap_or_default(),
5597            start_time: field_start_time,
5598            end_time: field_end_time,
5599            filter: field_filter,
5600            only_latest_version: field_only_latest_version.unwrap_or(false),
5601            enable_read_from_follower: field_enable_read_from_follower.unwrap_or(true),
5602            common: field_common,
5603            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5604        })
5605    }
5606}
5607
5608
5609#[allow(clippy::derivable_impls)]
5610impl ::std::default::Default for self::ScanResponse {
5611    fn default() -> Self {
5612        Self {
5613            result: ::std::default::Default::default(),
5614            props: ::std::option::Option::None,
5615            cursors: ::std::default::Default::default(),
5616            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5617        }
5618    }
5619}
5620
5621impl ::std::fmt::Debug for self::ScanResponse {
5622    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5623        formatter
5624            .debug_struct("ScanResponse")
5625            .field("result", &self.result)
5626            .field("props", &self.props)
5627            .field("cursors", &self.cursors)
5628            .finish()
5629    }
5630}
5631
5632unsafe impl ::std::marker::Send for self::ScanResponse {}
5633unsafe impl ::std::marker::Sync for self::ScanResponse {}
5634
5635impl ::fbthrift::GetTType for self::ScanResponse {
5636    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5637}
5638
5639impl<P> ::fbthrift::Serialize<P> for self::ScanResponse
5640where
5641    P: ::fbthrift::ProtocolWriter,
5642{
5643    fn write(&self, p: &mut P) {
5644        p.write_struct_begin("ScanResponse");
5645        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
5646        ::fbthrift::Serialize::write(&self.result, p);
5647        p.write_field_end();
5648        if let ::std::option::Option::Some(some) = &self.props {
5649            p.write_field_begin("props", ::fbthrift::TType::Struct, 2);
5650            ::fbthrift::Serialize::write(some, p);
5651            p.write_field_end();
5652        }
5653        p.write_field_begin("cursors", ::fbthrift::TType::Map, 3);
5654        ::fbthrift::Serialize::write(&self.cursors, p);
5655        p.write_field_end();
5656        p.write_field_stop();
5657        p.write_struct_end();
5658    }
5659}
5660
5661impl<P> ::fbthrift::Deserialize<P> for self::ScanResponse
5662where
5663    P: ::fbthrift::ProtocolReader,
5664{
5665    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5666        static FIELDS: &[::fbthrift::Field] = &[
5667            ::fbthrift::Field::new("cursors", ::fbthrift::TType::Map, 3),
5668            ::fbthrift::Field::new("props", ::fbthrift::TType::Struct, 2),
5669            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
5670        ];
5671        let mut field_result = ::std::option::Option::None;
5672        let mut field_props = ::std::option::Option::None;
5673        let mut field_cursors = ::std::option::Option::None;
5674        let _ = p.read_struct_begin(|_| ())?;
5675        loop {
5676            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5677            match (fty, fid as ::std::primitive::i32) {
5678                (::fbthrift::TType::Stop, _) => break,
5679                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5680                (::fbthrift::TType::Struct, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5681                (::fbthrift::TType::Map, 3) => field_cursors = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5682                (fty, _) => p.skip(fty)?,
5683            }
5684            p.read_field_end()?;
5685        }
5686        p.read_struct_end()?;
5687        ::std::result::Result::Ok(Self {
5688            result: field_result.unwrap_or_default(),
5689            props: field_props,
5690            cursors: field_cursors.unwrap_or_default(),
5691            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5692        })
5693    }
5694}
5695
5696
5697#[allow(clippy::derivable_impls)]
5698impl ::std::default::Default for self::TaskPara {
5699    fn default() -> Self {
5700        Self {
5701            space_id: ::std::default::Default::default(),
5702            parts: ::std::option::Option::None,
5703            task_specific_paras: ::std::option::Option::None,
5704            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5705        }
5706    }
5707}
5708
5709impl ::std::fmt::Debug for self::TaskPara {
5710    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5711        formatter
5712            .debug_struct("TaskPara")
5713            .field("space_id", &self.space_id)
5714            .field("parts", &self.parts)
5715            .field("task_specific_paras", &self.task_specific_paras)
5716            .finish()
5717    }
5718}
5719
5720unsafe impl ::std::marker::Send for self::TaskPara {}
5721unsafe impl ::std::marker::Sync for self::TaskPara {}
5722
5723impl ::fbthrift::GetTType for self::TaskPara {
5724    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5725}
5726
5727impl<P> ::fbthrift::Serialize<P> for self::TaskPara
5728where
5729    P: ::fbthrift::ProtocolWriter,
5730{
5731    fn write(&self, p: &mut P) {
5732        p.write_struct_begin("TaskPara");
5733        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5734        ::fbthrift::Serialize::write(&self.space_id, p);
5735        p.write_field_end();
5736        if let ::std::option::Option::Some(some) = &self.parts {
5737            p.write_field_begin("parts", ::fbthrift::TType::List, 2);
5738            ::fbthrift::Serialize::write(some, p);
5739            p.write_field_end();
5740        }
5741        if let ::std::option::Option::Some(some) = &self.task_specific_paras {
5742            p.write_field_begin("task_specific_paras", ::fbthrift::TType::List, 3);
5743            ::fbthrift::Serialize::write(some, p);
5744            p.write_field_end();
5745        }
5746        p.write_field_stop();
5747        p.write_struct_end();
5748    }
5749}
5750
5751impl<P> ::fbthrift::Deserialize<P> for self::TaskPara
5752where
5753    P: ::fbthrift::ProtocolReader,
5754{
5755    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5756        static FIELDS: &[::fbthrift::Field] = &[
5757            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
5758            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5759            ::fbthrift::Field::new("task_specific_paras", ::fbthrift::TType::List, 3),
5760        ];
5761        let mut field_space_id = ::std::option::Option::None;
5762        let mut field_parts = ::std::option::Option::None;
5763        let mut field_task_specific_paras = ::std::option::Option::None;
5764        let _ = p.read_struct_begin(|_| ())?;
5765        loop {
5766            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5767            match (fty, fid as ::std::primitive::i32) {
5768                (::fbthrift::TType::Stop, _) => break,
5769                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5770                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5771                (::fbthrift::TType::List, 3) => field_task_specific_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5772                (fty, _) => p.skip(fty)?,
5773            }
5774            p.read_field_end()?;
5775        }
5776        p.read_struct_end()?;
5777        ::std::result::Result::Ok(Self {
5778            space_id: field_space_id.unwrap_or_default(),
5779            parts: field_parts,
5780            task_specific_paras: field_task_specific_paras,
5781            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5782        })
5783    }
5784}
5785
5786
5787#[allow(clippy::derivable_impls)]
5788impl ::std::default::Default for self::KVGetRequest {
5789    fn default() -> Self {
5790        Self {
5791            space_id: ::std::default::Default::default(),
5792            parts: ::std::default::Default::default(),
5793            return_partly: ::std::default::Default::default(),
5794            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5795        }
5796    }
5797}
5798
5799impl ::std::fmt::Debug for self::KVGetRequest {
5800    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5801        formatter
5802            .debug_struct("KVGetRequest")
5803            .field("space_id", &self.space_id)
5804            .field("parts", &self.parts)
5805            .field("return_partly", &self.return_partly)
5806            .finish()
5807    }
5808}
5809
5810unsafe impl ::std::marker::Send for self::KVGetRequest {}
5811unsafe impl ::std::marker::Sync for self::KVGetRequest {}
5812
5813impl ::fbthrift::GetTType for self::KVGetRequest {
5814    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5815}
5816
5817impl<P> ::fbthrift::Serialize<P> for self::KVGetRequest
5818where
5819    P: ::fbthrift::ProtocolWriter,
5820{
5821    fn write(&self, p: &mut P) {
5822        p.write_struct_begin("KVGetRequest");
5823        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5824        ::fbthrift::Serialize::write(&self.space_id, p);
5825        p.write_field_end();
5826        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
5827        ::fbthrift::Serialize::write(&self.parts, p);
5828        p.write_field_end();
5829        p.write_field_begin("return_partly", ::fbthrift::TType::Bool, 3);
5830        ::fbthrift::Serialize::write(&self.return_partly, p);
5831        p.write_field_end();
5832        p.write_field_stop();
5833        p.write_struct_end();
5834    }
5835}
5836
5837impl<P> ::fbthrift::Deserialize<P> for self::KVGetRequest
5838where
5839    P: ::fbthrift::ProtocolReader,
5840{
5841    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5842        static FIELDS: &[::fbthrift::Field] = &[
5843            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
5844            ::fbthrift::Field::new("return_partly", ::fbthrift::TType::Bool, 3),
5845            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5846        ];
5847        let mut field_space_id = ::std::option::Option::None;
5848        let mut field_parts = ::std::option::Option::None;
5849        let mut field_return_partly = ::std::option::Option::None;
5850        let _ = p.read_struct_begin(|_| ())?;
5851        loop {
5852            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5853            match (fty, fid as ::std::primitive::i32) {
5854                (::fbthrift::TType::Stop, _) => break,
5855                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5856                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5857                (::fbthrift::TType::Bool, 3) => field_return_partly = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5858                (fty, _) => p.skip(fty)?,
5859            }
5860            p.read_field_end()?;
5861        }
5862        p.read_struct_end()?;
5863        ::std::result::Result::Ok(Self {
5864            space_id: field_space_id.unwrap_or_default(),
5865            parts: field_parts.unwrap_or_default(),
5866            return_partly: field_return_partly.unwrap_or_default(),
5867            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5868        })
5869    }
5870}
5871
5872
5873#[allow(clippy::derivable_impls)]
5874impl ::std::default::Default for self::KVGetResponse {
5875    fn default() -> Self {
5876        Self {
5877            result: ::std::default::Default::default(),
5878            key_values: ::std::default::Default::default(),
5879            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5880        }
5881    }
5882}
5883
5884impl ::std::fmt::Debug for self::KVGetResponse {
5885    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5886        formatter
5887            .debug_struct("KVGetResponse")
5888            .field("result", &self.result)
5889            .field("key_values", &self.key_values)
5890            .finish()
5891    }
5892}
5893
5894unsafe impl ::std::marker::Send for self::KVGetResponse {}
5895unsafe impl ::std::marker::Sync for self::KVGetResponse {}
5896
5897impl ::fbthrift::GetTType for self::KVGetResponse {
5898    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5899}
5900
5901impl<P> ::fbthrift::Serialize<P> for self::KVGetResponse
5902where
5903    P: ::fbthrift::ProtocolWriter,
5904{
5905    fn write(&self, p: &mut P) {
5906        p.write_struct_begin("KVGetResponse");
5907        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
5908        ::fbthrift::Serialize::write(&self.result, p);
5909        p.write_field_end();
5910        p.write_field_begin("key_values", ::fbthrift::TType::Map, 2);
5911        ::fbthrift::Serialize::write(&self.key_values, p);
5912        p.write_field_end();
5913        p.write_field_stop();
5914        p.write_struct_end();
5915    }
5916}
5917
5918impl<P> ::fbthrift::Deserialize<P> for self::KVGetResponse
5919where
5920    P: ::fbthrift::ProtocolReader,
5921{
5922    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5923        static FIELDS: &[::fbthrift::Field] = &[
5924            ::fbthrift::Field::new("key_values", ::fbthrift::TType::Map, 2),
5925            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
5926        ];
5927        let mut field_result = ::std::option::Option::None;
5928        let mut field_key_values = ::std::option::Option::None;
5929        let _ = p.read_struct_begin(|_| ())?;
5930        loop {
5931            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5932            match (fty, fid as ::std::primitive::i32) {
5933                (::fbthrift::TType::Stop, _) => break,
5934                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5935                (::fbthrift::TType::Map, 2) => field_key_values = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5936                (fty, _) => p.skip(fty)?,
5937            }
5938            p.read_field_end()?;
5939        }
5940        p.read_struct_end()?;
5941        ::std::result::Result::Ok(Self {
5942            result: field_result.unwrap_or_default(),
5943            key_values: field_key_values.unwrap_or_default(),
5944            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5945        })
5946    }
5947}
5948
5949
5950#[allow(clippy::derivable_impls)]
5951impl ::std::default::Default for self::KVPutRequest {
5952    fn default() -> Self {
5953        Self {
5954            space_id: ::std::default::Default::default(),
5955            parts: ::std::default::Default::default(),
5956            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5957        }
5958    }
5959}
5960
5961impl ::std::fmt::Debug for self::KVPutRequest {
5962    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5963        formatter
5964            .debug_struct("KVPutRequest")
5965            .field("space_id", &self.space_id)
5966            .field("parts", &self.parts)
5967            .finish()
5968    }
5969}
5970
5971unsafe impl ::std::marker::Send for self::KVPutRequest {}
5972unsafe impl ::std::marker::Sync for self::KVPutRequest {}
5973
5974impl ::fbthrift::GetTType for self::KVPutRequest {
5975    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5976}
5977
5978impl<P> ::fbthrift::Serialize<P> for self::KVPutRequest
5979where
5980    P: ::fbthrift::ProtocolWriter,
5981{
5982    fn write(&self, p: &mut P) {
5983        p.write_struct_begin("KVPutRequest");
5984        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5985        ::fbthrift::Serialize::write(&self.space_id, p);
5986        p.write_field_end();
5987        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
5988        ::fbthrift::Serialize::write(&self.parts, p);
5989        p.write_field_end();
5990        p.write_field_stop();
5991        p.write_struct_end();
5992    }
5993}
5994
5995impl<P> ::fbthrift::Deserialize<P> for self::KVPutRequest
5996where
5997    P: ::fbthrift::ProtocolReader,
5998{
5999    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6000        static FIELDS: &[::fbthrift::Field] = &[
6001            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
6002            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6003        ];
6004        let mut field_space_id = ::std::option::Option::None;
6005        let mut field_parts = ::std::option::Option::None;
6006        let _ = p.read_struct_begin(|_| ())?;
6007        loop {
6008            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6009            match (fty, fid as ::std::primitive::i32) {
6010                (::fbthrift::TType::Stop, _) => break,
6011                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6012                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6013                (fty, _) => p.skip(fty)?,
6014            }
6015            p.read_field_end()?;
6016        }
6017        p.read_struct_end()?;
6018        ::std::result::Result::Ok(Self {
6019            space_id: field_space_id.unwrap_or_default(),
6020            parts: field_parts.unwrap_or_default(),
6021            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6022        })
6023    }
6024}
6025
6026
6027#[allow(clippy::derivable_impls)]
6028impl ::std::default::Default for self::KVRemoveRequest {
6029    fn default() -> Self {
6030        Self {
6031            space_id: ::std::default::Default::default(),
6032            parts: ::std::default::Default::default(),
6033            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6034        }
6035    }
6036}
6037
6038impl ::std::fmt::Debug for self::KVRemoveRequest {
6039    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6040        formatter
6041            .debug_struct("KVRemoveRequest")
6042            .field("space_id", &self.space_id)
6043            .field("parts", &self.parts)
6044            .finish()
6045    }
6046}
6047
6048unsafe impl ::std::marker::Send for self::KVRemoveRequest {}
6049unsafe impl ::std::marker::Sync for self::KVRemoveRequest {}
6050
6051impl ::fbthrift::GetTType for self::KVRemoveRequest {
6052    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6053}
6054
6055impl<P> ::fbthrift::Serialize<P> for self::KVRemoveRequest
6056where
6057    P: ::fbthrift::ProtocolWriter,
6058{
6059    fn write(&self, p: &mut P) {
6060        p.write_struct_begin("KVRemoveRequest");
6061        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6062        ::fbthrift::Serialize::write(&self.space_id, p);
6063        p.write_field_end();
6064        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
6065        ::fbthrift::Serialize::write(&self.parts, p);
6066        p.write_field_end();
6067        p.write_field_stop();
6068        p.write_struct_end();
6069    }
6070}
6071
6072impl<P> ::fbthrift::Deserialize<P> for self::KVRemoveRequest
6073where
6074    P: ::fbthrift::ProtocolReader,
6075{
6076    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6077        static FIELDS: &[::fbthrift::Field] = &[
6078            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
6079            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6080        ];
6081        let mut field_space_id = ::std::option::Option::None;
6082        let mut field_parts = ::std::option::Option::None;
6083        let _ = p.read_struct_begin(|_| ())?;
6084        loop {
6085            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6086            match (fty, fid as ::std::primitive::i32) {
6087                (::fbthrift::TType::Stop, _) => break,
6088                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6089                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6090                (fty, _) => p.skip(fty)?,
6091            }
6092            p.read_field_end()?;
6093        }
6094        p.read_struct_end()?;
6095        ::std::result::Result::Ok(Self {
6096            space_id: field_space_id.unwrap_or_default(),
6097            parts: field_parts.unwrap_or_default(),
6098            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6099        })
6100    }
6101}
6102
6103
6104#[allow(clippy::derivable_impls)]
6105impl ::std::default::Default for self::AdminExecResp {
6106    fn default() -> Self {
6107        Self {
6108            result: ::std::default::Default::default(),
6109            stats: ::std::option::Option::None,
6110            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6111        }
6112    }
6113}
6114
6115impl ::std::fmt::Debug for self::AdminExecResp {
6116    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6117        formatter
6118            .debug_struct("AdminExecResp")
6119            .field("result", &self.result)
6120            .field("stats", &self.stats)
6121            .finish()
6122    }
6123}
6124
6125unsafe impl ::std::marker::Send for self::AdminExecResp {}
6126unsafe impl ::std::marker::Sync for self::AdminExecResp {}
6127
6128impl ::fbthrift::GetTType for self::AdminExecResp {
6129    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6130}
6131
6132impl<P> ::fbthrift::Serialize<P> for self::AdminExecResp
6133where
6134    P: ::fbthrift::ProtocolWriter,
6135{
6136    fn write(&self, p: &mut P) {
6137        p.write_struct_begin("AdminExecResp");
6138        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
6139        ::fbthrift::Serialize::write(&self.result, p);
6140        p.write_field_end();
6141        if let ::std::option::Option::Some(some) = &self.stats {
6142            p.write_field_begin("stats", ::fbthrift::TType::Struct, 2);
6143            ::fbthrift::Serialize::write(some, p);
6144            p.write_field_end();
6145        }
6146        p.write_field_stop();
6147        p.write_struct_end();
6148    }
6149}
6150
6151impl<P> ::fbthrift::Deserialize<P> for self::AdminExecResp
6152where
6153    P: ::fbthrift::ProtocolReader,
6154{
6155    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6156        static FIELDS: &[::fbthrift::Field] = &[
6157            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
6158            ::fbthrift::Field::new("stats", ::fbthrift::TType::Struct, 2),
6159        ];
6160        let mut field_result = ::std::option::Option::None;
6161        let mut field_stats = ::std::option::Option::None;
6162        let _ = p.read_struct_begin(|_| ())?;
6163        loop {
6164            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6165            match (fty, fid as ::std::primitive::i32) {
6166                (::fbthrift::TType::Stop, _) => break,
6167                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6168                (::fbthrift::TType::Struct, 2) => field_stats = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6169                (fty, _) => p.skip(fty)?,
6170            }
6171            p.read_field_end()?;
6172        }
6173        p.read_struct_end()?;
6174        ::std::result::Result::Ok(Self {
6175            result: field_result.unwrap_or_default(),
6176            stats: field_stats,
6177            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6178        })
6179    }
6180}
6181
6182
6183#[allow(clippy::derivable_impls)]
6184impl ::std::default::Default for self::TransLeaderReq {
6185    fn default() -> Self {
6186        Self {
6187            space_id: ::std::default::Default::default(),
6188            part_id: ::std::default::Default::default(),
6189            new_leader: ::std::default::Default::default(),
6190            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6191        }
6192    }
6193}
6194
6195impl ::std::fmt::Debug for self::TransLeaderReq {
6196    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6197        formatter
6198            .debug_struct("TransLeaderReq")
6199            .field("space_id", &self.space_id)
6200            .field("part_id", &self.part_id)
6201            .field("new_leader", &self.new_leader)
6202            .finish()
6203    }
6204}
6205
6206unsafe impl ::std::marker::Send for self::TransLeaderReq {}
6207unsafe impl ::std::marker::Sync for self::TransLeaderReq {}
6208
6209impl ::fbthrift::GetTType for self::TransLeaderReq {
6210    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6211}
6212
6213impl<P> ::fbthrift::Serialize<P> for self::TransLeaderReq
6214where
6215    P: ::fbthrift::ProtocolWriter,
6216{
6217    fn write(&self, p: &mut P) {
6218        p.write_struct_begin("TransLeaderReq");
6219        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6220        ::fbthrift::Serialize::write(&self.space_id, p);
6221        p.write_field_end();
6222        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6223        ::fbthrift::Serialize::write(&self.part_id, p);
6224        p.write_field_end();
6225        p.write_field_begin("new_leader", ::fbthrift::TType::Struct, 3);
6226        ::fbthrift::Serialize::write(&self.new_leader, p);
6227        p.write_field_end();
6228        p.write_field_stop();
6229        p.write_struct_end();
6230    }
6231}
6232
6233impl<P> ::fbthrift::Deserialize<P> for self::TransLeaderReq
6234where
6235    P: ::fbthrift::ProtocolReader,
6236{
6237    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6238        static FIELDS: &[::fbthrift::Field] = &[
6239            ::fbthrift::Field::new("new_leader", ::fbthrift::TType::Struct, 3),
6240            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6241            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6242        ];
6243        let mut field_space_id = ::std::option::Option::None;
6244        let mut field_part_id = ::std::option::Option::None;
6245        let mut field_new_leader = ::std::option::Option::None;
6246        let _ = p.read_struct_begin(|_| ())?;
6247        loop {
6248            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6249            match (fty, fid as ::std::primitive::i32) {
6250                (::fbthrift::TType::Stop, _) => break,
6251                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6252                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6253                (::fbthrift::TType::Struct, 3) => field_new_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6254                (fty, _) => p.skip(fty)?,
6255            }
6256            p.read_field_end()?;
6257        }
6258        p.read_struct_end()?;
6259        ::std::result::Result::Ok(Self {
6260            space_id: field_space_id.unwrap_or_default(),
6261            part_id: field_part_id.unwrap_or_default(),
6262            new_leader: field_new_leader.unwrap_or_default(),
6263            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6264        })
6265    }
6266}
6267
6268
6269#[allow(clippy::derivable_impls)]
6270impl ::std::default::Default for self::AddPartReq {
6271    fn default() -> Self {
6272        Self {
6273            space_id: ::std::default::Default::default(),
6274            part_id: ::std::default::Default::default(),
6275            as_learner: ::std::default::Default::default(),
6276            peers: ::std::default::Default::default(),
6277            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6278        }
6279    }
6280}
6281
6282impl ::std::fmt::Debug for self::AddPartReq {
6283    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6284        formatter
6285            .debug_struct("AddPartReq")
6286            .field("space_id", &self.space_id)
6287            .field("part_id", &self.part_id)
6288            .field("as_learner", &self.as_learner)
6289            .field("peers", &self.peers)
6290            .finish()
6291    }
6292}
6293
6294unsafe impl ::std::marker::Send for self::AddPartReq {}
6295unsafe impl ::std::marker::Sync for self::AddPartReq {}
6296
6297impl ::fbthrift::GetTType for self::AddPartReq {
6298    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6299}
6300
6301impl<P> ::fbthrift::Serialize<P> for self::AddPartReq
6302where
6303    P: ::fbthrift::ProtocolWriter,
6304{
6305    fn write(&self, p: &mut P) {
6306        p.write_struct_begin("AddPartReq");
6307        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6308        ::fbthrift::Serialize::write(&self.space_id, p);
6309        p.write_field_end();
6310        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6311        ::fbthrift::Serialize::write(&self.part_id, p);
6312        p.write_field_end();
6313        p.write_field_begin("as_learner", ::fbthrift::TType::Bool, 3);
6314        ::fbthrift::Serialize::write(&self.as_learner, p);
6315        p.write_field_end();
6316        p.write_field_begin("peers", ::fbthrift::TType::List, 4);
6317        ::fbthrift::Serialize::write(&self.peers, p);
6318        p.write_field_end();
6319        p.write_field_stop();
6320        p.write_struct_end();
6321    }
6322}
6323
6324impl<P> ::fbthrift::Deserialize<P> for self::AddPartReq
6325where
6326    P: ::fbthrift::ProtocolReader,
6327{
6328    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6329        static FIELDS: &[::fbthrift::Field] = &[
6330            ::fbthrift::Field::new("as_learner", ::fbthrift::TType::Bool, 3),
6331            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6332            ::fbthrift::Field::new("peers", ::fbthrift::TType::List, 4),
6333            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6334        ];
6335        let mut field_space_id = ::std::option::Option::None;
6336        let mut field_part_id = ::std::option::Option::None;
6337        let mut field_as_learner = ::std::option::Option::None;
6338        let mut field_peers = ::std::option::Option::None;
6339        let _ = p.read_struct_begin(|_| ())?;
6340        loop {
6341            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6342            match (fty, fid as ::std::primitive::i32) {
6343                (::fbthrift::TType::Stop, _) => break,
6344                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6345                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6346                (::fbthrift::TType::Bool, 3) => field_as_learner = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6347                (::fbthrift::TType::List, 4) => field_peers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6348                (fty, _) => p.skip(fty)?,
6349            }
6350            p.read_field_end()?;
6351        }
6352        p.read_struct_end()?;
6353        ::std::result::Result::Ok(Self {
6354            space_id: field_space_id.unwrap_or_default(),
6355            part_id: field_part_id.unwrap_or_default(),
6356            as_learner: field_as_learner.unwrap_or_default(),
6357            peers: field_peers.unwrap_or_default(),
6358            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6359        })
6360    }
6361}
6362
6363
6364#[allow(clippy::derivable_impls)]
6365impl ::std::default::Default for self::AddLearnerReq {
6366    fn default() -> Self {
6367        Self {
6368            space_id: ::std::default::Default::default(),
6369            part_id: ::std::default::Default::default(),
6370            learner: ::std::default::Default::default(),
6371            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6372        }
6373    }
6374}
6375
6376impl ::std::fmt::Debug for self::AddLearnerReq {
6377    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6378        formatter
6379            .debug_struct("AddLearnerReq")
6380            .field("space_id", &self.space_id)
6381            .field("part_id", &self.part_id)
6382            .field("learner", &self.learner)
6383            .finish()
6384    }
6385}
6386
6387unsafe impl ::std::marker::Send for self::AddLearnerReq {}
6388unsafe impl ::std::marker::Sync for self::AddLearnerReq {}
6389
6390impl ::fbthrift::GetTType for self::AddLearnerReq {
6391    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6392}
6393
6394impl<P> ::fbthrift::Serialize<P> for self::AddLearnerReq
6395where
6396    P: ::fbthrift::ProtocolWriter,
6397{
6398    fn write(&self, p: &mut P) {
6399        p.write_struct_begin("AddLearnerReq");
6400        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6401        ::fbthrift::Serialize::write(&self.space_id, p);
6402        p.write_field_end();
6403        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6404        ::fbthrift::Serialize::write(&self.part_id, p);
6405        p.write_field_end();
6406        p.write_field_begin("learner", ::fbthrift::TType::Struct, 3);
6407        ::fbthrift::Serialize::write(&self.learner, p);
6408        p.write_field_end();
6409        p.write_field_stop();
6410        p.write_struct_end();
6411    }
6412}
6413
6414impl<P> ::fbthrift::Deserialize<P> for self::AddLearnerReq
6415where
6416    P: ::fbthrift::ProtocolReader,
6417{
6418    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6419        static FIELDS: &[::fbthrift::Field] = &[
6420            ::fbthrift::Field::new("learner", ::fbthrift::TType::Struct, 3),
6421            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6422            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6423        ];
6424        let mut field_space_id = ::std::option::Option::None;
6425        let mut field_part_id = ::std::option::Option::None;
6426        let mut field_learner = ::std::option::Option::None;
6427        let _ = p.read_struct_begin(|_| ())?;
6428        loop {
6429            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6430            match (fty, fid as ::std::primitive::i32) {
6431                (::fbthrift::TType::Stop, _) => break,
6432                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6433                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6434                (::fbthrift::TType::Struct, 3) => field_learner = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6435                (fty, _) => p.skip(fty)?,
6436            }
6437            p.read_field_end()?;
6438        }
6439        p.read_struct_end()?;
6440        ::std::result::Result::Ok(Self {
6441            space_id: field_space_id.unwrap_or_default(),
6442            part_id: field_part_id.unwrap_or_default(),
6443            learner: field_learner.unwrap_or_default(),
6444            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6445        })
6446    }
6447}
6448
6449
6450#[allow(clippy::derivable_impls)]
6451impl ::std::default::Default for self::RemovePartReq {
6452    fn default() -> Self {
6453        Self {
6454            space_id: ::std::default::Default::default(),
6455            part_id: ::std::default::Default::default(),
6456            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6457        }
6458    }
6459}
6460
6461impl ::std::fmt::Debug for self::RemovePartReq {
6462    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6463        formatter
6464            .debug_struct("RemovePartReq")
6465            .field("space_id", &self.space_id)
6466            .field("part_id", &self.part_id)
6467            .finish()
6468    }
6469}
6470
6471unsafe impl ::std::marker::Send for self::RemovePartReq {}
6472unsafe impl ::std::marker::Sync for self::RemovePartReq {}
6473
6474impl ::fbthrift::GetTType for self::RemovePartReq {
6475    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6476}
6477
6478impl<P> ::fbthrift::Serialize<P> for self::RemovePartReq
6479where
6480    P: ::fbthrift::ProtocolWriter,
6481{
6482    fn write(&self, p: &mut P) {
6483        p.write_struct_begin("RemovePartReq");
6484        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6485        ::fbthrift::Serialize::write(&self.space_id, p);
6486        p.write_field_end();
6487        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6488        ::fbthrift::Serialize::write(&self.part_id, p);
6489        p.write_field_end();
6490        p.write_field_stop();
6491        p.write_struct_end();
6492    }
6493}
6494
6495impl<P> ::fbthrift::Deserialize<P> for self::RemovePartReq
6496where
6497    P: ::fbthrift::ProtocolReader,
6498{
6499    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6500        static FIELDS: &[::fbthrift::Field] = &[
6501            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6502            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6503        ];
6504        let mut field_space_id = ::std::option::Option::None;
6505        let mut field_part_id = ::std::option::Option::None;
6506        let _ = p.read_struct_begin(|_| ())?;
6507        loop {
6508            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6509            match (fty, fid as ::std::primitive::i32) {
6510                (::fbthrift::TType::Stop, _) => break,
6511                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6512                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6513                (fty, _) => p.skip(fty)?,
6514            }
6515            p.read_field_end()?;
6516        }
6517        p.read_struct_end()?;
6518        ::std::result::Result::Ok(Self {
6519            space_id: field_space_id.unwrap_or_default(),
6520            part_id: field_part_id.unwrap_or_default(),
6521            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6522        })
6523    }
6524}
6525
6526
6527#[allow(clippy::derivable_impls)]
6528impl ::std::default::Default for self::MemberChangeReq {
6529    fn default() -> Self {
6530        Self {
6531            space_id: ::std::default::Default::default(),
6532            part_id: ::std::default::Default::default(),
6533            peer: ::std::default::Default::default(),
6534            add: ::std::default::Default::default(),
6535            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6536        }
6537    }
6538}
6539
6540impl ::std::fmt::Debug for self::MemberChangeReq {
6541    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6542        formatter
6543            .debug_struct("MemberChangeReq")
6544            .field("space_id", &self.space_id)
6545            .field("part_id", &self.part_id)
6546            .field("peer", &self.peer)
6547            .field("add", &self.add)
6548            .finish()
6549    }
6550}
6551
6552unsafe impl ::std::marker::Send for self::MemberChangeReq {}
6553unsafe impl ::std::marker::Sync for self::MemberChangeReq {}
6554
6555impl ::fbthrift::GetTType for self::MemberChangeReq {
6556    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6557}
6558
6559impl<P> ::fbthrift::Serialize<P> for self::MemberChangeReq
6560where
6561    P: ::fbthrift::ProtocolWriter,
6562{
6563    fn write(&self, p: &mut P) {
6564        p.write_struct_begin("MemberChangeReq");
6565        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6566        ::fbthrift::Serialize::write(&self.space_id, p);
6567        p.write_field_end();
6568        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6569        ::fbthrift::Serialize::write(&self.part_id, p);
6570        p.write_field_end();
6571        p.write_field_begin("peer", ::fbthrift::TType::Struct, 3);
6572        ::fbthrift::Serialize::write(&self.peer, p);
6573        p.write_field_end();
6574        p.write_field_begin("add", ::fbthrift::TType::Bool, 4);
6575        ::fbthrift::Serialize::write(&self.add, p);
6576        p.write_field_end();
6577        p.write_field_stop();
6578        p.write_struct_end();
6579    }
6580}
6581
6582impl<P> ::fbthrift::Deserialize<P> for self::MemberChangeReq
6583where
6584    P: ::fbthrift::ProtocolReader,
6585{
6586    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6587        static FIELDS: &[::fbthrift::Field] = &[
6588            ::fbthrift::Field::new("add", ::fbthrift::TType::Bool, 4),
6589            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6590            ::fbthrift::Field::new("peer", ::fbthrift::TType::Struct, 3),
6591            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6592        ];
6593        let mut field_space_id = ::std::option::Option::None;
6594        let mut field_part_id = ::std::option::Option::None;
6595        let mut field_peer = ::std::option::Option::None;
6596        let mut field_add = ::std::option::Option::None;
6597        let _ = p.read_struct_begin(|_| ())?;
6598        loop {
6599            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6600            match (fty, fid as ::std::primitive::i32) {
6601                (::fbthrift::TType::Stop, _) => break,
6602                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6603                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6604                (::fbthrift::TType::Struct, 3) => field_peer = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6605                (::fbthrift::TType::Bool, 4) => field_add = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6606                (fty, _) => p.skip(fty)?,
6607            }
6608            p.read_field_end()?;
6609        }
6610        p.read_struct_end()?;
6611        ::std::result::Result::Ok(Self {
6612            space_id: field_space_id.unwrap_or_default(),
6613            part_id: field_part_id.unwrap_or_default(),
6614            peer: field_peer.unwrap_or_default(),
6615            add: field_add.unwrap_or_default(),
6616            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6617        })
6618    }
6619}
6620
6621
6622#[allow(clippy::derivable_impls)]
6623impl ::std::default::Default for self::CatchUpDataReq {
6624    fn default() -> Self {
6625        Self {
6626            space_id: ::std::default::Default::default(),
6627            part_id: ::std::default::Default::default(),
6628            target: ::std::default::Default::default(),
6629            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6630        }
6631    }
6632}
6633
6634impl ::std::fmt::Debug for self::CatchUpDataReq {
6635    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6636        formatter
6637            .debug_struct("CatchUpDataReq")
6638            .field("space_id", &self.space_id)
6639            .field("part_id", &self.part_id)
6640            .field("target", &self.target)
6641            .finish()
6642    }
6643}
6644
6645unsafe impl ::std::marker::Send for self::CatchUpDataReq {}
6646unsafe impl ::std::marker::Sync for self::CatchUpDataReq {}
6647
6648impl ::fbthrift::GetTType for self::CatchUpDataReq {
6649    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6650}
6651
6652impl<P> ::fbthrift::Serialize<P> for self::CatchUpDataReq
6653where
6654    P: ::fbthrift::ProtocolWriter,
6655{
6656    fn write(&self, p: &mut P) {
6657        p.write_struct_begin("CatchUpDataReq");
6658        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6659        ::fbthrift::Serialize::write(&self.space_id, p);
6660        p.write_field_end();
6661        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6662        ::fbthrift::Serialize::write(&self.part_id, p);
6663        p.write_field_end();
6664        p.write_field_begin("target", ::fbthrift::TType::Struct, 3);
6665        ::fbthrift::Serialize::write(&self.target, p);
6666        p.write_field_end();
6667        p.write_field_stop();
6668        p.write_struct_end();
6669    }
6670}
6671
6672impl<P> ::fbthrift::Deserialize<P> for self::CatchUpDataReq
6673where
6674    P: ::fbthrift::ProtocolReader,
6675{
6676    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6677        static FIELDS: &[::fbthrift::Field] = &[
6678            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6679            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6680            ::fbthrift::Field::new("target", ::fbthrift::TType::Struct, 3),
6681        ];
6682        let mut field_space_id = ::std::option::Option::None;
6683        let mut field_part_id = ::std::option::Option::None;
6684        let mut field_target = ::std::option::Option::None;
6685        let _ = p.read_struct_begin(|_| ())?;
6686        loop {
6687            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6688            match (fty, fid as ::std::primitive::i32) {
6689                (::fbthrift::TType::Stop, _) => break,
6690                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6691                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6692                (::fbthrift::TType::Struct, 3) => field_target = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6693                (fty, _) => p.skip(fty)?,
6694            }
6695            p.read_field_end()?;
6696        }
6697        p.read_struct_end()?;
6698        ::std::result::Result::Ok(Self {
6699            space_id: field_space_id.unwrap_or_default(),
6700            part_id: field_part_id.unwrap_or_default(),
6701            target: field_target.unwrap_or_default(),
6702            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6703        })
6704    }
6705}
6706
6707
6708#[allow(clippy::derivable_impls)]
6709impl ::std::default::Default for self::GetLeaderReq {
6710    fn default() -> Self {
6711        Self {
6712            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6713        }
6714    }
6715}
6716
6717impl ::std::fmt::Debug for self::GetLeaderReq {
6718    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6719        formatter
6720            .debug_struct("GetLeaderReq")
6721            .finish()
6722    }
6723}
6724
6725unsafe impl ::std::marker::Send for self::GetLeaderReq {}
6726unsafe impl ::std::marker::Sync for self::GetLeaderReq {}
6727
6728impl ::fbthrift::GetTType for self::GetLeaderReq {
6729    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6730}
6731
6732impl<P> ::fbthrift::Serialize<P> for self::GetLeaderReq
6733where
6734    P: ::fbthrift::ProtocolWriter,
6735{
6736    fn write(&self, p: &mut P) {
6737        p.write_struct_begin("GetLeaderReq");
6738        p.write_field_stop();
6739        p.write_struct_end();
6740    }
6741}
6742
6743impl<P> ::fbthrift::Deserialize<P> for self::GetLeaderReq
6744where
6745    P: ::fbthrift::ProtocolReader,
6746{
6747    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6748        static FIELDS: &[::fbthrift::Field] = &[
6749        ];
6750        let _ = p.read_struct_begin(|_| ())?;
6751        loop {
6752            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6753            match (fty, fid as ::std::primitive::i32) {
6754                (::fbthrift::TType::Stop, _) => break,
6755                (fty, _) => p.skip(fty)?,
6756            }
6757            p.read_field_end()?;
6758        }
6759        p.read_struct_end()?;
6760        ::std::result::Result::Ok(Self {
6761            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6762        })
6763    }
6764}
6765
6766
6767#[allow(clippy::derivable_impls)]
6768impl ::std::default::Default for self::CreateCPRequest {
6769    fn default() -> Self {
6770        Self {
6771            space_ids: ::std::default::Default::default(),
6772            name: ::std::default::Default::default(),
6773            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6774        }
6775    }
6776}
6777
6778impl ::std::fmt::Debug for self::CreateCPRequest {
6779    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6780        formatter
6781            .debug_struct("CreateCPRequest")
6782            .field("space_ids", &self.space_ids)
6783            .field("name", &self.name)
6784            .finish()
6785    }
6786}
6787
6788unsafe impl ::std::marker::Send for self::CreateCPRequest {}
6789unsafe impl ::std::marker::Sync for self::CreateCPRequest {}
6790
6791impl ::fbthrift::GetTType for self::CreateCPRequest {
6792    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6793}
6794
6795impl<P> ::fbthrift::Serialize<P> for self::CreateCPRequest
6796where
6797    P: ::fbthrift::ProtocolWriter,
6798{
6799    fn write(&self, p: &mut P) {
6800        p.write_struct_begin("CreateCPRequest");
6801        p.write_field_begin("space_ids", ::fbthrift::TType::List, 1);
6802        ::fbthrift::Serialize::write(&self.space_ids, p);
6803        p.write_field_end();
6804        p.write_field_begin("name", ::fbthrift::TType::String, 2);
6805        ::fbthrift::Serialize::write(&self.name, p);
6806        p.write_field_end();
6807        p.write_field_stop();
6808        p.write_struct_end();
6809    }
6810}
6811
6812impl<P> ::fbthrift::Deserialize<P> for self::CreateCPRequest
6813where
6814    P: ::fbthrift::ProtocolReader,
6815{
6816    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6817        static FIELDS: &[::fbthrift::Field] = &[
6818            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
6819            ::fbthrift::Field::new("space_ids", ::fbthrift::TType::List, 1),
6820        ];
6821        let mut field_space_ids = ::std::option::Option::None;
6822        let mut field_name = ::std::option::Option::None;
6823        let _ = p.read_struct_begin(|_| ())?;
6824        loop {
6825            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6826            match (fty, fid as ::std::primitive::i32) {
6827                (::fbthrift::TType::Stop, _) => break,
6828                (::fbthrift::TType::List, 1) => field_space_ids = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6829                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6830                (fty, _) => p.skip(fty)?,
6831            }
6832            p.read_field_end()?;
6833        }
6834        p.read_struct_end()?;
6835        ::std::result::Result::Ok(Self {
6836            space_ids: field_space_ids.unwrap_or_default(),
6837            name: field_name.unwrap_or_default(),
6838            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6839        })
6840    }
6841}
6842
6843
6844#[allow(clippy::derivable_impls)]
6845impl ::std::default::Default for self::CreateCPResp {
6846    fn default() -> Self {
6847        Self {
6848            code: ::std::default::Default::default(),
6849            info: ::std::default::Default::default(),
6850            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6851        }
6852    }
6853}
6854
6855impl ::std::fmt::Debug for self::CreateCPResp {
6856    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6857        formatter
6858            .debug_struct("CreateCPResp")
6859            .field("code", &self.code)
6860            .field("info", &self.info)
6861            .finish()
6862    }
6863}
6864
6865unsafe impl ::std::marker::Send for self::CreateCPResp {}
6866unsafe impl ::std::marker::Sync for self::CreateCPResp {}
6867
6868impl ::fbthrift::GetTType for self::CreateCPResp {
6869    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6870}
6871
6872impl<P> ::fbthrift::Serialize<P> for self::CreateCPResp
6873where
6874    P: ::fbthrift::ProtocolWriter,
6875{
6876    fn write(&self, p: &mut P) {
6877        p.write_struct_begin("CreateCPResp");
6878        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
6879        ::fbthrift::Serialize::write(&self.code, p);
6880        p.write_field_end();
6881        p.write_field_begin("info", ::fbthrift::TType::List, 2);
6882        ::fbthrift::Serialize::write(&self.info, p);
6883        p.write_field_end();
6884        p.write_field_stop();
6885        p.write_struct_end();
6886    }
6887}
6888
6889impl<P> ::fbthrift::Deserialize<P> for self::CreateCPResp
6890where
6891    P: ::fbthrift::ProtocolReader,
6892{
6893    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6894        static FIELDS: &[::fbthrift::Field] = &[
6895            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
6896            ::fbthrift::Field::new("info", ::fbthrift::TType::List, 2),
6897        ];
6898        let mut field_code = ::std::option::Option::None;
6899        let mut field_info = ::std::option::Option::None;
6900        let _ = p.read_struct_begin(|_| ())?;
6901        loop {
6902            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6903            match (fty, fid as ::std::primitive::i32) {
6904                (::fbthrift::TType::Stop, _) => break,
6905                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6906                (::fbthrift::TType::List, 2) => field_info = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6907                (fty, _) => p.skip(fty)?,
6908            }
6909            p.read_field_end()?;
6910        }
6911        p.read_struct_end()?;
6912        ::std::result::Result::Ok(Self {
6913            code: field_code.unwrap_or_default(),
6914            info: field_info.unwrap_or_default(),
6915            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6916        })
6917    }
6918}
6919
6920
6921#[allow(clippy::derivable_impls)]
6922impl ::std::default::Default for self::DropCPRequest {
6923    fn default() -> Self {
6924        Self {
6925            space_ids: ::std::default::Default::default(),
6926            name: ::std::default::Default::default(),
6927            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6928        }
6929    }
6930}
6931
6932impl ::std::fmt::Debug for self::DropCPRequest {
6933    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6934        formatter
6935            .debug_struct("DropCPRequest")
6936            .field("space_ids", &self.space_ids)
6937            .field("name", &self.name)
6938            .finish()
6939    }
6940}
6941
6942unsafe impl ::std::marker::Send for self::DropCPRequest {}
6943unsafe impl ::std::marker::Sync for self::DropCPRequest {}
6944
6945impl ::fbthrift::GetTType for self::DropCPRequest {
6946    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6947}
6948
6949impl<P> ::fbthrift::Serialize<P> for self::DropCPRequest
6950where
6951    P: ::fbthrift::ProtocolWriter,
6952{
6953    fn write(&self, p: &mut P) {
6954        p.write_struct_begin("DropCPRequest");
6955        p.write_field_begin("space_ids", ::fbthrift::TType::List, 1);
6956        ::fbthrift::Serialize::write(&self.space_ids, p);
6957        p.write_field_end();
6958        p.write_field_begin("name", ::fbthrift::TType::String, 2);
6959        ::fbthrift::Serialize::write(&self.name, p);
6960        p.write_field_end();
6961        p.write_field_stop();
6962        p.write_struct_end();
6963    }
6964}
6965
6966impl<P> ::fbthrift::Deserialize<P> for self::DropCPRequest
6967where
6968    P: ::fbthrift::ProtocolReader,
6969{
6970    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6971        static FIELDS: &[::fbthrift::Field] = &[
6972            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
6973            ::fbthrift::Field::new("space_ids", ::fbthrift::TType::List, 1),
6974        ];
6975        let mut field_space_ids = ::std::option::Option::None;
6976        let mut field_name = ::std::option::Option::None;
6977        let _ = p.read_struct_begin(|_| ())?;
6978        loop {
6979            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6980            match (fty, fid as ::std::primitive::i32) {
6981                (::fbthrift::TType::Stop, _) => break,
6982                (::fbthrift::TType::List, 1) => field_space_ids = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6983                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6984                (fty, _) => p.skip(fty)?,
6985            }
6986            p.read_field_end()?;
6987        }
6988        p.read_struct_end()?;
6989        ::std::result::Result::Ok(Self {
6990            space_ids: field_space_ids.unwrap_or_default(),
6991            name: field_name.unwrap_or_default(),
6992            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6993        })
6994    }
6995}
6996
6997
6998#[allow(clippy::derivable_impls)]
6999impl ::std::default::Default for self::DropCPResp {
7000    fn default() -> Self {
7001        Self {
7002            code: ::std::default::Default::default(),
7003            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7004        }
7005    }
7006}
7007
7008impl ::std::fmt::Debug for self::DropCPResp {
7009    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7010        formatter
7011            .debug_struct("DropCPResp")
7012            .field("code", &self.code)
7013            .finish()
7014    }
7015}
7016
7017unsafe impl ::std::marker::Send for self::DropCPResp {}
7018unsafe impl ::std::marker::Sync for self::DropCPResp {}
7019
7020impl ::fbthrift::GetTType for self::DropCPResp {
7021    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7022}
7023
7024impl<P> ::fbthrift::Serialize<P> for self::DropCPResp
7025where
7026    P: ::fbthrift::ProtocolWriter,
7027{
7028    fn write(&self, p: &mut P) {
7029        p.write_struct_begin("DropCPResp");
7030        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7031        ::fbthrift::Serialize::write(&self.code, p);
7032        p.write_field_end();
7033        p.write_field_stop();
7034        p.write_struct_end();
7035    }
7036}
7037
7038impl<P> ::fbthrift::Deserialize<P> for self::DropCPResp
7039where
7040    P: ::fbthrift::ProtocolReader,
7041{
7042    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7043        static FIELDS: &[::fbthrift::Field] = &[
7044            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7045        ];
7046        let mut field_code = ::std::option::Option::None;
7047        let _ = p.read_struct_begin(|_| ())?;
7048        loop {
7049            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7050            match (fty, fid as ::std::primitive::i32) {
7051                (::fbthrift::TType::Stop, _) => break,
7052                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7053                (fty, _) => p.skip(fty)?,
7054            }
7055            p.read_field_end()?;
7056        }
7057        p.read_struct_end()?;
7058        ::std::result::Result::Ok(Self {
7059            code: field_code.unwrap_or_default(),
7060            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7061        })
7062    }
7063}
7064
7065
7066#[allow(clippy::derivable_impls)]
7067impl ::std::default::Default for self::BlockingSignRequest {
7068    fn default() -> Self {
7069        Self {
7070            space_ids: ::std::default::Default::default(),
7071            sign: ::std::default::Default::default(),
7072            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7073        }
7074    }
7075}
7076
7077impl ::std::fmt::Debug for self::BlockingSignRequest {
7078    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7079        formatter
7080            .debug_struct("BlockingSignRequest")
7081            .field("space_ids", &self.space_ids)
7082            .field("sign", &self.sign)
7083            .finish()
7084    }
7085}
7086
7087unsafe impl ::std::marker::Send for self::BlockingSignRequest {}
7088unsafe impl ::std::marker::Sync for self::BlockingSignRequest {}
7089
7090impl ::fbthrift::GetTType for self::BlockingSignRequest {
7091    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7092}
7093
7094impl<P> ::fbthrift::Serialize<P> for self::BlockingSignRequest
7095where
7096    P: ::fbthrift::ProtocolWriter,
7097{
7098    fn write(&self, p: &mut P) {
7099        p.write_struct_begin("BlockingSignRequest");
7100        p.write_field_begin("space_ids", ::fbthrift::TType::List, 1);
7101        ::fbthrift::Serialize::write(&self.space_ids, p);
7102        p.write_field_end();
7103        p.write_field_begin("sign", ::fbthrift::TType::I32, 2);
7104        ::fbthrift::Serialize::write(&self.sign, p);
7105        p.write_field_end();
7106        p.write_field_stop();
7107        p.write_struct_end();
7108    }
7109}
7110
7111impl<P> ::fbthrift::Deserialize<P> for self::BlockingSignRequest
7112where
7113    P: ::fbthrift::ProtocolReader,
7114{
7115    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7116        static FIELDS: &[::fbthrift::Field] = &[
7117            ::fbthrift::Field::new("sign", ::fbthrift::TType::I32, 2),
7118            ::fbthrift::Field::new("space_ids", ::fbthrift::TType::List, 1),
7119        ];
7120        let mut field_space_ids = ::std::option::Option::None;
7121        let mut field_sign = ::std::option::Option::None;
7122        let _ = p.read_struct_begin(|_| ())?;
7123        loop {
7124            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7125            match (fty, fid as ::std::primitive::i32) {
7126                (::fbthrift::TType::Stop, _) => break,
7127                (::fbthrift::TType::List, 1) => field_space_ids = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7128                (::fbthrift::TType::I32, 2) => field_sign = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7129                (fty, _) => p.skip(fty)?,
7130            }
7131            p.read_field_end()?;
7132        }
7133        p.read_struct_end()?;
7134        ::std::result::Result::Ok(Self {
7135            space_ids: field_space_ids.unwrap_or_default(),
7136            sign: field_sign.unwrap_or_default(),
7137            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7138        })
7139    }
7140}
7141
7142
7143#[allow(clippy::derivable_impls)]
7144impl ::std::default::Default for self::BlockingSignResp {
7145    fn default() -> Self {
7146        Self {
7147            code: ::std::default::Default::default(),
7148            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7149        }
7150    }
7151}
7152
7153impl ::std::fmt::Debug for self::BlockingSignResp {
7154    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7155        formatter
7156            .debug_struct("BlockingSignResp")
7157            .field("code", &self.code)
7158            .finish()
7159    }
7160}
7161
7162unsafe impl ::std::marker::Send for self::BlockingSignResp {}
7163unsafe impl ::std::marker::Sync for self::BlockingSignResp {}
7164
7165impl ::fbthrift::GetTType for self::BlockingSignResp {
7166    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7167}
7168
7169impl<P> ::fbthrift::Serialize<P> for self::BlockingSignResp
7170where
7171    P: ::fbthrift::ProtocolWriter,
7172{
7173    fn write(&self, p: &mut P) {
7174        p.write_struct_begin("BlockingSignResp");
7175        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7176        ::fbthrift::Serialize::write(&self.code, p);
7177        p.write_field_end();
7178        p.write_field_stop();
7179        p.write_struct_end();
7180    }
7181}
7182
7183impl<P> ::fbthrift::Deserialize<P> for self::BlockingSignResp
7184where
7185    P: ::fbthrift::ProtocolReader,
7186{
7187    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7188        static FIELDS: &[::fbthrift::Field] = &[
7189            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7190        ];
7191        let mut field_code = ::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                (fty, _) => p.skip(fty)?,
7199            }
7200            p.read_field_end()?;
7201        }
7202        p.read_struct_end()?;
7203        ::std::result::Result::Ok(Self {
7204            code: field_code.unwrap_or_default(),
7205            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7206        })
7207    }
7208}
7209
7210
7211#[allow(clippy::derivable_impls)]
7212impl ::std::default::Default for self::GetLeaderPartsResp {
7213    fn default() -> Self {
7214        Self {
7215            code: ::std::default::Default::default(),
7216            leader_parts: ::std::default::Default::default(),
7217            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7218        }
7219    }
7220}
7221
7222impl ::std::fmt::Debug for self::GetLeaderPartsResp {
7223    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7224        formatter
7225            .debug_struct("GetLeaderPartsResp")
7226            .field("code", &self.code)
7227            .field("leader_parts", &self.leader_parts)
7228            .finish()
7229    }
7230}
7231
7232unsafe impl ::std::marker::Send for self::GetLeaderPartsResp {}
7233unsafe impl ::std::marker::Sync for self::GetLeaderPartsResp {}
7234
7235impl ::fbthrift::GetTType for self::GetLeaderPartsResp {
7236    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7237}
7238
7239impl<P> ::fbthrift::Serialize<P> for self::GetLeaderPartsResp
7240where
7241    P: ::fbthrift::ProtocolWriter,
7242{
7243    fn write(&self, p: &mut P) {
7244        p.write_struct_begin("GetLeaderPartsResp");
7245        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7246        ::fbthrift::Serialize::write(&self.code, p);
7247        p.write_field_end();
7248        p.write_field_begin("leader_parts", ::fbthrift::TType::Map, 2);
7249        ::fbthrift::Serialize::write(&self.leader_parts, p);
7250        p.write_field_end();
7251        p.write_field_stop();
7252        p.write_struct_end();
7253    }
7254}
7255
7256impl<P> ::fbthrift::Deserialize<P> for self::GetLeaderPartsResp
7257where
7258    P: ::fbthrift::ProtocolReader,
7259{
7260    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7261        static FIELDS: &[::fbthrift::Field] = &[
7262            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7263            ::fbthrift::Field::new("leader_parts", ::fbthrift::TType::Map, 2),
7264        ];
7265        let mut field_code = ::std::option::Option::None;
7266        let mut field_leader_parts = ::std::option::Option::None;
7267        let _ = p.read_struct_begin(|_| ())?;
7268        loop {
7269            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7270            match (fty, fid as ::std::primitive::i32) {
7271                (::fbthrift::TType::Stop, _) => break,
7272                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7273                (::fbthrift::TType::Map, 2) => field_leader_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7274                (fty, _) => p.skip(fty)?,
7275            }
7276            p.read_field_end()?;
7277        }
7278        p.read_struct_end()?;
7279        ::std::result::Result::Ok(Self {
7280            code: field_code.unwrap_or_default(),
7281            leader_parts: field_leader_parts.unwrap_or_default(),
7282            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7283        })
7284    }
7285}
7286
7287
7288#[allow(clippy::derivable_impls)]
7289impl ::std::default::Default for self::CheckPeersReq {
7290    fn default() -> Self {
7291        Self {
7292            space_id: ::std::default::Default::default(),
7293            part_id: ::std::default::Default::default(),
7294            peers: ::std::default::Default::default(),
7295            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7296        }
7297    }
7298}
7299
7300impl ::std::fmt::Debug for self::CheckPeersReq {
7301    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7302        formatter
7303            .debug_struct("CheckPeersReq")
7304            .field("space_id", &self.space_id)
7305            .field("part_id", &self.part_id)
7306            .field("peers", &self.peers)
7307            .finish()
7308    }
7309}
7310
7311unsafe impl ::std::marker::Send for self::CheckPeersReq {}
7312unsafe impl ::std::marker::Sync for self::CheckPeersReq {}
7313
7314impl ::fbthrift::GetTType for self::CheckPeersReq {
7315    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7316}
7317
7318impl<P> ::fbthrift::Serialize<P> for self::CheckPeersReq
7319where
7320    P: ::fbthrift::ProtocolWriter,
7321{
7322    fn write(&self, p: &mut P) {
7323        p.write_struct_begin("CheckPeersReq");
7324        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7325        ::fbthrift::Serialize::write(&self.space_id, p);
7326        p.write_field_end();
7327        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
7328        ::fbthrift::Serialize::write(&self.part_id, p);
7329        p.write_field_end();
7330        p.write_field_begin("peers", ::fbthrift::TType::List, 3);
7331        ::fbthrift::Serialize::write(&self.peers, p);
7332        p.write_field_end();
7333        p.write_field_stop();
7334        p.write_struct_end();
7335    }
7336}
7337
7338impl<P> ::fbthrift::Deserialize<P> for self::CheckPeersReq
7339where
7340    P: ::fbthrift::ProtocolReader,
7341{
7342    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7343        static FIELDS: &[::fbthrift::Field] = &[
7344            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
7345            ::fbthrift::Field::new("peers", ::fbthrift::TType::List, 3),
7346            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7347        ];
7348        let mut field_space_id = ::std::option::Option::None;
7349        let mut field_part_id = ::std::option::Option::None;
7350        let mut field_peers = ::std::option::Option::None;
7351        let _ = p.read_struct_begin(|_| ())?;
7352        loop {
7353            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7354            match (fty, fid as ::std::primitive::i32) {
7355                (::fbthrift::TType::Stop, _) => break,
7356                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7357                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7358                (::fbthrift::TType::List, 3) => field_peers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7359                (fty, _) => p.skip(fty)?,
7360            }
7361            p.read_field_end()?;
7362        }
7363        p.read_struct_end()?;
7364        ::std::result::Result::Ok(Self {
7365            space_id: field_space_id.unwrap_or_default(),
7366            part_id: field_part_id.unwrap_or_default(),
7367            peers: field_peers.unwrap_or_default(),
7368            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7369        })
7370    }
7371}
7372
7373
7374#[allow(clippy::derivable_impls)]
7375impl ::std::default::Default for self::RebuildIndexRequest {
7376    fn default() -> Self {
7377        Self {
7378            space_id: ::std::default::Default::default(),
7379            parts: ::std::default::Default::default(),
7380            index_id: ::std::default::Default::default(),
7381            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7382        }
7383    }
7384}
7385
7386impl ::std::fmt::Debug for self::RebuildIndexRequest {
7387    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7388        formatter
7389            .debug_struct("RebuildIndexRequest")
7390            .field("space_id", &self.space_id)
7391            .field("parts", &self.parts)
7392            .field("index_id", &self.index_id)
7393            .finish()
7394    }
7395}
7396
7397unsafe impl ::std::marker::Send for self::RebuildIndexRequest {}
7398unsafe impl ::std::marker::Sync for self::RebuildIndexRequest {}
7399
7400impl ::fbthrift::GetTType for self::RebuildIndexRequest {
7401    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7402}
7403
7404impl<P> ::fbthrift::Serialize<P> for self::RebuildIndexRequest
7405where
7406    P: ::fbthrift::ProtocolWriter,
7407{
7408    fn write(&self, p: &mut P) {
7409        p.write_struct_begin("RebuildIndexRequest");
7410        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7411        ::fbthrift::Serialize::write(&self.space_id, p);
7412        p.write_field_end();
7413        p.write_field_begin("parts", ::fbthrift::TType::List, 2);
7414        ::fbthrift::Serialize::write(&self.parts, p);
7415        p.write_field_end();
7416        p.write_field_begin("index_id", ::fbthrift::TType::I32, 3);
7417        ::fbthrift::Serialize::write(&self.index_id, p);
7418        p.write_field_end();
7419        p.write_field_stop();
7420        p.write_struct_end();
7421    }
7422}
7423
7424impl<P> ::fbthrift::Deserialize<P> for self::RebuildIndexRequest
7425where
7426    P: ::fbthrift::ProtocolReader,
7427{
7428    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7429        static FIELDS: &[::fbthrift::Field] = &[
7430            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 3),
7431            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
7432            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7433        ];
7434        let mut field_space_id = ::std::option::Option::None;
7435        let mut field_parts = ::std::option::Option::None;
7436        let mut field_index_id = ::std::option::Option::None;
7437        let _ = p.read_struct_begin(|_| ())?;
7438        loop {
7439            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7440            match (fty, fid as ::std::primitive::i32) {
7441                (::fbthrift::TType::Stop, _) => break,
7442                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7443                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7444                (::fbthrift::TType::I32, 3) => field_index_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7445                (fty, _) => p.skip(fty)?,
7446            }
7447            p.read_field_end()?;
7448        }
7449        p.read_struct_end()?;
7450        ::std::result::Result::Ok(Self {
7451            space_id: field_space_id.unwrap_or_default(),
7452            parts: field_parts.unwrap_or_default(),
7453            index_id: field_index_id.unwrap_or_default(),
7454            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7455        })
7456    }
7457}
7458
7459
7460#[allow(clippy::derivable_impls)]
7461impl ::std::default::Default for self::ListClusterInfoResp {
7462    fn default() -> Self {
7463        Self {
7464            result: ::std::default::Default::default(),
7465            dir: ::std::default::Default::default(),
7466            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7467        }
7468    }
7469}
7470
7471impl ::std::fmt::Debug for self::ListClusterInfoResp {
7472    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7473        formatter
7474            .debug_struct("ListClusterInfoResp")
7475            .field("result", &self.result)
7476            .field("dir", &self.dir)
7477            .finish()
7478    }
7479}
7480
7481unsafe impl ::std::marker::Send for self::ListClusterInfoResp {}
7482unsafe impl ::std::marker::Sync for self::ListClusterInfoResp {}
7483
7484impl ::fbthrift::GetTType for self::ListClusterInfoResp {
7485    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7486}
7487
7488impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoResp
7489where
7490    P: ::fbthrift::ProtocolWriter,
7491{
7492    fn write(&self, p: &mut P) {
7493        p.write_struct_begin("ListClusterInfoResp");
7494        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
7495        ::fbthrift::Serialize::write(&self.result, p);
7496        p.write_field_end();
7497        p.write_field_begin("dir", ::fbthrift::TType::Struct, 2);
7498        ::fbthrift::Serialize::write(&self.dir, p);
7499        p.write_field_end();
7500        p.write_field_stop();
7501        p.write_struct_end();
7502    }
7503}
7504
7505impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoResp
7506where
7507    P: ::fbthrift::ProtocolReader,
7508{
7509    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7510        static FIELDS: &[::fbthrift::Field] = &[
7511            ::fbthrift::Field::new("dir", ::fbthrift::TType::Struct, 2),
7512            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
7513        ];
7514        let mut field_result = ::std::option::Option::None;
7515        let mut field_dir = ::std::option::Option::None;
7516        let _ = p.read_struct_begin(|_| ())?;
7517        loop {
7518            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7519            match (fty, fid as ::std::primitive::i32) {
7520                (::fbthrift::TType::Stop, _) => break,
7521                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7522                (::fbthrift::TType::Struct, 2) => field_dir = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7523                (fty, _) => p.skip(fty)?,
7524            }
7525            p.read_field_end()?;
7526        }
7527        p.read_struct_end()?;
7528        ::std::result::Result::Ok(Self {
7529            result: field_result.unwrap_or_default(),
7530            dir: field_dir.unwrap_or_default(),
7531            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7532        })
7533    }
7534}
7535
7536
7537#[allow(clippy::derivable_impls)]
7538impl ::std::default::Default for self::ListClusterInfoReq {
7539    fn default() -> Self {
7540        Self {
7541            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7542        }
7543    }
7544}
7545
7546impl ::std::fmt::Debug for self::ListClusterInfoReq {
7547    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7548        formatter
7549            .debug_struct("ListClusterInfoReq")
7550            .finish()
7551    }
7552}
7553
7554unsafe impl ::std::marker::Send for self::ListClusterInfoReq {}
7555unsafe impl ::std::marker::Sync for self::ListClusterInfoReq {}
7556
7557impl ::fbthrift::GetTType for self::ListClusterInfoReq {
7558    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7559}
7560
7561impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoReq
7562where
7563    P: ::fbthrift::ProtocolWriter,
7564{
7565    fn write(&self, p: &mut P) {
7566        p.write_struct_begin("ListClusterInfoReq");
7567        p.write_field_stop();
7568        p.write_struct_end();
7569    }
7570}
7571
7572impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoReq
7573where
7574    P: ::fbthrift::ProtocolReader,
7575{
7576    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7577        static FIELDS: &[::fbthrift::Field] = &[
7578        ];
7579        let _ = p.read_struct_begin(|_| ())?;
7580        loop {
7581            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7582            match (fty, fid as ::std::primitive::i32) {
7583                (::fbthrift::TType::Stop, _) => break,
7584                (fty, _) => p.skip(fty)?,
7585            }
7586            p.read_field_end()?;
7587        }
7588        p.read_struct_end()?;
7589        ::std::result::Result::Ok(Self {
7590            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7591        })
7592    }
7593}
7594
7595
7596#[allow(clippy::derivable_impls)]
7597impl ::std::default::Default for self::AddTaskRequest {
7598    fn default() -> Self {
7599        Self {
7600            job_type: ::std::default::Default::default(),
7601            job_id: ::std::default::Default::default(),
7602            task_id: ::std::default::Default::default(),
7603            para: ::std::default::Default::default(),
7604            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7605        }
7606    }
7607}
7608
7609impl ::std::fmt::Debug for self::AddTaskRequest {
7610    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7611        formatter
7612            .debug_struct("AddTaskRequest")
7613            .field("job_type", &self.job_type)
7614            .field("job_id", &self.job_id)
7615            .field("task_id", &self.task_id)
7616            .field("para", &self.para)
7617            .finish()
7618    }
7619}
7620
7621unsafe impl ::std::marker::Send for self::AddTaskRequest {}
7622unsafe impl ::std::marker::Sync for self::AddTaskRequest {}
7623
7624impl ::fbthrift::GetTType for self::AddTaskRequest {
7625    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7626}
7627
7628impl<P> ::fbthrift::Serialize<P> for self::AddTaskRequest
7629where
7630    P: ::fbthrift::ProtocolWriter,
7631{
7632    fn write(&self, p: &mut P) {
7633        p.write_struct_begin("AddTaskRequest");
7634        p.write_field_begin("job_type", ::fbthrift::TType::I32, 1);
7635        ::fbthrift::Serialize::write(&self.job_type, p);
7636        p.write_field_end();
7637        p.write_field_begin("job_id", ::fbthrift::TType::I32, 2);
7638        ::fbthrift::Serialize::write(&self.job_id, p);
7639        p.write_field_end();
7640        p.write_field_begin("task_id", ::fbthrift::TType::I32, 3);
7641        ::fbthrift::Serialize::write(&self.task_id, p);
7642        p.write_field_end();
7643        p.write_field_begin("para", ::fbthrift::TType::Struct, 4);
7644        ::fbthrift::Serialize::write(&self.para, p);
7645        p.write_field_end();
7646        p.write_field_stop();
7647        p.write_struct_end();
7648    }
7649}
7650
7651impl<P> ::fbthrift::Deserialize<P> for self::AddTaskRequest
7652where
7653    P: ::fbthrift::ProtocolReader,
7654{
7655    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7656        static FIELDS: &[::fbthrift::Field] = &[
7657            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 2),
7658            ::fbthrift::Field::new("job_type", ::fbthrift::TType::I32, 1),
7659            ::fbthrift::Field::new("para", ::fbthrift::TType::Struct, 4),
7660            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 3),
7661        ];
7662        let mut field_job_type = ::std::option::Option::None;
7663        let mut field_job_id = ::std::option::Option::None;
7664        let mut field_task_id = ::std::option::Option::None;
7665        let mut field_para = ::std::option::Option::None;
7666        let _ = p.read_struct_begin(|_| ())?;
7667        loop {
7668            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7669            match (fty, fid as ::std::primitive::i32) {
7670                (::fbthrift::TType::Stop, _) => break,
7671                (::fbthrift::TType::I32, 1) => field_job_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7672                (::fbthrift::TType::I32, 2) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7673                (::fbthrift::TType::I32, 3) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7674                (::fbthrift::TType::Struct, 4) => field_para = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7675                (fty, _) => p.skip(fty)?,
7676            }
7677            p.read_field_end()?;
7678        }
7679        p.read_struct_end()?;
7680        ::std::result::Result::Ok(Self {
7681            job_type: field_job_type.unwrap_or_default(),
7682            job_id: field_job_id.unwrap_or_default(),
7683            task_id: field_task_id.unwrap_or_default(),
7684            para: field_para.unwrap_or_default(),
7685            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7686        })
7687    }
7688}
7689
7690
7691#[allow(clippy::derivable_impls)]
7692impl ::std::default::Default for self::AddTaskResp {
7693    fn default() -> Self {
7694        Self {
7695            code: ::std::default::Default::default(),
7696            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7697        }
7698    }
7699}
7700
7701impl ::std::fmt::Debug for self::AddTaskResp {
7702    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7703        formatter
7704            .debug_struct("AddTaskResp")
7705            .field("code", &self.code)
7706            .finish()
7707    }
7708}
7709
7710unsafe impl ::std::marker::Send for self::AddTaskResp {}
7711unsafe impl ::std::marker::Sync for self::AddTaskResp {}
7712
7713impl ::fbthrift::GetTType for self::AddTaskResp {
7714    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7715}
7716
7717impl<P> ::fbthrift::Serialize<P> for self::AddTaskResp
7718where
7719    P: ::fbthrift::ProtocolWriter,
7720{
7721    fn write(&self, p: &mut P) {
7722        p.write_struct_begin("AddTaskResp");
7723        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7724        ::fbthrift::Serialize::write(&self.code, p);
7725        p.write_field_end();
7726        p.write_field_stop();
7727        p.write_struct_end();
7728    }
7729}
7730
7731impl<P> ::fbthrift::Deserialize<P> for self::AddTaskResp
7732where
7733    P: ::fbthrift::ProtocolReader,
7734{
7735    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7736        static FIELDS: &[::fbthrift::Field] = &[
7737            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7738        ];
7739        let mut field_code = ::std::option::Option::None;
7740        let _ = p.read_struct_begin(|_| ())?;
7741        loop {
7742            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7743            match (fty, fid as ::std::primitive::i32) {
7744                (::fbthrift::TType::Stop, _) => break,
7745                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7746                (fty, _) => p.skip(fty)?,
7747            }
7748            p.read_field_end()?;
7749        }
7750        p.read_struct_end()?;
7751        ::std::result::Result::Ok(Self {
7752            code: field_code.unwrap_or_default(),
7753            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7754        })
7755    }
7756}
7757
7758
7759#[allow(clippy::derivable_impls)]
7760impl ::std::default::Default for self::StopTaskRequest {
7761    fn default() -> Self {
7762        Self {
7763            job_id: ::std::default::Default::default(),
7764            task_id: ::std::default::Default::default(),
7765            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7766        }
7767    }
7768}
7769
7770impl ::std::fmt::Debug for self::StopTaskRequest {
7771    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7772        formatter
7773            .debug_struct("StopTaskRequest")
7774            .field("job_id", &self.job_id)
7775            .field("task_id", &self.task_id)
7776            .finish()
7777    }
7778}
7779
7780unsafe impl ::std::marker::Send for self::StopTaskRequest {}
7781unsafe impl ::std::marker::Sync for self::StopTaskRequest {}
7782
7783impl ::fbthrift::GetTType for self::StopTaskRequest {
7784    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7785}
7786
7787impl<P> ::fbthrift::Serialize<P> for self::StopTaskRequest
7788where
7789    P: ::fbthrift::ProtocolWriter,
7790{
7791    fn write(&self, p: &mut P) {
7792        p.write_struct_begin("StopTaskRequest");
7793        p.write_field_begin("job_id", ::fbthrift::TType::I32, 1);
7794        ::fbthrift::Serialize::write(&self.job_id, p);
7795        p.write_field_end();
7796        p.write_field_begin("task_id", ::fbthrift::TType::I32, 2);
7797        ::fbthrift::Serialize::write(&self.task_id, p);
7798        p.write_field_end();
7799        p.write_field_stop();
7800        p.write_struct_end();
7801    }
7802}
7803
7804impl<P> ::fbthrift::Deserialize<P> for self::StopTaskRequest
7805where
7806    P: ::fbthrift::ProtocolReader,
7807{
7808    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7809        static FIELDS: &[::fbthrift::Field] = &[
7810            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 1),
7811            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 2),
7812        ];
7813        let mut field_job_id = ::std::option::Option::None;
7814        let mut field_task_id = ::std::option::Option::None;
7815        let _ = p.read_struct_begin(|_| ())?;
7816        loop {
7817            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7818            match (fty, fid as ::std::primitive::i32) {
7819                (::fbthrift::TType::Stop, _) => break,
7820                (::fbthrift::TType::I32, 1) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7821                (::fbthrift::TType::I32, 2) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7822                (fty, _) => p.skip(fty)?,
7823            }
7824            p.read_field_end()?;
7825        }
7826        p.read_struct_end()?;
7827        ::std::result::Result::Ok(Self {
7828            job_id: field_job_id.unwrap_or_default(),
7829            task_id: field_task_id.unwrap_or_default(),
7830            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7831        })
7832    }
7833}
7834
7835
7836#[allow(clippy::derivable_impls)]
7837impl ::std::default::Default for self::StopTaskResp {
7838    fn default() -> Self {
7839        Self {
7840            code: ::std::default::Default::default(),
7841            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7842        }
7843    }
7844}
7845
7846impl ::std::fmt::Debug for self::StopTaskResp {
7847    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7848        formatter
7849            .debug_struct("StopTaskResp")
7850            .field("code", &self.code)
7851            .finish()
7852    }
7853}
7854
7855unsafe impl ::std::marker::Send for self::StopTaskResp {}
7856unsafe impl ::std::marker::Sync for self::StopTaskResp {}
7857
7858impl ::fbthrift::GetTType for self::StopTaskResp {
7859    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7860}
7861
7862impl<P> ::fbthrift::Serialize<P> for self::StopTaskResp
7863where
7864    P: ::fbthrift::ProtocolWriter,
7865{
7866    fn write(&self, p: &mut P) {
7867        p.write_struct_begin("StopTaskResp");
7868        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
7869        ::fbthrift::Serialize::write(&self.code, p);
7870        p.write_field_end();
7871        p.write_field_stop();
7872        p.write_struct_end();
7873    }
7874}
7875
7876impl<P> ::fbthrift::Deserialize<P> for self::StopTaskResp
7877where
7878    P: ::fbthrift::ProtocolReader,
7879{
7880    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7881        static FIELDS: &[::fbthrift::Field] = &[
7882            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
7883        ];
7884        let mut field_code = ::std::option::Option::None;
7885        let _ = p.read_struct_begin(|_| ())?;
7886        loop {
7887            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7888            match (fty, fid as ::std::primitive::i32) {
7889                (::fbthrift::TType::Stop, _) => break,
7890                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7891                (fty, _) => p.skip(fty)?,
7892            }
7893            p.read_field_end()?;
7894        }
7895        p.read_struct_end()?;
7896        ::std::result::Result::Ok(Self {
7897            code: field_code.unwrap_or_default(),
7898            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7899        })
7900    }
7901}
7902
7903
7904#[allow(clippy::derivable_impls)]
7905impl ::std::default::Default for self::ClearSpaceReq {
7906    fn default() -> Self {
7907        Self {
7908            space_id: ::std::default::Default::default(),
7909            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7910        }
7911    }
7912}
7913
7914impl ::std::fmt::Debug for self::ClearSpaceReq {
7915    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7916        formatter
7917            .debug_struct("ClearSpaceReq")
7918            .field("space_id", &self.space_id)
7919            .finish()
7920    }
7921}
7922
7923unsafe impl ::std::marker::Send for self::ClearSpaceReq {}
7924unsafe impl ::std::marker::Sync for self::ClearSpaceReq {}
7925
7926impl ::fbthrift::GetTType for self::ClearSpaceReq {
7927    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7928}
7929
7930impl<P> ::fbthrift::Serialize<P> for self::ClearSpaceReq
7931where
7932    P: ::fbthrift::ProtocolWriter,
7933{
7934    fn write(&self, p: &mut P) {
7935        p.write_struct_begin("ClearSpaceReq");
7936        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7937        ::fbthrift::Serialize::write(&self.space_id, p);
7938        p.write_field_end();
7939        p.write_field_stop();
7940        p.write_struct_end();
7941    }
7942}
7943
7944impl<P> ::fbthrift::Deserialize<P> for self::ClearSpaceReq
7945where
7946    P: ::fbthrift::ProtocolReader,
7947{
7948    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7949        static FIELDS: &[::fbthrift::Field] = &[
7950            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7951        ];
7952        let mut field_space_id = ::std::option::Option::None;
7953        let _ = p.read_struct_begin(|_| ())?;
7954        loop {
7955            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7956            match (fty, fid as ::std::primitive::i32) {
7957                (::fbthrift::TType::Stop, _) => break,
7958                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7959                (fty, _) => p.skip(fty)?,
7960            }
7961            p.read_field_end()?;
7962        }
7963        p.read_struct_end()?;
7964        ::std::result::Result::Ok(Self {
7965            space_id: field_space_id.unwrap_or_default(),
7966            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7967        })
7968    }
7969}
7970
7971
7972#[allow(clippy::derivable_impls)]
7973impl ::std::default::Default for self::ClearSpaceResp {
7974    fn default() -> Self {
7975        Self {
7976            code: ::std::default::Default::default(),
7977            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7978        }
7979    }
7980}
7981
7982impl ::std::fmt::Debug for self::ClearSpaceResp {
7983    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7984        formatter
7985            .debug_struct("ClearSpaceResp")
7986            .field("code", &self.code)
7987            .finish()
7988    }
7989}
7990
7991unsafe impl ::std::marker::Send for self::ClearSpaceResp {}
7992unsafe impl ::std::marker::Sync for self::ClearSpaceResp {}
7993
7994impl ::fbthrift::GetTType for self::ClearSpaceResp {
7995    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7996}
7997
7998impl<P> ::fbthrift::Serialize<P> for self::ClearSpaceResp
7999where
8000    P: ::fbthrift::ProtocolWriter,
8001{
8002    fn write(&self, p: &mut P) {
8003        p.write_struct_begin("ClearSpaceResp");
8004        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
8005        ::fbthrift::Serialize::write(&self.code, p);
8006        p.write_field_end();
8007        p.write_field_stop();
8008        p.write_struct_end();
8009    }
8010}
8011
8012impl<P> ::fbthrift::Deserialize<P> for self::ClearSpaceResp
8013where
8014    P: ::fbthrift::ProtocolReader,
8015{
8016    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8017        static FIELDS: &[::fbthrift::Field] = &[
8018            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
8019        ];
8020        let mut field_code = ::std::option::Option::None;
8021        let _ = p.read_struct_begin(|_| ())?;
8022        loop {
8023            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8024            match (fty, fid as ::std::primitive::i32) {
8025                (::fbthrift::TType::Stop, _) => break,
8026                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8027                (fty, _) => p.skip(fty)?,
8028            }
8029            p.read_field_end()?;
8030        }
8031        p.read_struct_end()?;
8032        ::std::result::Result::Ok(Self {
8033            code: field_code.unwrap_or_default(),
8034            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8035        })
8036    }
8037}
8038
8039
8040#[allow(clippy::derivable_impls)]
8041impl ::std::default::Default for self::ChainAddEdgesRequest {
8042    fn default() -> Self {
8043        Self {
8044            space_id: ::std::default::Default::default(),
8045            parts: ::std::default::Default::default(),
8046            prop_names: ::std::default::Default::default(),
8047            if_not_exists: ::std::default::Default::default(),
8048            term: ::std::default::Default::default(),
8049            edge_version: ::std::option::Option::None,
8050            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8051        }
8052    }
8053}
8054
8055impl ::std::fmt::Debug for self::ChainAddEdgesRequest {
8056    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8057        formatter
8058            .debug_struct("ChainAddEdgesRequest")
8059            .field("space_id", &self.space_id)
8060            .field("parts", &self.parts)
8061            .field("prop_names", &self.prop_names)
8062            .field("if_not_exists", &self.if_not_exists)
8063            .field("term", &self.term)
8064            .field("edge_version", &self.edge_version)
8065            .finish()
8066    }
8067}
8068
8069unsafe impl ::std::marker::Send for self::ChainAddEdgesRequest {}
8070unsafe impl ::std::marker::Sync for self::ChainAddEdgesRequest {}
8071
8072impl ::fbthrift::GetTType for self::ChainAddEdgesRequest {
8073    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8074}
8075
8076impl<P> ::fbthrift::Serialize<P> for self::ChainAddEdgesRequest
8077where
8078    P: ::fbthrift::ProtocolWriter,
8079{
8080    fn write(&self, p: &mut P) {
8081        p.write_struct_begin("ChainAddEdgesRequest");
8082        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8083        ::fbthrift::Serialize::write(&self.space_id, p);
8084        p.write_field_end();
8085        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
8086        ::fbthrift::Serialize::write(&self.parts, p);
8087        p.write_field_end();
8088        p.write_field_begin("prop_names", ::fbthrift::TType::List, 3);
8089        ::fbthrift::Serialize::write(&self.prop_names, p);
8090        p.write_field_end();
8091        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
8092        ::fbthrift::Serialize::write(&self.if_not_exists, p);
8093        p.write_field_end();
8094        p.write_field_begin("term", ::fbthrift::TType::I64, 5);
8095        ::fbthrift::Serialize::write(&self.term, p);
8096        p.write_field_end();
8097        if let ::std::option::Option::Some(some) = &self.edge_version {
8098            p.write_field_begin("edge_version", ::fbthrift::TType::I64, 6);
8099            ::fbthrift::Serialize::write(some, p);
8100            p.write_field_end();
8101        }
8102        p.write_field_stop();
8103        p.write_struct_end();
8104    }
8105}
8106
8107impl<P> ::fbthrift::Deserialize<P> for self::ChainAddEdgesRequest
8108where
8109    P: ::fbthrift::ProtocolReader,
8110{
8111    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8112        static FIELDS: &[::fbthrift::Field] = &[
8113            ::fbthrift::Field::new("edge_version", ::fbthrift::TType::I64, 6),
8114            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
8115            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
8116            ::fbthrift::Field::new("prop_names", ::fbthrift::TType::List, 3),
8117            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8118            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 5),
8119        ];
8120        let mut field_space_id = ::std::option::Option::None;
8121        let mut field_parts = ::std::option::Option::None;
8122        let mut field_prop_names = ::std::option::Option::None;
8123        let mut field_if_not_exists = ::std::option::Option::None;
8124        let mut field_term = ::std::option::Option::None;
8125        let mut field_edge_version = ::std::option::Option::None;
8126        let _ = p.read_struct_begin(|_| ())?;
8127        loop {
8128            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8129            match (fty, fid as ::std::primitive::i32) {
8130                (::fbthrift::TType::Stop, _) => break,
8131                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8132                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8133                (::fbthrift::TType::List, 3) => field_prop_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8134                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8135                (::fbthrift::TType::I64, 5) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8136                (::fbthrift::TType::I64, 6) => field_edge_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8137                (fty, _) => p.skip(fty)?,
8138            }
8139            p.read_field_end()?;
8140        }
8141        p.read_struct_end()?;
8142        ::std::result::Result::Ok(Self {
8143            space_id: field_space_id.unwrap_or_default(),
8144            parts: field_parts.unwrap_or_default(),
8145            prop_names: field_prop_names.unwrap_or_default(),
8146            if_not_exists: field_if_not_exists.unwrap_or_default(),
8147            term: field_term.unwrap_or_default(),
8148            edge_version: field_edge_version,
8149            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8150        })
8151    }
8152}
8153
8154
8155#[allow(clippy::derivable_impls)]
8156impl ::std::default::Default for self::ChainUpdateEdgeRequest {
8157    fn default() -> Self {
8158        Self {
8159            update_edge_request: ::std::default::Default::default(),
8160            term: ::std::default::Default::default(),
8161            edge_version: ::std::option::Option::None,
8162            space_id: ::std::default::Default::default(),
8163            parts: ::std::default::Default::default(),
8164            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8165        }
8166    }
8167}
8168
8169impl ::std::fmt::Debug for self::ChainUpdateEdgeRequest {
8170    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8171        formatter
8172            .debug_struct("ChainUpdateEdgeRequest")
8173            .field("update_edge_request", &self.update_edge_request)
8174            .field("term", &self.term)
8175            .field("edge_version", &self.edge_version)
8176            .field("space_id", &self.space_id)
8177            .field("parts", &self.parts)
8178            .finish()
8179    }
8180}
8181
8182unsafe impl ::std::marker::Send for self::ChainUpdateEdgeRequest {}
8183unsafe impl ::std::marker::Sync for self::ChainUpdateEdgeRequest {}
8184
8185impl ::fbthrift::GetTType for self::ChainUpdateEdgeRequest {
8186    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8187}
8188
8189impl<P> ::fbthrift::Serialize<P> for self::ChainUpdateEdgeRequest
8190where
8191    P: ::fbthrift::ProtocolWriter,
8192{
8193    fn write(&self, p: &mut P) {
8194        p.write_struct_begin("ChainUpdateEdgeRequest");
8195        p.write_field_begin("update_edge_request", ::fbthrift::TType::Struct, 1);
8196        ::fbthrift::Serialize::write(&self.update_edge_request, p);
8197        p.write_field_end();
8198        p.write_field_begin("term", ::fbthrift::TType::I64, 2);
8199        ::fbthrift::Serialize::write(&self.term, p);
8200        p.write_field_end();
8201        if let ::std::option::Option::Some(some) = &self.edge_version {
8202            p.write_field_begin("edge_version", ::fbthrift::TType::I64, 3);
8203            ::fbthrift::Serialize::write(some, p);
8204            p.write_field_end();
8205        }
8206        p.write_field_begin("space_id", ::fbthrift::TType::I32, 4);
8207        ::fbthrift::Serialize::write(&self.space_id, p);
8208        p.write_field_end();
8209        p.write_field_begin("parts", ::fbthrift::TType::List, 5);
8210        ::fbthrift::Serialize::write(&self.parts, p);
8211        p.write_field_end();
8212        p.write_field_stop();
8213        p.write_struct_end();
8214    }
8215}
8216
8217impl<P> ::fbthrift::Deserialize<P> for self::ChainUpdateEdgeRequest
8218where
8219    P: ::fbthrift::ProtocolReader,
8220{
8221    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8222        static FIELDS: &[::fbthrift::Field] = &[
8223            ::fbthrift::Field::new("edge_version", ::fbthrift::TType::I64, 3),
8224            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 5),
8225            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 4),
8226            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 2),
8227            ::fbthrift::Field::new("update_edge_request", ::fbthrift::TType::Struct, 1),
8228        ];
8229        let mut field_update_edge_request = ::std::option::Option::None;
8230        let mut field_term = ::std::option::Option::None;
8231        let mut field_edge_version = ::std::option::Option::None;
8232        let mut field_space_id = ::std::option::Option::None;
8233        let mut field_parts = ::std::option::Option::None;
8234        let _ = p.read_struct_begin(|_| ())?;
8235        loop {
8236            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8237            match (fty, fid as ::std::primitive::i32) {
8238                (::fbthrift::TType::Stop, _) => break,
8239                (::fbthrift::TType::Struct, 1) => field_update_edge_request = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8240                (::fbthrift::TType::I64, 2) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8241                (::fbthrift::TType::I64, 3) => field_edge_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8242                (::fbthrift::TType::I32, 4) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8243                (::fbthrift::TType::List, 5) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8244                (fty, _) => p.skip(fty)?,
8245            }
8246            p.read_field_end()?;
8247        }
8248        p.read_struct_end()?;
8249        ::std::result::Result::Ok(Self {
8250            update_edge_request: field_update_edge_request.unwrap_or_default(),
8251            term: field_term.unwrap_or_default(),
8252            edge_version: field_edge_version,
8253            space_id: field_space_id.unwrap_or_default(),
8254            parts: field_parts.unwrap_or_default(),
8255            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8256        })
8257    }
8258}
8259
8260
8261#[allow(clippy::derivable_impls)]
8262impl ::std::default::Default for self::ChainDeleteEdgesRequest {
8263    fn default() -> Self {
8264        Self {
8265            space_id: ::std::default::Default::default(),
8266            parts: ::std::default::Default::default(),
8267            txn_id: ::std::default::Default::default(),
8268            term: ::std::default::Default::default(),
8269            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8270        }
8271    }
8272}
8273
8274impl ::std::fmt::Debug for self::ChainDeleteEdgesRequest {
8275    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
8276        formatter
8277            .debug_struct("ChainDeleteEdgesRequest")
8278            .field("space_id", &self.space_id)
8279            .field("parts", &self.parts)
8280            .field("txn_id", &self.txn_id)
8281            .field("term", &self.term)
8282            .finish()
8283    }
8284}
8285
8286unsafe impl ::std::marker::Send for self::ChainDeleteEdgesRequest {}
8287unsafe impl ::std::marker::Sync for self::ChainDeleteEdgesRequest {}
8288
8289impl ::fbthrift::GetTType for self::ChainDeleteEdgesRequest {
8290    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
8291}
8292
8293impl<P> ::fbthrift::Serialize<P> for self::ChainDeleteEdgesRequest
8294where
8295    P: ::fbthrift::ProtocolWriter,
8296{
8297    fn write(&self, p: &mut P) {
8298        p.write_struct_begin("ChainDeleteEdgesRequest");
8299        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
8300        ::fbthrift::Serialize::write(&self.space_id, p);
8301        p.write_field_end();
8302        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
8303        ::fbthrift::Serialize::write(&self.parts, p);
8304        p.write_field_end();
8305        p.write_field_begin("txn_id", ::fbthrift::TType::String, 3);
8306        ::fbthrift::Serialize::write(&self.txn_id, p);
8307        p.write_field_end();
8308        p.write_field_begin("term", ::fbthrift::TType::I64, 4);
8309        ::fbthrift::Serialize::write(&self.term, p);
8310        p.write_field_end();
8311        p.write_field_stop();
8312        p.write_struct_end();
8313    }
8314}
8315
8316impl<P> ::fbthrift::Deserialize<P> for self::ChainDeleteEdgesRequest
8317where
8318    P: ::fbthrift::ProtocolReader,
8319{
8320    fn read(p: &mut P) -> ::anyhow::Result<Self> {
8321        static FIELDS: &[::fbthrift::Field] = &[
8322            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
8323            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
8324            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 4),
8325            ::fbthrift::Field::new("txn_id", ::fbthrift::TType::String, 3),
8326        ];
8327        let mut field_space_id = ::std::option::Option::None;
8328        let mut field_parts = ::std::option::Option::None;
8329        let mut field_txn_id = ::std::option::Option::None;
8330        let mut field_term = ::std::option::Option::None;
8331        let _ = p.read_struct_begin(|_| ())?;
8332        loop {
8333            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
8334            match (fty, fid as ::std::primitive::i32) {
8335                (::fbthrift::TType::Stop, _) => break,
8336                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8337                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8338                (::fbthrift::TType::String, 3) => field_txn_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8339                (::fbthrift::TType::I64, 4) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
8340                (fty, _) => p.skip(fty)?,
8341            }
8342            p.read_field_end()?;
8343        }
8344        p.read_struct_end()?;
8345        ::std::result::Result::Ok(Self {
8346            space_id: field_space_id.unwrap_or_default(),
8347            parts: field_parts.unwrap_or_default(),
8348            txn_id: field_txn_id.unwrap_or_default(),
8349            term: field_term.unwrap_or_default(),
8350            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
8351        })
8352    }
8353}
8354
8355
8356mod dot_dot {
8357    #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
8358    pub struct OtherFields(pub(crate) ());
8359
8360    #[allow(dead_code)] // if serde isn't being used
8361    pub(super) fn default_for_serde_deserialize() -> OtherFields {
8362        OtherFields(())
8363    }
8364}