nebula_fbthrift_storage_v2/
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::i32,
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    // This field forces `..Default::default()` when instantiating this
123    // struct, to make code future-proof against new fields added later to
124    // the definition in Thrift. If you don't want this, add the annotation
125    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
126    #[doc(hidden)]
127    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
128}
129
130#[derive(Clone, PartialEq)]
131pub struct GetNeighborsRequest {
132    pub space_id: common::types::GraphSpaceID,
133    pub column_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
134    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Row>>,
135    pub traverse_spec: crate::types::TraverseSpec,
136    pub common: ::std::option::Option<crate::types::RequestCommon>,
137    // This field forces `..Default::default()` when instantiating this
138    // struct, to make code future-proof against new fields added later to
139    // the definition in Thrift. If you don't want this, add the annotation
140    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
141    #[doc(hidden)]
142    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
143}
144
145#[derive(Clone, PartialEq)]
146pub struct GetNeighborsResponse {
147    pub result: crate::types::ResponseCommon,
148    pub vertices: ::std::option::Option<common::types::DataSet>,
149    // This field forces `..Default::default()` when instantiating this
150    // struct, to make code future-proof against new fields added later to
151    // the definition in Thrift. If you don't want this, add the annotation
152    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
153    #[doc(hidden)]
154    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
155}
156
157#[derive(Clone, PartialEq)]
158pub struct ExecResponse {
159    pub result: crate::types::ResponseCommon,
160    // This field forces `..Default::default()` when instantiating this
161    // struct, to make code future-proof against new fields added later to
162    // the definition in Thrift. If you don't want this, add the annotation
163    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
164    #[doc(hidden)]
165    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
166}
167
168#[derive(Clone, PartialEq)]
169pub struct GetPropRequest {
170    pub space_id: common::types::GraphSpaceID,
171    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Row>>,
172    pub vertex_props: ::std::option::Option<::std::vec::Vec<crate::types::VertexProp>>,
173    pub edge_props: ::std::option::Option<::std::vec::Vec<crate::types::EdgeProp>>,
174    pub expressions: ::std::option::Option<::std::vec::Vec<crate::types::Expr>>,
175    pub dedup: ::std::primitive::bool,
176    pub order_by: ::std::option::Option<::std::vec::Vec<crate::types::OrderBy>>,
177    pub limit: ::std::option::Option<::std::primitive::i64>,
178    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
179    pub common: ::std::option::Option<crate::types::RequestCommon>,
180    // This field forces `..Default::default()` when instantiating this
181    // struct, to make code future-proof against new fields added later to
182    // the definition in Thrift. If you don't want this, add the annotation
183    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
184    #[doc(hidden)]
185    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
186}
187
188#[derive(Clone, PartialEq)]
189pub struct GetPropResponse {
190    pub result: crate::types::ResponseCommon,
191    pub props: ::std::option::Option<common::types::DataSet>,
192    // This field forces `..Default::default()` when instantiating this
193    // struct, to make code future-proof against new fields added later to
194    // the definition in Thrift. If you don't want this, add the annotation
195    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
196    #[doc(hidden)]
197    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
198}
199
200#[derive(Clone, PartialEq)]
201pub struct NewTag {
202    pub tag_id: common::types::TagID,
203    pub props: ::std::vec::Vec<common::types::Value>,
204    // This field forces `..Default::default()` when instantiating this
205    // struct, to make code future-proof against new fields added later to
206    // the definition in Thrift. If you don't want this, add the annotation
207    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
208    #[doc(hidden)]
209    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
210}
211
212#[derive(Clone, PartialEq)]
213pub struct NewVertex {
214    pub id: common::types::Value,
215    pub tags: ::std::vec::Vec<crate::types::NewTag>,
216    // This field forces `..Default::default()` when instantiating this
217    // struct, to make code future-proof against new fields added later to
218    // the definition in Thrift. If you don't want this, add the annotation
219    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
220    #[doc(hidden)]
221    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
222}
223
224#[derive(Clone, PartialEq)]
225pub struct EdgeKey {
226    pub src: common::types::Value,
227    pub edge_type: common::types::EdgeType,
228    pub ranking: common::types::EdgeRanking,
229    pub dst: common::types::Value,
230    // This field forces `..Default::default()` when instantiating this
231    // struct, to make code future-proof against new fields added later to
232    // the definition in Thrift. If you don't want this, add the annotation
233    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
234    #[doc(hidden)]
235    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
236}
237
238#[derive(Clone, PartialEq)]
239pub struct NewEdge {
240    pub key: crate::types::EdgeKey,
241    pub props: ::std::vec::Vec<common::types::Value>,
242    // This field forces `..Default::default()` when instantiating this
243    // struct, to make code future-proof against new fields added later to
244    // the definition in Thrift. If you don't want this, add the annotation
245    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
246    #[doc(hidden)]
247    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
248}
249
250#[derive(Clone, PartialEq)]
251pub struct AddVerticesRequest {
252    pub space_id: common::types::GraphSpaceID,
253    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::NewVertex>>,
254    pub prop_names: ::std::collections::BTreeMap<common::types::TagID, ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
255    pub if_not_exists: ::std::primitive::bool,
256    pub common: ::std::option::Option<crate::types::RequestCommon>,
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 AddEdgesRequest {
267    pub space_id: common::types::GraphSpaceID,
268    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::NewEdge>>,
269    pub prop_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
270    pub if_not_exists: ::std::primitive::bool,
271    pub common: ::std::option::Option<crate::types::RequestCommon>,
272    // This field forces `..Default::default()` when instantiating this
273    // struct, to make code future-proof against new fields added later to
274    // the definition in Thrift. If you don't want this, add the annotation
275    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
276    #[doc(hidden)]
277    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
278}
279
280#[derive(Clone, PartialEq)]
281pub struct DeleteVerticesRequest {
282    pub space_id: common::types::GraphSpaceID,
283    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::Value>>,
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 DeleteEdgesRequest {
295    pub space_id: common::types::GraphSpaceID,
296    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::EdgeKey>>,
297    pub common: ::std::option::Option<crate::types::RequestCommon>,
298    // This field forces `..Default::default()` when instantiating this
299    // struct, to make code future-proof against new fields added later to
300    // the definition in Thrift. If you don't want this, add the annotation
301    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
302    #[doc(hidden)]
303    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
304}
305
306#[derive(Clone, PartialEq)]
307pub struct DelTags {
308    pub id: common::types::Value,
309    pub tags: ::std::vec::Vec<common::types::TagID>,
310    // This field forces `..Default::default()` when instantiating this
311    // struct, to make code future-proof against new fields added later to
312    // the definition in Thrift. If you don't want this, add the annotation
313    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
314    #[doc(hidden)]
315    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
316}
317
318#[derive(Clone, PartialEq)]
319pub struct DeleteTagsRequest {
320    pub space_id: common::types::GraphSpaceID,
321    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::DelTags>>,
322    pub common: ::std::option::Option<crate::types::RequestCommon>,
323    // This field forces `..Default::default()` when instantiating this
324    // struct, to make code future-proof against new fields added later to
325    // the definition in Thrift. If you don't want this, add the annotation
326    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
327    #[doc(hidden)]
328    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
329}
330
331#[derive(Clone, PartialEq)]
332pub struct UpdateResponse {
333    pub result: crate::types::ResponseCommon,
334    pub props: ::std::option::Option<common::types::DataSet>,
335    // This field forces `..Default::default()` when instantiating this
336    // struct, to make code future-proof against new fields added later to
337    // the definition in Thrift. If you don't want this, add the annotation
338    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
339    #[doc(hidden)]
340    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
341}
342
343#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
344pub struct UpdatedProp {
345    pub name: ::std::vec::Vec<::std::primitive::u8>,
346    pub value: ::std::vec::Vec<::std::primitive::u8>,
347    // This field forces `..Default::default()` when instantiating this
348    // struct, to make code future-proof against new fields added later to
349    // the definition in Thrift. If you don't want this, add the annotation
350    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
351    #[doc(hidden)]
352    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
353}
354
355#[derive(Clone, PartialEq)]
356pub struct UpdateVertexRequest {
357    pub space_id: common::types::GraphSpaceID,
358    pub part_id: common::types::PartitionID,
359    pub vertex_id: common::types::Value,
360    pub tag_id: common::types::TagID,
361    pub updated_props: ::std::vec::Vec<crate::types::UpdatedProp>,
362    pub insertable: ::std::option::Option<::std::primitive::bool>,
363    pub return_props: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
364    pub condition: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
365    pub common: ::std::option::Option<crate::types::RequestCommon>,
366    // This field forces `..Default::default()` when instantiating this
367    // struct, to make code future-proof against new fields added later to
368    // the definition in Thrift. If you don't want this, add the annotation
369    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
370    #[doc(hidden)]
371    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
372}
373
374#[derive(Clone, PartialEq)]
375pub struct UpdateEdgeRequest {
376    pub space_id: common::types::GraphSpaceID,
377    pub part_id: common::types::PartitionID,
378    pub edge_key: crate::types::EdgeKey,
379    pub updated_props: ::std::vec::Vec<crate::types::UpdatedProp>,
380    pub insertable: ::std::option::Option<::std::primitive::bool>,
381    pub return_props: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
382    pub condition: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
383    pub common: ::std::option::Option<crate::types::RequestCommon>,
384    // This field forces `..Default::default()` when instantiating this
385    // struct, to make code future-proof against new fields added later to
386    // the definition in Thrift. If you don't want this, add the annotation
387    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
388    #[doc(hidden)]
389    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
390}
391
392#[derive(Clone, PartialEq)]
393pub struct GetUUIDReq {
394    pub space_id: common::types::GraphSpaceID,
395    pub part_id: common::types::PartitionID,
396    pub name: ::std::vec::Vec<::std::primitive::u8>,
397    pub common: ::std::option::Option<crate::types::RequestCommon>,
398    // This field forces `..Default::default()` when instantiating this
399    // struct, to make code future-proof against new fields added later to
400    // the definition in Thrift. If you don't want this, add the annotation
401    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
402    #[doc(hidden)]
403    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
404}
405
406#[derive(Clone, PartialEq)]
407pub struct GetUUIDResp {
408    pub result: crate::types::ResponseCommon,
409    pub id: common::types::Value,
410    // This field forces `..Default::default()` when instantiating this
411    // struct, to make code future-proof against new fields added later to
412    // the definition in Thrift. If you don't want this, add the annotation
413    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
414    #[doc(hidden)]
415    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
416}
417
418#[derive(Clone, PartialEq)]
419pub struct LookupIndexResp {
420    pub result: crate::types::ResponseCommon,
421    pub data: ::std::option::Option<common::types::DataSet>,
422    // This field forces `..Default::default()` when instantiating this
423    // struct, to make code future-proof against new fields added later to
424    // the definition in Thrift. If you don't want this, add the annotation
425    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
426    #[doc(hidden)]
427    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
428}
429
430#[derive(Clone, PartialEq)]
431pub struct IndexColumnHint {
432    pub column_name: ::std::vec::Vec<::std::primitive::u8>,
433    pub scan_type: crate::types::ScanType,
434    pub begin_value: common::types::Value,
435    pub end_value: common::types::Value,
436    // This field forces `..Default::default()` when instantiating this
437    // struct, to make code future-proof against new fields added later to
438    // the definition in Thrift. If you don't want this, add the annotation
439    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
440    #[doc(hidden)]
441    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
442}
443
444#[derive(Clone, PartialEq)]
445pub struct IndexQueryContext {
446    pub index_id: common::types::IndexID,
447    pub filter: ::std::vec::Vec<::std::primitive::u8>,
448    pub column_hints: ::std::vec::Vec<crate::types::IndexColumnHint>,
449    // This field forces `..Default::default()` when instantiating this
450    // struct, to make code future-proof against new fields added later to
451    // the definition in Thrift. If you don't want this, add the annotation
452    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
453    #[doc(hidden)]
454    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
455}
456
457#[derive(Clone, PartialEq)]
458pub struct IndexSpec {
459    pub contexts: ::std::vec::Vec<crate::types::IndexQueryContext>,
460    pub schema_id: common::types::SchemaID,
461    // This field forces `..Default::default()` when instantiating this
462    // struct, to make code future-proof against new fields added later to
463    // the definition in Thrift. If you don't want this, add the annotation
464    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
465    #[doc(hidden)]
466    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
467}
468
469#[derive(Clone, PartialEq)]
470pub struct LookupIndexRequest {
471    pub space_id: common::types::GraphSpaceID,
472    pub parts: ::std::vec::Vec<common::types::PartitionID>,
473    pub indices: crate::types::IndexSpec,
474    pub return_columns: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
475    pub common: ::std::option::Option<crate::types::RequestCommon>,
476    pub limit: ::std::option::Option<::std::primitive::i64>,
477    // This field forces `..Default::default()` when instantiating this
478    // struct, to make code future-proof against new fields added later to
479    // the definition in Thrift. If you don't want this, add the annotation
480    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
481    #[doc(hidden)]
482    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
483}
484
485#[derive(Clone, PartialEq)]
486pub struct LookupAndTraverseRequest {
487    pub space_id: common::types::GraphSpaceID,
488    pub parts: ::std::vec::Vec<common::types::PartitionID>,
489    pub indices: crate::types::IndexSpec,
490    pub traverse_spec: crate::types::TraverseSpec,
491    pub common: ::std::option::Option<crate::types::RequestCommon>,
492    // This field forces `..Default::default()` when instantiating this
493    // struct, to make code future-proof against new fields added later to
494    // the definition in Thrift. If you don't want this, add the annotation
495    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
496    #[doc(hidden)]
497    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
498}
499
500#[derive(Clone, PartialEq)]
501pub struct ScanVertexRequest {
502    pub space_id: common::types::GraphSpaceID,
503    pub part_id: common::types::PartitionID,
504    pub cursor: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
505    pub return_columns: crate::types::VertexProp,
506    pub limit: ::std::primitive::i64,
507    pub start_time: ::std::option::Option<::std::primitive::i64>,
508    pub end_time: ::std::option::Option<::std::primitive::i64>,
509    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
510    pub only_latest_version: ::std::primitive::bool,
511    pub enable_read_from_follower: ::std::primitive::bool,
512    pub common: ::std::option::Option<crate::types::RequestCommon>,
513    // This field forces `..Default::default()` when instantiating this
514    // struct, to make code future-proof against new fields added later to
515    // the definition in Thrift. If you don't want this, add the annotation
516    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
517    #[doc(hidden)]
518    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
519}
520
521#[derive(Clone, PartialEq)]
522pub struct ScanVertexResponse {
523    pub result: crate::types::ResponseCommon,
524    pub vertex_data: common::types::DataSet,
525    pub has_next: ::std::primitive::bool,
526    pub next_cursor: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
527    // This field forces `..Default::default()` when instantiating this
528    // struct, to make code future-proof against new fields added later to
529    // the definition in Thrift. If you don't want this, add the annotation
530    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
531    #[doc(hidden)]
532    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
533}
534
535#[derive(Clone, PartialEq)]
536pub struct ScanEdgeRequest {
537    pub space_id: common::types::GraphSpaceID,
538    pub part_id: common::types::PartitionID,
539    pub cursor: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
540    pub return_columns: crate::types::EdgeProp,
541    pub limit: ::std::primitive::i64,
542    pub start_time: ::std::option::Option<::std::primitive::i64>,
543    pub end_time: ::std::option::Option<::std::primitive::i64>,
544    pub filter: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
545    pub only_latest_version: ::std::primitive::bool,
546    pub enable_read_from_follower: ::std::primitive::bool,
547    pub common: ::std::option::Option<crate::types::RequestCommon>,
548    // This field forces `..Default::default()` when instantiating this
549    // struct, to make code future-proof against new fields added later to
550    // the definition in Thrift. If you don't want this, add the annotation
551    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
552    #[doc(hidden)]
553    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
554}
555
556#[derive(Clone, PartialEq)]
557pub struct ScanEdgeResponse {
558    pub result: crate::types::ResponseCommon,
559    pub edge_data: common::types::DataSet,
560    pub has_next: ::std::primitive::bool,
561    pub next_cursor: ::std::option::Option<::std::vec::Vec<::std::primitive::u8>>,
562    // This field forces `..Default::default()` when instantiating this
563    // struct, to make code future-proof against new fields added later to
564    // the definition in Thrift. If you don't want this, add the annotation
565    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
566    #[doc(hidden)]
567    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
568}
569
570#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
571pub struct TaskPara {
572    pub space_id: common::types::GraphSpaceID,
573    pub parts: ::std::option::Option<::std::vec::Vec<common::types::PartitionID>>,
574    pub task_specfic_paras: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
575    // This field forces `..Default::default()` when instantiating this
576    // struct, to make code future-proof against new fields added later to
577    // the definition in Thrift. If you don't want this, add the annotation
578    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
579    #[doc(hidden)]
580    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
581}
582
583#[derive(Clone, PartialEq)]
584pub struct AddAdminTaskRequest {
585    pub cmd: meta::types::AdminCmd,
586    pub job_id: ::std::primitive::i32,
587    pub task_id: ::std::primitive::i32,
588    pub para: crate::types::TaskPara,
589    pub concurrency: ::std::option::Option<::std::primitive::i32>,
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 StopAdminTaskRequest {
600    pub job_id: ::std::primitive::i32,
601    pub task_id: ::std::primitive::i32,
602    // This field forces `..Default::default()` when instantiating this
603    // struct, to make code future-proof against new fields added later to
604    // the definition in Thrift. If you don't want this, add the annotation
605    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
606    #[doc(hidden)]
607    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
608}
609
610#[derive(Clone, PartialEq)]
611pub struct AdminExecResp {
612    pub result: crate::types::ResponseCommon,
613    pub stats: ::std::option::Option<meta::types::StatsItem>,
614    // This field forces `..Default::default()` when instantiating this
615    // struct, to make code future-proof against new fields added later to
616    // the definition in Thrift. If you don't want this, add the annotation
617    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
618    #[doc(hidden)]
619    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
620}
621
622#[derive(Clone, PartialEq)]
623pub struct TransLeaderReq {
624    pub space_id: common::types::GraphSpaceID,
625    pub part_id: common::types::PartitionID,
626    pub new_leader: common::types::HostAddr,
627    // This field forces `..Default::default()` when instantiating this
628    // struct, to make code future-proof against new fields added later to
629    // the definition in Thrift. If you don't want this, add the annotation
630    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
631    #[doc(hidden)]
632    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
633}
634
635#[derive(Clone, PartialEq)]
636pub struct AddPartReq {
637    pub space_id: common::types::GraphSpaceID,
638    pub part_id: common::types::PartitionID,
639    pub as_learner: ::std::primitive::bool,
640    pub peers: ::std::vec::Vec<common::types::HostAddr>,
641    // This field forces `..Default::default()` when instantiating this
642    // struct, to make code future-proof against new fields added later to
643    // the definition in Thrift. If you don't want this, add the annotation
644    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
645    #[doc(hidden)]
646    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
647}
648
649#[derive(Clone, PartialEq)]
650pub struct AddLearnerReq {
651    pub space_id: common::types::GraphSpaceID,
652    pub part_id: common::types::PartitionID,
653    pub learner: common::types::HostAddr,
654    // This field forces `..Default::default()` when instantiating this
655    // struct, to make code future-proof against new fields added later to
656    // the definition in Thrift. If you don't want this, add the annotation
657    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
658    #[doc(hidden)]
659    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
660}
661
662#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
663pub struct RemovePartReq {
664    pub space_id: common::types::GraphSpaceID,
665    pub part_id: common::types::PartitionID,
666    // This field forces `..Default::default()` when instantiating this
667    // struct, to make code future-proof against new fields added later to
668    // the definition in Thrift. If you don't want this, add the annotation
669    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
670    #[doc(hidden)]
671    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
672}
673
674#[derive(Clone, PartialEq)]
675pub struct MemberChangeReq {
676    pub space_id: common::types::GraphSpaceID,
677    pub part_id: common::types::PartitionID,
678    pub peer: common::types::HostAddr,
679    pub add: ::std::primitive::bool,
680    // This field forces `..Default::default()` when instantiating this
681    // struct, to make code future-proof against new fields added later to
682    // the definition in Thrift. If you don't want this, add the annotation
683    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
684    #[doc(hidden)]
685    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
686}
687
688#[derive(Clone, PartialEq)]
689pub struct CatchUpDataReq {
690    pub space_id: common::types::GraphSpaceID,
691    pub part_id: common::types::PartitionID,
692    pub target: common::types::HostAddr,
693    // This field forces `..Default::default()` when instantiating this
694    // struct, to make code future-proof against new fields added later to
695    // the definition in Thrift. If you don't want this, add the annotation
696    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
697    #[doc(hidden)]
698    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
699}
700
701#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
702pub struct GetLeaderReq {
703    // This field forces `..Default::default()` when instantiating this
704    // struct, to make code future-proof against new fields added later to
705    // the definition in Thrift. If you don't want this, add the annotation
706    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
707    #[doc(hidden)]
708    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
709}
710
711#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
712pub struct CreateCPRequest {
713    pub space_id: common::types::GraphSpaceID,
714    pub name: ::std::vec::Vec<::std::primitive::u8>,
715    // This field forces `..Default::default()` when instantiating this
716    // struct, to make code future-proof against new fields added later to
717    // the definition in Thrift. If you don't want this, add the annotation
718    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
719    #[doc(hidden)]
720    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
721}
722
723#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
724pub struct DropCPRequest {
725    pub space_id: common::types::GraphSpaceID,
726    pub name: ::std::vec::Vec<::std::primitive::u8>,
727    // This field forces `..Default::default()` when instantiating this
728    // struct, to make code future-proof against new fields added later to
729    // the definition in Thrift. If you don't want this, add the annotation
730    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
731    #[doc(hidden)]
732    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
733}
734
735#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
736pub struct BlockingSignRequest {
737    pub space_id: common::types::GraphSpaceID,
738    pub sign: crate::types::EngineSignType,
739    // This field forces `..Default::default()` when instantiating this
740    // struct, to make code future-proof against new fields added later to
741    // the definition in Thrift. If you don't want this, add the annotation
742    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
743    #[doc(hidden)]
744    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
745}
746
747#[derive(Clone, PartialEq)]
748pub struct GetLeaderPartsResp {
749    pub result: crate::types::ResponseCommon,
750    pub leader_parts: ::std::collections::BTreeMap<common::types::GraphSpaceID, ::std::vec::Vec<common::types::PartitionID>>,
751    // This field forces `..Default::default()` when instantiating this
752    // struct, to make code future-proof against new fields added later to
753    // the definition in Thrift. If you don't want this, add the annotation
754    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
755    #[doc(hidden)]
756    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
757}
758
759#[derive(Clone, PartialEq)]
760pub struct CheckPeersReq {
761    pub space_id: common::types::GraphSpaceID,
762    pub part_id: common::types::PartitionID,
763    pub peers: ::std::vec::Vec<common::types::HostAddr>,
764    // This field forces `..Default::default()` when instantiating this
765    // struct, to make code future-proof against new fields added later to
766    // the definition in Thrift. If you don't want this, add the annotation
767    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
768    #[doc(hidden)]
769    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
770}
771
772#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
773pub struct RebuildIndexRequest {
774    pub space_id: common::types::GraphSpaceID,
775    pub parts: ::std::vec::Vec<common::types::PartitionID>,
776    pub index_id: common::types::IndexID,
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)]
786pub struct CreateCPResp {
787    pub result: crate::types::ResponseCommon,
788    pub info: ::std::vec::Vec<common::types::CheckpointInfo>,
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)]
798pub struct ListClusterInfoResp {
799    pub result: crate::types::ResponseCommon,
800    pub dir: common::types::DirInfo,
801    // This field forces `..Default::default()` when instantiating this
802    // struct, to make code future-proof against new fields added later to
803    // the definition in Thrift. If you don't want this, add the annotation
804    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
805    #[doc(hidden)]
806    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
807}
808
809#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
810pub struct ListClusterInfoReq {
811    // This field forces `..Default::default()` when instantiating this
812    // struct, to make code future-proof against new fields added later to
813    // the definition in Thrift. If you don't want this, add the annotation
814    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
815    #[doc(hidden)]
816    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
817}
818
819#[derive(Clone, PartialEq)]
820pub struct KVGetRequest {
821    pub space_id: common::types::GraphSpaceID,
822    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
823    pub return_partly: ::std::primitive::bool,
824    // This field forces `..Default::default()` when instantiating this
825    // struct, to make code future-proof against new fields added later to
826    // the definition in Thrift. If you don't want this, add the annotation
827    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
828    #[doc(hidden)]
829    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
830}
831
832#[derive(Clone, PartialEq)]
833pub struct KVGetResponse {
834    pub result: crate::types::ResponseCommon,
835    pub key_values: ::std::collections::BTreeMap<::std::vec::Vec<::std::primitive::u8>, ::std::vec::Vec<::std::primitive::u8>>,
836    // This field forces `..Default::default()` when instantiating this
837    // struct, to make code future-proof against new fields added later to
838    // the definition in Thrift. If you don't want this, add the annotation
839    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
840    #[doc(hidden)]
841    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
842}
843
844#[derive(Clone, PartialEq)]
845pub struct KVPutRequest {
846    pub space_id: common::types::GraphSpaceID,
847    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<common::types::KeyValue>>,
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)]
857pub struct KVRemoveRequest {
858    pub space_id: common::types::GraphSpaceID,
859    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>>,
860    // This field forces `..Default::default()` when instantiating this
861    // struct, to make code future-proof against new fields added later to
862    // the definition in Thrift. If you don't want this, add the annotation
863    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
864    #[doc(hidden)]
865    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
866}
867
868#[derive(Clone, PartialEq)]
869pub struct InternalTxnRequest {
870    pub txn_id: ::std::primitive::i64,
871    pub term_of_parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::primitive::i64>,
872    pub add_edge_req: ::std::option::Option<crate::types::AddEdgesRequest>,
873    pub upd_edge_req: ::std::option::Option<crate::types::UpdateEdgeRequest>,
874    pub edge_ver: ::std::option::Option<::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<::std::primitive::i64>>>,
875    // This field forces `..Default::default()` when instantiating this
876    // struct, to make code future-proof against new fields added later to
877    // the definition in Thrift. If you don't want this, add the annotation
878    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
879    #[doc(hidden)]
880    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
881}
882
883#[derive(Clone, PartialEq)]
884pub struct ChainAddEdgesRequest {
885    pub space_id: common::types::GraphSpaceID,
886    pub parts: ::std::collections::BTreeMap<common::types::PartitionID, ::std::vec::Vec<crate::types::NewEdge>>,
887    pub prop_names: ::std::vec::Vec<::std::vec::Vec<::std::primitive::u8>>,
888    pub if_not_exists: ::std::primitive::bool,
889    pub term: ::std::primitive::i64,
890    pub edge_version: ::std::option::Option<::std::primitive::i64>,
891    // This field forces `..Default::default()` when instantiating this
892    // struct, to make code future-proof against new fields added later to
893    // the definition in Thrift. If you don't want this, add the annotation
894    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
895    #[doc(hidden)]
896    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
897}
898
899#[derive(Clone, PartialEq)]
900pub struct ChainUpdateEdgeRequest {
901    pub update_edge_request: crate::types::UpdateEdgeRequest,
902    pub term: ::std::primitive::i64,
903    pub edge_version: ::std::option::Option<::std::primitive::i64>,
904    pub space_id: common::types::GraphSpaceID,
905    pub parts: ::std::vec::Vec<common::types::PartitionID>,
906    // This field forces `..Default::default()` when instantiating this
907    // struct, to make code future-proof against new fields added later to
908    // the definition in Thrift. If you don't want this, add the annotation
909    // `(rust.exhaustive)` to the Thrift struct to eliminate this field.
910    #[doc(hidden)]
911    pub _dot_dot_Default_default: self::dot_dot::OtherFields,
912}
913
914#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
915pub struct StatType(pub ::std::primitive::i32);
916
917impl StatType {
918    pub const SUM: Self = StatType(1i32);
919    pub const COUNT: Self = StatType(2i32);
920    pub const AVG: Self = StatType(3i32);
921    pub const MAX: Self = StatType(4i32);
922    pub const MIN: Self = StatType(5i32);
923}
924
925impl ::fbthrift::ThriftEnum for StatType {
926    fn enumerate() -> &'static [(Self, &'static str)] {
927        &[
928            (Self::SUM, "SUM"),
929            (Self::COUNT, "COUNT"),
930            (Self::AVG, "AVG"),
931            (Self::MAX, "MAX"),
932            (Self::MIN, "MIN"),
933        ]
934    }
935
936    fn variants() -> &'static [&'static str] {
937        &[
938            "SUM",
939            "COUNT",
940            "AVG",
941            "MAX",
942            "MIN",
943        ]
944    }
945
946    fn variant_values() -> &'static [Self] {
947        &[
948            Self::SUM,
949            Self::COUNT,
950            Self::AVG,
951            Self::MAX,
952            Self::MIN,
953        ]
954    }
955}
956
957impl ::std::default::Default for StatType {
958    fn default() -> Self {
959        Self(::fbthrift::__UNKNOWN_ID)
960    }
961}
962
963impl<'a> ::std::convert::From<&'a StatType> for ::std::primitive::i32 {
964    #[inline]
965    fn from(x: &'a StatType) -> Self {
966        x.0
967    }
968}
969
970impl ::std::convert::From<StatType> for ::std::primitive::i32 {
971    #[inline]
972    fn from(x: StatType) -> Self {
973        x.0
974    }
975}
976
977impl ::std::convert::From<::std::primitive::i32> for StatType {
978    #[inline]
979    fn from(x: ::std::primitive::i32) -> Self {
980        Self(x)
981    }
982}
983
984impl ::std::fmt::Display for StatType {
985    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
986        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
987            ("SUM", 1),
988            ("COUNT", 2),
989            ("AVG", 3),
990            ("MAX", 4),
991            ("MIN", 5),
992        ];
993        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
994    }
995}
996
997impl ::std::fmt::Debug for StatType {
998    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
999        write!(fmt, "StatType::{}", self)
1000    }
1001}
1002
1003impl ::std::str::FromStr for StatType {
1004    type Err = ::anyhow::Error;
1005
1006    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1007        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1008            ("AVG", 3),
1009            ("COUNT", 2),
1010            ("MAX", 4),
1011            ("MIN", 5),
1012            ("SUM", 1),
1013        ];
1014        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "StatType").map(Self)
1015    }
1016}
1017
1018impl ::fbthrift::GetTType for StatType {
1019    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1020}
1021
1022impl<P> ::fbthrift::Serialize<P> for StatType
1023where
1024    P: ::fbthrift::ProtocolWriter,
1025{
1026    #[inline]
1027    fn write(&self, p: &mut P) {
1028        p.write_i32(self.into())
1029    }
1030}
1031
1032impl<P> ::fbthrift::Deserialize<P> for StatType
1033where
1034    P: ::fbthrift::ProtocolReader,
1035{
1036    #[inline]
1037    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1038        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1039    }
1040}
1041
1042#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1043pub struct OrderDirection(pub ::std::primitive::i32);
1044
1045impl OrderDirection {
1046    pub const ASCENDING: Self = OrderDirection(1i32);
1047    pub const DESCENDING: Self = OrderDirection(2i32);
1048}
1049
1050impl ::fbthrift::ThriftEnum for OrderDirection {
1051    fn enumerate() -> &'static [(Self, &'static str)] {
1052        &[
1053            (Self::ASCENDING, "ASCENDING"),
1054            (Self::DESCENDING, "DESCENDING"),
1055        ]
1056    }
1057
1058    fn variants() -> &'static [&'static str] {
1059        &[
1060            "ASCENDING",
1061            "DESCENDING",
1062        ]
1063    }
1064
1065    fn variant_values() -> &'static [Self] {
1066        &[
1067            Self::ASCENDING,
1068            Self::DESCENDING,
1069        ]
1070    }
1071}
1072
1073impl ::std::default::Default for OrderDirection {
1074    fn default() -> Self {
1075        Self(::fbthrift::__UNKNOWN_ID)
1076    }
1077}
1078
1079impl<'a> ::std::convert::From<&'a OrderDirection> for ::std::primitive::i32 {
1080    #[inline]
1081    fn from(x: &'a OrderDirection) -> Self {
1082        x.0
1083    }
1084}
1085
1086impl ::std::convert::From<OrderDirection> for ::std::primitive::i32 {
1087    #[inline]
1088    fn from(x: OrderDirection) -> Self {
1089        x.0
1090    }
1091}
1092
1093impl ::std::convert::From<::std::primitive::i32> for OrderDirection {
1094    #[inline]
1095    fn from(x: ::std::primitive::i32) -> Self {
1096        Self(x)
1097    }
1098}
1099
1100impl ::std::fmt::Display for OrderDirection {
1101    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1102        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1103            ("ASCENDING", 1),
1104            ("DESCENDING", 2),
1105        ];
1106        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1107    }
1108}
1109
1110impl ::std::fmt::Debug for OrderDirection {
1111    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1112        write!(fmt, "OrderDirection::{}", self)
1113    }
1114}
1115
1116impl ::std::str::FromStr for OrderDirection {
1117    type Err = ::anyhow::Error;
1118
1119    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1120        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1121            ("ASCENDING", 1),
1122            ("DESCENDING", 2),
1123        ];
1124        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "OrderDirection").map(Self)
1125    }
1126}
1127
1128impl ::fbthrift::GetTType for OrderDirection {
1129    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1130}
1131
1132impl<P> ::fbthrift::Serialize<P> for OrderDirection
1133where
1134    P: ::fbthrift::ProtocolWriter,
1135{
1136    #[inline]
1137    fn write(&self, p: &mut P) {
1138        p.write_i32(self.into())
1139    }
1140}
1141
1142impl<P> ::fbthrift::Deserialize<P> for OrderDirection
1143where
1144    P: ::fbthrift::ProtocolReader,
1145{
1146    #[inline]
1147    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1148        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1149    }
1150}
1151
1152#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1153pub struct EdgeDirection(pub ::std::primitive::i32);
1154
1155impl EdgeDirection {
1156    pub const BOTH: Self = EdgeDirection(1i32);
1157    pub const IN_EDGE: Self = EdgeDirection(2i32);
1158    pub const OUT_EDGE: Self = EdgeDirection(3i32);
1159}
1160
1161impl ::fbthrift::ThriftEnum for EdgeDirection {
1162    fn enumerate() -> &'static [(Self, &'static str)] {
1163        &[
1164            (Self::BOTH, "BOTH"),
1165            (Self::IN_EDGE, "IN_EDGE"),
1166            (Self::OUT_EDGE, "OUT_EDGE"),
1167        ]
1168    }
1169
1170    fn variants() -> &'static [&'static str] {
1171        &[
1172            "BOTH",
1173            "IN_EDGE",
1174            "OUT_EDGE",
1175        ]
1176    }
1177
1178    fn variant_values() -> &'static [Self] {
1179        &[
1180            Self::BOTH,
1181            Self::IN_EDGE,
1182            Self::OUT_EDGE,
1183        ]
1184    }
1185}
1186
1187impl ::std::default::Default for EdgeDirection {
1188    fn default() -> Self {
1189        Self(::fbthrift::__UNKNOWN_ID)
1190    }
1191}
1192
1193impl<'a> ::std::convert::From<&'a EdgeDirection> for ::std::primitive::i32 {
1194    #[inline]
1195    fn from(x: &'a EdgeDirection) -> Self {
1196        x.0
1197    }
1198}
1199
1200impl ::std::convert::From<EdgeDirection> for ::std::primitive::i32 {
1201    #[inline]
1202    fn from(x: EdgeDirection) -> Self {
1203        x.0
1204    }
1205}
1206
1207impl ::std::convert::From<::std::primitive::i32> for EdgeDirection {
1208    #[inline]
1209    fn from(x: ::std::primitive::i32) -> Self {
1210        Self(x)
1211    }
1212}
1213
1214impl ::std::fmt::Display for EdgeDirection {
1215    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1216        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1217            ("BOTH", 1),
1218            ("IN_EDGE", 2),
1219            ("OUT_EDGE", 3),
1220        ];
1221        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1222    }
1223}
1224
1225impl ::std::fmt::Debug for EdgeDirection {
1226    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1227        write!(fmt, "EdgeDirection::{}", self)
1228    }
1229}
1230
1231impl ::std::str::FromStr for EdgeDirection {
1232    type Err = ::anyhow::Error;
1233
1234    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1235        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1236            ("BOTH", 1),
1237            ("IN_EDGE", 2),
1238            ("OUT_EDGE", 3),
1239        ];
1240        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "EdgeDirection").map(Self)
1241    }
1242}
1243
1244impl ::fbthrift::GetTType for EdgeDirection {
1245    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1246}
1247
1248impl<P> ::fbthrift::Serialize<P> for EdgeDirection
1249where
1250    P: ::fbthrift::ProtocolWriter,
1251{
1252    #[inline]
1253    fn write(&self, p: &mut P) {
1254        p.write_i32(self.into())
1255    }
1256}
1257
1258impl<P> ::fbthrift::Deserialize<P> for EdgeDirection
1259where
1260    P: ::fbthrift::ProtocolReader,
1261{
1262    #[inline]
1263    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1264        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1265    }
1266}
1267
1268#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1269pub struct ScanType(pub ::std::primitive::i32);
1270
1271impl ScanType {
1272    pub const PREFIX: Self = ScanType(1i32);
1273    pub const RANGE: Self = ScanType(2i32);
1274}
1275
1276impl ::fbthrift::ThriftEnum for ScanType {
1277    fn enumerate() -> &'static [(Self, &'static str)] {
1278        &[
1279            (Self::PREFIX, "PREFIX"),
1280            (Self::RANGE, "RANGE"),
1281        ]
1282    }
1283
1284    fn variants() -> &'static [&'static str] {
1285        &[
1286            "PREFIX",
1287            "RANGE",
1288        ]
1289    }
1290
1291    fn variant_values() -> &'static [Self] {
1292        &[
1293            Self::PREFIX,
1294            Self::RANGE,
1295        ]
1296    }
1297}
1298
1299impl ::std::default::Default for ScanType {
1300    fn default() -> Self {
1301        Self(::fbthrift::__UNKNOWN_ID)
1302    }
1303}
1304
1305impl<'a> ::std::convert::From<&'a ScanType> for ::std::primitive::i32 {
1306    #[inline]
1307    fn from(x: &'a ScanType) -> Self {
1308        x.0
1309    }
1310}
1311
1312impl ::std::convert::From<ScanType> for ::std::primitive::i32 {
1313    #[inline]
1314    fn from(x: ScanType) -> Self {
1315        x.0
1316    }
1317}
1318
1319impl ::std::convert::From<::std::primitive::i32> for ScanType {
1320    #[inline]
1321    fn from(x: ::std::primitive::i32) -> Self {
1322        Self(x)
1323    }
1324}
1325
1326impl ::std::fmt::Display for ScanType {
1327    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1328        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1329            ("PREFIX", 1),
1330            ("RANGE", 2),
1331        ];
1332        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1333    }
1334}
1335
1336impl ::std::fmt::Debug for ScanType {
1337    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1338        write!(fmt, "ScanType::{}", self)
1339    }
1340}
1341
1342impl ::std::str::FromStr for ScanType {
1343    type Err = ::anyhow::Error;
1344
1345    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1346        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1347            ("PREFIX", 1),
1348            ("RANGE", 2),
1349        ];
1350        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "ScanType").map(Self)
1351    }
1352}
1353
1354impl ::fbthrift::GetTType for ScanType {
1355    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1356}
1357
1358impl<P> ::fbthrift::Serialize<P> for ScanType
1359where
1360    P: ::fbthrift::ProtocolWriter,
1361{
1362    #[inline]
1363    fn write(&self, p: &mut P) {
1364        p.write_i32(self.into())
1365    }
1366}
1367
1368impl<P> ::fbthrift::Deserialize<P> for ScanType
1369where
1370    P: ::fbthrift::ProtocolReader,
1371{
1372    #[inline]
1373    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1374        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1375    }
1376}
1377
1378#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
1379pub struct EngineSignType(pub ::std::primitive::i32);
1380
1381impl EngineSignType {
1382    pub const BLOCK_ON: Self = EngineSignType(1i32);
1383    pub const BLOCK_OFF: Self = EngineSignType(2i32);
1384}
1385
1386impl ::fbthrift::ThriftEnum for EngineSignType {
1387    fn enumerate() -> &'static [(Self, &'static str)] {
1388        &[
1389            (Self::BLOCK_ON, "BLOCK_ON"),
1390            (Self::BLOCK_OFF, "BLOCK_OFF"),
1391        ]
1392    }
1393
1394    fn variants() -> &'static [&'static str] {
1395        &[
1396            "BLOCK_ON",
1397            "BLOCK_OFF",
1398        ]
1399    }
1400
1401    fn variant_values() -> &'static [Self] {
1402        &[
1403            Self::BLOCK_ON,
1404            Self::BLOCK_OFF,
1405        ]
1406    }
1407}
1408
1409impl ::std::default::Default for EngineSignType {
1410    fn default() -> Self {
1411        Self(::fbthrift::__UNKNOWN_ID)
1412    }
1413}
1414
1415impl<'a> ::std::convert::From<&'a EngineSignType> for ::std::primitive::i32 {
1416    #[inline]
1417    fn from(x: &'a EngineSignType) -> Self {
1418        x.0
1419    }
1420}
1421
1422impl ::std::convert::From<EngineSignType> for ::std::primitive::i32 {
1423    #[inline]
1424    fn from(x: EngineSignType) -> Self {
1425        x.0
1426    }
1427}
1428
1429impl ::std::convert::From<::std::primitive::i32> for EngineSignType {
1430    #[inline]
1431    fn from(x: ::std::primitive::i32) -> Self {
1432        Self(x)
1433    }
1434}
1435
1436impl ::std::fmt::Display for EngineSignType {
1437    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1438        static VARIANTS_BY_NUMBER: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1439            ("BLOCK_ON", 1),
1440            ("BLOCK_OFF", 2),
1441        ];
1442        ::fbthrift::help::enum_display(VARIANTS_BY_NUMBER, fmt, self.0)
1443    }
1444}
1445
1446impl ::std::fmt::Debug for EngineSignType {
1447    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1448        write!(fmt, "EngineSignType::{}", self)
1449    }
1450}
1451
1452impl ::std::str::FromStr for EngineSignType {
1453    type Err = ::anyhow::Error;
1454
1455    fn from_str(string: &::std::primitive::str) -> ::std::result::Result<Self, Self::Err> {
1456        static VARIANTS_BY_NAME: &[(&::std::primitive::str, ::std::primitive::i32)] = &[
1457            ("BLOCK_OFF", 2),
1458            ("BLOCK_ON", 1),
1459        ];
1460        ::fbthrift::help::enum_from_str(VARIANTS_BY_NAME, string, "EngineSignType").map(Self)
1461    }
1462}
1463
1464impl ::fbthrift::GetTType for EngineSignType {
1465    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::I32;
1466}
1467
1468impl<P> ::fbthrift::Serialize<P> for EngineSignType
1469where
1470    P: ::fbthrift::ProtocolWriter,
1471{
1472    #[inline]
1473    fn write(&self, p: &mut P) {
1474        p.write_i32(self.into())
1475    }
1476}
1477
1478impl<P> ::fbthrift::Deserialize<P> for EngineSignType
1479where
1480    P: ::fbthrift::ProtocolReader,
1481{
1482    #[inline]
1483    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1484        ::std::result::Result::Ok(Self::from(p.read_i32()?))
1485    }
1486}
1487
1488#[allow(clippy::derivable_impls)]
1489impl ::std::default::Default for self::RequestCommon {
1490    fn default() -> Self {
1491        Self {
1492            session_id: ::std::option::Option::None,
1493            plan_id: ::std::option::Option::None,
1494            profile_detail: ::std::option::Option::None,
1495            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1496        }
1497    }
1498}
1499
1500impl ::std::fmt::Debug for self::RequestCommon {
1501    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1502        formatter
1503            .debug_struct("RequestCommon")
1504            .field("session_id", &self.session_id)
1505            .field("plan_id", &self.plan_id)
1506            .field("profile_detail", &self.profile_detail)
1507            .finish()
1508    }
1509}
1510
1511unsafe impl ::std::marker::Send for self::RequestCommon {}
1512unsafe impl ::std::marker::Sync for self::RequestCommon {}
1513
1514impl ::fbthrift::GetTType for self::RequestCommon {
1515    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1516}
1517
1518impl<P> ::fbthrift::Serialize<P> for self::RequestCommon
1519where
1520    P: ::fbthrift::ProtocolWriter,
1521{
1522    fn write(&self, p: &mut P) {
1523        p.write_struct_begin("RequestCommon");
1524        if let ::std::option::Option::Some(some) = &self.session_id {
1525            p.write_field_begin("session_id", ::fbthrift::TType::I64, 1);
1526            ::fbthrift::Serialize::write(some, p);
1527            p.write_field_end();
1528        }
1529        if let ::std::option::Option::Some(some) = &self.plan_id {
1530            p.write_field_begin("plan_id", ::fbthrift::TType::I64, 2);
1531            ::fbthrift::Serialize::write(some, p);
1532            p.write_field_end();
1533        }
1534        if let ::std::option::Option::Some(some) = &self.profile_detail {
1535            p.write_field_begin("profile_detail", ::fbthrift::TType::Bool, 3);
1536            ::fbthrift::Serialize::write(some, p);
1537            p.write_field_end();
1538        }
1539        p.write_field_stop();
1540        p.write_struct_end();
1541    }
1542}
1543
1544impl<P> ::fbthrift::Deserialize<P> for self::RequestCommon
1545where
1546    P: ::fbthrift::ProtocolReader,
1547{
1548    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1549        static FIELDS: &[::fbthrift::Field] = &[
1550            ::fbthrift::Field::new("plan_id", ::fbthrift::TType::I64, 2),
1551            ::fbthrift::Field::new("profile_detail", ::fbthrift::TType::Bool, 3),
1552            ::fbthrift::Field::new("session_id", ::fbthrift::TType::I64, 1),
1553        ];
1554        let mut field_session_id = ::std::option::Option::None;
1555        let mut field_plan_id = ::std::option::Option::None;
1556        let mut field_profile_detail = ::std::option::Option::None;
1557        let _ = p.read_struct_begin(|_| ())?;
1558        loop {
1559            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1560            match (fty, fid as ::std::primitive::i32) {
1561                (::fbthrift::TType::Stop, _) => break,
1562                (::fbthrift::TType::I64, 1) => field_session_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1563                (::fbthrift::TType::I64, 2) => field_plan_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1564                (::fbthrift::TType::Bool, 3) => field_profile_detail = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1565                (fty, _) => p.skip(fty)?,
1566            }
1567            p.read_field_end()?;
1568        }
1569        p.read_struct_end()?;
1570        ::std::result::Result::Ok(Self {
1571            session_id: field_session_id,
1572            plan_id: field_plan_id,
1573            profile_detail: field_profile_detail,
1574            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1575        })
1576    }
1577}
1578
1579
1580#[allow(clippy::derivable_impls)]
1581impl ::std::default::Default for self::PartitionResult {
1582    fn default() -> Self {
1583        Self {
1584            code: ::std::default::Default::default(),
1585            part_id: ::std::default::Default::default(),
1586            leader: ::std::option::Option::None,
1587            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1588        }
1589    }
1590}
1591
1592impl ::std::fmt::Debug for self::PartitionResult {
1593    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1594        formatter
1595            .debug_struct("PartitionResult")
1596            .field("code", &self.code)
1597            .field("part_id", &self.part_id)
1598            .field("leader", &self.leader)
1599            .finish()
1600    }
1601}
1602
1603unsafe impl ::std::marker::Send for self::PartitionResult {}
1604unsafe impl ::std::marker::Sync for self::PartitionResult {}
1605
1606impl ::fbthrift::GetTType for self::PartitionResult {
1607    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1608}
1609
1610impl<P> ::fbthrift::Serialize<P> for self::PartitionResult
1611where
1612    P: ::fbthrift::ProtocolWriter,
1613{
1614    fn write(&self, p: &mut P) {
1615        p.write_struct_begin("PartitionResult");
1616        p.write_field_begin("code", ::fbthrift::TType::I32, 1);
1617        ::fbthrift::Serialize::write(&self.code, p);
1618        p.write_field_end();
1619        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
1620        ::fbthrift::Serialize::write(&self.part_id, p);
1621        p.write_field_end();
1622        if let ::std::option::Option::Some(some) = &self.leader {
1623            p.write_field_begin("leader", ::fbthrift::TType::Struct, 3);
1624            ::fbthrift::Serialize::write(some, p);
1625            p.write_field_end();
1626        }
1627        p.write_field_stop();
1628        p.write_struct_end();
1629    }
1630}
1631
1632impl<P> ::fbthrift::Deserialize<P> for self::PartitionResult
1633where
1634    P: ::fbthrift::ProtocolReader,
1635{
1636    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1637        static FIELDS: &[::fbthrift::Field] = &[
1638            ::fbthrift::Field::new("code", ::fbthrift::TType::I32, 1),
1639            ::fbthrift::Field::new("leader", ::fbthrift::TType::Struct, 3),
1640            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
1641        ];
1642        let mut field_code = ::std::option::Option::None;
1643        let mut field_part_id = ::std::option::Option::None;
1644        let mut field_leader = ::std::option::Option::None;
1645        let _ = p.read_struct_begin(|_| ())?;
1646        loop {
1647            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1648            match (fty, fid as ::std::primitive::i32) {
1649                (::fbthrift::TType::Stop, _) => break,
1650                (::fbthrift::TType::I32, 1) => field_code = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1651                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1652                (::fbthrift::TType::Struct, 3) => field_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1653                (fty, _) => p.skip(fty)?,
1654            }
1655            p.read_field_end()?;
1656        }
1657        p.read_struct_end()?;
1658        ::std::result::Result::Ok(Self {
1659            code: field_code.unwrap_or_default(),
1660            part_id: field_part_id.unwrap_or_default(),
1661            leader: field_leader,
1662            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1663        })
1664    }
1665}
1666
1667
1668#[allow(clippy::derivable_impls)]
1669impl ::std::default::Default for self::ResponseCommon {
1670    fn default() -> Self {
1671        Self {
1672            failed_parts: ::std::default::Default::default(),
1673            latency_in_us: ::std::default::Default::default(),
1674            latency_detail_us: ::std::option::Option::None,
1675            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1676        }
1677    }
1678}
1679
1680impl ::std::fmt::Debug for self::ResponseCommon {
1681    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1682        formatter
1683            .debug_struct("ResponseCommon")
1684            .field("failed_parts", &self.failed_parts)
1685            .field("latency_in_us", &self.latency_in_us)
1686            .field("latency_detail_us", &self.latency_detail_us)
1687            .finish()
1688    }
1689}
1690
1691unsafe impl ::std::marker::Send for self::ResponseCommon {}
1692unsafe impl ::std::marker::Sync for self::ResponseCommon {}
1693
1694impl ::fbthrift::GetTType for self::ResponseCommon {
1695    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1696}
1697
1698impl<P> ::fbthrift::Serialize<P> for self::ResponseCommon
1699where
1700    P: ::fbthrift::ProtocolWriter,
1701{
1702    fn write(&self, p: &mut P) {
1703        p.write_struct_begin("ResponseCommon");
1704        p.write_field_begin("failed_parts", ::fbthrift::TType::List, 1);
1705        ::fbthrift::Serialize::write(&self.failed_parts, p);
1706        p.write_field_end();
1707        p.write_field_begin("latency_in_us", ::fbthrift::TType::I32, 2);
1708        ::fbthrift::Serialize::write(&self.latency_in_us, p);
1709        p.write_field_end();
1710        if let ::std::option::Option::Some(some) = &self.latency_detail_us {
1711            p.write_field_begin("latency_detail_us", ::fbthrift::TType::Map, 3);
1712            ::fbthrift::Serialize::write(some, p);
1713            p.write_field_end();
1714        }
1715        p.write_field_stop();
1716        p.write_struct_end();
1717    }
1718}
1719
1720impl<P> ::fbthrift::Deserialize<P> for self::ResponseCommon
1721where
1722    P: ::fbthrift::ProtocolReader,
1723{
1724    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1725        static FIELDS: &[::fbthrift::Field] = &[
1726            ::fbthrift::Field::new("failed_parts", ::fbthrift::TType::List, 1),
1727            ::fbthrift::Field::new("latency_detail_us", ::fbthrift::TType::Map, 3),
1728            ::fbthrift::Field::new("latency_in_us", ::fbthrift::TType::I32, 2),
1729        ];
1730        let mut field_failed_parts = ::std::option::Option::None;
1731        let mut field_latency_in_us = ::std::option::Option::None;
1732        let mut field_latency_detail_us = ::std::option::Option::None;
1733        let _ = p.read_struct_begin(|_| ())?;
1734        loop {
1735            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1736            match (fty, fid as ::std::primitive::i32) {
1737                (::fbthrift::TType::Stop, _) => break,
1738                (::fbthrift::TType::List, 1) => field_failed_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1739                (::fbthrift::TType::I32, 2) => field_latency_in_us = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1740                (::fbthrift::TType::Map, 3) => field_latency_detail_us = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1741                (fty, _) => p.skip(fty)?,
1742            }
1743            p.read_field_end()?;
1744        }
1745        p.read_struct_end()?;
1746        ::std::result::Result::Ok(Self {
1747            failed_parts: field_failed_parts.unwrap_or_default(),
1748            latency_in_us: field_latency_in_us.unwrap_or_default(),
1749            latency_detail_us: field_latency_detail_us,
1750            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1751        })
1752    }
1753}
1754
1755
1756#[allow(clippy::derivable_impls)]
1757impl ::std::default::Default for self::StatProp {
1758    fn default() -> Self {
1759        Self {
1760            alias: ::std::default::Default::default(),
1761            prop: ::std::default::Default::default(),
1762            stat: ::std::default::Default::default(),
1763            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1764        }
1765    }
1766}
1767
1768impl ::std::fmt::Debug for self::StatProp {
1769    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1770        formatter
1771            .debug_struct("StatProp")
1772            .field("alias", &self.alias)
1773            .field("prop", &self.prop)
1774            .field("stat", &self.stat)
1775            .finish()
1776    }
1777}
1778
1779unsafe impl ::std::marker::Send for self::StatProp {}
1780unsafe impl ::std::marker::Sync for self::StatProp {}
1781
1782impl ::fbthrift::GetTType for self::StatProp {
1783    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1784}
1785
1786impl<P> ::fbthrift::Serialize<P> for self::StatProp
1787where
1788    P: ::fbthrift::ProtocolWriter,
1789{
1790    fn write(&self, p: &mut P) {
1791        p.write_struct_begin("StatProp");
1792        p.write_field_begin("alias", ::fbthrift::TType::String, 1);
1793        ::fbthrift::Serialize::write(&self.alias, p);
1794        p.write_field_end();
1795        p.write_field_begin("prop", ::fbthrift::TType::String, 2);
1796        ::fbthrift::Serialize::write(&self.prop, p);
1797        p.write_field_end();
1798        p.write_field_begin("stat", ::fbthrift::TType::I32, 3);
1799        ::fbthrift::Serialize::write(&self.stat, p);
1800        p.write_field_end();
1801        p.write_field_stop();
1802        p.write_struct_end();
1803    }
1804}
1805
1806impl<P> ::fbthrift::Deserialize<P> for self::StatProp
1807where
1808    P: ::fbthrift::ProtocolReader,
1809{
1810    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1811        static FIELDS: &[::fbthrift::Field] = &[
1812            ::fbthrift::Field::new("alias", ::fbthrift::TType::String, 1),
1813            ::fbthrift::Field::new("prop", ::fbthrift::TType::String, 2),
1814            ::fbthrift::Field::new("stat", ::fbthrift::TType::I32, 3),
1815        ];
1816        let mut field_alias = ::std::option::Option::None;
1817        let mut field_prop = ::std::option::Option::None;
1818        let mut field_stat = ::std::option::Option::None;
1819        let _ = p.read_struct_begin(|_| ())?;
1820        loop {
1821            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1822            match (fty, fid as ::std::primitive::i32) {
1823                (::fbthrift::TType::Stop, _) => break,
1824                (::fbthrift::TType::String, 1) => field_alias = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1825                (::fbthrift::TType::String, 2) => field_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1826                (::fbthrift::TType::I32, 3) => field_stat = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1827                (fty, _) => p.skip(fty)?,
1828            }
1829            p.read_field_end()?;
1830        }
1831        p.read_struct_end()?;
1832        ::std::result::Result::Ok(Self {
1833            alias: field_alias.unwrap_or_default(),
1834            prop: field_prop.unwrap_or_default(),
1835            stat: field_stat.unwrap_or_default(),
1836            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1837        })
1838    }
1839}
1840
1841
1842#[allow(clippy::derivable_impls)]
1843impl ::std::default::Default for self::Expr {
1844    fn default() -> Self {
1845        Self {
1846            alias: ::std::default::Default::default(),
1847            expr: ::std::default::Default::default(),
1848            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1849        }
1850    }
1851}
1852
1853impl ::std::fmt::Debug for self::Expr {
1854    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1855        formatter
1856            .debug_struct("Expr")
1857            .field("alias", &self.alias)
1858            .field("expr", &self.expr)
1859            .finish()
1860    }
1861}
1862
1863unsafe impl ::std::marker::Send for self::Expr {}
1864unsafe impl ::std::marker::Sync for self::Expr {}
1865
1866impl ::fbthrift::GetTType for self::Expr {
1867    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1868}
1869
1870impl<P> ::fbthrift::Serialize<P> for self::Expr
1871where
1872    P: ::fbthrift::ProtocolWriter,
1873{
1874    fn write(&self, p: &mut P) {
1875        p.write_struct_begin("Expr");
1876        p.write_field_begin("alias", ::fbthrift::TType::String, 1);
1877        ::fbthrift::Serialize::write(&self.alias, p);
1878        p.write_field_end();
1879        p.write_field_begin("expr", ::fbthrift::TType::String, 2);
1880        ::fbthrift::Serialize::write(&self.expr, p);
1881        p.write_field_end();
1882        p.write_field_stop();
1883        p.write_struct_end();
1884    }
1885}
1886
1887impl<P> ::fbthrift::Deserialize<P> for self::Expr
1888where
1889    P: ::fbthrift::ProtocolReader,
1890{
1891    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1892        static FIELDS: &[::fbthrift::Field] = &[
1893            ::fbthrift::Field::new("alias", ::fbthrift::TType::String, 1),
1894            ::fbthrift::Field::new("expr", ::fbthrift::TType::String, 2),
1895        ];
1896        let mut field_alias = ::std::option::Option::None;
1897        let mut field_expr = ::std::option::Option::None;
1898        let _ = p.read_struct_begin(|_| ())?;
1899        loop {
1900            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1901            match (fty, fid as ::std::primitive::i32) {
1902                (::fbthrift::TType::Stop, _) => break,
1903                (::fbthrift::TType::String, 1) => field_alias = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1904                (::fbthrift::TType::String, 2) => field_expr = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1905                (fty, _) => p.skip(fty)?,
1906            }
1907            p.read_field_end()?;
1908        }
1909        p.read_struct_end()?;
1910        ::std::result::Result::Ok(Self {
1911            alias: field_alias.unwrap_or_default(),
1912            expr: field_expr.unwrap_or_default(),
1913            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1914        })
1915    }
1916}
1917
1918
1919#[allow(clippy::derivable_impls)]
1920impl ::std::default::Default for self::EdgeProp {
1921    fn default() -> Self {
1922        Self {
1923            r#type: ::std::default::Default::default(),
1924            props: ::std::default::Default::default(),
1925            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1926        }
1927    }
1928}
1929
1930impl ::std::fmt::Debug for self::EdgeProp {
1931    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1932        formatter
1933            .debug_struct("EdgeProp")
1934            .field("r#type", &self.r#type)
1935            .field("props", &self.props)
1936            .finish()
1937    }
1938}
1939
1940unsafe impl ::std::marker::Send for self::EdgeProp {}
1941unsafe impl ::std::marker::Sync for self::EdgeProp {}
1942
1943impl ::fbthrift::GetTType for self::EdgeProp {
1944    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
1945}
1946
1947impl<P> ::fbthrift::Serialize<P> for self::EdgeProp
1948where
1949    P: ::fbthrift::ProtocolWriter,
1950{
1951    fn write(&self, p: &mut P) {
1952        p.write_struct_begin("EdgeProp");
1953        p.write_field_begin("type", ::fbthrift::TType::I32, 1);
1954        ::fbthrift::Serialize::write(&self.r#type, p);
1955        p.write_field_end();
1956        p.write_field_begin("props", ::fbthrift::TType::List, 2);
1957        ::fbthrift::Serialize::write(&self.props, p);
1958        p.write_field_end();
1959        p.write_field_stop();
1960        p.write_struct_end();
1961    }
1962}
1963
1964impl<P> ::fbthrift::Deserialize<P> for self::EdgeProp
1965where
1966    P: ::fbthrift::ProtocolReader,
1967{
1968    fn read(p: &mut P) -> ::anyhow::Result<Self> {
1969        static FIELDS: &[::fbthrift::Field] = &[
1970            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
1971            ::fbthrift::Field::new("type", ::fbthrift::TType::I32, 1),
1972        ];
1973        let mut field_type = ::std::option::Option::None;
1974        let mut field_props = ::std::option::Option::None;
1975        let _ = p.read_struct_begin(|_| ())?;
1976        loop {
1977            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
1978            match (fty, fid as ::std::primitive::i32) {
1979                (::fbthrift::TType::Stop, _) => break,
1980                (::fbthrift::TType::I32, 1) => field_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1981                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
1982                (fty, _) => p.skip(fty)?,
1983            }
1984            p.read_field_end()?;
1985        }
1986        p.read_struct_end()?;
1987        ::std::result::Result::Ok(Self {
1988            r#type: field_type.unwrap_or_default(),
1989            props: field_props.unwrap_or_default(),
1990            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
1991        })
1992    }
1993}
1994
1995
1996#[allow(clippy::derivable_impls)]
1997impl ::std::default::Default for self::VertexProp {
1998    fn default() -> Self {
1999        Self {
2000            tag: ::std::default::Default::default(),
2001            props: ::std::default::Default::default(),
2002            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2003        }
2004    }
2005}
2006
2007impl ::std::fmt::Debug for self::VertexProp {
2008    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2009        formatter
2010            .debug_struct("VertexProp")
2011            .field("tag", &self.tag)
2012            .field("props", &self.props)
2013            .finish()
2014    }
2015}
2016
2017unsafe impl ::std::marker::Send for self::VertexProp {}
2018unsafe impl ::std::marker::Sync for self::VertexProp {}
2019
2020impl ::fbthrift::GetTType for self::VertexProp {
2021    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2022}
2023
2024impl<P> ::fbthrift::Serialize<P> for self::VertexProp
2025where
2026    P: ::fbthrift::ProtocolWriter,
2027{
2028    fn write(&self, p: &mut P) {
2029        p.write_struct_begin("VertexProp");
2030        p.write_field_begin("tag", ::fbthrift::TType::I32, 1);
2031        ::fbthrift::Serialize::write(&self.tag, p);
2032        p.write_field_end();
2033        p.write_field_begin("props", ::fbthrift::TType::List, 2);
2034        ::fbthrift::Serialize::write(&self.props, p);
2035        p.write_field_end();
2036        p.write_field_stop();
2037        p.write_struct_end();
2038    }
2039}
2040
2041impl<P> ::fbthrift::Deserialize<P> for self::VertexProp
2042where
2043    P: ::fbthrift::ProtocolReader,
2044{
2045    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2046        static FIELDS: &[::fbthrift::Field] = &[
2047            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
2048            ::fbthrift::Field::new("tag", ::fbthrift::TType::I32, 1),
2049        ];
2050        let mut field_tag = ::std::option::Option::None;
2051        let mut field_props = ::std::option::Option::None;
2052        let _ = p.read_struct_begin(|_| ())?;
2053        loop {
2054            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2055            match (fty, fid as ::std::primitive::i32) {
2056                (::fbthrift::TType::Stop, _) => break,
2057                (::fbthrift::TType::I32, 1) => field_tag = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2058                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2059                (fty, _) => p.skip(fty)?,
2060            }
2061            p.read_field_end()?;
2062        }
2063        p.read_struct_end()?;
2064        ::std::result::Result::Ok(Self {
2065            tag: field_tag.unwrap_or_default(),
2066            props: field_props.unwrap_or_default(),
2067            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2068        })
2069    }
2070}
2071
2072
2073#[allow(clippy::derivable_impls)]
2074impl ::std::default::Default for self::OrderBy {
2075    fn default() -> Self {
2076        Self {
2077            prop: ::std::default::Default::default(),
2078            direction: ::std::default::Default::default(),
2079            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2080        }
2081    }
2082}
2083
2084impl ::std::fmt::Debug for self::OrderBy {
2085    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2086        formatter
2087            .debug_struct("OrderBy")
2088            .field("prop", &self.prop)
2089            .field("direction", &self.direction)
2090            .finish()
2091    }
2092}
2093
2094unsafe impl ::std::marker::Send for self::OrderBy {}
2095unsafe impl ::std::marker::Sync for self::OrderBy {}
2096
2097impl ::fbthrift::GetTType for self::OrderBy {
2098    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2099}
2100
2101impl<P> ::fbthrift::Serialize<P> for self::OrderBy
2102where
2103    P: ::fbthrift::ProtocolWriter,
2104{
2105    fn write(&self, p: &mut P) {
2106        p.write_struct_begin("OrderBy");
2107        p.write_field_begin("prop", ::fbthrift::TType::String, 1);
2108        ::fbthrift::Serialize::write(&self.prop, p);
2109        p.write_field_end();
2110        p.write_field_begin("direction", ::fbthrift::TType::I32, 2);
2111        ::fbthrift::Serialize::write(&self.direction, p);
2112        p.write_field_end();
2113        p.write_field_stop();
2114        p.write_struct_end();
2115    }
2116}
2117
2118impl<P> ::fbthrift::Deserialize<P> for self::OrderBy
2119where
2120    P: ::fbthrift::ProtocolReader,
2121{
2122    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2123        static FIELDS: &[::fbthrift::Field] = &[
2124            ::fbthrift::Field::new("direction", ::fbthrift::TType::I32, 2),
2125            ::fbthrift::Field::new("prop", ::fbthrift::TType::String, 1),
2126        ];
2127        let mut field_prop = ::std::option::Option::None;
2128        let mut field_direction = ::std::option::Option::None;
2129        let _ = p.read_struct_begin(|_| ())?;
2130        loop {
2131            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2132            match (fty, fid as ::std::primitive::i32) {
2133                (::fbthrift::TType::Stop, _) => break,
2134                (::fbthrift::TType::String, 1) => field_prop = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2135                (::fbthrift::TType::I32, 2) => field_direction = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2136                (fty, _) => p.skip(fty)?,
2137            }
2138            p.read_field_end()?;
2139        }
2140        p.read_struct_end()?;
2141        ::std::result::Result::Ok(Self {
2142            prop: field_prop.unwrap_or_default(),
2143            direction: field_direction.unwrap_or_default(),
2144            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2145        })
2146    }
2147}
2148
2149
2150#[allow(clippy::derivable_impls)]
2151impl ::std::default::Default for self::TraverseSpec {
2152    fn default() -> Self {
2153        Self {
2154            edge_types: ::std::default::Default::default(),
2155            edge_direction: crate::types::EdgeDirection::BOTH,
2156            dedup: false,
2157            stat_props: ::std::option::Option::None,
2158            vertex_props: ::std::option::Option::None,
2159            edge_props: ::std::option::Option::None,
2160            expressions: ::std::option::Option::None,
2161            order_by: ::std::option::Option::None,
2162            random: ::std::option::Option::None,
2163            limit: ::std::option::Option::None,
2164            filter: ::std::option::Option::None,
2165            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2166        }
2167    }
2168}
2169
2170impl ::std::fmt::Debug for self::TraverseSpec {
2171    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2172        formatter
2173            .debug_struct("TraverseSpec")
2174            .field("edge_types", &self.edge_types)
2175            .field("edge_direction", &self.edge_direction)
2176            .field("dedup", &self.dedup)
2177            .field("stat_props", &self.stat_props)
2178            .field("vertex_props", &self.vertex_props)
2179            .field("edge_props", &self.edge_props)
2180            .field("expressions", &self.expressions)
2181            .field("order_by", &self.order_by)
2182            .field("random", &self.random)
2183            .field("limit", &self.limit)
2184            .field("filter", &self.filter)
2185            .finish()
2186    }
2187}
2188
2189unsafe impl ::std::marker::Send for self::TraverseSpec {}
2190unsafe impl ::std::marker::Sync for self::TraverseSpec {}
2191
2192impl ::fbthrift::GetTType for self::TraverseSpec {
2193    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2194}
2195
2196impl<P> ::fbthrift::Serialize<P> for self::TraverseSpec
2197where
2198    P: ::fbthrift::ProtocolWriter,
2199{
2200    fn write(&self, p: &mut P) {
2201        p.write_struct_begin("TraverseSpec");
2202        p.write_field_begin("edge_types", ::fbthrift::TType::List, 1);
2203        ::fbthrift::Serialize::write(&self.edge_types, p);
2204        p.write_field_end();
2205        p.write_field_begin("edge_direction", ::fbthrift::TType::I32, 2);
2206        ::fbthrift::Serialize::write(&self.edge_direction, p);
2207        p.write_field_end();
2208        p.write_field_begin("dedup", ::fbthrift::TType::Bool, 3);
2209        ::fbthrift::Serialize::write(&self.dedup, p);
2210        p.write_field_end();
2211        if let ::std::option::Option::Some(some) = &self.stat_props {
2212            p.write_field_begin("stat_props", ::fbthrift::TType::List, 4);
2213            ::fbthrift::Serialize::write(some, p);
2214            p.write_field_end();
2215        }
2216        if let ::std::option::Option::Some(some) = &self.vertex_props {
2217            p.write_field_begin("vertex_props", ::fbthrift::TType::List, 5);
2218            ::fbthrift::Serialize::write(some, p);
2219            p.write_field_end();
2220        }
2221        if let ::std::option::Option::Some(some) = &self.edge_props {
2222            p.write_field_begin("edge_props", ::fbthrift::TType::List, 6);
2223            ::fbthrift::Serialize::write(some, p);
2224            p.write_field_end();
2225        }
2226        if let ::std::option::Option::Some(some) = &self.expressions {
2227            p.write_field_begin("expressions", ::fbthrift::TType::List, 7);
2228            ::fbthrift::Serialize::write(some, p);
2229            p.write_field_end();
2230        }
2231        if let ::std::option::Option::Some(some) = &self.order_by {
2232            p.write_field_begin("order_by", ::fbthrift::TType::List, 8);
2233            ::fbthrift::Serialize::write(some, p);
2234            p.write_field_end();
2235        }
2236        if let ::std::option::Option::Some(some) = &self.random {
2237            p.write_field_begin("random", ::fbthrift::TType::Bool, 9);
2238            ::fbthrift::Serialize::write(some, p);
2239            p.write_field_end();
2240        }
2241        if let ::std::option::Option::Some(some) = &self.limit {
2242            p.write_field_begin("limit", ::fbthrift::TType::I64, 10);
2243            ::fbthrift::Serialize::write(some, p);
2244            p.write_field_end();
2245        }
2246        if let ::std::option::Option::Some(some) = &self.filter {
2247            p.write_field_begin("filter", ::fbthrift::TType::String, 11);
2248            ::fbthrift::Serialize::write(some, p);
2249            p.write_field_end();
2250        }
2251        p.write_field_stop();
2252        p.write_struct_end();
2253    }
2254}
2255
2256impl<P> ::fbthrift::Deserialize<P> for self::TraverseSpec
2257where
2258    P: ::fbthrift::ProtocolReader,
2259{
2260    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2261        static FIELDS: &[::fbthrift::Field] = &[
2262            ::fbthrift::Field::new("dedup", ::fbthrift::TType::Bool, 3),
2263            ::fbthrift::Field::new("edge_direction", ::fbthrift::TType::I32, 2),
2264            ::fbthrift::Field::new("edge_props", ::fbthrift::TType::List, 6),
2265            ::fbthrift::Field::new("edge_types", ::fbthrift::TType::List, 1),
2266            ::fbthrift::Field::new("expressions", ::fbthrift::TType::List, 7),
2267            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 11),
2268            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 10),
2269            ::fbthrift::Field::new("order_by", ::fbthrift::TType::List, 8),
2270            ::fbthrift::Field::new("random", ::fbthrift::TType::Bool, 9),
2271            ::fbthrift::Field::new("stat_props", ::fbthrift::TType::List, 4),
2272            ::fbthrift::Field::new("vertex_props", ::fbthrift::TType::List, 5),
2273        ];
2274        let mut field_edge_types = ::std::option::Option::None;
2275        let mut field_edge_direction = ::std::option::Option::None;
2276        let mut field_dedup = ::std::option::Option::None;
2277        let mut field_stat_props = ::std::option::Option::None;
2278        let mut field_vertex_props = ::std::option::Option::None;
2279        let mut field_edge_props = ::std::option::Option::None;
2280        let mut field_expressions = ::std::option::Option::None;
2281        let mut field_order_by = ::std::option::Option::None;
2282        let mut field_random = ::std::option::Option::None;
2283        let mut field_limit = ::std::option::Option::None;
2284        let mut field_filter = ::std::option::Option::None;
2285        let _ = p.read_struct_begin(|_| ())?;
2286        loop {
2287            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2288            match (fty, fid as ::std::primitive::i32) {
2289                (::fbthrift::TType::Stop, _) => break,
2290                (::fbthrift::TType::List, 1) => field_edge_types = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2291                (::fbthrift::TType::I32, 2) => field_edge_direction = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2292                (::fbthrift::TType::Bool, 3) => field_dedup = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2293                (::fbthrift::TType::List, 4) => field_stat_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2294                (::fbthrift::TType::List, 5) => field_vertex_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2295                (::fbthrift::TType::List, 6) => field_edge_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2296                (::fbthrift::TType::List, 7) => field_expressions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2297                (::fbthrift::TType::List, 8) => field_order_by = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2298                (::fbthrift::TType::Bool, 9) => field_random = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2299                (::fbthrift::TType::I64, 10) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2300                (::fbthrift::TType::String, 11) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2301                (fty, _) => p.skip(fty)?,
2302            }
2303            p.read_field_end()?;
2304        }
2305        p.read_struct_end()?;
2306        ::std::result::Result::Ok(Self {
2307            edge_types: field_edge_types.unwrap_or_default(),
2308            edge_direction: field_edge_direction.unwrap_or(crate::types::EdgeDirection::BOTH),
2309            dedup: field_dedup.unwrap_or(false),
2310            stat_props: field_stat_props,
2311            vertex_props: field_vertex_props,
2312            edge_props: field_edge_props,
2313            expressions: field_expressions,
2314            order_by: field_order_by,
2315            random: field_random,
2316            limit: field_limit,
2317            filter: field_filter,
2318            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2319        })
2320    }
2321}
2322
2323
2324#[allow(clippy::derivable_impls)]
2325impl ::std::default::Default for self::GetNeighborsRequest {
2326    fn default() -> Self {
2327        Self {
2328            space_id: ::std::default::Default::default(),
2329            column_names: ::std::default::Default::default(),
2330            parts: ::std::default::Default::default(),
2331            traverse_spec: ::std::default::Default::default(),
2332            common: ::std::option::Option::None,
2333            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2334        }
2335    }
2336}
2337
2338impl ::std::fmt::Debug for self::GetNeighborsRequest {
2339    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2340        formatter
2341            .debug_struct("GetNeighborsRequest")
2342            .field("space_id", &self.space_id)
2343            .field("column_names", &self.column_names)
2344            .field("parts", &self.parts)
2345            .field("traverse_spec", &self.traverse_spec)
2346            .field("common", &self.common)
2347            .finish()
2348    }
2349}
2350
2351unsafe impl ::std::marker::Send for self::GetNeighborsRequest {}
2352unsafe impl ::std::marker::Sync for self::GetNeighborsRequest {}
2353
2354impl ::fbthrift::GetTType for self::GetNeighborsRequest {
2355    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2356}
2357
2358impl<P> ::fbthrift::Serialize<P> for self::GetNeighborsRequest
2359where
2360    P: ::fbthrift::ProtocolWriter,
2361{
2362    fn write(&self, p: &mut P) {
2363        p.write_struct_begin("GetNeighborsRequest");
2364        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
2365        ::fbthrift::Serialize::write(&self.space_id, p);
2366        p.write_field_end();
2367        p.write_field_begin("column_names", ::fbthrift::TType::List, 2);
2368        ::fbthrift::Serialize::write(&self.column_names, p);
2369        p.write_field_end();
2370        p.write_field_begin("parts", ::fbthrift::TType::Map, 3);
2371        ::fbthrift::Serialize::write(&self.parts, p);
2372        p.write_field_end();
2373        p.write_field_begin("traverse_spec", ::fbthrift::TType::Struct, 4);
2374        ::fbthrift::Serialize::write(&self.traverse_spec, p);
2375        p.write_field_end();
2376        if let ::std::option::Option::Some(some) = &self.common {
2377            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
2378            ::fbthrift::Serialize::write(some, p);
2379            p.write_field_end();
2380        }
2381        p.write_field_stop();
2382        p.write_struct_end();
2383    }
2384}
2385
2386impl<P> ::fbthrift::Deserialize<P> for self::GetNeighborsRequest
2387where
2388    P: ::fbthrift::ProtocolReader,
2389{
2390    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2391        static FIELDS: &[::fbthrift::Field] = &[
2392            ::fbthrift::Field::new("column_names", ::fbthrift::TType::List, 2),
2393            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
2394            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 3),
2395            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
2396            ::fbthrift::Field::new("traverse_spec", ::fbthrift::TType::Struct, 4),
2397        ];
2398        let mut field_space_id = ::std::option::Option::None;
2399        let mut field_column_names = ::std::option::Option::None;
2400        let mut field_parts = ::std::option::Option::None;
2401        let mut field_traverse_spec = ::std::option::Option::None;
2402        let mut field_common = ::std::option::Option::None;
2403        let _ = p.read_struct_begin(|_| ())?;
2404        loop {
2405            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2406            match (fty, fid as ::std::primitive::i32) {
2407                (::fbthrift::TType::Stop, _) => break,
2408                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2409                (::fbthrift::TType::List, 2) => field_column_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2410                (::fbthrift::TType::Map, 3) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2411                (::fbthrift::TType::Struct, 4) => field_traverse_spec = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2412                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2413                (fty, _) => p.skip(fty)?,
2414            }
2415            p.read_field_end()?;
2416        }
2417        p.read_struct_end()?;
2418        ::std::result::Result::Ok(Self {
2419            space_id: field_space_id.unwrap_or_default(),
2420            column_names: field_column_names.unwrap_or_default(),
2421            parts: field_parts.unwrap_or_default(),
2422            traverse_spec: field_traverse_spec.unwrap_or_default(),
2423            common: field_common,
2424            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2425        })
2426    }
2427}
2428
2429
2430#[allow(clippy::derivable_impls)]
2431impl ::std::default::Default for self::GetNeighborsResponse {
2432    fn default() -> Self {
2433        Self {
2434            result: ::std::default::Default::default(),
2435            vertices: ::std::option::Option::None,
2436            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2437        }
2438    }
2439}
2440
2441impl ::std::fmt::Debug for self::GetNeighborsResponse {
2442    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2443        formatter
2444            .debug_struct("GetNeighborsResponse")
2445            .field("result", &self.result)
2446            .field("vertices", &self.vertices)
2447            .finish()
2448    }
2449}
2450
2451unsafe impl ::std::marker::Send for self::GetNeighborsResponse {}
2452unsafe impl ::std::marker::Sync for self::GetNeighborsResponse {}
2453
2454impl ::fbthrift::GetTType for self::GetNeighborsResponse {
2455    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2456}
2457
2458impl<P> ::fbthrift::Serialize<P> for self::GetNeighborsResponse
2459where
2460    P: ::fbthrift::ProtocolWriter,
2461{
2462    fn write(&self, p: &mut P) {
2463        p.write_struct_begin("GetNeighborsResponse");
2464        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
2465        ::fbthrift::Serialize::write(&self.result, p);
2466        p.write_field_end();
2467        if let ::std::option::Option::Some(some) = &self.vertices {
2468            p.write_field_begin("vertices", ::fbthrift::TType::Struct, 2);
2469            ::fbthrift::Serialize::write(some, p);
2470            p.write_field_end();
2471        }
2472        p.write_field_stop();
2473        p.write_struct_end();
2474    }
2475}
2476
2477impl<P> ::fbthrift::Deserialize<P> for self::GetNeighborsResponse
2478where
2479    P: ::fbthrift::ProtocolReader,
2480{
2481    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2482        static FIELDS: &[::fbthrift::Field] = &[
2483            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
2484            ::fbthrift::Field::new("vertices", ::fbthrift::TType::Struct, 2),
2485        ];
2486        let mut field_result = ::std::option::Option::None;
2487        let mut field_vertices = ::std::option::Option::None;
2488        let _ = p.read_struct_begin(|_| ())?;
2489        loop {
2490            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2491            match (fty, fid as ::std::primitive::i32) {
2492                (::fbthrift::TType::Stop, _) => break,
2493                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2494                (::fbthrift::TType::Struct, 2) => field_vertices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2495                (fty, _) => p.skip(fty)?,
2496            }
2497            p.read_field_end()?;
2498        }
2499        p.read_struct_end()?;
2500        ::std::result::Result::Ok(Self {
2501            result: field_result.unwrap_or_default(),
2502            vertices: field_vertices,
2503            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2504        })
2505    }
2506}
2507
2508
2509#[allow(clippy::derivable_impls)]
2510impl ::std::default::Default for self::ExecResponse {
2511    fn default() -> Self {
2512        Self {
2513            result: ::std::default::Default::default(),
2514            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2515        }
2516    }
2517}
2518
2519impl ::std::fmt::Debug for self::ExecResponse {
2520    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2521        formatter
2522            .debug_struct("ExecResponse")
2523            .field("result", &self.result)
2524            .finish()
2525    }
2526}
2527
2528unsafe impl ::std::marker::Send for self::ExecResponse {}
2529unsafe impl ::std::marker::Sync for self::ExecResponse {}
2530
2531impl ::fbthrift::GetTType for self::ExecResponse {
2532    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2533}
2534
2535impl<P> ::fbthrift::Serialize<P> for self::ExecResponse
2536where
2537    P: ::fbthrift::ProtocolWriter,
2538{
2539    fn write(&self, p: &mut P) {
2540        p.write_struct_begin("ExecResponse");
2541        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
2542        ::fbthrift::Serialize::write(&self.result, p);
2543        p.write_field_end();
2544        p.write_field_stop();
2545        p.write_struct_end();
2546    }
2547}
2548
2549impl<P> ::fbthrift::Deserialize<P> for self::ExecResponse
2550where
2551    P: ::fbthrift::ProtocolReader,
2552{
2553    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2554        static FIELDS: &[::fbthrift::Field] = &[
2555            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
2556        ];
2557        let mut field_result = ::std::option::Option::None;
2558        let _ = p.read_struct_begin(|_| ())?;
2559        loop {
2560            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2561            match (fty, fid as ::std::primitive::i32) {
2562                (::fbthrift::TType::Stop, _) => break,
2563                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2564                (fty, _) => p.skip(fty)?,
2565            }
2566            p.read_field_end()?;
2567        }
2568        p.read_struct_end()?;
2569        ::std::result::Result::Ok(Self {
2570            result: field_result.unwrap_or_default(),
2571            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2572        })
2573    }
2574}
2575
2576
2577#[allow(clippy::derivable_impls)]
2578impl ::std::default::Default for self::GetPropRequest {
2579    fn default() -> Self {
2580        Self {
2581            space_id: ::std::default::Default::default(),
2582            parts: ::std::default::Default::default(),
2583            vertex_props: ::std::option::Option::None,
2584            edge_props: ::std::option::Option::None,
2585            expressions: ::std::option::Option::None,
2586            dedup: false,
2587            order_by: ::std::option::Option::None,
2588            limit: ::std::option::Option::None,
2589            filter: ::std::option::Option::None,
2590            common: ::std::option::Option::None,
2591            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2592        }
2593    }
2594}
2595
2596impl ::std::fmt::Debug for self::GetPropRequest {
2597    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2598        formatter
2599            .debug_struct("GetPropRequest")
2600            .field("space_id", &self.space_id)
2601            .field("parts", &self.parts)
2602            .field("vertex_props", &self.vertex_props)
2603            .field("edge_props", &self.edge_props)
2604            .field("expressions", &self.expressions)
2605            .field("dedup", &self.dedup)
2606            .field("order_by", &self.order_by)
2607            .field("limit", &self.limit)
2608            .field("filter", &self.filter)
2609            .field("common", &self.common)
2610            .finish()
2611    }
2612}
2613
2614unsafe impl ::std::marker::Send for self::GetPropRequest {}
2615unsafe impl ::std::marker::Sync for self::GetPropRequest {}
2616
2617impl ::fbthrift::GetTType for self::GetPropRequest {
2618    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2619}
2620
2621impl<P> ::fbthrift::Serialize<P> for self::GetPropRequest
2622where
2623    P: ::fbthrift::ProtocolWriter,
2624{
2625    fn write(&self, p: &mut P) {
2626        p.write_struct_begin("GetPropRequest");
2627        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
2628        ::fbthrift::Serialize::write(&self.space_id, p);
2629        p.write_field_end();
2630        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
2631        ::fbthrift::Serialize::write(&self.parts, p);
2632        p.write_field_end();
2633        if let ::std::option::Option::Some(some) = &self.vertex_props {
2634            p.write_field_begin("vertex_props", ::fbthrift::TType::List, 3);
2635            ::fbthrift::Serialize::write(some, p);
2636            p.write_field_end();
2637        }
2638        if let ::std::option::Option::Some(some) = &self.edge_props {
2639            p.write_field_begin("edge_props", ::fbthrift::TType::List, 4);
2640            ::fbthrift::Serialize::write(some, p);
2641            p.write_field_end();
2642        }
2643        if let ::std::option::Option::Some(some) = &self.expressions {
2644            p.write_field_begin("expressions", ::fbthrift::TType::List, 5);
2645            ::fbthrift::Serialize::write(some, p);
2646            p.write_field_end();
2647        }
2648        p.write_field_begin("dedup", ::fbthrift::TType::Bool, 6);
2649        ::fbthrift::Serialize::write(&self.dedup, p);
2650        p.write_field_end();
2651        if let ::std::option::Option::Some(some) = &self.order_by {
2652            p.write_field_begin("order_by", ::fbthrift::TType::List, 7);
2653            ::fbthrift::Serialize::write(some, p);
2654            p.write_field_end();
2655        }
2656        if let ::std::option::Option::Some(some) = &self.limit {
2657            p.write_field_begin("limit", ::fbthrift::TType::I64, 8);
2658            ::fbthrift::Serialize::write(some, p);
2659            p.write_field_end();
2660        }
2661        if let ::std::option::Option::Some(some) = &self.filter {
2662            p.write_field_begin("filter", ::fbthrift::TType::String, 9);
2663            ::fbthrift::Serialize::write(some, p);
2664            p.write_field_end();
2665        }
2666        if let ::std::option::Option::Some(some) = &self.common {
2667            p.write_field_begin("common", ::fbthrift::TType::Struct, 10);
2668            ::fbthrift::Serialize::write(some, p);
2669            p.write_field_end();
2670        }
2671        p.write_field_stop();
2672        p.write_struct_end();
2673    }
2674}
2675
2676impl<P> ::fbthrift::Deserialize<P> for self::GetPropRequest
2677where
2678    P: ::fbthrift::ProtocolReader,
2679{
2680    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2681        static FIELDS: &[::fbthrift::Field] = &[
2682            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 10),
2683            ::fbthrift::Field::new("dedup", ::fbthrift::TType::Bool, 6),
2684            ::fbthrift::Field::new("edge_props", ::fbthrift::TType::List, 4),
2685            ::fbthrift::Field::new("expressions", ::fbthrift::TType::List, 5),
2686            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 9),
2687            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 8),
2688            ::fbthrift::Field::new("order_by", ::fbthrift::TType::List, 7),
2689            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
2690            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
2691            ::fbthrift::Field::new("vertex_props", ::fbthrift::TType::List, 3),
2692        ];
2693        let mut field_space_id = ::std::option::Option::None;
2694        let mut field_parts = ::std::option::Option::None;
2695        let mut field_vertex_props = ::std::option::Option::None;
2696        let mut field_edge_props = ::std::option::Option::None;
2697        let mut field_expressions = ::std::option::Option::None;
2698        let mut field_dedup = ::std::option::Option::None;
2699        let mut field_order_by = ::std::option::Option::None;
2700        let mut field_limit = ::std::option::Option::None;
2701        let mut field_filter = ::std::option::Option::None;
2702        let mut field_common = ::std::option::Option::None;
2703        let _ = p.read_struct_begin(|_| ())?;
2704        loop {
2705            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2706            match (fty, fid as ::std::primitive::i32) {
2707                (::fbthrift::TType::Stop, _) => break,
2708                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2709                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2710                (::fbthrift::TType::List, 3) => field_vertex_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2711                (::fbthrift::TType::List, 4) => field_edge_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2712                (::fbthrift::TType::List, 5) => field_expressions = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2713                (::fbthrift::TType::Bool, 6) => field_dedup = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2714                (::fbthrift::TType::List, 7) => field_order_by = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2715                (::fbthrift::TType::I64, 8) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2716                (::fbthrift::TType::String, 9) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2717                (::fbthrift::TType::Struct, 10) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2718                (fty, _) => p.skip(fty)?,
2719            }
2720            p.read_field_end()?;
2721        }
2722        p.read_struct_end()?;
2723        ::std::result::Result::Ok(Self {
2724            space_id: field_space_id.unwrap_or_default(),
2725            parts: field_parts.unwrap_or_default(),
2726            vertex_props: field_vertex_props,
2727            edge_props: field_edge_props,
2728            expressions: field_expressions,
2729            dedup: field_dedup.unwrap_or(false),
2730            order_by: field_order_by,
2731            limit: field_limit,
2732            filter: field_filter,
2733            common: field_common,
2734            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2735        })
2736    }
2737}
2738
2739
2740#[allow(clippy::derivable_impls)]
2741impl ::std::default::Default for self::GetPropResponse {
2742    fn default() -> Self {
2743        Self {
2744            result: ::std::default::Default::default(),
2745            props: ::std::option::Option::None,
2746            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2747        }
2748    }
2749}
2750
2751impl ::std::fmt::Debug for self::GetPropResponse {
2752    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2753        formatter
2754            .debug_struct("GetPropResponse")
2755            .field("result", &self.result)
2756            .field("props", &self.props)
2757            .finish()
2758    }
2759}
2760
2761unsafe impl ::std::marker::Send for self::GetPropResponse {}
2762unsafe impl ::std::marker::Sync for self::GetPropResponse {}
2763
2764impl ::fbthrift::GetTType for self::GetPropResponse {
2765    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2766}
2767
2768impl<P> ::fbthrift::Serialize<P> for self::GetPropResponse
2769where
2770    P: ::fbthrift::ProtocolWriter,
2771{
2772    fn write(&self, p: &mut P) {
2773        p.write_struct_begin("GetPropResponse");
2774        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
2775        ::fbthrift::Serialize::write(&self.result, p);
2776        p.write_field_end();
2777        if let ::std::option::Option::Some(some) = &self.props {
2778            p.write_field_begin("props", ::fbthrift::TType::Struct, 2);
2779            ::fbthrift::Serialize::write(some, p);
2780            p.write_field_end();
2781        }
2782        p.write_field_stop();
2783        p.write_struct_end();
2784    }
2785}
2786
2787impl<P> ::fbthrift::Deserialize<P> for self::GetPropResponse
2788where
2789    P: ::fbthrift::ProtocolReader,
2790{
2791    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2792        static FIELDS: &[::fbthrift::Field] = &[
2793            ::fbthrift::Field::new("props", ::fbthrift::TType::Struct, 2),
2794            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
2795        ];
2796        let mut field_result = ::std::option::Option::None;
2797        let mut field_props = ::std::option::Option::None;
2798        let _ = p.read_struct_begin(|_| ())?;
2799        loop {
2800            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2801            match (fty, fid as ::std::primitive::i32) {
2802                (::fbthrift::TType::Stop, _) => break,
2803                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2804                (::fbthrift::TType::Struct, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2805                (fty, _) => p.skip(fty)?,
2806            }
2807            p.read_field_end()?;
2808        }
2809        p.read_struct_end()?;
2810        ::std::result::Result::Ok(Self {
2811            result: field_result.unwrap_or_default(),
2812            props: field_props,
2813            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2814        })
2815    }
2816}
2817
2818
2819#[allow(clippy::derivable_impls)]
2820impl ::std::default::Default for self::NewTag {
2821    fn default() -> Self {
2822        Self {
2823            tag_id: ::std::default::Default::default(),
2824            props: ::std::default::Default::default(),
2825            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2826        }
2827    }
2828}
2829
2830impl ::std::fmt::Debug for self::NewTag {
2831    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2832        formatter
2833            .debug_struct("NewTag")
2834            .field("tag_id", &self.tag_id)
2835            .field("props", &self.props)
2836            .finish()
2837    }
2838}
2839
2840unsafe impl ::std::marker::Send for self::NewTag {}
2841unsafe impl ::std::marker::Sync for self::NewTag {}
2842
2843impl ::fbthrift::GetTType for self::NewTag {
2844    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2845}
2846
2847impl<P> ::fbthrift::Serialize<P> for self::NewTag
2848where
2849    P: ::fbthrift::ProtocolWriter,
2850{
2851    fn write(&self, p: &mut P) {
2852        p.write_struct_begin("NewTag");
2853        p.write_field_begin("tag_id", ::fbthrift::TType::I32, 1);
2854        ::fbthrift::Serialize::write(&self.tag_id, p);
2855        p.write_field_end();
2856        p.write_field_begin("props", ::fbthrift::TType::List, 2);
2857        ::fbthrift::Serialize::write(&self.props, p);
2858        p.write_field_end();
2859        p.write_field_stop();
2860        p.write_struct_end();
2861    }
2862}
2863
2864impl<P> ::fbthrift::Deserialize<P> for self::NewTag
2865where
2866    P: ::fbthrift::ProtocolReader,
2867{
2868    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2869        static FIELDS: &[::fbthrift::Field] = &[
2870            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
2871            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 1),
2872        ];
2873        let mut field_tag_id = ::std::option::Option::None;
2874        let mut field_props = ::std::option::Option::None;
2875        let _ = p.read_struct_begin(|_| ())?;
2876        loop {
2877            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2878            match (fty, fid as ::std::primitive::i32) {
2879                (::fbthrift::TType::Stop, _) => break,
2880                (::fbthrift::TType::I32, 1) => field_tag_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2881                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2882                (fty, _) => p.skip(fty)?,
2883            }
2884            p.read_field_end()?;
2885        }
2886        p.read_struct_end()?;
2887        ::std::result::Result::Ok(Self {
2888            tag_id: field_tag_id.unwrap_or_default(),
2889            props: field_props.unwrap_or_default(),
2890            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2891        })
2892    }
2893}
2894
2895
2896#[allow(clippy::derivable_impls)]
2897impl ::std::default::Default for self::NewVertex {
2898    fn default() -> Self {
2899        Self {
2900            id: ::std::default::Default::default(),
2901            tags: ::std::default::Default::default(),
2902            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2903        }
2904    }
2905}
2906
2907impl ::std::fmt::Debug for self::NewVertex {
2908    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2909        formatter
2910            .debug_struct("NewVertex")
2911            .field("id", &self.id)
2912            .field("tags", &self.tags)
2913            .finish()
2914    }
2915}
2916
2917unsafe impl ::std::marker::Send for self::NewVertex {}
2918unsafe impl ::std::marker::Sync for self::NewVertex {}
2919
2920impl ::fbthrift::GetTType for self::NewVertex {
2921    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
2922}
2923
2924impl<P> ::fbthrift::Serialize<P> for self::NewVertex
2925where
2926    P: ::fbthrift::ProtocolWriter,
2927{
2928    fn write(&self, p: &mut P) {
2929        p.write_struct_begin("NewVertex");
2930        p.write_field_begin("id", ::fbthrift::TType::Struct, 1);
2931        ::fbthrift::Serialize::write(&self.id, p);
2932        p.write_field_end();
2933        p.write_field_begin("tags", ::fbthrift::TType::List, 2);
2934        ::fbthrift::Serialize::write(&self.tags, p);
2935        p.write_field_end();
2936        p.write_field_stop();
2937        p.write_struct_end();
2938    }
2939}
2940
2941impl<P> ::fbthrift::Deserialize<P> for self::NewVertex
2942where
2943    P: ::fbthrift::ProtocolReader,
2944{
2945    fn read(p: &mut P) -> ::anyhow::Result<Self> {
2946        static FIELDS: &[::fbthrift::Field] = &[
2947            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 1),
2948            ::fbthrift::Field::new("tags", ::fbthrift::TType::List, 2),
2949        ];
2950        let mut field_id = ::std::option::Option::None;
2951        let mut field_tags = ::std::option::Option::None;
2952        let _ = p.read_struct_begin(|_| ())?;
2953        loop {
2954            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
2955            match (fty, fid as ::std::primitive::i32) {
2956                (::fbthrift::TType::Stop, _) => break,
2957                (::fbthrift::TType::Struct, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2958                (::fbthrift::TType::List, 2) => field_tags = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
2959                (fty, _) => p.skip(fty)?,
2960            }
2961            p.read_field_end()?;
2962        }
2963        p.read_struct_end()?;
2964        ::std::result::Result::Ok(Self {
2965            id: field_id.unwrap_or_default(),
2966            tags: field_tags.unwrap_or_default(),
2967            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2968        })
2969    }
2970}
2971
2972
2973#[allow(clippy::derivable_impls)]
2974impl ::std::default::Default for self::EdgeKey {
2975    fn default() -> Self {
2976        Self {
2977            src: ::std::default::Default::default(),
2978            edge_type: ::std::default::Default::default(),
2979            ranking: ::std::default::Default::default(),
2980            dst: ::std::default::Default::default(),
2981            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
2982        }
2983    }
2984}
2985
2986impl ::std::fmt::Debug for self::EdgeKey {
2987    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2988        formatter
2989            .debug_struct("EdgeKey")
2990            .field("src", &self.src)
2991            .field("edge_type", &self.edge_type)
2992            .field("ranking", &self.ranking)
2993            .field("dst", &self.dst)
2994            .finish()
2995    }
2996}
2997
2998unsafe impl ::std::marker::Send for self::EdgeKey {}
2999unsafe impl ::std::marker::Sync for self::EdgeKey {}
3000
3001impl ::fbthrift::GetTType for self::EdgeKey {
3002    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3003}
3004
3005impl<P> ::fbthrift::Serialize<P> for self::EdgeKey
3006where
3007    P: ::fbthrift::ProtocolWriter,
3008{
3009    fn write(&self, p: &mut P) {
3010        p.write_struct_begin("EdgeKey");
3011        p.write_field_begin("src", ::fbthrift::TType::Struct, 1);
3012        ::fbthrift::Serialize::write(&self.src, p);
3013        p.write_field_end();
3014        p.write_field_begin("edge_type", ::fbthrift::TType::I32, 2);
3015        ::fbthrift::Serialize::write(&self.edge_type, p);
3016        p.write_field_end();
3017        p.write_field_begin("ranking", ::fbthrift::TType::I64, 3);
3018        ::fbthrift::Serialize::write(&self.ranking, p);
3019        p.write_field_end();
3020        p.write_field_begin("dst", ::fbthrift::TType::Struct, 4);
3021        ::fbthrift::Serialize::write(&self.dst, p);
3022        p.write_field_end();
3023        p.write_field_stop();
3024        p.write_struct_end();
3025    }
3026}
3027
3028impl<P> ::fbthrift::Deserialize<P> for self::EdgeKey
3029where
3030    P: ::fbthrift::ProtocolReader,
3031{
3032    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3033        static FIELDS: &[::fbthrift::Field] = &[
3034            ::fbthrift::Field::new("dst", ::fbthrift::TType::Struct, 4),
3035            ::fbthrift::Field::new("edge_type", ::fbthrift::TType::I32, 2),
3036            ::fbthrift::Field::new("ranking", ::fbthrift::TType::I64, 3),
3037            ::fbthrift::Field::new("src", ::fbthrift::TType::Struct, 1),
3038        ];
3039        let mut field_src = ::std::option::Option::None;
3040        let mut field_edge_type = ::std::option::Option::None;
3041        let mut field_ranking = ::std::option::Option::None;
3042        let mut field_dst = ::std::option::Option::None;
3043        let _ = p.read_struct_begin(|_| ())?;
3044        loop {
3045            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3046            match (fty, fid as ::std::primitive::i32) {
3047                (::fbthrift::TType::Stop, _) => break,
3048                (::fbthrift::TType::Struct, 1) => field_src = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3049                (::fbthrift::TType::I32, 2) => field_edge_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3050                (::fbthrift::TType::I64, 3) => field_ranking = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3051                (::fbthrift::TType::Struct, 4) => field_dst = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3052                (fty, _) => p.skip(fty)?,
3053            }
3054            p.read_field_end()?;
3055        }
3056        p.read_struct_end()?;
3057        ::std::result::Result::Ok(Self {
3058            src: field_src.unwrap_or_default(),
3059            edge_type: field_edge_type.unwrap_or_default(),
3060            ranking: field_ranking.unwrap_or_default(),
3061            dst: field_dst.unwrap_or_default(),
3062            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3063        })
3064    }
3065}
3066
3067
3068#[allow(clippy::derivable_impls)]
3069impl ::std::default::Default for self::NewEdge {
3070    fn default() -> Self {
3071        Self {
3072            key: ::std::default::Default::default(),
3073            props: ::std::default::Default::default(),
3074            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3075        }
3076    }
3077}
3078
3079impl ::std::fmt::Debug for self::NewEdge {
3080    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3081        formatter
3082            .debug_struct("NewEdge")
3083            .field("key", &self.key)
3084            .field("props", &self.props)
3085            .finish()
3086    }
3087}
3088
3089unsafe impl ::std::marker::Send for self::NewEdge {}
3090unsafe impl ::std::marker::Sync for self::NewEdge {}
3091
3092impl ::fbthrift::GetTType for self::NewEdge {
3093    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3094}
3095
3096impl<P> ::fbthrift::Serialize<P> for self::NewEdge
3097where
3098    P: ::fbthrift::ProtocolWriter,
3099{
3100    fn write(&self, p: &mut P) {
3101        p.write_struct_begin("NewEdge");
3102        p.write_field_begin("key", ::fbthrift::TType::Struct, 1);
3103        ::fbthrift::Serialize::write(&self.key, p);
3104        p.write_field_end();
3105        p.write_field_begin("props", ::fbthrift::TType::List, 2);
3106        ::fbthrift::Serialize::write(&self.props, p);
3107        p.write_field_end();
3108        p.write_field_stop();
3109        p.write_struct_end();
3110    }
3111}
3112
3113impl<P> ::fbthrift::Deserialize<P> for self::NewEdge
3114where
3115    P: ::fbthrift::ProtocolReader,
3116{
3117    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3118        static FIELDS: &[::fbthrift::Field] = &[
3119            ::fbthrift::Field::new("key", ::fbthrift::TType::Struct, 1),
3120            ::fbthrift::Field::new("props", ::fbthrift::TType::List, 2),
3121        ];
3122        let mut field_key = ::std::option::Option::None;
3123        let mut field_props = ::std::option::Option::None;
3124        let _ = p.read_struct_begin(|_| ())?;
3125        loop {
3126            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3127            match (fty, fid as ::std::primitive::i32) {
3128                (::fbthrift::TType::Stop, _) => break,
3129                (::fbthrift::TType::Struct, 1) => field_key = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3130                (::fbthrift::TType::List, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3131                (fty, _) => p.skip(fty)?,
3132            }
3133            p.read_field_end()?;
3134        }
3135        p.read_struct_end()?;
3136        ::std::result::Result::Ok(Self {
3137            key: field_key.unwrap_or_default(),
3138            props: field_props.unwrap_or_default(),
3139            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3140        })
3141    }
3142}
3143
3144
3145#[allow(clippy::derivable_impls)]
3146impl ::std::default::Default for self::AddVerticesRequest {
3147    fn default() -> Self {
3148        Self {
3149            space_id: ::std::default::Default::default(),
3150            parts: ::std::default::Default::default(),
3151            prop_names: ::std::default::Default::default(),
3152            if_not_exists: ::std::default::Default::default(),
3153            common: ::std::option::Option::None,
3154            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3155        }
3156    }
3157}
3158
3159impl ::std::fmt::Debug for self::AddVerticesRequest {
3160    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3161        formatter
3162            .debug_struct("AddVerticesRequest")
3163            .field("space_id", &self.space_id)
3164            .field("parts", &self.parts)
3165            .field("prop_names", &self.prop_names)
3166            .field("if_not_exists", &self.if_not_exists)
3167            .field("common", &self.common)
3168            .finish()
3169    }
3170}
3171
3172unsafe impl ::std::marker::Send for self::AddVerticesRequest {}
3173unsafe impl ::std::marker::Sync for self::AddVerticesRequest {}
3174
3175impl ::fbthrift::GetTType for self::AddVerticesRequest {
3176    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3177}
3178
3179impl<P> ::fbthrift::Serialize<P> for self::AddVerticesRequest
3180where
3181    P: ::fbthrift::ProtocolWriter,
3182{
3183    fn write(&self, p: &mut P) {
3184        p.write_struct_begin("AddVerticesRequest");
3185        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3186        ::fbthrift::Serialize::write(&self.space_id, p);
3187        p.write_field_end();
3188        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3189        ::fbthrift::Serialize::write(&self.parts, p);
3190        p.write_field_end();
3191        p.write_field_begin("prop_names", ::fbthrift::TType::Map, 3);
3192        ::fbthrift::Serialize::write(&self.prop_names, p);
3193        p.write_field_end();
3194        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
3195        ::fbthrift::Serialize::write(&self.if_not_exists, p);
3196        p.write_field_end();
3197        if let ::std::option::Option::Some(some) = &self.common {
3198            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
3199            ::fbthrift::Serialize::write(some, p);
3200            p.write_field_end();
3201        }
3202        p.write_field_stop();
3203        p.write_struct_end();
3204    }
3205}
3206
3207impl<P> ::fbthrift::Deserialize<P> for self::AddVerticesRequest
3208where
3209    P: ::fbthrift::ProtocolReader,
3210{
3211    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3212        static FIELDS: &[::fbthrift::Field] = &[
3213            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
3214            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
3215            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3216            ::fbthrift::Field::new("prop_names", ::fbthrift::TType::Map, 3),
3217            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3218        ];
3219        let mut field_space_id = ::std::option::Option::None;
3220        let mut field_parts = ::std::option::Option::None;
3221        let mut field_prop_names = ::std::option::Option::None;
3222        let mut field_if_not_exists = ::std::option::Option::None;
3223        let mut field_common = ::std::option::Option::None;
3224        let _ = p.read_struct_begin(|_| ())?;
3225        loop {
3226            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3227            match (fty, fid as ::std::primitive::i32) {
3228                (::fbthrift::TType::Stop, _) => break,
3229                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3230                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3231                (::fbthrift::TType::Map, 3) => field_prop_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3232                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3233                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3234                (fty, _) => p.skip(fty)?,
3235            }
3236            p.read_field_end()?;
3237        }
3238        p.read_struct_end()?;
3239        ::std::result::Result::Ok(Self {
3240            space_id: field_space_id.unwrap_or_default(),
3241            parts: field_parts.unwrap_or_default(),
3242            prop_names: field_prop_names.unwrap_or_default(),
3243            if_not_exists: field_if_not_exists.unwrap_or_default(),
3244            common: field_common,
3245            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3246        })
3247    }
3248}
3249
3250
3251#[allow(clippy::derivable_impls)]
3252impl ::std::default::Default for self::AddEdgesRequest {
3253    fn default() -> Self {
3254        Self {
3255            space_id: ::std::default::Default::default(),
3256            parts: ::std::default::Default::default(),
3257            prop_names: ::std::default::Default::default(),
3258            if_not_exists: ::std::default::Default::default(),
3259            common: ::std::option::Option::None,
3260            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3261        }
3262    }
3263}
3264
3265impl ::std::fmt::Debug for self::AddEdgesRequest {
3266    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3267        formatter
3268            .debug_struct("AddEdgesRequest")
3269            .field("space_id", &self.space_id)
3270            .field("parts", &self.parts)
3271            .field("prop_names", &self.prop_names)
3272            .field("if_not_exists", &self.if_not_exists)
3273            .field("common", &self.common)
3274            .finish()
3275    }
3276}
3277
3278unsafe impl ::std::marker::Send for self::AddEdgesRequest {}
3279unsafe impl ::std::marker::Sync for self::AddEdgesRequest {}
3280
3281impl ::fbthrift::GetTType for self::AddEdgesRequest {
3282    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3283}
3284
3285impl<P> ::fbthrift::Serialize<P> for self::AddEdgesRequest
3286where
3287    P: ::fbthrift::ProtocolWriter,
3288{
3289    fn write(&self, p: &mut P) {
3290        p.write_struct_begin("AddEdgesRequest");
3291        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3292        ::fbthrift::Serialize::write(&self.space_id, p);
3293        p.write_field_end();
3294        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3295        ::fbthrift::Serialize::write(&self.parts, p);
3296        p.write_field_end();
3297        p.write_field_begin("prop_names", ::fbthrift::TType::List, 3);
3298        ::fbthrift::Serialize::write(&self.prop_names, p);
3299        p.write_field_end();
3300        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
3301        ::fbthrift::Serialize::write(&self.if_not_exists, p);
3302        p.write_field_end();
3303        if let ::std::option::Option::Some(some) = &self.common {
3304            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
3305            ::fbthrift::Serialize::write(some, p);
3306            p.write_field_end();
3307        }
3308        p.write_field_stop();
3309        p.write_struct_end();
3310    }
3311}
3312
3313impl<P> ::fbthrift::Deserialize<P> for self::AddEdgesRequest
3314where
3315    P: ::fbthrift::ProtocolReader,
3316{
3317    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3318        static FIELDS: &[::fbthrift::Field] = &[
3319            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
3320            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
3321            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3322            ::fbthrift::Field::new("prop_names", ::fbthrift::TType::List, 3),
3323            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3324        ];
3325        let mut field_space_id = ::std::option::Option::None;
3326        let mut field_parts = ::std::option::Option::None;
3327        let mut field_prop_names = ::std::option::Option::None;
3328        let mut field_if_not_exists = ::std::option::Option::None;
3329        let mut field_common = ::std::option::Option::None;
3330        let _ = p.read_struct_begin(|_| ())?;
3331        loop {
3332            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3333            match (fty, fid as ::std::primitive::i32) {
3334                (::fbthrift::TType::Stop, _) => break,
3335                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3336                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3337                (::fbthrift::TType::List, 3) => field_prop_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3338                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3339                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3340                (fty, _) => p.skip(fty)?,
3341            }
3342            p.read_field_end()?;
3343        }
3344        p.read_struct_end()?;
3345        ::std::result::Result::Ok(Self {
3346            space_id: field_space_id.unwrap_or_default(),
3347            parts: field_parts.unwrap_or_default(),
3348            prop_names: field_prop_names.unwrap_or_default(),
3349            if_not_exists: field_if_not_exists.unwrap_or_default(),
3350            common: field_common,
3351            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3352        })
3353    }
3354}
3355
3356
3357#[allow(clippy::derivable_impls)]
3358impl ::std::default::Default for self::DeleteVerticesRequest {
3359    fn default() -> Self {
3360        Self {
3361            space_id: ::std::default::Default::default(),
3362            parts: ::std::default::Default::default(),
3363            common: ::std::option::Option::None,
3364            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3365        }
3366    }
3367}
3368
3369impl ::std::fmt::Debug for self::DeleteVerticesRequest {
3370    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3371        formatter
3372            .debug_struct("DeleteVerticesRequest")
3373            .field("space_id", &self.space_id)
3374            .field("parts", &self.parts)
3375            .field("common", &self.common)
3376            .finish()
3377    }
3378}
3379
3380unsafe impl ::std::marker::Send for self::DeleteVerticesRequest {}
3381unsafe impl ::std::marker::Sync for self::DeleteVerticesRequest {}
3382
3383impl ::fbthrift::GetTType for self::DeleteVerticesRequest {
3384    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3385}
3386
3387impl<P> ::fbthrift::Serialize<P> for self::DeleteVerticesRequest
3388where
3389    P: ::fbthrift::ProtocolWriter,
3390{
3391    fn write(&self, p: &mut P) {
3392        p.write_struct_begin("DeleteVerticesRequest");
3393        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3394        ::fbthrift::Serialize::write(&self.space_id, p);
3395        p.write_field_end();
3396        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3397        ::fbthrift::Serialize::write(&self.parts, p);
3398        p.write_field_end();
3399        if let ::std::option::Option::Some(some) = &self.common {
3400            p.write_field_begin("common", ::fbthrift::TType::Struct, 3);
3401            ::fbthrift::Serialize::write(some, p);
3402            p.write_field_end();
3403        }
3404        p.write_field_stop();
3405        p.write_struct_end();
3406    }
3407}
3408
3409impl<P> ::fbthrift::Deserialize<P> for self::DeleteVerticesRequest
3410where
3411    P: ::fbthrift::ProtocolReader,
3412{
3413    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3414        static FIELDS: &[::fbthrift::Field] = &[
3415            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 3),
3416            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3417            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3418        ];
3419        let mut field_space_id = ::std::option::Option::None;
3420        let mut field_parts = ::std::option::Option::None;
3421        let mut field_common = ::std::option::Option::None;
3422        let _ = p.read_struct_begin(|_| ())?;
3423        loop {
3424            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3425            match (fty, fid as ::std::primitive::i32) {
3426                (::fbthrift::TType::Stop, _) => break,
3427                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3428                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3429                (::fbthrift::TType::Struct, 3) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3430                (fty, _) => p.skip(fty)?,
3431            }
3432            p.read_field_end()?;
3433        }
3434        p.read_struct_end()?;
3435        ::std::result::Result::Ok(Self {
3436            space_id: field_space_id.unwrap_or_default(),
3437            parts: field_parts.unwrap_or_default(),
3438            common: field_common,
3439            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3440        })
3441    }
3442}
3443
3444
3445#[allow(clippy::derivable_impls)]
3446impl ::std::default::Default for self::DeleteEdgesRequest {
3447    fn default() -> Self {
3448        Self {
3449            space_id: ::std::default::Default::default(),
3450            parts: ::std::default::Default::default(),
3451            common: ::std::option::Option::None,
3452            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3453        }
3454    }
3455}
3456
3457impl ::std::fmt::Debug for self::DeleteEdgesRequest {
3458    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3459        formatter
3460            .debug_struct("DeleteEdgesRequest")
3461            .field("space_id", &self.space_id)
3462            .field("parts", &self.parts)
3463            .field("common", &self.common)
3464            .finish()
3465    }
3466}
3467
3468unsafe impl ::std::marker::Send for self::DeleteEdgesRequest {}
3469unsafe impl ::std::marker::Sync for self::DeleteEdgesRequest {}
3470
3471impl ::fbthrift::GetTType for self::DeleteEdgesRequest {
3472    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3473}
3474
3475impl<P> ::fbthrift::Serialize<P> for self::DeleteEdgesRequest
3476where
3477    P: ::fbthrift::ProtocolWriter,
3478{
3479    fn write(&self, p: &mut P) {
3480        p.write_struct_begin("DeleteEdgesRequest");
3481        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3482        ::fbthrift::Serialize::write(&self.space_id, p);
3483        p.write_field_end();
3484        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3485        ::fbthrift::Serialize::write(&self.parts, p);
3486        p.write_field_end();
3487        if let ::std::option::Option::Some(some) = &self.common {
3488            p.write_field_begin("common", ::fbthrift::TType::Struct, 3);
3489            ::fbthrift::Serialize::write(some, p);
3490            p.write_field_end();
3491        }
3492        p.write_field_stop();
3493        p.write_struct_end();
3494    }
3495}
3496
3497impl<P> ::fbthrift::Deserialize<P> for self::DeleteEdgesRequest
3498where
3499    P: ::fbthrift::ProtocolReader,
3500{
3501    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3502        static FIELDS: &[::fbthrift::Field] = &[
3503            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 3),
3504            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3505            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3506        ];
3507        let mut field_space_id = ::std::option::Option::None;
3508        let mut field_parts = ::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::Struct, 3) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3518                (fty, _) => p.skip(fty)?,
3519            }
3520            p.read_field_end()?;
3521        }
3522        p.read_struct_end()?;
3523        ::std::result::Result::Ok(Self {
3524            space_id: field_space_id.unwrap_or_default(),
3525            parts: field_parts.unwrap_or_default(),
3526            common: field_common,
3527            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3528        })
3529    }
3530}
3531
3532
3533#[allow(clippy::derivable_impls)]
3534impl ::std::default::Default for self::DelTags {
3535    fn default() -> Self {
3536        Self {
3537            id: ::std::default::Default::default(),
3538            tags: ::std::default::Default::default(),
3539            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3540        }
3541    }
3542}
3543
3544impl ::std::fmt::Debug for self::DelTags {
3545    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3546        formatter
3547            .debug_struct("DelTags")
3548            .field("id", &self.id)
3549            .field("tags", &self.tags)
3550            .finish()
3551    }
3552}
3553
3554unsafe impl ::std::marker::Send for self::DelTags {}
3555unsafe impl ::std::marker::Sync for self::DelTags {}
3556
3557impl ::fbthrift::GetTType for self::DelTags {
3558    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3559}
3560
3561impl<P> ::fbthrift::Serialize<P> for self::DelTags
3562where
3563    P: ::fbthrift::ProtocolWriter,
3564{
3565    fn write(&self, p: &mut P) {
3566        p.write_struct_begin("DelTags");
3567        p.write_field_begin("id", ::fbthrift::TType::Struct, 1);
3568        ::fbthrift::Serialize::write(&self.id, p);
3569        p.write_field_end();
3570        p.write_field_begin("tags", ::fbthrift::TType::List, 2);
3571        ::fbthrift::Serialize::write(&self.tags, p);
3572        p.write_field_end();
3573        p.write_field_stop();
3574        p.write_struct_end();
3575    }
3576}
3577
3578impl<P> ::fbthrift::Deserialize<P> for self::DelTags
3579where
3580    P: ::fbthrift::ProtocolReader,
3581{
3582    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3583        static FIELDS: &[::fbthrift::Field] = &[
3584            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 1),
3585            ::fbthrift::Field::new("tags", ::fbthrift::TType::List, 2),
3586        ];
3587        let mut field_id = ::std::option::Option::None;
3588        let mut field_tags = ::std::option::Option::None;
3589        let _ = p.read_struct_begin(|_| ())?;
3590        loop {
3591            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3592            match (fty, fid as ::std::primitive::i32) {
3593                (::fbthrift::TType::Stop, _) => break,
3594                (::fbthrift::TType::Struct, 1) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3595                (::fbthrift::TType::List, 2) => field_tags = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3596                (fty, _) => p.skip(fty)?,
3597            }
3598            p.read_field_end()?;
3599        }
3600        p.read_struct_end()?;
3601        ::std::result::Result::Ok(Self {
3602            id: field_id.unwrap_or_default(),
3603            tags: field_tags.unwrap_or_default(),
3604            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3605        })
3606    }
3607}
3608
3609
3610#[allow(clippy::derivable_impls)]
3611impl ::std::default::Default for self::DeleteTagsRequest {
3612    fn default() -> Self {
3613        Self {
3614            space_id: ::std::default::Default::default(),
3615            parts: ::std::default::Default::default(),
3616            common: ::std::option::Option::None,
3617            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3618        }
3619    }
3620}
3621
3622impl ::std::fmt::Debug for self::DeleteTagsRequest {
3623    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3624        formatter
3625            .debug_struct("DeleteTagsRequest")
3626            .field("space_id", &self.space_id)
3627            .field("parts", &self.parts)
3628            .field("common", &self.common)
3629            .finish()
3630    }
3631}
3632
3633unsafe impl ::std::marker::Send for self::DeleteTagsRequest {}
3634unsafe impl ::std::marker::Sync for self::DeleteTagsRequest {}
3635
3636impl ::fbthrift::GetTType for self::DeleteTagsRequest {
3637    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3638}
3639
3640impl<P> ::fbthrift::Serialize<P> for self::DeleteTagsRequest
3641where
3642    P: ::fbthrift::ProtocolWriter,
3643{
3644    fn write(&self, p: &mut P) {
3645        p.write_struct_begin("DeleteTagsRequest");
3646        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3647        ::fbthrift::Serialize::write(&self.space_id, p);
3648        p.write_field_end();
3649        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
3650        ::fbthrift::Serialize::write(&self.parts, p);
3651        p.write_field_end();
3652        if let ::std::option::Option::Some(some) = &self.common {
3653            p.write_field_begin("common", ::fbthrift::TType::Struct, 3);
3654            ::fbthrift::Serialize::write(some, p);
3655            p.write_field_end();
3656        }
3657        p.write_field_stop();
3658        p.write_struct_end();
3659    }
3660}
3661
3662impl<P> ::fbthrift::Deserialize<P> for self::DeleteTagsRequest
3663where
3664    P: ::fbthrift::ProtocolReader,
3665{
3666    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3667        static FIELDS: &[::fbthrift::Field] = &[
3668            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 3),
3669            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
3670            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3671        ];
3672        let mut field_space_id = ::std::option::Option::None;
3673        let mut field_parts = ::std::option::Option::None;
3674        let mut field_common = ::std::option::Option::None;
3675        let _ = p.read_struct_begin(|_| ())?;
3676        loop {
3677            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3678            match (fty, fid as ::std::primitive::i32) {
3679                (::fbthrift::TType::Stop, _) => break,
3680                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3681                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3682                (::fbthrift::TType::Struct, 3) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3683                (fty, _) => p.skip(fty)?,
3684            }
3685            p.read_field_end()?;
3686        }
3687        p.read_struct_end()?;
3688        ::std::result::Result::Ok(Self {
3689            space_id: field_space_id.unwrap_or_default(),
3690            parts: field_parts.unwrap_or_default(),
3691            common: field_common,
3692            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3693        })
3694    }
3695}
3696
3697
3698#[allow(clippy::derivable_impls)]
3699impl ::std::default::Default for self::UpdateResponse {
3700    fn default() -> Self {
3701        Self {
3702            result: ::std::default::Default::default(),
3703            props: ::std::option::Option::None,
3704            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3705        }
3706    }
3707}
3708
3709impl ::std::fmt::Debug for self::UpdateResponse {
3710    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3711        formatter
3712            .debug_struct("UpdateResponse")
3713            .field("result", &self.result)
3714            .field("props", &self.props)
3715            .finish()
3716    }
3717}
3718
3719unsafe impl ::std::marker::Send for self::UpdateResponse {}
3720unsafe impl ::std::marker::Sync for self::UpdateResponse {}
3721
3722impl ::fbthrift::GetTType for self::UpdateResponse {
3723    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3724}
3725
3726impl<P> ::fbthrift::Serialize<P> for self::UpdateResponse
3727where
3728    P: ::fbthrift::ProtocolWriter,
3729{
3730    fn write(&self, p: &mut P) {
3731        p.write_struct_begin("UpdateResponse");
3732        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
3733        ::fbthrift::Serialize::write(&self.result, p);
3734        p.write_field_end();
3735        if let ::std::option::Option::Some(some) = &self.props {
3736            p.write_field_begin("props", ::fbthrift::TType::Struct, 2);
3737            ::fbthrift::Serialize::write(some, p);
3738            p.write_field_end();
3739        }
3740        p.write_field_stop();
3741        p.write_struct_end();
3742    }
3743}
3744
3745impl<P> ::fbthrift::Deserialize<P> for self::UpdateResponse
3746where
3747    P: ::fbthrift::ProtocolReader,
3748{
3749    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3750        static FIELDS: &[::fbthrift::Field] = &[
3751            ::fbthrift::Field::new("props", ::fbthrift::TType::Struct, 2),
3752            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
3753        ];
3754        let mut field_result = ::std::option::Option::None;
3755        let mut field_props = ::std::option::Option::None;
3756        let _ = p.read_struct_begin(|_| ())?;
3757        loop {
3758            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3759            match (fty, fid as ::std::primitive::i32) {
3760                (::fbthrift::TType::Stop, _) => break,
3761                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3762                (::fbthrift::TType::Struct, 2) => field_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3763                (fty, _) => p.skip(fty)?,
3764            }
3765            p.read_field_end()?;
3766        }
3767        p.read_struct_end()?;
3768        ::std::result::Result::Ok(Self {
3769            result: field_result.unwrap_or_default(),
3770            props: field_props,
3771            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3772        })
3773    }
3774}
3775
3776
3777#[allow(clippy::derivable_impls)]
3778impl ::std::default::Default for self::UpdatedProp {
3779    fn default() -> Self {
3780        Self {
3781            name: ::std::default::Default::default(),
3782            value: ::std::default::Default::default(),
3783            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3784        }
3785    }
3786}
3787
3788impl ::std::fmt::Debug for self::UpdatedProp {
3789    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3790        formatter
3791            .debug_struct("UpdatedProp")
3792            .field("name", &self.name)
3793            .field("value", &self.value)
3794            .finish()
3795    }
3796}
3797
3798unsafe impl ::std::marker::Send for self::UpdatedProp {}
3799unsafe impl ::std::marker::Sync for self::UpdatedProp {}
3800
3801impl ::fbthrift::GetTType for self::UpdatedProp {
3802    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3803}
3804
3805impl<P> ::fbthrift::Serialize<P> for self::UpdatedProp
3806where
3807    P: ::fbthrift::ProtocolWriter,
3808{
3809    fn write(&self, p: &mut P) {
3810        p.write_struct_begin("UpdatedProp");
3811        p.write_field_begin("name", ::fbthrift::TType::String, 1);
3812        ::fbthrift::Serialize::write(&self.name, p);
3813        p.write_field_end();
3814        p.write_field_begin("value", ::fbthrift::TType::String, 2);
3815        ::fbthrift::Serialize::write(&self.value, p);
3816        p.write_field_end();
3817        p.write_field_stop();
3818        p.write_struct_end();
3819    }
3820}
3821
3822impl<P> ::fbthrift::Deserialize<P> for self::UpdatedProp
3823where
3824    P: ::fbthrift::ProtocolReader,
3825{
3826    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3827        static FIELDS: &[::fbthrift::Field] = &[
3828            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 1),
3829            ::fbthrift::Field::new("value", ::fbthrift::TType::String, 2),
3830        ];
3831        let mut field_name = ::std::option::Option::None;
3832        let mut field_value = ::std::option::Option::None;
3833        let _ = p.read_struct_begin(|_| ())?;
3834        loop {
3835            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3836            match (fty, fid as ::std::primitive::i32) {
3837                (::fbthrift::TType::Stop, _) => break,
3838                (::fbthrift::TType::String, 1) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3839                (::fbthrift::TType::String, 2) => field_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3840                (fty, _) => p.skip(fty)?,
3841            }
3842            p.read_field_end()?;
3843        }
3844        p.read_struct_end()?;
3845        ::std::result::Result::Ok(Self {
3846            name: field_name.unwrap_or_default(),
3847            value: field_value.unwrap_or_default(),
3848            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3849        })
3850    }
3851}
3852
3853
3854#[allow(clippy::derivable_impls)]
3855impl ::std::default::Default for self::UpdateVertexRequest {
3856    fn default() -> Self {
3857        Self {
3858            space_id: ::std::default::Default::default(),
3859            part_id: ::std::default::Default::default(),
3860            vertex_id: ::std::default::Default::default(),
3861            tag_id: ::std::default::Default::default(),
3862            updated_props: ::std::default::Default::default(),
3863            insertable: ::std::option::Option::Some(false),
3864            return_props: ::std::option::Option::None,
3865            condition: ::std::option::Option::None,
3866            common: ::std::option::Option::None,
3867            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3868        }
3869    }
3870}
3871
3872impl ::std::fmt::Debug for self::UpdateVertexRequest {
3873    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3874        formatter
3875            .debug_struct("UpdateVertexRequest")
3876            .field("space_id", &self.space_id)
3877            .field("part_id", &self.part_id)
3878            .field("vertex_id", &self.vertex_id)
3879            .field("tag_id", &self.tag_id)
3880            .field("updated_props", &self.updated_props)
3881            .field("insertable", &self.insertable)
3882            .field("return_props", &self.return_props)
3883            .field("condition", &self.condition)
3884            .field("common", &self.common)
3885            .finish()
3886    }
3887}
3888
3889unsafe impl ::std::marker::Send for self::UpdateVertexRequest {}
3890unsafe impl ::std::marker::Sync for self::UpdateVertexRequest {}
3891
3892impl ::fbthrift::GetTType for self::UpdateVertexRequest {
3893    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
3894}
3895
3896impl<P> ::fbthrift::Serialize<P> for self::UpdateVertexRequest
3897where
3898    P: ::fbthrift::ProtocolWriter,
3899{
3900    fn write(&self, p: &mut P) {
3901        p.write_struct_begin("UpdateVertexRequest");
3902        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
3903        ::fbthrift::Serialize::write(&self.space_id, p);
3904        p.write_field_end();
3905        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
3906        ::fbthrift::Serialize::write(&self.part_id, p);
3907        p.write_field_end();
3908        p.write_field_begin("vertex_id", ::fbthrift::TType::Struct, 3);
3909        ::fbthrift::Serialize::write(&self.vertex_id, p);
3910        p.write_field_end();
3911        p.write_field_begin("tag_id", ::fbthrift::TType::I32, 4);
3912        ::fbthrift::Serialize::write(&self.tag_id, p);
3913        p.write_field_end();
3914        p.write_field_begin("updated_props", ::fbthrift::TType::List, 5);
3915        ::fbthrift::Serialize::write(&self.updated_props, p);
3916        p.write_field_end();
3917        if let ::std::option::Option::Some(some) = &self.insertable {
3918            p.write_field_begin("insertable", ::fbthrift::TType::Bool, 6);
3919            ::fbthrift::Serialize::write(some, p);
3920            p.write_field_end();
3921        }
3922        if let ::std::option::Option::Some(some) = &self.return_props {
3923            p.write_field_begin("return_props", ::fbthrift::TType::List, 7);
3924            ::fbthrift::Serialize::write(some, p);
3925            p.write_field_end();
3926        }
3927        if let ::std::option::Option::Some(some) = &self.condition {
3928            p.write_field_begin("condition", ::fbthrift::TType::String, 8);
3929            ::fbthrift::Serialize::write(some, p);
3930            p.write_field_end();
3931        }
3932        if let ::std::option::Option::Some(some) = &self.common {
3933            p.write_field_begin("common", ::fbthrift::TType::Struct, 9);
3934            ::fbthrift::Serialize::write(some, p);
3935            p.write_field_end();
3936        }
3937        p.write_field_stop();
3938        p.write_struct_end();
3939    }
3940}
3941
3942impl<P> ::fbthrift::Deserialize<P> for self::UpdateVertexRequest
3943where
3944    P: ::fbthrift::ProtocolReader,
3945{
3946    fn read(p: &mut P) -> ::anyhow::Result<Self> {
3947        static FIELDS: &[::fbthrift::Field] = &[
3948            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 9),
3949            ::fbthrift::Field::new("condition", ::fbthrift::TType::String, 8),
3950            ::fbthrift::Field::new("insertable", ::fbthrift::TType::Bool, 6),
3951            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
3952            ::fbthrift::Field::new("return_props", ::fbthrift::TType::List, 7),
3953            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
3954            ::fbthrift::Field::new("tag_id", ::fbthrift::TType::I32, 4),
3955            ::fbthrift::Field::new("updated_props", ::fbthrift::TType::List, 5),
3956            ::fbthrift::Field::new("vertex_id", ::fbthrift::TType::Struct, 3),
3957        ];
3958        let mut field_space_id = ::std::option::Option::None;
3959        let mut field_part_id = ::std::option::Option::None;
3960        let mut field_vertex_id = ::std::option::Option::None;
3961        let mut field_tag_id = ::std::option::Option::None;
3962        let mut field_updated_props = ::std::option::Option::None;
3963        let mut field_insertable = ::std::option::Option::None;
3964        let mut field_return_props = ::std::option::Option::None;
3965        let mut field_condition = ::std::option::Option::None;
3966        let mut field_common = ::std::option::Option::None;
3967        let _ = p.read_struct_begin(|_| ())?;
3968        loop {
3969            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
3970            match (fty, fid as ::std::primitive::i32) {
3971                (::fbthrift::TType::Stop, _) => break,
3972                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3973                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3974                (::fbthrift::TType::Struct, 3) => field_vertex_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3975                (::fbthrift::TType::I32, 4) => field_tag_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3976                (::fbthrift::TType::List, 5) => field_updated_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3977                (::fbthrift::TType::Bool, 6) => field_insertable = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3978                (::fbthrift::TType::List, 7) => field_return_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3979                (::fbthrift::TType::String, 8) => field_condition = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3980                (::fbthrift::TType::Struct, 9) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
3981                (fty, _) => p.skip(fty)?,
3982            }
3983            p.read_field_end()?;
3984        }
3985        p.read_struct_end()?;
3986        ::std::result::Result::Ok(Self {
3987            space_id: field_space_id.unwrap_or_default(),
3988            part_id: field_part_id.unwrap_or_default(),
3989            vertex_id: field_vertex_id.unwrap_or_default(),
3990            tag_id: field_tag_id.unwrap_or_default(),
3991            updated_props: field_updated_props.unwrap_or_default(),
3992            insertable: field_insertable,
3993            return_props: field_return_props,
3994            condition: field_condition,
3995            common: field_common,
3996            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
3997        })
3998    }
3999}
4000
4001
4002#[allow(clippy::derivable_impls)]
4003impl ::std::default::Default for self::UpdateEdgeRequest {
4004    fn default() -> Self {
4005        Self {
4006            space_id: ::std::default::Default::default(),
4007            part_id: ::std::default::Default::default(),
4008            edge_key: ::std::default::Default::default(),
4009            updated_props: ::std::default::Default::default(),
4010            insertable: ::std::option::Option::Some(false),
4011            return_props: ::std::option::Option::None,
4012            condition: ::std::option::Option::None,
4013            common: ::std::option::Option::None,
4014            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4015        }
4016    }
4017}
4018
4019impl ::std::fmt::Debug for self::UpdateEdgeRequest {
4020    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4021        formatter
4022            .debug_struct("UpdateEdgeRequest")
4023            .field("space_id", &self.space_id)
4024            .field("part_id", &self.part_id)
4025            .field("edge_key", &self.edge_key)
4026            .field("updated_props", &self.updated_props)
4027            .field("insertable", &self.insertable)
4028            .field("return_props", &self.return_props)
4029            .field("condition", &self.condition)
4030            .field("common", &self.common)
4031            .finish()
4032    }
4033}
4034
4035unsafe impl ::std::marker::Send for self::UpdateEdgeRequest {}
4036unsafe impl ::std::marker::Sync for self::UpdateEdgeRequest {}
4037
4038impl ::fbthrift::GetTType for self::UpdateEdgeRequest {
4039    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4040}
4041
4042impl<P> ::fbthrift::Serialize<P> for self::UpdateEdgeRequest
4043where
4044    P: ::fbthrift::ProtocolWriter,
4045{
4046    fn write(&self, p: &mut P) {
4047        p.write_struct_begin("UpdateEdgeRequest");
4048        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4049        ::fbthrift::Serialize::write(&self.space_id, p);
4050        p.write_field_end();
4051        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
4052        ::fbthrift::Serialize::write(&self.part_id, p);
4053        p.write_field_end();
4054        p.write_field_begin("edge_key", ::fbthrift::TType::Struct, 3);
4055        ::fbthrift::Serialize::write(&self.edge_key, p);
4056        p.write_field_end();
4057        p.write_field_begin("updated_props", ::fbthrift::TType::List, 4);
4058        ::fbthrift::Serialize::write(&self.updated_props, p);
4059        p.write_field_end();
4060        if let ::std::option::Option::Some(some) = &self.insertable {
4061            p.write_field_begin("insertable", ::fbthrift::TType::Bool, 5);
4062            ::fbthrift::Serialize::write(some, p);
4063            p.write_field_end();
4064        }
4065        if let ::std::option::Option::Some(some) = &self.return_props {
4066            p.write_field_begin("return_props", ::fbthrift::TType::List, 6);
4067            ::fbthrift::Serialize::write(some, p);
4068            p.write_field_end();
4069        }
4070        if let ::std::option::Option::Some(some) = &self.condition {
4071            p.write_field_begin("condition", ::fbthrift::TType::String, 7);
4072            ::fbthrift::Serialize::write(some, p);
4073            p.write_field_end();
4074        }
4075        if let ::std::option::Option::Some(some) = &self.common {
4076            p.write_field_begin("common", ::fbthrift::TType::Struct, 8);
4077            ::fbthrift::Serialize::write(some, p);
4078            p.write_field_end();
4079        }
4080        p.write_field_stop();
4081        p.write_struct_end();
4082    }
4083}
4084
4085impl<P> ::fbthrift::Deserialize<P> for self::UpdateEdgeRequest
4086where
4087    P: ::fbthrift::ProtocolReader,
4088{
4089    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4090        static FIELDS: &[::fbthrift::Field] = &[
4091            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 8),
4092            ::fbthrift::Field::new("condition", ::fbthrift::TType::String, 7),
4093            ::fbthrift::Field::new("edge_key", ::fbthrift::TType::Struct, 3),
4094            ::fbthrift::Field::new("insertable", ::fbthrift::TType::Bool, 5),
4095            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
4096            ::fbthrift::Field::new("return_props", ::fbthrift::TType::List, 6),
4097            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4098            ::fbthrift::Field::new("updated_props", ::fbthrift::TType::List, 4),
4099        ];
4100        let mut field_space_id = ::std::option::Option::None;
4101        let mut field_part_id = ::std::option::Option::None;
4102        let mut field_edge_key = ::std::option::Option::None;
4103        let mut field_updated_props = ::std::option::Option::None;
4104        let mut field_insertable = ::std::option::Option::None;
4105        let mut field_return_props = ::std::option::Option::None;
4106        let mut field_condition = ::std::option::Option::None;
4107        let mut field_common = ::std::option::Option::None;
4108        let _ = p.read_struct_begin(|_| ())?;
4109        loop {
4110            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4111            match (fty, fid as ::std::primitive::i32) {
4112                (::fbthrift::TType::Stop, _) => break,
4113                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4114                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4115                (::fbthrift::TType::Struct, 3) => field_edge_key = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4116                (::fbthrift::TType::List, 4) => field_updated_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4117                (::fbthrift::TType::Bool, 5) => field_insertable = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4118                (::fbthrift::TType::List, 6) => field_return_props = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4119                (::fbthrift::TType::String, 7) => field_condition = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4120                (::fbthrift::TType::Struct, 8) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4121                (fty, _) => p.skip(fty)?,
4122            }
4123            p.read_field_end()?;
4124        }
4125        p.read_struct_end()?;
4126        ::std::result::Result::Ok(Self {
4127            space_id: field_space_id.unwrap_or_default(),
4128            part_id: field_part_id.unwrap_or_default(),
4129            edge_key: field_edge_key.unwrap_or_default(),
4130            updated_props: field_updated_props.unwrap_or_default(),
4131            insertable: field_insertable,
4132            return_props: field_return_props,
4133            condition: field_condition,
4134            common: field_common,
4135            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4136        })
4137    }
4138}
4139
4140
4141#[allow(clippy::derivable_impls)]
4142impl ::std::default::Default for self::GetUUIDReq {
4143    fn default() -> Self {
4144        Self {
4145            space_id: ::std::default::Default::default(),
4146            part_id: ::std::default::Default::default(),
4147            name: ::std::default::Default::default(),
4148            common: ::std::option::Option::None,
4149            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4150        }
4151    }
4152}
4153
4154impl ::std::fmt::Debug for self::GetUUIDReq {
4155    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4156        formatter
4157            .debug_struct("GetUUIDReq")
4158            .field("space_id", &self.space_id)
4159            .field("part_id", &self.part_id)
4160            .field("name", &self.name)
4161            .field("common", &self.common)
4162            .finish()
4163    }
4164}
4165
4166unsafe impl ::std::marker::Send for self::GetUUIDReq {}
4167unsafe impl ::std::marker::Sync for self::GetUUIDReq {}
4168
4169impl ::fbthrift::GetTType for self::GetUUIDReq {
4170    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4171}
4172
4173impl<P> ::fbthrift::Serialize<P> for self::GetUUIDReq
4174where
4175    P: ::fbthrift::ProtocolWriter,
4176{
4177    fn write(&self, p: &mut P) {
4178        p.write_struct_begin("GetUUIDReq");
4179        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4180        ::fbthrift::Serialize::write(&self.space_id, p);
4181        p.write_field_end();
4182        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
4183        ::fbthrift::Serialize::write(&self.part_id, p);
4184        p.write_field_end();
4185        p.write_field_begin("name", ::fbthrift::TType::String, 3);
4186        ::fbthrift::Serialize::write(&self.name, p);
4187        p.write_field_end();
4188        if let ::std::option::Option::Some(some) = &self.common {
4189            p.write_field_begin("common", ::fbthrift::TType::Struct, 4);
4190            ::fbthrift::Serialize::write(some, p);
4191            p.write_field_end();
4192        }
4193        p.write_field_stop();
4194        p.write_struct_end();
4195    }
4196}
4197
4198impl<P> ::fbthrift::Deserialize<P> for self::GetUUIDReq
4199where
4200    P: ::fbthrift::ProtocolReader,
4201{
4202    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4203        static FIELDS: &[::fbthrift::Field] = &[
4204            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 4),
4205            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 3),
4206            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
4207            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4208        ];
4209        let mut field_space_id = ::std::option::Option::None;
4210        let mut field_part_id = ::std::option::Option::None;
4211        let mut field_name = ::std::option::Option::None;
4212        let mut field_common = ::std::option::Option::None;
4213        let _ = p.read_struct_begin(|_| ())?;
4214        loop {
4215            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4216            match (fty, fid as ::std::primitive::i32) {
4217                (::fbthrift::TType::Stop, _) => break,
4218                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4219                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4220                (::fbthrift::TType::String, 3) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4221                (::fbthrift::TType::Struct, 4) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4222                (fty, _) => p.skip(fty)?,
4223            }
4224            p.read_field_end()?;
4225        }
4226        p.read_struct_end()?;
4227        ::std::result::Result::Ok(Self {
4228            space_id: field_space_id.unwrap_or_default(),
4229            part_id: field_part_id.unwrap_or_default(),
4230            name: field_name.unwrap_or_default(),
4231            common: field_common,
4232            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4233        })
4234    }
4235}
4236
4237
4238#[allow(clippy::derivable_impls)]
4239impl ::std::default::Default for self::GetUUIDResp {
4240    fn default() -> Self {
4241        Self {
4242            result: ::std::default::Default::default(),
4243            id: ::std::default::Default::default(),
4244            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4245        }
4246    }
4247}
4248
4249impl ::std::fmt::Debug for self::GetUUIDResp {
4250    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4251        formatter
4252            .debug_struct("GetUUIDResp")
4253            .field("result", &self.result)
4254            .field("id", &self.id)
4255            .finish()
4256    }
4257}
4258
4259unsafe impl ::std::marker::Send for self::GetUUIDResp {}
4260unsafe impl ::std::marker::Sync for self::GetUUIDResp {}
4261
4262impl ::fbthrift::GetTType for self::GetUUIDResp {
4263    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4264}
4265
4266impl<P> ::fbthrift::Serialize<P> for self::GetUUIDResp
4267where
4268    P: ::fbthrift::ProtocolWriter,
4269{
4270    fn write(&self, p: &mut P) {
4271        p.write_struct_begin("GetUUIDResp");
4272        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
4273        ::fbthrift::Serialize::write(&self.result, p);
4274        p.write_field_end();
4275        p.write_field_begin("id", ::fbthrift::TType::Struct, 2);
4276        ::fbthrift::Serialize::write(&self.id, p);
4277        p.write_field_end();
4278        p.write_field_stop();
4279        p.write_struct_end();
4280    }
4281}
4282
4283impl<P> ::fbthrift::Deserialize<P> for self::GetUUIDResp
4284where
4285    P: ::fbthrift::ProtocolReader,
4286{
4287    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4288        static FIELDS: &[::fbthrift::Field] = &[
4289            ::fbthrift::Field::new("id", ::fbthrift::TType::Struct, 2),
4290            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
4291        ];
4292        let mut field_result = ::std::option::Option::None;
4293        let mut field_id = ::std::option::Option::None;
4294        let _ = p.read_struct_begin(|_| ())?;
4295        loop {
4296            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4297            match (fty, fid as ::std::primitive::i32) {
4298                (::fbthrift::TType::Stop, _) => break,
4299                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4300                (::fbthrift::TType::Struct, 2) => field_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4301                (fty, _) => p.skip(fty)?,
4302            }
4303            p.read_field_end()?;
4304        }
4305        p.read_struct_end()?;
4306        ::std::result::Result::Ok(Self {
4307            result: field_result.unwrap_or_default(),
4308            id: field_id.unwrap_or_default(),
4309            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4310        })
4311    }
4312}
4313
4314
4315#[allow(clippy::derivable_impls)]
4316impl ::std::default::Default for self::LookupIndexResp {
4317    fn default() -> Self {
4318        Self {
4319            result: ::std::default::Default::default(),
4320            data: ::std::option::Option::None,
4321            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4322        }
4323    }
4324}
4325
4326impl ::std::fmt::Debug for self::LookupIndexResp {
4327    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4328        formatter
4329            .debug_struct("LookupIndexResp")
4330            .field("result", &self.result)
4331            .field("data", &self.data)
4332            .finish()
4333    }
4334}
4335
4336unsafe impl ::std::marker::Send for self::LookupIndexResp {}
4337unsafe impl ::std::marker::Sync for self::LookupIndexResp {}
4338
4339impl ::fbthrift::GetTType for self::LookupIndexResp {
4340    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4341}
4342
4343impl<P> ::fbthrift::Serialize<P> for self::LookupIndexResp
4344where
4345    P: ::fbthrift::ProtocolWriter,
4346{
4347    fn write(&self, p: &mut P) {
4348        p.write_struct_begin("LookupIndexResp");
4349        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
4350        ::fbthrift::Serialize::write(&self.result, p);
4351        p.write_field_end();
4352        if let ::std::option::Option::Some(some) = &self.data {
4353            p.write_field_begin("data", ::fbthrift::TType::Struct, 2);
4354            ::fbthrift::Serialize::write(some, p);
4355            p.write_field_end();
4356        }
4357        p.write_field_stop();
4358        p.write_struct_end();
4359    }
4360}
4361
4362impl<P> ::fbthrift::Deserialize<P> for self::LookupIndexResp
4363where
4364    P: ::fbthrift::ProtocolReader,
4365{
4366    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4367        static FIELDS: &[::fbthrift::Field] = &[
4368            ::fbthrift::Field::new("data", ::fbthrift::TType::Struct, 2),
4369            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
4370        ];
4371        let mut field_result = ::std::option::Option::None;
4372        let mut field_data = ::std::option::Option::None;
4373        let _ = p.read_struct_begin(|_| ())?;
4374        loop {
4375            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4376            match (fty, fid as ::std::primitive::i32) {
4377                (::fbthrift::TType::Stop, _) => break,
4378                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4379                (::fbthrift::TType::Struct, 2) => field_data = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4380                (fty, _) => p.skip(fty)?,
4381            }
4382            p.read_field_end()?;
4383        }
4384        p.read_struct_end()?;
4385        ::std::result::Result::Ok(Self {
4386            result: field_result.unwrap_or_default(),
4387            data: field_data,
4388            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4389        })
4390    }
4391}
4392
4393
4394#[allow(clippy::derivable_impls)]
4395impl ::std::default::Default for self::IndexColumnHint {
4396    fn default() -> Self {
4397        Self {
4398            column_name: ::std::default::Default::default(),
4399            scan_type: ::std::default::Default::default(),
4400            begin_value: ::std::default::Default::default(),
4401            end_value: ::std::default::Default::default(),
4402            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4403        }
4404    }
4405}
4406
4407impl ::std::fmt::Debug for self::IndexColumnHint {
4408    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4409        formatter
4410            .debug_struct("IndexColumnHint")
4411            .field("column_name", &self.column_name)
4412            .field("scan_type", &self.scan_type)
4413            .field("begin_value", &self.begin_value)
4414            .field("end_value", &self.end_value)
4415            .finish()
4416    }
4417}
4418
4419unsafe impl ::std::marker::Send for self::IndexColumnHint {}
4420unsafe impl ::std::marker::Sync for self::IndexColumnHint {}
4421
4422impl ::fbthrift::GetTType for self::IndexColumnHint {
4423    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4424}
4425
4426impl<P> ::fbthrift::Serialize<P> for self::IndexColumnHint
4427where
4428    P: ::fbthrift::ProtocolWriter,
4429{
4430    fn write(&self, p: &mut P) {
4431        p.write_struct_begin("IndexColumnHint");
4432        p.write_field_begin("column_name", ::fbthrift::TType::String, 1);
4433        ::fbthrift::Serialize::write(&self.column_name, p);
4434        p.write_field_end();
4435        p.write_field_begin("scan_type", ::fbthrift::TType::I32, 2);
4436        ::fbthrift::Serialize::write(&self.scan_type, p);
4437        p.write_field_end();
4438        p.write_field_begin("begin_value", ::fbthrift::TType::Struct, 3);
4439        ::fbthrift::Serialize::write(&self.begin_value, p);
4440        p.write_field_end();
4441        p.write_field_begin("end_value", ::fbthrift::TType::Struct, 4);
4442        ::fbthrift::Serialize::write(&self.end_value, p);
4443        p.write_field_end();
4444        p.write_field_stop();
4445        p.write_struct_end();
4446    }
4447}
4448
4449impl<P> ::fbthrift::Deserialize<P> for self::IndexColumnHint
4450where
4451    P: ::fbthrift::ProtocolReader,
4452{
4453    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4454        static FIELDS: &[::fbthrift::Field] = &[
4455            ::fbthrift::Field::new("begin_value", ::fbthrift::TType::Struct, 3),
4456            ::fbthrift::Field::new("column_name", ::fbthrift::TType::String, 1),
4457            ::fbthrift::Field::new("end_value", ::fbthrift::TType::Struct, 4),
4458            ::fbthrift::Field::new("scan_type", ::fbthrift::TType::I32, 2),
4459        ];
4460        let mut field_column_name = ::std::option::Option::None;
4461        let mut field_scan_type = ::std::option::Option::None;
4462        let mut field_begin_value = ::std::option::Option::None;
4463        let mut field_end_value = ::std::option::Option::None;
4464        let _ = p.read_struct_begin(|_| ())?;
4465        loop {
4466            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4467            match (fty, fid as ::std::primitive::i32) {
4468                (::fbthrift::TType::Stop, _) => break,
4469                (::fbthrift::TType::String, 1) => field_column_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4470                (::fbthrift::TType::I32, 2) => field_scan_type = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4471                (::fbthrift::TType::Struct, 3) => field_begin_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4472                (::fbthrift::TType::Struct, 4) => field_end_value = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4473                (fty, _) => p.skip(fty)?,
4474            }
4475            p.read_field_end()?;
4476        }
4477        p.read_struct_end()?;
4478        ::std::result::Result::Ok(Self {
4479            column_name: field_column_name.unwrap_or_default(),
4480            scan_type: field_scan_type.unwrap_or_default(),
4481            begin_value: field_begin_value.unwrap_or_default(),
4482            end_value: field_end_value.unwrap_or_default(),
4483            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4484        })
4485    }
4486}
4487
4488
4489#[allow(clippy::derivable_impls)]
4490impl ::std::default::Default for self::IndexQueryContext {
4491    fn default() -> Self {
4492        Self {
4493            index_id: ::std::default::Default::default(),
4494            filter: ::std::default::Default::default(),
4495            column_hints: ::std::default::Default::default(),
4496            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4497        }
4498    }
4499}
4500
4501impl ::std::fmt::Debug for self::IndexQueryContext {
4502    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4503        formatter
4504            .debug_struct("IndexQueryContext")
4505            .field("index_id", &self.index_id)
4506            .field("filter", &self.filter)
4507            .field("column_hints", &self.column_hints)
4508            .finish()
4509    }
4510}
4511
4512unsafe impl ::std::marker::Send for self::IndexQueryContext {}
4513unsafe impl ::std::marker::Sync for self::IndexQueryContext {}
4514
4515impl ::fbthrift::GetTType for self::IndexQueryContext {
4516    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4517}
4518
4519impl<P> ::fbthrift::Serialize<P> for self::IndexQueryContext
4520where
4521    P: ::fbthrift::ProtocolWriter,
4522{
4523    fn write(&self, p: &mut P) {
4524        p.write_struct_begin("IndexQueryContext");
4525        p.write_field_begin("index_id", ::fbthrift::TType::I32, 1);
4526        ::fbthrift::Serialize::write(&self.index_id, p);
4527        p.write_field_end();
4528        p.write_field_begin("filter", ::fbthrift::TType::String, 2);
4529        ::fbthrift::Serialize::write(&self.filter, p);
4530        p.write_field_end();
4531        p.write_field_begin("column_hints", ::fbthrift::TType::List, 3);
4532        ::fbthrift::Serialize::write(&self.column_hints, p);
4533        p.write_field_end();
4534        p.write_field_stop();
4535        p.write_struct_end();
4536    }
4537}
4538
4539impl<P> ::fbthrift::Deserialize<P> for self::IndexQueryContext
4540where
4541    P: ::fbthrift::ProtocolReader,
4542{
4543    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4544        static FIELDS: &[::fbthrift::Field] = &[
4545            ::fbthrift::Field::new("column_hints", ::fbthrift::TType::List, 3),
4546            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 2),
4547            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 1),
4548        ];
4549        let mut field_index_id = ::std::option::Option::None;
4550        let mut field_filter = ::std::option::Option::None;
4551        let mut field_column_hints = ::std::option::Option::None;
4552        let _ = p.read_struct_begin(|_| ())?;
4553        loop {
4554            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4555            match (fty, fid as ::std::primitive::i32) {
4556                (::fbthrift::TType::Stop, _) => break,
4557                (::fbthrift::TType::I32, 1) => field_index_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4558                (::fbthrift::TType::String, 2) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4559                (::fbthrift::TType::List, 3) => field_column_hints = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4560                (fty, _) => p.skip(fty)?,
4561            }
4562            p.read_field_end()?;
4563        }
4564        p.read_struct_end()?;
4565        ::std::result::Result::Ok(Self {
4566            index_id: field_index_id.unwrap_or_default(),
4567            filter: field_filter.unwrap_or_default(),
4568            column_hints: field_column_hints.unwrap_or_default(),
4569            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4570        })
4571    }
4572}
4573
4574
4575#[allow(clippy::derivable_impls)]
4576impl ::std::default::Default for self::IndexSpec {
4577    fn default() -> Self {
4578        Self {
4579            contexts: ::std::default::Default::default(),
4580            schema_id: ::std::default::Default::default(),
4581            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4582        }
4583    }
4584}
4585
4586impl ::std::fmt::Debug for self::IndexSpec {
4587    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4588        formatter
4589            .debug_struct("IndexSpec")
4590            .field("contexts", &self.contexts)
4591            .field("schema_id", &self.schema_id)
4592            .finish()
4593    }
4594}
4595
4596unsafe impl ::std::marker::Send for self::IndexSpec {}
4597unsafe impl ::std::marker::Sync for self::IndexSpec {}
4598
4599impl ::fbthrift::GetTType for self::IndexSpec {
4600    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4601}
4602
4603impl<P> ::fbthrift::Serialize<P> for self::IndexSpec
4604where
4605    P: ::fbthrift::ProtocolWriter,
4606{
4607    fn write(&self, p: &mut P) {
4608        p.write_struct_begin("IndexSpec");
4609        p.write_field_begin("contexts", ::fbthrift::TType::List, 1);
4610        ::fbthrift::Serialize::write(&self.contexts, p);
4611        p.write_field_end();
4612        p.write_field_begin("schema_id", ::fbthrift::TType::Struct, 2);
4613        ::fbthrift::Serialize::write(&self.schema_id, p);
4614        p.write_field_end();
4615        p.write_field_stop();
4616        p.write_struct_end();
4617    }
4618}
4619
4620impl<P> ::fbthrift::Deserialize<P> for self::IndexSpec
4621where
4622    P: ::fbthrift::ProtocolReader,
4623{
4624    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4625        static FIELDS: &[::fbthrift::Field] = &[
4626            ::fbthrift::Field::new("contexts", ::fbthrift::TType::List, 1),
4627            ::fbthrift::Field::new("schema_id", ::fbthrift::TType::Struct, 2),
4628        ];
4629        let mut field_contexts = ::std::option::Option::None;
4630        let mut field_schema_id = ::std::option::Option::None;
4631        let _ = p.read_struct_begin(|_| ())?;
4632        loop {
4633            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4634            match (fty, fid as ::std::primitive::i32) {
4635                (::fbthrift::TType::Stop, _) => break,
4636                (::fbthrift::TType::List, 1) => field_contexts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4637                (::fbthrift::TType::Struct, 2) => field_schema_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4638                (fty, _) => p.skip(fty)?,
4639            }
4640            p.read_field_end()?;
4641        }
4642        p.read_struct_end()?;
4643        ::std::result::Result::Ok(Self {
4644            contexts: field_contexts.unwrap_or_default(),
4645            schema_id: field_schema_id.unwrap_or_default(),
4646            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4647        })
4648    }
4649}
4650
4651
4652#[allow(clippy::derivable_impls)]
4653impl ::std::default::Default for self::LookupIndexRequest {
4654    fn default() -> Self {
4655        Self {
4656            space_id: ::std::default::Default::default(),
4657            parts: ::std::default::Default::default(),
4658            indices: ::std::default::Default::default(),
4659            return_columns: ::std::option::Option::None,
4660            common: ::std::option::Option::None,
4661            limit: ::std::option::Option::None,
4662            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4663        }
4664    }
4665}
4666
4667impl ::std::fmt::Debug for self::LookupIndexRequest {
4668    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4669        formatter
4670            .debug_struct("LookupIndexRequest")
4671            .field("space_id", &self.space_id)
4672            .field("parts", &self.parts)
4673            .field("indices", &self.indices)
4674            .field("return_columns", &self.return_columns)
4675            .field("common", &self.common)
4676            .field("limit", &self.limit)
4677            .finish()
4678    }
4679}
4680
4681unsafe impl ::std::marker::Send for self::LookupIndexRequest {}
4682unsafe impl ::std::marker::Sync for self::LookupIndexRequest {}
4683
4684impl ::fbthrift::GetTType for self::LookupIndexRequest {
4685    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4686}
4687
4688impl<P> ::fbthrift::Serialize<P> for self::LookupIndexRequest
4689where
4690    P: ::fbthrift::ProtocolWriter,
4691{
4692    fn write(&self, p: &mut P) {
4693        p.write_struct_begin("LookupIndexRequest");
4694        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4695        ::fbthrift::Serialize::write(&self.space_id, p);
4696        p.write_field_end();
4697        p.write_field_begin("parts", ::fbthrift::TType::List, 2);
4698        ::fbthrift::Serialize::write(&self.parts, p);
4699        p.write_field_end();
4700        p.write_field_begin("indices", ::fbthrift::TType::Struct, 3);
4701        ::fbthrift::Serialize::write(&self.indices, p);
4702        p.write_field_end();
4703        if let ::std::option::Option::Some(some) = &self.return_columns {
4704            p.write_field_begin("return_columns", ::fbthrift::TType::List, 4);
4705            ::fbthrift::Serialize::write(some, p);
4706            p.write_field_end();
4707        }
4708        if let ::std::option::Option::Some(some) = &self.common {
4709            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
4710            ::fbthrift::Serialize::write(some, p);
4711            p.write_field_end();
4712        }
4713        if let ::std::option::Option::Some(some) = &self.limit {
4714            p.write_field_begin("limit", ::fbthrift::TType::I64, 6);
4715            ::fbthrift::Serialize::write(some, p);
4716            p.write_field_end();
4717        }
4718        p.write_field_stop();
4719        p.write_struct_end();
4720    }
4721}
4722
4723impl<P> ::fbthrift::Deserialize<P> for self::LookupIndexRequest
4724where
4725    P: ::fbthrift::ProtocolReader,
4726{
4727    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4728        static FIELDS: &[::fbthrift::Field] = &[
4729            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
4730            ::fbthrift::Field::new("indices", ::fbthrift::TType::Struct, 3),
4731            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 6),
4732            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
4733            ::fbthrift::Field::new("return_columns", ::fbthrift::TType::List, 4),
4734            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4735        ];
4736        let mut field_space_id = ::std::option::Option::None;
4737        let mut field_parts = ::std::option::Option::None;
4738        let mut field_indices = ::std::option::Option::None;
4739        let mut field_return_columns = ::std::option::Option::None;
4740        let mut field_common = ::std::option::Option::None;
4741        let mut field_limit = ::std::option::Option::None;
4742        let _ = p.read_struct_begin(|_| ())?;
4743        loop {
4744            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4745            match (fty, fid as ::std::primitive::i32) {
4746                (::fbthrift::TType::Stop, _) => break,
4747                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4748                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4749                (::fbthrift::TType::Struct, 3) => field_indices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4750                (::fbthrift::TType::List, 4) => field_return_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4751                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4752                (::fbthrift::TType::I64, 6) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4753                (fty, _) => p.skip(fty)?,
4754            }
4755            p.read_field_end()?;
4756        }
4757        p.read_struct_end()?;
4758        ::std::result::Result::Ok(Self {
4759            space_id: field_space_id.unwrap_or_default(),
4760            parts: field_parts.unwrap_or_default(),
4761            indices: field_indices.unwrap_or_default(),
4762            return_columns: field_return_columns,
4763            common: field_common,
4764            limit: field_limit,
4765            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4766        })
4767    }
4768}
4769
4770
4771#[allow(clippy::derivable_impls)]
4772impl ::std::default::Default for self::LookupAndTraverseRequest {
4773    fn default() -> Self {
4774        Self {
4775            space_id: ::std::default::Default::default(),
4776            parts: ::std::default::Default::default(),
4777            indices: ::std::default::Default::default(),
4778            traverse_spec: ::std::default::Default::default(),
4779            common: ::std::option::Option::None,
4780            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4781        }
4782    }
4783}
4784
4785impl ::std::fmt::Debug for self::LookupAndTraverseRequest {
4786    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4787        formatter
4788            .debug_struct("LookupAndTraverseRequest")
4789            .field("space_id", &self.space_id)
4790            .field("parts", &self.parts)
4791            .field("indices", &self.indices)
4792            .field("traverse_spec", &self.traverse_spec)
4793            .field("common", &self.common)
4794            .finish()
4795    }
4796}
4797
4798unsafe impl ::std::marker::Send for self::LookupAndTraverseRequest {}
4799unsafe impl ::std::marker::Sync for self::LookupAndTraverseRequest {}
4800
4801impl ::fbthrift::GetTType for self::LookupAndTraverseRequest {
4802    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4803}
4804
4805impl<P> ::fbthrift::Serialize<P> for self::LookupAndTraverseRequest
4806where
4807    P: ::fbthrift::ProtocolWriter,
4808{
4809    fn write(&self, p: &mut P) {
4810        p.write_struct_begin("LookupAndTraverseRequest");
4811        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4812        ::fbthrift::Serialize::write(&self.space_id, p);
4813        p.write_field_end();
4814        p.write_field_begin("parts", ::fbthrift::TType::List, 2);
4815        ::fbthrift::Serialize::write(&self.parts, p);
4816        p.write_field_end();
4817        p.write_field_begin("indices", ::fbthrift::TType::Struct, 3);
4818        ::fbthrift::Serialize::write(&self.indices, p);
4819        p.write_field_end();
4820        p.write_field_begin("traverse_spec", ::fbthrift::TType::Struct, 4);
4821        ::fbthrift::Serialize::write(&self.traverse_spec, p);
4822        p.write_field_end();
4823        if let ::std::option::Option::Some(some) = &self.common {
4824            p.write_field_begin("common", ::fbthrift::TType::Struct, 5);
4825            ::fbthrift::Serialize::write(some, p);
4826            p.write_field_end();
4827        }
4828        p.write_field_stop();
4829        p.write_struct_end();
4830    }
4831}
4832
4833impl<P> ::fbthrift::Deserialize<P> for self::LookupAndTraverseRequest
4834where
4835    P: ::fbthrift::ProtocolReader,
4836{
4837    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4838        static FIELDS: &[::fbthrift::Field] = &[
4839            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 5),
4840            ::fbthrift::Field::new("indices", ::fbthrift::TType::Struct, 3),
4841            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
4842            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4843            ::fbthrift::Field::new("traverse_spec", ::fbthrift::TType::Struct, 4),
4844        ];
4845        let mut field_space_id = ::std::option::Option::None;
4846        let mut field_parts = ::std::option::Option::None;
4847        let mut field_indices = ::std::option::Option::None;
4848        let mut field_traverse_spec = ::std::option::Option::None;
4849        let mut field_common = ::std::option::Option::None;
4850        let _ = p.read_struct_begin(|_| ())?;
4851        loop {
4852            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
4853            match (fty, fid as ::std::primitive::i32) {
4854                (::fbthrift::TType::Stop, _) => break,
4855                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4856                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4857                (::fbthrift::TType::Struct, 3) => field_indices = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4858                (::fbthrift::TType::Struct, 4) => field_traverse_spec = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4859                (::fbthrift::TType::Struct, 5) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
4860                (fty, _) => p.skip(fty)?,
4861            }
4862            p.read_field_end()?;
4863        }
4864        p.read_struct_end()?;
4865        ::std::result::Result::Ok(Self {
4866            space_id: field_space_id.unwrap_or_default(),
4867            parts: field_parts.unwrap_or_default(),
4868            indices: field_indices.unwrap_or_default(),
4869            traverse_spec: field_traverse_spec.unwrap_or_default(),
4870            common: field_common,
4871            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4872        })
4873    }
4874}
4875
4876
4877#[allow(clippy::derivable_impls)]
4878impl ::std::default::Default for self::ScanVertexRequest {
4879    fn default() -> Self {
4880        Self {
4881            space_id: ::std::default::Default::default(),
4882            part_id: ::std::default::Default::default(),
4883            cursor: ::std::option::Option::None,
4884            return_columns: ::std::default::Default::default(),
4885            limit: ::std::default::Default::default(),
4886            start_time: ::std::option::Option::None,
4887            end_time: ::std::option::Option::None,
4888            filter: ::std::option::Option::None,
4889            only_latest_version: false,
4890            enable_read_from_follower: true,
4891            common: ::std::option::Option::None,
4892            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
4893        }
4894    }
4895}
4896
4897impl ::std::fmt::Debug for self::ScanVertexRequest {
4898    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4899        formatter
4900            .debug_struct("ScanVertexRequest")
4901            .field("space_id", &self.space_id)
4902            .field("part_id", &self.part_id)
4903            .field("cursor", &self.cursor)
4904            .field("return_columns", &self.return_columns)
4905            .field("limit", &self.limit)
4906            .field("start_time", &self.start_time)
4907            .field("end_time", &self.end_time)
4908            .field("filter", &self.filter)
4909            .field("only_latest_version", &self.only_latest_version)
4910            .field("enable_read_from_follower", &self.enable_read_from_follower)
4911            .field("common", &self.common)
4912            .finish()
4913    }
4914}
4915
4916unsafe impl ::std::marker::Send for self::ScanVertexRequest {}
4917unsafe impl ::std::marker::Sync for self::ScanVertexRequest {}
4918
4919impl ::fbthrift::GetTType for self::ScanVertexRequest {
4920    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
4921}
4922
4923impl<P> ::fbthrift::Serialize<P> for self::ScanVertexRequest
4924where
4925    P: ::fbthrift::ProtocolWriter,
4926{
4927    fn write(&self, p: &mut P) {
4928        p.write_struct_begin("ScanVertexRequest");
4929        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
4930        ::fbthrift::Serialize::write(&self.space_id, p);
4931        p.write_field_end();
4932        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
4933        ::fbthrift::Serialize::write(&self.part_id, p);
4934        p.write_field_end();
4935        if let ::std::option::Option::Some(some) = &self.cursor {
4936            p.write_field_begin("cursor", ::fbthrift::TType::String, 3);
4937            ::fbthrift::Serialize::write(some, p);
4938            p.write_field_end();
4939        }
4940        p.write_field_begin("return_columns", ::fbthrift::TType::Struct, 4);
4941        ::fbthrift::Serialize::write(&self.return_columns, p);
4942        p.write_field_end();
4943        p.write_field_begin("limit", ::fbthrift::TType::I64, 5);
4944        ::fbthrift::Serialize::write(&self.limit, p);
4945        p.write_field_end();
4946        if let ::std::option::Option::Some(some) = &self.start_time {
4947            p.write_field_begin("start_time", ::fbthrift::TType::I64, 6);
4948            ::fbthrift::Serialize::write(some, p);
4949            p.write_field_end();
4950        }
4951        if let ::std::option::Option::Some(some) = &self.end_time {
4952            p.write_field_begin("end_time", ::fbthrift::TType::I64, 7);
4953            ::fbthrift::Serialize::write(some, p);
4954            p.write_field_end();
4955        }
4956        if let ::std::option::Option::Some(some) = &self.filter {
4957            p.write_field_begin("filter", ::fbthrift::TType::String, 8);
4958            ::fbthrift::Serialize::write(some, p);
4959            p.write_field_end();
4960        }
4961        p.write_field_begin("only_latest_version", ::fbthrift::TType::Bool, 9);
4962        ::fbthrift::Serialize::write(&self.only_latest_version, p);
4963        p.write_field_end();
4964        p.write_field_begin("enable_read_from_follower", ::fbthrift::TType::Bool, 10);
4965        ::fbthrift::Serialize::write(&self.enable_read_from_follower, p);
4966        p.write_field_end();
4967        if let ::std::option::Option::Some(some) = &self.common {
4968            p.write_field_begin("common", ::fbthrift::TType::Struct, 11);
4969            ::fbthrift::Serialize::write(some, p);
4970            p.write_field_end();
4971        }
4972        p.write_field_stop();
4973        p.write_struct_end();
4974    }
4975}
4976
4977impl<P> ::fbthrift::Deserialize<P> for self::ScanVertexRequest
4978where
4979    P: ::fbthrift::ProtocolReader,
4980{
4981    fn read(p: &mut P) -> ::anyhow::Result<Self> {
4982        static FIELDS: &[::fbthrift::Field] = &[
4983            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 11),
4984            ::fbthrift::Field::new("cursor", ::fbthrift::TType::String, 3),
4985            ::fbthrift::Field::new("enable_read_from_follower", ::fbthrift::TType::Bool, 10),
4986            ::fbthrift::Field::new("end_time", ::fbthrift::TType::I64, 7),
4987            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 8),
4988            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 5),
4989            ::fbthrift::Field::new("only_latest_version", ::fbthrift::TType::Bool, 9),
4990            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
4991            ::fbthrift::Field::new("return_columns", ::fbthrift::TType::Struct, 4),
4992            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
4993            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 6),
4994        ];
4995        let mut field_space_id = ::std::option::Option::None;
4996        let mut field_part_id = ::std::option::Option::None;
4997        let mut field_cursor = ::std::option::Option::None;
4998        let mut field_return_columns = ::std::option::Option::None;
4999        let mut field_limit = ::std::option::Option::None;
5000        let mut field_start_time = ::std::option::Option::None;
5001        let mut field_end_time = ::std::option::Option::None;
5002        let mut field_filter = ::std::option::Option::None;
5003        let mut field_only_latest_version = ::std::option::Option::None;
5004        let mut field_enable_read_from_follower = ::std::option::Option::None;
5005        let mut field_common = ::std::option::Option::None;
5006        let _ = p.read_struct_begin(|_| ())?;
5007        loop {
5008            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5009            match (fty, fid as ::std::primitive::i32) {
5010                (::fbthrift::TType::Stop, _) => break,
5011                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5012                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5013                (::fbthrift::TType::String, 3) => field_cursor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5014                (::fbthrift::TType::Struct, 4) => field_return_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5015                (::fbthrift::TType::I64, 5) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5016                (::fbthrift::TType::I64, 6) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5017                (::fbthrift::TType::I64, 7) => field_end_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5018                (::fbthrift::TType::String, 8) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5019                (::fbthrift::TType::Bool, 9) => field_only_latest_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5020                (::fbthrift::TType::Bool, 10) => field_enable_read_from_follower = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5021                (::fbthrift::TType::Struct, 11) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5022                (fty, _) => p.skip(fty)?,
5023            }
5024            p.read_field_end()?;
5025        }
5026        p.read_struct_end()?;
5027        ::std::result::Result::Ok(Self {
5028            space_id: field_space_id.unwrap_or_default(),
5029            part_id: field_part_id.unwrap_or_default(),
5030            cursor: field_cursor,
5031            return_columns: field_return_columns.unwrap_or_default(),
5032            limit: field_limit.unwrap_or_default(),
5033            start_time: field_start_time,
5034            end_time: field_end_time,
5035            filter: field_filter,
5036            only_latest_version: field_only_latest_version.unwrap_or(false),
5037            enable_read_from_follower: field_enable_read_from_follower.unwrap_or(true),
5038            common: field_common,
5039            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5040        })
5041    }
5042}
5043
5044
5045#[allow(clippy::derivable_impls)]
5046impl ::std::default::Default for self::ScanVertexResponse {
5047    fn default() -> Self {
5048        Self {
5049            result: ::std::default::Default::default(),
5050            vertex_data: ::std::default::Default::default(),
5051            has_next: ::std::default::Default::default(),
5052            next_cursor: ::std::option::Option::None,
5053            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5054        }
5055    }
5056}
5057
5058impl ::std::fmt::Debug for self::ScanVertexResponse {
5059    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5060        formatter
5061            .debug_struct("ScanVertexResponse")
5062            .field("result", &self.result)
5063            .field("vertex_data", &self.vertex_data)
5064            .field("has_next", &self.has_next)
5065            .field("next_cursor", &self.next_cursor)
5066            .finish()
5067    }
5068}
5069
5070unsafe impl ::std::marker::Send for self::ScanVertexResponse {}
5071unsafe impl ::std::marker::Sync for self::ScanVertexResponse {}
5072
5073impl ::fbthrift::GetTType for self::ScanVertexResponse {
5074    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5075}
5076
5077impl<P> ::fbthrift::Serialize<P> for self::ScanVertexResponse
5078where
5079    P: ::fbthrift::ProtocolWriter,
5080{
5081    fn write(&self, p: &mut P) {
5082        p.write_struct_begin("ScanVertexResponse");
5083        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
5084        ::fbthrift::Serialize::write(&self.result, p);
5085        p.write_field_end();
5086        p.write_field_begin("vertex_data", ::fbthrift::TType::Struct, 2);
5087        ::fbthrift::Serialize::write(&self.vertex_data, p);
5088        p.write_field_end();
5089        p.write_field_begin("has_next", ::fbthrift::TType::Bool, 3);
5090        ::fbthrift::Serialize::write(&self.has_next, p);
5091        p.write_field_end();
5092        if let ::std::option::Option::Some(some) = &self.next_cursor {
5093            p.write_field_begin("next_cursor", ::fbthrift::TType::String, 4);
5094            ::fbthrift::Serialize::write(some, p);
5095            p.write_field_end();
5096        }
5097        p.write_field_stop();
5098        p.write_struct_end();
5099    }
5100}
5101
5102impl<P> ::fbthrift::Deserialize<P> for self::ScanVertexResponse
5103where
5104    P: ::fbthrift::ProtocolReader,
5105{
5106    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5107        static FIELDS: &[::fbthrift::Field] = &[
5108            ::fbthrift::Field::new("has_next", ::fbthrift::TType::Bool, 3),
5109            ::fbthrift::Field::new("next_cursor", ::fbthrift::TType::String, 4),
5110            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
5111            ::fbthrift::Field::new("vertex_data", ::fbthrift::TType::Struct, 2),
5112        ];
5113        let mut field_result = ::std::option::Option::None;
5114        let mut field_vertex_data = ::std::option::Option::None;
5115        let mut field_has_next = ::std::option::Option::None;
5116        let mut field_next_cursor = ::std::option::Option::None;
5117        let _ = p.read_struct_begin(|_| ())?;
5118        loop {
5119            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5120            match (fty, fid as ::std::primitive::i32) {
5121                (::fbthrift::TType::Stop, _) => break,
5122                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5123                (::fbthrift::TType::Struct, 2) => field_vertex_data = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5124                (::fbthrift::TType::Bool, 3) => field_has_next = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5125                (::fbthrift::TType::String, 4) => field_next_cursor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5126                (fty, _) => p.skip(fty)?,
5127            }
5128            p.read_field_end()?;
5129        }
5130        p.read_struct_end()?;
5131        ::std::result::Result::Ok(Self {
5132            result: field_result.unwrap_or_default(),
5133            vertex_data: field_vertex_data.unwrap_or_default(),
5134            has_next: field_has_next.unwrap_or_default(),
5135            next_cursor: field_next_cursor,
5136            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5137        })
5138    }
5139}
5140
5141
5142#[allow(clippy::derivable_impls)]
5143impl ::std::default::Default for self::ScanEdgeRequest {
5144    fn default() -> Self {
5145        Self {
5146            space_id: ::std::default::Default::default(),
5147            part_id: ::std::default::Default::default(),
5148            cursor: ::std::option::Option::None,
5149            return_columns: ::std::default::Default::default(),
5150            limit: ::std::default::Default::default(),
5151            start_time: ::std::option::Option::None,
5152            end_time: ::std::option::Option::None,
5153            filter: ::std::option::Option::None,
5154            only_latest_version: false,
5155            enable_read_from_follower: true,
5156            common: ::std::option::Option::None,
5157            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5158        }
5159    }
5160}
5161
5162impl ::std::fmt::Debug for self::ScanEdgeRequest {
5163    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5164        formatter
5165            .debug_struct("ScanEdgeRequest")
5166            .field("space_id", &self.space_id)
5167            .field("part_id", &self.part_id)
5168            .field("cursor", &self.cursor)
5169            .field("return_columns", &self.return_columns)
5170            .field("limit", &self.limit)
5171            .field("start_time", &self.start_time)
5172            .field("end_time", &self.end_time)
5173            .field("filter", &self.filter)
5174            .field("only_latest_version", &self.only_latest_version)
5175            .field("enable_read_from_follower", &self.enable_read_from_follower)
5176            .field("common", &self.common)
5177            .finish()
5178    }
5179}
5180
5181unsafe impl ::std::marker::Send for self::ScanEdgeRequest {}
5182unsafe impl ::std::marker::Sync for self::ScanEdgeRequest {}
5183
5184impl ::fbthrift::GetTType for self::ScanEdgeRequest {
5185    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5186}
5187
5188impl<P> ::fbthrift::Serialize<P> for self::ScanEdgeRequest
5189where
5190    P: ::fbthrift::ProtocolWriter,
5191{
5192    fn write(&self, p: &mut P) {
5193        p.write_struct_begin("ScanEdgeRequest");
5194        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5195        ::fbthrift::Serialize::write(&self.space_id, p);
5196        p.write_field_end();
5197        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
5198        ::fbthrift::Serialize::write(&self.part_id, p);
5199        p.write_field_end();
5200        if let ::std::option::Option::Some(some) = &self.cursor {
5201            p.write_field_begin("cursor", ::fbthrift::TType::String, 3);
5202            ::fbthrift::Serialize::write(some, p);
5203            p.write_field_end();
5204        }
5205        p.write_field_begin("return_columns", ::fbthrift::TType::Struct, 4);
5206        ::fbthrift::Serialize::write(&self.return_columns, p);
5207        p.write_field_end();
5208        p.write_field_begin("limit", ::fbthrift::TType::I64, 5);
5209        ::fbthrift::Serialize::write(&self.limit, p);
5210        p.write_field_end();
5211        if let ::std::option::Option::Some(some) = &self.start_time {
5212            p.write_field_begin("start_time", ::fbthrift::TType::I64, 6);
5213            ::fbthrift::Serialize::write(some, p);
5214            p.write_field_end();
5215        }
5216        if let ::std::option::Option::Some(some) = &self.end_time {
5217            p.write_field_begin("end_time", ::fbthrift::TType::I64, 7);
5218            ::fbthrift::Serialize::write(some, p);
5219            p.write_field_end();
5220        }
5221        if let ::std::option::Option::Some(some) = &self.filter {
5222            p.write_field_begin("filter", ::fbthrift::TType::String, 8);
5223            ::fbthrift::Serialize::write(some, p);
5224            p.write_field_end();
5225        }
5226        p.write_field_begin("only_latest_version", ::fbthrift::TType::Bool, 9);
5227        ::fbthrift::Serialize::write(&self.only_latest_version, p);
5228        p.write_field_end();
5229        p.write_field_begin("enable_read_from_follower", ::fbthrift::TType::Bool, 10);
5230        ::fbthrift::Serialize::write(&self.enable_read_from_follower, p);
5231        p.write_field_end();
5232        if let ::std::option::Option::Some(some) = &self.common {
5233            p.write_field_begin("common", ::fbthrift::TType::Struct, 11);
5234            ::fbthrift::Serialize::write(some, p);
5235            p.write_field_end();
5236        }
5237        p.write_field_stop();
5238        p.write_struct_end();
5239    }
5240}
5241
5242impl<P> ::fbthrift::Deserialize<P> for self::ScanEdgeRequest
5243where
5244    P: ::fbthrift::ProtocolReader,
5245{
5246    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5247        static FIELDS: &[::fbthrift::Field] = &[
5248            ::fbthrift::Field::new("common", ::fbthrift::TType::Struct, 11),
5249            ::fbthrift::Field::new("cursor", ::fbthrift::TType::String, 3),
5250            ::fbthrift::Field::new("enable_read_from_follower", ::fbthrift::TType::Bool, 10),
5251            ::fbthrift::Field::new("end_time", ::fbthrift::TType::I64, 7),
5252            ::fbthrift::Field::new("filter", ::fbthrift::TType::String, 8),
5253            ::fbthrift::Field::new("limit", ::fbthrift::TType::I64, 5),
5254            ::fbthrift::Field::new("only_latest_version", ::fbthrift::TType::Bool, 9),
5255            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
5256            ::fbthrift::Field::new("return_columns", ::fbthrift::TType::Struct, 4),
5257            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5258            ::fbthrift::Field::new("start_time", ::fbthrift::TType::I64, 6),
5259        ];
5260        let mut field_space_id = ::std::option::Option::None;
5261        let mut field_part_id = ::std::option::Option::None;
5262        let mut field_cursor = ::std::option::Option::None;
5263        let mut field_return_columns = ::std::option::Option::None;
5264        let mut field_limit = ::std::option::Option::None;
5265        let mut field_start_time = ::std::option::Option::None;
5266        let mut field_end_time = ::std::option::Option::None;
5267        let mut field_filter = ::std::option::Option::None;
5268        let mut field_only_latest_version = ::std::option::Option::None;
5269        let mut field_enable_read_from_follower = ::std::option::Option::None;
5270        let mut field_common = ::std::option::Option::None;
5271        let _ = p.read_struct_begin(|_| ())?;
5272        loop {
5273            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5274            match (fty, fid as ::std::primitive::i32) {
5275                (::fbthrift::TType::Stop, _) => break,
5276                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5277                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5278                (::fbthrift::TType::String, 3) => field_cursor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5279                (::fbthrift::TType::Struct, 4) => field_return_columns = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5280                (::fbthrift::TType::I64, 5) => field_limit = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5281                (::fbthrift::TType::I64, 6) => field_start_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5282                (::fbthrift::TType::I64, 7) => field_end_time = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5283                (::fbthrift::TType::String, 8) => field_filter = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5284                (::fbthrift::TType::Bool, 9) => field_only_latest_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5285                (::fbthrift::TType::Bool, 10) => field_enable_read_from_follower = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5286                (::fbthrift::TType::Struct, 11) => field_common = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5287                (fty, _) => p.skip(fty)?,
5288            }
5289            p.read_field_end()?;
5290        }
5291        p.read_struct_end()?;
5292        ::std::result::Result::Ok(Self {
5293            space_id: field_space_id.unwrap_or_default(),
5294            part_id: field_part_id.unwrap_or_default(),
5295            cursor: field_cursor,
5296            return_columns: field_return_columns.unwrap_or_default(),
5297            limit: field_limit.unwrap_or_default(),
5298            start_time: field_start_time,
5299            end_time: field_end_time,
5300            filter: field_filter,
5301            only_latest_version: field_only_latest_version.unwrap_or(false),
5302            enable_read_from_follower: field_enable_read_from_follower.unwrap_or(true),
5303            common: field_common,
5304            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5305        })
5306    }
5307}
5308
5309
5310#[allow(clippy::derivable_impls)]
5311impl ::std::default::Default for self::ScanEdgeResponse {
5312    fn default() -> Self {
5313        Self {
5314            result: ::std::default::Default::default(),
5315            edge_data: ::std::default::Default::default(),
5316            has_next: ::std::default::Default::default(),
5317            next_cursor: ::std::option::Option::None,
5318            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5319        }
5320    }
5321}
5322
5323impl ::std::fmt::Debug for self::ScanEdgeResponse {
5324    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5325        formatter
5326            .debug_struct("ScanEdgeResponse")
5327            .field("result", &self.result)
5328            .field("edge_data", &self.edge_data)
5329            .field("has_next", &self.has_next)
5330            .field("next_cursor", &self.next_cursor)
5331            .finish()
5332    }
5333}
5334
5335unsafe impl ::std::marker::Send for self::ScanEdgeResponse {}
5336unsafe impl ::std::marker::Sync for self::ScanEdgeResponse {}
5337
5338impl ::fbthrift::GetTType for self::ScanEdgeResponse {
5339    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5340}
5341
5342impl<P> ::fbthrift::Serialize<P> for self::ScanEdgeResponse
5343where
5344    P: ::fbthrift::ProtocolWriter,
5345{
5346    fn write(&self, p: &mut P) {
5347        p.write_struct_begin("ScanEdgeResponse");
5348        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
5349        ::fbthrift::Serialize::write(&self.result, p);
5350        p.write_field_end();
5351        p.write_field_begin("edge_data", ::fbthrift::TType::Struct, 2);
5352        ::fbthrift::Serialize::write(&self.edge_data, p);
5353        p.write_field_end();
5354        p.write_field_begin("has_next", ::fbthrift::TType::Bool, 3);
5355        ::fbthrift::Serialize::write(&self.has_next, p);
5356        p.write_field_end();
5357        if let ::std::option::Option::Some(some) = &self.next_cursor {
5358            p.write_field_begin("next_cursor", ::fbthrift::TType::String, 4);
5359            ::fbthrift::Serialize::write(some, p);
5360            p.write_field_end();
5361        }
5362        p.write_field_stop();
5363        p.write_struct_end();
5364    }
5365}
5366
5367impl<P> ::fbthrift::Deserialize<P> for self::ScanEdgeResponse
5368where
5369    P: ::fbthrift::ProtocolReader,
5370{
5371    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5372        static FIELDS: &[::fbthrift::Field] = &[
5373            ::fbthrift::Field::new("edge_data", ::fbthrift::TType::Struct, 2),
5374            ::fbthrift::Field::new("has_next", ::fbthrift::TType::Bool, 3),
5375            ::fbthrift::Field::new("next_cursor", ::fbthrift::TType::String, 4),
5376            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
5377        ];
5378        let mut field_result = ::std::option::Option::None;
5379        let mut field_edge_data = ::std::option::Option::None;
5380        let mut field_has_next = ::std::option::Option::None;
5381        let mut field_next_cursor = ::std::option::Option::None;
5382        let _ = p.read_struct_begin(|_| ())?;
5383        loop {
5384            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5385            match (fty, fid as ::std::primitive::i32) {
5386                (::fbthrift::TType::Stop, _) => break,
5387                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5388                (::fbthrift::TType::Struct, 2) => field_edge_data = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5389                (::fbthrift::TType::Bool, 3) => field_has_next = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5390                (::fbthrift::TType::String, 4) => field_next_cursor = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5391                (fty, _) => p.skip(fty)?,
5392            }
5393            p.read_field_end()?;
5394        }
5395        p.read_struct_end()?;
5396        ::std::result::Result::Ok(Self {
5397            result: field_result.unwrap_or_default(),
5398            edge_data: field_edge_data.unwrap_or_default(),
5399            has_next: field_has_next.unwrap_or_default(),
5400            next_cursor: field_next_cursor,
5401            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5402        })
5403    }
5404}
5405
5406
5407#[allow(clippy::derivable_impls)]
5408impl ::std::default::Default for self::TaskPara {
5409    fn default() -> Self {
5410        Self {
5411            space_id: ::std::default::Default::default(),
5412            parts: ::std::option::Option::None,
5413            task_specfic_paras: ::std::option::Option::None,
5414            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5415        }
5416    }
5417}
5418
5419impl ::std::fmt::Debug for self::TaskPara {
5420    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5421        formatter
5422            .debug_struct("TaskPara")
5423            .field("space_id", &self.space_id)
5424            .field("parts", &self.parts)
5425            .field("task_specfic_paras", &self.task_specfic_paras)
5426            .finish()
5427    }
5428}
5429
5430unsafe impl ::std::marker::Send for self::TaskPara {}
5431unsafe impl ::std::marker::Sync for self::TaskPara {}
5432
5433impl ::fbthrift::GetTType for self::TaskPara {
5434    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5435}
5436
5437impl<P> ::fbthrift::Serialize<P> for self::TaskPara
5438where
5439    P: ::fbthrift::ProtocolWriter,
5440{
5441    fn write(&self, p: &mut P) {
5442        p.write_struct_begin("TaskPara");
5443        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5444        ::fbthrift::Serialize::write(&self.space_id, p);
5445        p.write_field_end();
5446        if let ::std::option::Option::Some(some) = &self.parts {
5447            p.write_field_begin("parts", ::fbthrift::TType::List, 2);
5448            ::fbthrift::Serialize::write(some, p);
5449            p.write_field_end();
5450        }
5451        if let ::std::option::Option::Some(some) = &self.task_specfic_paras {
5452            p.write_field_begin("task_specfic_paras", ::fbthrift::TType::List, 3);
5453            ::fbthrift::Serialize::write(some, p);
5454            p.write_field_end();
5455        }
5456        p.write_field_stop();
5457        p.write_struct_end();
5458    }
5459}
5460
5461impl<P> ::fbthrift::Deserialize<P> for self::TaskPara
5462where
5463    P: ::fbthrift::ProtocolReader,
5464{
5465    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5466        static FIELDS: &[::fbthrift::Field] = &[
5467            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
5468            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5469            ::fbthrift::Field::new("task_specfic_paras", ::fbthrift::TType::List, 3),
5470        ];
5471        let mut field_space_id = ::std::option::Option::None;
5472        let mut field_parts = ::std::option::Option::None;
5473        let mut field_task_specfic_paras = ::std::option::Option::None;
5474        let _ = p.read_struct_begin(|_| ())?;
5475        loop {
5476            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5477            match (fty, fid as ::std::primitive::i32) {
5478                (::fbthrift::TType::Stop, _) => break,
5479                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5480                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5481                (::fbthrift::TType::List, 3) => field_task_specfic_paras = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5482                (fty, _) => p.skip(fty)?,
5483            }
5484            p.read_field_end()?;
5485        }
5486        p.read_struct_end()?;
5487        ::std::result::Result::Ok(Self {
5488            space_id: field_space_id.unwrap_or_default(),
5489            parts: field_parts,
5490            task_specfic_paras: field_task_specfic_paras,
5491            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5492        })
5493    }
5494}
5495
5496
5497#[allow(clippy::derivable_impls)]
5498impl ::std::default::Default for self::AddAdminTaskRequest {
5499    fn default() -> Self {
5500        Self {
5501            cmd: ::std::default::Default::default(),
5502            job_id: ::std::default::Default::default(),
5503            task_id: ::std::default::Default::default(),
5504            para: ::std::default::Default::default(),
5505            concurrency: ::std::option::Option::None,
5506            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5507        }
5508    }
5509}
5510
5511impl ::std::fmt::Debug for self::AddAdminTaskRequest {
5512    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5513        formatter
5514            .debug_struct("AddAdminTaskRequest")
5515            .field("cmd", &self.cmd)
5516            .field("job_id", &self.job_id)
5517            .field("task_id", &self.task_id)
5518            .field("para", &self.para)
5519            .field("concurrency", &self.concurrency)
5520            .finish()
5521    }
5522}
5523
5524unsafe impl ::std::marker::Send for self::AddAdminTaskRequest {}
5525unsafe impl ::std::marker::Sync for self::AddAdminTaskRequest {}
5526
5527impl ::fbthrift::GetTType for self::AddAdminTaskRequest {
5528    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5529}
5530
5531impl<P> ::fbthrift::Serialize<P> for self::AddAdminTaskRequest
5532where
5533    P: ::fbthrift::ProtocolWriter,
5534{
5535    fn write(&self, p: &mut P) {
5536        p.write_struct_begin("AddAdminTaskRequest");
5537        p.write_field_begin("cmd", ::fbthrift::TType::I32, 1);
5538        ::fbthrift::Serialize::write(&self.cmd, p);
5539        p.write_field_end();
5540        p.write_field_begin("job_id", ::fbthrift::TType::I32, 2);
5541        ::fbthrift::Serialize::write(&self.job_id, p);
5542        p.write_field_end();
5543        p.write_field_begin("task_id", ::fbthrift::TType::I32, 3);
5544        ::fbthrift::Serialize::write(&self.task_id, p);
5545        p.write_field_end();
5546        p.write_field_begin("para", ::fbthrift::TType::Struct, 4);
5547        ::fbthrift::Serialize::write(&self.para, p);
5548        p.write_field_end();
5549        if let ::std::option::Option::Some(some) = &self.concurrency {
5550            p.write_field_begin("concurrency", ::fbthrift::TType::I32, 5);
5551            ::fbthrift::Serialize::write(some, p);
5552            p.write_field_end();
5553        }
5554        p.write_field_stop();
5555        p.write_struct_end();
5556    }
5557}
5558
5559impl<P> ::fbthrift::Deserialize<P> for self::AddAdminTaskRequest
5560where
5561    P: ::fbthrift::ProtocolReader,
5562{
5563    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5564        static FIELDS: &[::fbthrift::Field] = &[
5565            ::fbthrift::Field::new("cmd", ::fbthrift::TType::I32, 1),
5566            ::fbthrift::Field::new("concurrency", ::fbthrift::TType::I32, 5),
5567            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 2),
5568            ::fbthrift::Field::new("para", ::fbthrift::TType::Struct, 4),
5569            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 3),
5570        ];
5571        let mut field_cmd = ::std::option::Option::None;
5572        let mut field_job_id = ::std::option::Option::None;
5573        let mut field_task_id = ::std::option::Option::None;
5574        let mut field_para = ::std::option::Option::None;
5575        let mut field_concurrency = ::std::option::Option::None;
5576        let _ = p.read_struct_begin(|_| ())?;
5577        loop {
5578            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5579            match (fty, fid as ::std::primitive::i32) {
5580                (::fbthrift::TType::Stop, _) => break,
5581                (::fbthrift::TType::I32, 1) => field_cmd = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5582                (::fbthrift::TType::I32, 2) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5583                (::fbthrift::TType::I32, 3) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5584                (::fbthrift::TType::Struct, 4) => field_para = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5585                (::fbthrift::TType::I32, 5) => field_concurrency = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5586                (fty, _) => p.skip(fty)?,
5587            }
5588            p.read_field_end()?;
5589        }
5590        p.read_struct_end()?;
5591        ::std::result::Result::Ok(Self {
5592            cmd: field_cmd.unwrap_or_default(),
5593            job_id: field_job_id.unwrap_or_default(),
5594            task_id: field_task_id.unwrap_or_default(),
5595            para: field_para.unwrap_or_default(),
5596            concurrency: field_concurrency,
5597            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5598        })
5599    }
5600}
5601
5602
5603#[allow(clippy::derivable_impls)]
5604impl ::std::default::Default for self::StopAdminTaskRequest {
5605    fn default() -> Self {
5606        Self {
5607            job_id: ::std::default::Default::default(),
5608            task_id: ::std::default::Default::default(),
5609            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5610        }
5611    }
5612}
5613
5614impl ::std::fmt::Debug for self::StopAdminTaskRequest {
5615    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5616        formatter
5617            .debug_struct("StopAdminTaskRequest")
5618            .field("job_id", &self.job_id)
5619            .field("task_id", &self.task_id)
5620            .finish()
5621    }
5622}
5623
5624unsafe impl ::std::marker::Send for self::StopAdminTaskRequest {}
5625unsafe impl ::std::marker::Sync for self::StopAdminTaskRequest {}
5626
5627impl ::fbthrift::GetTType for self::StopAdminTaskRequest {
5628    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5629}
5630
5631impl<P> ::fbthrift::Serialize<P> for self::StopAdminTaskRequest
5632where
5633    P: ::fbthrift::ProtocolWriter,
5634{
5635    fn write(&self, p: &mut P) {
5636        p.write_struct_begin("StopAdminTaskRequest");
5637        p.write_field_begin("job_id", ::fbthrift::TType::I32, 1);
5638        ::fbthrift::Serialize::write(&self.job_id, p);
5639        p.write_field_end();
5640        p.write_field_begin("task_id", ::fbthrift::TType::I32, 2);
5641        ::fbthrift::Serialize::write(&self.task_id, p);
5642        p.write_field_end();
5643        p.write_field_stop();
5644        p.write_struct_end();
5645    }
5646}
5647
5648impl<P> ::fbthrift::Deserialize<P> for self::StopAdminTaskRequest
5649where
5650    P: ::fbthrift::ProtocolReader,
5651{
5652    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5653        static FIELDS: &[::fbthrift::Field] = &[
5654            ::fbthrift::Field::new("job_id", ::fbthrift::TType::I32, 1),
5655            ::fbthrift::Field::new("task_id", ::fbthrift::TType::I32, 2),
5656        ];
5657        let mut field_job_id = ::std::option::Option::None;
5658        let mut field_task_id = ::std::option::Option::None;
5659        let _ = p.read_struct_begin(|_| ())?;
5660        loop {
5661            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5662            match (fty, fid as ::std::primitive::i32) {
5663                (::fbthrift::TType::Stop, _) => break,
5664                (::fbthrift::TType::I32, 1) => field_job_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5665                (::fbthrift::TType::I32, 2) => field_task_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5666                (fty, _) => p.skip(fty)?,
5667            }
5668            p.read_field_end()?;
5669        }
5670        p.read_struct_end()?;
5671        ::std::result::Result::Ok(Self {
5672            job_id: field_job_id.unwrap_or_default(),
5673            task_id: field_task_id.unwrap_or_default(),
5674            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5675        })
5676    }
5677}
5678
5679
5680#[allow(clippy::derivable_impls)]
5681impl ::std::default::Default for self::AdminExecResp {
5682    fn default() -> Self {
5683        Self {
5684            result: ::std::default::Default::default(),
5685            stats: ::std::option::Option::None,
5686            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5687        }
5688    }
5689}
5690
5691impl ::std::fmt::Debug for self::AdminExecResp {
5692    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5693        formatter
5694            .debug_struct("AdminExecResp")
5695            .field("result", &self.result)
5696            .field("stats", &self.stats)
5697            .finish()
5698    }
5699}
5700
5701unsafe impl ::std::marker::Send for self::AdminExecResp {}
5702unsafe impl ::std::marker::Sync for self::AdminExecResp {}
5703
5704impl ::fbthrift::GetTType for self::AdminExecResp {
5705    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5706}
5707
5708impl<P> ::fbthrift::Serialize<P> for self::AdminExecResp
5709where
5710    P: ::fbthrift::ProtocolWriter,
5711{
5712    fn write(&self, p: &mut P) {
5713        p.write_struct_begin("AdminExecResp");
5714        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
5715        ::fbthrift::Serialize::write(&self.result, p);
5716        p.write_field_end();
5717        if let ::std::option::Option::Some(some) = &self.stats {
5718            p.write_field_begin("stats", ::fbthrift::TType::Struct, 2);
5719            ::fbthrift::Serialize::write(some, p);
5720            p.write_field_end();
5721        }
5722        p.write_field_stop();
5723        p.write_struct_end();
5724    }
5725}
5726
5727impl<P> ::fbthrift::Deserialize<P> for self::AdminExecResp
5728where
5729    P: ::fbthrift::ProtocolReader,
5730{
5731    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5732        static FIELDS: &[::fbthrift::Field] = &[
5733            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
5734            ::fbthrift::Field::new("stats", ::fbthrift::TType::Struct, 2),
5735        ];
5736        let mut field_result = ::std::option::Option::None;
5737        let mut field_stats = ::std::option::Option::None;
5738        let _ = p.read_struct_begin(|_| ())?;
5739        loop {
5740            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5741            match (fty, fid as ::std::primitive::i32) {
5742                (::fbthrift::TType::Stop, _) => break,
5743                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5744                (::fbthrift::TType::Struct, 2) => field_stats = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5745                (fty, _) => p.skip(fty)?,
5746            }
5747            p.read_field_end()?;
5748        }
5749        p.read_struct_end()?;
5750        ::std::result::Result::Ok(Self {
5751            result: field_result.unwrap_or_default(),
5752            stats: field_stats,
5753            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5754        })
5755    }
5756}
5757
5758
5759#[allow(clippy::derivable_impls)]
5760impl ::std::default::Default for self::TransLeaderReq {
5761    fn default() -> Self {
5762        Self {
5763            space_id: ::std::default::Default::default(),
5764            part_id: ::std::default::Default::default(),
5765            new_leader: ::std::default::Default::default(),
5766            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5767        }
5768    }
5769}
5770
5771impl ::std::fmt::Debug for self::TransLeaderReq {
5772    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5773        formatter
5774            .debug_struct("TransLeaderReq")
5775            .field("space_id", &self.space_id)
5776            .field("part_id", &self.part_id)
5777            .field("new_leader", &self.new_leader)
5778            .finish()
5779    }
5780}
5781
5782unsafe impl ::std::marker::Send for self::TransLeaderReq {}
5783unsafe impl ::std::marker::Sync for self::TransLeaderReq {}
5784
5785impl ::fbthrift::GetTType for self::TransLeaderReq {
5786    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5787}
5788
5789impl<P> ::fbthrift::Serialize<P> for self::TransLeaderReq
5790where
5791    P: ::fbthrift::ProtocolWriter,
5792{
5793    fn write(&self, p: &mut P) {
5794        p.write_struct_begin("TransLeaderReq");
5795        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5796        ::fbthrift::Serialize::write(&self.space_id, p);
5797        p.write_field_end();
5798        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
5799        ::fbthrift::Serialize::write(&self.part_id, p);
5800        p.write_field_end();
5801        p.write_field_begin("new_leader", ::fbthrift::TType::Struct, 3);
5802        ::fbthrift::Serialize::write(&self.new_leader, p);
5803        p.write_field_end();
5804        p.write_field_stop();
5805        p.write_struct_end();
5806    }
5807}
5808
5809impl<P> ::fbthrift::Deserialize<P> for self::TransLeaderReq
5810where
5811    P: ::fbthrift::ProtocolReader,
5812{
5813    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5814        static FIELDS: &[::fbthrift::Field] = &[
5815            ::fbthrift::Field::new("new_leader", ::fbthrift::TType::Struct, 3),
5816            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
5817            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5818        ];
5819        let mut field_space_id = ::std::option::Option::None;
5820        let mut field_part_id = ::std::option::Option::None;
5821        let mut field_new_leader = ::std::option::Option::None;
5822        let _ = p.read_struct_begin(|_| ())?;
5823        loop {
5824            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5825            match (fty, fid as ::std::primitive::i32) {
5826                (::fbthrift::TType::Stop, _) => break,
5827                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5828                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5829                (::fbthrift::TType::Struct, 3) => field_new_leader = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5830                (fty, _) => p.skip(fty)?,
5831            }
5832            p.read_field_end()?;
5833        }
5834        p.read_struct_end()?;
5835        ::std::result::Result::Ok(Self {
5836            space_id: field_space_id.unwrap_or_default(),
5837            part_id: field_part_id.unwrap_or_default(),
5838            new_leader: field_new_leader.unwrap_or_default(),
5839            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5840        })
5841    }
5842}
5843
5844
5845#[allow(clippy::derivable_impls)]
5846impl ::std::default::Default for self::AddPartReq {
5847    fn default() -> Self {
5848        Self {
5849            space_id: ::std::default::Default::default(),
5850            part_id: ::std::default::Default::default(),
5851            as_learner: ::std::default::Default::default(),
5852            peers: ::std::default::Default::default(),
5853            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5854        }
5855    }
5856}
5857
5858impl ::std::fmt::Debug for self::AddPartReq {
5859    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5860        formatter
5861            .debug_struct("AddPartReq")
5862            .field("space_id", &self.space_id)
5863            .field("part_id", &self.part_id)
5864            .field("as_learner", &self.as_learner)
5865            .field("peers", &self.peers)
5866            .finish()
5867    }
5868}
5869
5870unsafe impl ::std::marker::Send for self::AddPartReq {}
5871unsafe impl ::std::marker::Sync for self::AddPartReq {}
5872
5873impl ::fbthrift::GetTType for self::AddPartReq {
5874    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5875}
5876
5877impl<P> ::fbthrift::Serialize<P> for self::AddPartReq
5878where
5879    P: ::fbthrift::ProtocolWriter,
5880{
5881    fn write(&self, p: &mut P) {
5882        p.write_struct_begin("AddPartReq");
5883        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5884        ::fbthrift::Serialize::write(&self.space_id, p);
5885        p.write_field_end();
5886        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
5887        ::fbthrift::Serialize::write(&self.part_id, p);
5888        p.write_field_end();
5889        p.write_field_begin("as_learner", ::fbthrift::TType::Bool, 3);
5890        ::fbthrift::Serialize::write(&self.as_learner, p);
5891        p.write_field_end();
5892        p.write_field_begin("peers", ::fbthrift::TType::List, 4);
5893        ::fbthrift::Serialize::write(&self.peers, p);
5894        p.write_field_end();
5895        p.write_field_stop();
5896        p.write_struct_end();
5897    }
5898}
5899
5900impl<P> ::fbthrift::Deserialize<P> for self::AddPartReq
5901where
5902    P: ::fbthrift::ProtocolReader,
5903{
5904    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5905        static FIELDS: &[::fbthrift::Field] = &[
5906            ::fbthrift::Field::new("as_learner", ::fbthrift::TType::Bool, 3),
5907            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
5908            ::fbthrift::Field::new("peers", ::fbthrift::TType::List, 4),
5909            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5910        ];
5911        let mut field_space_id = ::std::option::Option::None;
5912        let mut field_part_id = ::std::option::Option::None;
5913        let mut field_as_learner = ::std::option::Option::None;
5914        let mut field_peers = ::std::option::Option::None;
5915        let _ = p.read_struct_begin(|_| ())?;
5916        loop {
5917            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
5918            match (fty, fid as ::std::primitive::i32) {
5919                (::fbthrift::TType::Stop, _) => break,
5920                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5921                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5922                (::fbthrift::TType::Bool, 3) => field_as_learner = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5923                (::fbthrift::TType::List, 4) => field_peers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
5924                (fty, _) => p.skip(fty)?,
5925            }
5926            p.read_field_end()?;
5927        }
5928        p.read_struct_end()?;
5929        ::std::result::Result::Ok(Self {
5930            space_id: field_space_id.unwrap_or_default(),
5931            part_id: field_part_id.unwrap_or_default(),
5932            as_learner: field_as_learner.unwrap_or_default(),
5933            peers: field_peers.unwrap_or_default(),
5934            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5935        })
5936    }
5937}
5938
5939
5940#[allow(clippy::derivable_impls)]
5941impl ::std::default::Default for self::AddLearnerReq {
5942    fn default() -> Self {
5943        Self {
5944            space_id: ::std::default::Default::default(),
5945            part_id: ::std::default::Default::default(),
5946            learner: ::std::default::Default::default(),
5947            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
5948        }
5949    }
5950}
5951
5952impl ::std::fmt::Debug for self::AddLearnerReq {
5953    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5954        formatter
5955            .debug_struct("AddLearnerReq")
5956            .field("space_id", &self.space_id)
5957            .field("part_id", &self.part_id)
5958            .field("learner", &self.learner)
5959            .finish()
5960    }
5961}
5962
5963unsafe impl ::std::marker::Send for self::AddLearnerReq {}
5964unsafe impl ::std::marker::Sync for self::AddLearnerReq {}
5965
5966impl ::fbthrift::GetTType for self::AddLearnerReq {
5967    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
5968}
5969
5970impl<P> ::fbthrift::Serialize<P> for self::AddLearnerReq
5971where
5972    P: ::fbthrift::ProtocolWriter,
5973{
5974    fn write(&self, p: &mut P) {
5975        p.write_struct_begin("AddLearnerReq");
5976        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
5977        ::fbthrift::Serialize::write(&self.space_id, p);
5978        p.write_field_end();
5979        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
5980        ::fbthrift::Serialize::write(&self.part_id, p);
5981        p.write_field_end();
5982        p.write_field_begin("learner", ::fbthrift::TType::Struct, 3);
5983        ::fbthrift::Serialize::write(&self.learner, p);
5984        p.write_field_end();
5985        p.write_field_stop();
5986        p.write_struct_end();
5987    }
5988}
5989
5990impl<P> ::fbthrift::Deserialize<P> for self::AddLearnerReq
5991where
5992    P: ::fbthrift::ProtocolReader,
5993{
5994    fn read(p: &mut P) -> ::anyhow::Result<Self> {
5995        static FIELDS: &[::fbthrift::Field] = &[
5996            ::fbthrift::Field::new("learner", ::fbthrift::TType::Struct, 3),
5997            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
5998            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
5999        ];
6000        let mut field_space_id = ::std::option::Option::None;
6001        let mut field_part_id = ::std::option::Option::None;
6002        let mut field_learner = ::std::option::Option::None;
6003        let _ = p.read_struct_begin(|_| ())?;
6004        loop {
6005            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6006            match (fty, fid as ::std::primitive::i32) {
6007                (::fbthrift::TType::Stop, _) => break,
6008                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6009                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6010                (::fbthrift::TType::Struct, 3) => field_learner = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6011                (fty, _) => p.skip(fty)?,
6012            }
6013            p.read_field_end()?;
6014        }
6015        p.read_struct_end()?;
6016        ::std::result::Result::Ok(Self {
6017            space_id: field_space_id.unwrap_or_default(),
6018            part_id: field_part_id.unwrap_or_default(),
6019            learner: field_learner.unwrap_or_default(),
6020            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6021        })
6022    }
6023}
6024
6025
6026#[allow(clippy::derivable_impls)]
6027impl ::std::default::Default for self::RemovePartReq {
6028    fn default() -> Self {
6029        Self {
6030            space_id: ::std::default::Default::default(),
6031            part_id: ::std::default::Default::default(),
6032            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6033        }
6034    }
6035}
6036
6037impl ::std::fmt::Debug for self::RemovePartReq {
6038    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6039        formatter
6040            .debug_struct("RemovePartReq")
6041            .field("space_id", &self.space_id)
6042            .field("part_id", &self.part_id)
6043            .finish()
6044    }
6045}
6046
6047unsafe impl ::std::marker::Send for self::RemovePartReq {}
6048unsafe impl ::std::marker::Sync for self::RemovePartReq {}
6049
6050impl ::fbthrift::GetTType for self::RemovePartReq {
6051    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6052}
6053
6054impl<P> ::fbthrift::Serialize<P> for self::RemovePartReq
6055where
6056    P: ::fbthrift::ProtocolWriter,
6057{
6058    fn write(&self, p: &mut P) {
6059        p.write_struct_begin("RemovePartReq");
6060        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6061        ::fbthrift::Serialize::write(&self.space_id, p);
6062        p.write_field_end();
6063        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6064        ::fbthrift::Serialize::write(&self.part_id, p);
6065        p.write_field_end();
6066        p.write_field_stop();
6067        p.write_struct_end();
6068    }
6069}
6070
6071impl<P> ::fbthrift::Deserialize<P> for self::RemovePartReq
6072where
6073    P: ::fbthrift::ProtocolReader,
6074{
6075    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6076        static FIELDS: &[::fbthrift::Field] = &[
6077            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6078            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6079        ];
6080        let mut field_space_id = ::std::option::Option::None;
6081        let mut field_part_id = ::std::option::Option::None;
6082        let _ = p.read_struct_begin(|_| ())?;
6083        loop {
6084            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6085            match (fty, fid as ::std::primitive::i32) {
6086                (::fbthrift::TType::Stop, _) => break,
6087                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6088                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6089                (fty, _) => p.skip(fty)?,
6090            }
6091            p.read_field_end()?;
6092        }
6093        p.read_struct_end()?;
6094        ::std::result::Result::Ok(Self {
6095            space_id: field_space_id.unwrap_or_default(),
6096            part_id: field_part_id.unwrap_or_default(),
6097            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6098        })
6099    }
6100}
6101
6102
6103#[allow(clippy::derivable_impls)]
6104impl ::std::default::Default for self::MemberChangeReq {
6105    fn default() -> Self {
6106        Self {
6107            space_id: ::std::default::Default::default(),
6108            part_id: ::std::default::Default::default(),
6109            peer: ::std::default::Default::default(),
6110            add: ::std::default::Default::default(),
6111            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6112        }
6113    }
6114}
6115
6116impl ::std::fmt::Debug for self::MemberChangeReq {
6117    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6118        formatter
6119            .debug_struct("MemberChangeReq")
6120            .field("space_id", &self.space_id)
6121            .field("part_id", &self.part_id)
6122            .field("peer", &self.peer)
6123            .field("add", &self.add)
6124            .finish()
6125    }
6126}
6127
6128unsafe impl ::std::marker::Send for self::MemberChangeReq {}
6129unsafe impl ::std::marker::Sync for self::MemberChangeReq {}
6130
6131impl ::fbthrift::GetTType for self::MemberChangeReq {
6132    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6133}
6134
6135impl<P> ::fbthrift::Serialize<P> for self::MemberChangeReq
6136where
6137    P: ::fbthrift::ProtocolWriter,
6138{
6139    fn write(&self, p: &mut P) {
6140        p.write_struct_begin("MemberChangeReq");
6141        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6142        ::fbthrift::Serialize::write(&self.space_id, p);
6143        p.write_field_end();
6144        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6145        ::fbthrift::Serialize::write(&self.part_id, p);
6146        p.write_field_end();
6147        p.write_field_begin("peer", ::fbthrift::TType::Struct, 3);
6148        ::fbthrift::Serialize::write(&self.peer, p);
6149        p.write_field_end();
6150        p.write_field_begin("add", ::fbthrift::TType::Bool, 4);
6151        ::fbthrift::Serialize::write(&self.add, p);
6152        p.write_field_end();
6153        p.write_field_stop();
6154        p.write_struct_end();
6155    }
6156}
6157
6158impl<P> ::fbthrift::Deserialize<P> for self::MemberChangeReq
6159where
6160    P: ::fbthrift::ProtocolReader,
6161{
6162    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6163        static FIELDS: &[::fbthrift::Field] = &[
6164            ::fbthrift::Field::new("add", ::fbthrift::TType::Bool, 4),
6165            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6166            ::fbthrift::Field::new("peer", ::fbthrift::TType::Struct, 3),
6167            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6168        ];
6169        let mut field_space_id = ::std::option::Option::None;
6170        let mut field_part_id = ::std::option::Option::None;
6171        let mut field_peer = ::std::option::Option::None;
6172        let mut field_add = ::std::option::Option::None;
6173        let _ = p.read_struct_begin(|_| ())?;
6174        loop {
6175            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6176            match (fty, fid as ::std::primitive::i32) {
6177                (::fbthrift::TType::Stop, _) => break,
6178                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6179                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6180                (::fbthrift::TType::Struct, 3) => field_peer = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6181                (::fbthrift::TType::Bool, 4) => field_add = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6182                (fty, _) => p.skip(fty)?,
6183            }
6184            p.read_field_end()?;
6185        }
6186        p.read_struct_end()?;
6187        ::std::result::Result::Ok(Self {
6188            space_id: field_space_id.unwrap_or_default(),
6189            part_id: field_part_id.unwrap_or_default(),
6190            peer: field_peer.unwrap_or_default(),
6191            add: field_add.unwrap_or_default(),
6192            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6193        })
6194    }
6195}
6196
6197
6198#[allow(clippy::derivable_impls)]
6199impl ::std::default::Default for self::CatchUpDataReq {
6200    fn default() -> Self {
6201        Self {
6202            space_id: ::std::default::Default::default(),
6203            part_id: ::std::default::Default::default(),
6204            target: ::std::default::Default::default(),
6205            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6206        }
6207    }
6208}
6209
6210impl ::std::fmt::Debug for self::CatchUpDataReq {
6211    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6212        formatter
6213            .debug_struct("CatchUpDataReq")
6214            .field("space_id", &self.space_id)
6215            .field("part_id", &self.part_id)
6216            .field("target", &self.target)
6217            .finish()
6218    }
6219}
6220
6221unsafe impl ::std::marker::Send for self::CatchUpDataReq {}
6222unsafe impl ::std::marker::Sync for self::CatchUpDataReq {}
6223
6224impl ::fbthrift::GetTType for self::CatchUpDataReq {
6225    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6226}
6227
6228impl<P> ::fbthrift::Serialize<P> for self::CatchUpDataReq
6229where
6230    P: ::fbthrift::ProtocolWriter,
6231{
6232    fn write(&self, p: &mut P) {
6233        p.write_struct_begin("CatchUpDataReq");
6234        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6235        ::fbthrift::Serialize::write(&self.space_id, p);
6236        p.write_field_end();
6237        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6238        ::fbthrift::Serialize::write(&self.part_id, p);
6239        p.write_field_end();
6240        p.write_field_begin("target", ::fbthrift::TType::Struct, 3);
6241        ::fbthrift::Serialize::write(&self.target, p);
6242        p.write_field_end();
6243        p.write_field_stop();
6244        p.write_struct_end();
6245    }
6246}
6247
6248impl<P> ::fbthrift::Deserialize<P> for self::CatchUpDataReq
6249where
6250    P: ::fbthrift::ProtocolReader,
6251{
6252    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6253        static FIELDS: &[::fbthrift::Field] = &[
6254            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6255            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6256            ::fbthrift::Field::new("target", ::fbthrift::TType::Struct, 3),
6257        ];
6258        let mut field_space_id = ::std::option::Option::None;
6259        let mut field_part_id = ::std::option::Option::None;
6260        let mut field_target = ::std::option::Option::None;
6261        let _ = p.read_struct_begin(|_| ())?;
6262        loop {
6263            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6264            match (fty, fid as ::std::primitive::i32) {
6265                (::fbthrift::TType::Stop, _) => break,
6266                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6267                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6268                (::fbthrift::TType::Struct, 3) => field_target = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6269                (fty, _) => p.skip(fty)?,
6270            }
6271            p.read_field_end()?;
6272        }
6273        p.read_struct_end()?;
6274        ::std::result::Result::Ok(Self {
6275            space_id: field_space_id.unwrap_or_default(),
6276            part_id: field_part_id.unwrap_or_default(),
6277            target: field_target.unwrap_or_default(),
6278            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6279        })
6280    }
6281}
6282
6283
6284#[allow(clippy::derivable_impls)]
6285impl ::std::default::Default for self::GetLeaderReq {
6286    fn default() -> Self {
6287        Self {
6288            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6289        }
6290    }
6291}
6292
6293impl ::std::fmt::Debug for self::GetLeaderReq {
6294    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6295        formatter
6296            .debug_struct("GetLeaderReq")
6297            .finish()
6298    }
6299}
6300
6301unsafe impl ::std::marker::Send for self::GetLeaderReq {}
6302unsafe impl ::std::marker::Sync for self::GetLeaderReq {}
6303
6304impl ::fbthrift::GetTType for self::GetLeaderReq {
6305    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6306}
6307
6308impl<P> ::fbthrift::Serialize<P> for self::GetLeaderReq
6309where
6310    P: ::fbthrift::ProtocolWriter,
6311{
6312    fn write(&self, p: &mut P) {
6313        p.write_struct_begin("GetLeaderReq");
6314        p.write_field_stop();
6315        p.write_struct_end();
6316    }
6317}
6318
6319impl<P> ::fbthrift::Deserialize<P> for self::GetLeaderReq
6320where
6321    P: ::fbthrift::ProtocolReader,
6322{
6323    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6324        static FIELDS: &[::fbthrift::Field] = &[
6325        ];
6326        let _ = p.read_struct_begin(|_| ())?;
6327        loop {
6328            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6329            match (fty, fid as ::std::primitive::i32) {
6330                (::fbthrift::TType::Stop, _) => break,
6331                (fty, _) => p.skip(fty)?,
6332            }
6333            p.read_field_end()?;
6334        }
6335        p.read_struct_end()?;
6336        ::std::result::Result::Ok(Self {
6337            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6338        })
6339    }
6340}
6341
6342
6343#[allow(clippy::derivable_impls)]
6344impl ::std::default::Default for self::CreateCPRequest {
6345    fn default() -> Self {
6346        Self {
6347            space_id: ::std::default::Default::default(),
6348            name: ::std::default::Default::default(),
6349            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6350        }
6351    }
6352}
6353
6354impl ::std::fmt::Debug for self::CreateCPRequest {
6355    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6356        formatter
6357            .debug_struct("CreateCPRequest")
6358            .field("space_id", &self.space_id)
6359            .field("name", &self.name)
6360            .finish()
6361    }
6362}
6363
6364unsafe impl ::std::marker::Send for self::CreateCPRequest {}
6365unsafe impl ::std::marker::Sync for self::CreateCPRequest {}
6366
6367impl ::fbthrift::GetTType for self::CreateCPRequest {
6368    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6369}
6370
6371impl<P> ::fbthrift::Serialize<P> for self::CreateCPRequest
6372where
6373    P: ::fbthrift::ProtocolWriter,
6374{
6375    fn write(&self, p: &mut P) {
6376        p.write_struct_begin("CreateCPRequest");
6377        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6378        ::fbthrift::Serialize::write(&self.space_id, p);
6379        p.write_field_end();
6380        p.write_field_begin("name", ::fbthrift::TType::String, 2);
6381        ::fbthrift::Serialize::write(&self.name, p);
6382        p.write_field_end();
6383        p.write_field_stop();
6384        p.write_struct_end();
6385    }
6386}
6387
6388impl<P> ::fbthrift::Deserialize<P> for self::CreateCPRequest
6389where
6390    P: ::fbthrift::ProtocolReader,
6391{
6392    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6393        static FIELDS: &[::fbthrift::Field] = &[
6394            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
6395            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6396        ];
6397        let mut field_space_id = ::std::option::Option::None;
6398        let mut field_name = ::std::option::Option::None;
6399        let _ = p.read_struct_begin(|_| ())?;
6400        loop {
6401            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6402            match (fty, fid as ::std::primitive::i32) {
6403                (::fbthrift::TType::Stop, _) => break,
6404                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6405                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6406                (fty, _) => p.skip(fty)?,
6407            }
6408            p.read_field_end()?;
6409        }
6410        p.read_struct_end()?;
6411        ::std::result::Result::Ok(Self {
6412            space_id: field_space_id.unwrap_or_default(),
6413            name: field_name.unwrap_or_default(),
6414            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6415        })
6416    }
6417}
6418
6419
6420#[allow(clippy::derivable_impls)]
6421impl ::std::default::Default for self::DropCPRequest {
6422    fn default() -> Self {
6423        Self {
6424            space_id: ::std::default::Default::default(),
6425            name: ::std::default::Default::default(),
6426            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6427        }
6428    }
6429}
6430
6431impl ::std::fmt::Debug for self::DropCPRequest {
6432    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6433        formatter
6434            .debug_struct("DropCPRequest")
6435            .field("space_id", &self.space_id)
6436            .field("name", &self.name)
6437            .finish()
6438    }
6439}
6440
6441unsafe impl ::std::marker::Send for self::DropCPRequest {}
6442unsafe impl ::std::marker::Sync for self::DropCPRequest {}
6443
6444impl ::fbthrift::GetTType for self::DropCPRequest {
6445    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6446}
6447
6448impl<P> ::fbthrift::Serialize<P> for self::DropCPRequest
6449where
6450    P: ::fbthrift::ProtocolWriter,
6451{
6452    fn write(&self, p: &mut P) {
6453        p.write_struct_begin("DropCPRequest");
6454        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6455        ::fbthrift::Serialize::write(&self.space_id, p);
6456        p.write_field_end();
6457        p.write_field_begin("name", ::fbthrift::TType::String, 2);
6458        ::fbthrift::Serialize::write(&self.name, p);
6459        p.write_field_end();
6460        p.write_field_stop();
6461        p.write_struct_end();
6462    }
6463}
6464
6465impl<P> ::fbthrift::Deserialize<P> for self::DropCPRequest
6466where
6467    P: ::fbthrift::ProtocolReader,
6468{
6469    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6470        static FIELDS: &[::fbthrift::Field] = &[
6471            ::fbthrift::Field::new("name", ::fbthrift::TType::String, 2),
6472            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6473        ];
6474        let mut field_space_id = ::std::option::Option::None;
6475        let mut field_name = ::std::option::Option::None;
6476        let _ = p.read_struct_begin(|_| ())?;
6477        loop {
6478            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6479            match (fty, fid as ::std::primitive::i32) {
6480                (::fbthrift::TType::Stop, _) => break,
6481                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6482                (::fbthrift::TType::String, 2) => field_name = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6483                (fty, _) => p.skip(fty)?,
6484            }
6485            p.read_field_end()?;
6486        }
6487        p.read_struct_end()?;
6488        ::std::result::Result::Ok(Self {
6489            space_id: field_space_id.unwrap_or_default(),
6490            name: field_name.unwrap_or_default(),
6491            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6492        })
6493    }
6494}
6495
6496
6497#[allow(clippy::derivable_impls)]
6498impl ::std::default::Default for self::BlockingSignRequest {
6499    fn default() -> Self {
6500        Self {
6501            space_id: ::std::default::Default::default(),
6502            sign: ::std::default::Default::default(),
6503            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6504        }
6505    }
6506}
6507
6508impl ::std::fmt::Debug for self::BlockingSignRequest {
6509    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6510        formatter
6511            .debug_struct("BlockingSignRequest")
6512            .field("space_id", &self.space_id)
6513            .field("sign", &self.sign)
6514            .finish()
6515    }
6516}
6517
6518unsafe impl ::std::marker::Send for self::BlockingSignRequest {}
6519unsafe impl ::std::marker::Sync for self::BlockingSignRequest {}
6520
6521impl ::fbthrift::GetTType for self::BlockingSignRequest {
6522    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6523}
6524
6525impl<P> ::fbthrift::Serialize<P> for self::BlockingSignRequest
6526where
6527    P: ::fbthrift::ProtocolWriter,
6528{
6529    fn write(&self, p: &mut P) {
6530        p.write_struct_begin("BlockingSignRequest");
6531        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6532        ::fbthrift::Serialize::write(&self.space_id, p);
6533        p.write_field_end();
6534        p.write_field_begin("sign", ::fbthrift::TType::I32, 2);
6535        ::fbthrift::Serialize::write(&self.sign, p);
6536        p.write_field_end();
6537        p.write_field_stop();
6538        p.write_struct_end();
6539    }
6540}
6541
6542impl<P> ::fbthrift::Deserialize<P> for self::BlockingSignRequest
6543where
6544    P: ::fbthrift::ProtocolReader,
6545{
6546    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6547        static FIELDS: &[::fbthrift::Field] = &[
6548            ::fbthrift::Field::new("sign", ::fbthrift::TType::I32, 2),
6549            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6550        ];
6551        let mut field_space_id = ::std::option::Option::None;
6552        let mut field_sign = ::std::option::Option::None;
6553        let _ = p.read_struct_begin(|_| ())?;
6554        loop {
6555            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6556            match (fty, fid as ::std::primitive::i32) {
6557                (::fbthrift::TType::Stop, _) => break,
6558                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6559                (::fbthrift::TType::I32, 2) => field_sign = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6560                (fty, _) => p.skip(fty)?,
6561            }
6562            p.read_field_end()?;
6563        }
6564        p.read_struct_end()?;
6565        ::std::result::Result::Ok(Self {
6566            space_id: field_space_id.unwrap_or_default(),
6567            sign: field_sign.unwrap_or_default(),
6568            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6569        })
6570    }
6571}
6572
6573
6574#[allow(clippy::derivable_impls)]
6575impl ::std::default::Default for self::GetLeaderPartsResp {
6576    fn default() -> Self {
6577        Self {
6578            result: ::std::default::Default::default(),
6579            leader_parts: ::std::default::Default::default(),
6580            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6581        }
6582    }
6583}
6584
6585impl ::std::fmt::Debug for self::GetLeaderPartsResp {
6586    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6587        formatter
6588            .debug_struct("GetLeaderPartsResp")
6589            .field("result", &self.result)
6590            .field("leader_parts", &self.leader_parts)
6591            .finish()
6592    }
6593}
6594
6595unsafe impl ::std::marker::Send for self::GetLeaderPartsResp {}
6596unsafe impl ::std::marker::Sync for self::GetLeaderPartsResp {}
6597
6598impl ::fbthrift::GetTType for self::GetLeaderPartsResp {
6599    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6600}
6601
6602impl<P> ::fbthrift::Serialize<P> for self::GetLeaderPartsResp
6603where
6604    P: ::fbthrift::ProtocolWriter,
6605{
6606    fn write(&self, p: &mut P) {
6607        p.write_struct_begin("GetLeaderPartsResp");
6608        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
6609        ::fbthrift::Serialize::write(&self.result, p);
6610        p.write_field_end();
6611        p.write_field_begin("leader_parts", ::fbthrift::TType::Map, 2);
6612        ::fbthrift::Serialize::write(&self.leader_parts, p);
6613        p.write_field_end();
6614        p.write_field_stop();
6615        p.write_struct_end();
6616    }
6617}
6618
6619impl<P> ::fbthrift::Deserialize<P> for self::GetLeaderPartsResp
6620where
6621    P: ::fbthrift::ProtocolReader,
6622{
6623    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6624        static FIELDS: &[::fbthrift::Field] = &[
6625            ::fbthrift::Field::new("leader_parts", ::fbthrift::TType::Map, 2),
6626            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
6627        ];
6628        let mut field_result = ::std::option::Option::None;
6629        let mut field_leader_parts = ::std::option::Option::None;
6630        let _ = p.read_struct_begin(|_| ())?;
6631        loop {
6632            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6633            match (fty, fid as ::std::primitive::i32) {
6634                (::fbthrift::TType::Stop, _) => break,
6635                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6636                (::fbthrift::TType::Map, 2) => field_leader_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6637                (fty, _) => p.skip(fty)?,
6638            }
6639            p.read_field_end()?;
6640        }
6641        p.read_struct_end()?;
6642        ::std::result::Result::Ok(Self {
6643            result: field_result.unwrap_or_default(),
6644            leader_parts: field_leader_parts.unwrap_or_default(),
6645            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6646        })
6647    }
6648}
6649
6650
6651#[allow(clippy::derivable_impls)]
6652impl ::std::default::Default for self::CheckPeersReq {
6653    fn default() -> Self {
6654        Self {
6655            space_id: ::std::default::Default::default(),
6656            part_id: ::std::default::Default::default(),
6657            peers: ::std::default::Default::default(),
6658            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6659        }
6660    }
6661}
6662
6663impl ::std::fmt::Debug for self::CheckPeersReq {
6664    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6665        formatter
6666            .debug_struct("CheckPeersReq")
6667            .field("space_id", &self.space_id)
6668            .field("part_id", &self.part_id)
6669            .field("peers", &self.peers)
6670            .finish()
6671    }
6672}
6673
6674unsafe impl ::std::marker::Send for self::CheckPeersReq {}
6675unsafe impl ::std::marker::Sync for self::CheckPeersReq {}
6676
6677impl ::fbthrift::GetTType for self::CheckPeersReq {
6678    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6679}
6680
6681impl<P> ::fbthrift::Serialize<P> for self::CheckPeersReq
6682where
6683    P: ::fbthrift::ProtocolWriter,
6684{
6685    fn write(&self, p: &mut P) {
6686        p.write_struct_begin("CheckPeersReq");
6687        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6688        ::fbthrift::Serialize::write(&self.space_id, p);
6689        p.write_field_end();
6690        p.write_field_begin("part_id", ::fbthrift::TType::I32, 2);
6691        ::fbthrift::Serialize::write(&self.part_id, p);
6692        p.write_field_end();
6693        p.write_field_begin("peers", ::fbthrift::TType::List, 3);
6694        ::fbthrift::Serialize::write(&self.peers, p);
6695        p.write_field_end();
6696        p.write_field_stop();
6697        p.write_struct_end();
6698    }
6699}
6700
6701impl<P> ::fbthrift::Deserialize<P> for self::CheckPeersReq
6702where
6703    P: ::fbthrift::ProtocolReader,
6704{
6705    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6706        static FIELDS: &[::fbthrift::Field] = &[
6707            ::fbthrift::Field::new("part_id", ::fbthrift::TType::I32, 2),
6708            ::fbthrift::Field::new("peers", ::fbthrift::TType::List, 3),
6709            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6710        ];
6711        let mut field_space_id = ::std::option::Option::None;
6712        let mut field_part_id = ::std::option::Option::None;
6713        let mut field_peers = ::std::option::Option::None;
6714        let _ = p.read_struct_begin(|_| ())?;
6715        loop {
6716            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6717            match (fty, fid as ::std::primitive::i32) {
6718                (::fbthrift::TType::Stop, _) => break,
6719                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6720                (::fbthrift::TType::I32, 2) => field_part_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6721                (::fbthrift::TType::List, 3) => field_peers = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6722                (fty, _) => p.skip(fty)?,
6723            }
6724            p.read_field_end()?;
6725        }
6726        p.read_struct_end()?;
6727        ::std::result::Result::Ok(Self {
6728            space_id: field_space_id.unwrap_or_default(),
6729            part_id: field_part_id.unwrap_or_default(),
6730            peers: field_peers.unwrap_or_default(),
6731            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6732        })
6733    }
6734}
6735
6736
6737#[allow(clippy::derivable_impls)]
6738impl ::std::default::Default for self::RebuildIndexRequest {
6739    fn default() -> Self {
6740        Self {
6741            space_id: ::std::default::Default::default(),
6742            parts: ::std::default::Default::default(),
6743            index_id: ::std::default::Default::default(),
6744            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6745        }
6746    }
6747}
6748
6749impl ::std::fmt::Debug for self::RebuildIndexRequest {
6750    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6751        formatter
6752            .debug_struct("RebuildIndexRequest")
6753            .field("space_id", &self.space_id)
6754            .field("parts", &self.parts)
6755            .field("index_id", &self.index_id)
6756            .finish()
6757    }
6758}
6759
6760unsafe impl ::std::marker::Send for self::RebuildIndexRequest {}
6761unsafe impl ::std::marker::Sync for self::RebuildIndexRequest {}
6762
6763impl ::fbthrift::GetTType for self::RebuildIndexRequest {
6764    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6765}
6766
6767impl<P> ::fbthrift::Serialize<P> for self::RebuildIndexRequest
6768where
6769    P: ::fbthrift::ProtocolWriter,
6770{
6771    fn write(&self, p: &mut P) {
6772        p.write_struct_begin("RebuildIndexRequest");
6773        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
6774        ::fbthrift::Serialize::write(&self.space_id, p);
6775        p.write_field_end();
6776        p.write_field_begin("parts", ::fbthrift::TType::List, 2);
6777        ::fbthrift::Serialize::write(&self.parts, p);
6778        p.write_field_end();
6779        p.write_field_begin("index_id", ::fbthrift::TType::I32, 3);
6780        ::fbthrift::Serialize::write(&self.index_id, p);
6781        p.write_field_end();
6782        p.write_field_stop();
6783        p.write_struct_end();
6784    }
6785}
6786
6787impl<P> ::fbthrift::Deserialize<P> for self::RebuildIndexRequest
6788where
6789    P: ::fbthrift::ProtocolReader,
6790{
6791    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6792        static FIELDS: &[::fbthrift::Field] = &[
6793            ::fbthrift::Field::new("index_id", ::fbthrift::TType::I32, 3),
6794            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 2),
6795            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
6796        ];
6797        let mut field_space_id = ::std::option::Option::None;
6798        let mut field_parts = ::std::option::Option::None;
6799        let mut field_index_id = ::std::option::Option::None;
6800        let _ = p.read_struct_begin(|_| ())?;
6801        loop {
6802            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6803            match (fty, fid as ::std::primitive::i32) {
6804                (::fbthrift::TType::Stop, _) => break,
6805                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6806                (::fbthrift::TType::List, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6807                (::fbthrift::TType::I32, 3) => field_index_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6808                (fty, _) => p.skip(fty)?,
6809            }
6810            p.read_field_end()?;
6811        }
6812        p.read_struct_end()?;
6813        ::std::result::Result::Ok(Self {
6814            space_id: field_space_id.unwrap_or_default(),
6815            parts: field_parts.unwrap_or_default(),
6816            index_id: field_index_id.unwrap_or_default(),
6817            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6818        })
6819    }
6820}
6821
6822
6823#[allow(clippy::derivable_impls)]
6824impl ::std::default::Default for self::CreateCPResp {
6825    fn default() -> Self {
6826        Self {
6827            result: ::std::default::Default::default(),
6828            info: ::std::default::Default::default(),
6829            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6830        }
6831    }
6832}
6833
6834impl ::std::fmt::Debug for self::CreateCPResp {
6835    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6836        formatter
6837            .debug_struct("CreateCPResp")
6838            .field("result", &self.result)
6839            .field("info", &self.info)
6840            .finish()
6841    }
6842}
6843
6844unsafe impl ::std::marker::Send for self::CreateCPResp {}
6845unsafe impl ::std::marker::Sync for self::CreateCPResp {}
6846
6847impl ::fbthrift::GetTType for self::CreateCPResp {
6848    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6849}
6850
6851impl<P> ::fbthrift::Serialize<P> for self::CreateCPResp
6852where
6853    P: ::fbthrift::ProtocolWriter,
6854{
6855    fn write(&self, p: &mut P) {
6856        p.write_struct_begin("CreateCPResp");
6857        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
6858        ::fbthrift::Serialize::write(&self.result, p);
6859        p.write_field_end();
6860        p.write_field_begin("info", ::fbthrift::TType::List, 2);
6861        ::fbthrift::Serialize::write(&self.info, p);
6862        p.write_field_end();
6863        p.write_field_stop();
6864        p.write_struct_end();
6865    }
6866}
6867
6868impl<P> ::fbthrift::Deserialize<P> for self::CreateCPResp
6869where
6870    P: ::fbthrift::ProtocolReader,
6871{
6872    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6873        static FIELDS: &[::fbthrift::Field] = &[
6874            ::fbthrift::Field::new("info", ::fbthrift::TType::List, 2),
6875            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
6876        ];
6877        let mut field_result = ::std::option::Option::None;
6878        let mut field_info = ::std::option::Option::None;
6879        let _ = p.read_struct_begin(|_| ())?;
6880        loop {
6881            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6882            match (fty, fid as ::std::primitive::i32) {
6883                (::fbthrift::TType::Stop, _) => break,
6884                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6885                (::fbthrift::TType::List, 2) => field_info = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6886                (fty, _) => p.skip(fty)?,
6887            }
6888            p.read_field_end()?;
6889        }
6890        p.read_struct_end()?;
6891        ::std::result::Result::Ok(Self {
6892            result: field_result.unwrap_or_default(),
6893            info: field_info.unwrap_or_default(),
6894            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6895        })
6896    }
6897}
6898
6899
6900#[allow(clippy::derivable_impls)]
6901impl ::std::default::Default for self::ListClusterInfoResp {
6902    fn default() -> Self {
6903        Self {
6904            result: ::std::default::Default::default(),
6905            dir: ::std::default::Default::default(),
6906            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6907        }
6908    }
6909}
6910
6911impl ::std::fmt::Debug for self::ListClusterInfoResp {
6912    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6913        formatter
6914            .debug_struct("ListClusterInfoResp")
6915            .field("result", &self.result)
6916            .field("dir", &self.dir)
6917            .finish()
6918    }
6919}
6920
6921unsafe impl ::std::marker::Send for self::ListClusterInfoResp {}
6922unsafe impl ::std::marker::Sync for self::ListClusterInfoResp {}
6923
6924impl ::fbthrift::GetTType for self::ListClusterInfoResp {
6925    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6926}
6927
6928impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoResp
6929where
6930    P: ::fbthrift::ProtocolWriter,
6931{
6932    fn write(&self, p: &mut P) {
6933        p.write_struct_begin("ListClusterInfoResp");
6934        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
6935        ::fbthrift::Serialize::write(&self.result, p);
6936        p.write_field_end();
6937        p.write_field_begin("dir", ::fbthrift::TType::Struct, 2);
6938        ::fbthrift::Serialize::write(&self.dir, p);
6939        p.write_field_end();
6940        p.write_field_stop();
6941        p.write_struct_end();
6942    }
6943}
6944
6945impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoResp
6946where
6947    P: ::fbthrift::ProtocolReader,
6948{
6949    fn read(p: &mut P) -> ::anyhow::Result<Self> {
6950        static FIELDS: &[::fbthrift::Field] = &[
6951            ::fbthrift::Field::new("dir", ::fbthrift::TType::Struct, 2),
6952            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
6953        ];
6954        let mut field_result = ::std::option::Option::None;
6955        let mut field_dir = ::std::option::Option::None;
6956        let _ = p.read_struct_begin(|_| ())?;
6957        loop {
6958            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
6959            match (fty, fid as ::std::primitive::i32) {
6960                (::fbthrift::TType::Stop, _) => break,
6961                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6962                (::fbthrift::TType::Struct, 2) => field_dir = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
6963                (fty, _) => p.skip(fty)?,
6964            }
6965            p.read_field_end()?;
6966        }
6967        p.read_struct_end()?;
6968        ::std::result::Result::Ok(Self {
6969            result: field_result.unwrap_or_default(),
6970            dir: field_dir.unwrap_or_default(),
6971            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6972        })
6973    }
6974}
6975
6976
6977#[allow(clippy::derivable_impls)]
6978impl ::std::default::Default for self::ListClusterInfoReq {
6979    fn default() -> Self {
6980        Self {
6981            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
6982        }
6983    }
6984}
6985
6986impl ::std::fmt::Debug for self::ListClusterInfoReq {
6987    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
6988        formatter
6989            .debug_struct("ListClusterInfoReq")
6990            .finish()
6991    }
6992}
6993
6994unsafe impl ::std::marker::Send for self::ListClusterInfoReq {}
6995unsafe impl ::std::marker::Sync for self::ListClusterInfoReq {}
6996
6997impl ::fbthrift::GetTType for self::ListClusterInfoReq {
6998    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
6999}
7000
7001impl<P> ::fbthrift::Serialize<P> for self::ListClusterInfoReq
7002where
7003    P: ::fbthrift::ProtocolWriter,
7004{
7005    fn write(&self, p: &mut P) {
7006        p.write_struct_begin("ListClusterInfoReq");
7007        p.write_field_stop();
7008        p.write_struct_end();
7009    }
7010}
7011
7012impl<P> ::fbthrift::Deserialize<P> for self::ListClusterInfoReq
7013where
7014    P: ::fbthrift::ProtocolReader,
7015{
7016    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7017        static FIELDS: &[::fbthrift::Field] = &[
7018        ];
7019        let _ = p.read_struct_begin(|_| ())?;
7020        loop {
7021            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7022            match (fty, fid as ::std::primitive::i32) {
7023                (::fbthrift::TType::Stop, _) => break,
7024                (fty, _) => p.skip(fty)?,
7025            }
7026            p.read_field_end()?;
7027        }
7028        p.read_struct_end()?;
7029        ::std::result::Result::Ok(Self {
7030            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7031        })
7032    }
7033}
7034
7035
7036#[allow(clippy::derivable_impls)]
7037impl ::std::default::Default for self::KVGetRequest {
7038    fn default() -> Self {
7039        Self {
7040            space_id: ::std::default::Default::default(),
7041            parts: ::std::default::Default::default(),
7042            return_partly: ::std::default::Default::default(),
7043            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7044        }
7045    }
7046}
7047
7048impl ::std::fmt::Debug for self::KVGetRequest {
7049    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7050        formatter
7051            .debug_struct("KVGetRequest")
7052            .field("space_id", &self.space_id)
7053            .field("parts", &self.parts)
7054            .field("return_partly", &self.return_partly)
7055            .finish()
7056    }
7057}
7058
7059unsafe impl ::std::marker::Send for self::KVGetRequest {}
7060unsafe impl ::std::marker::Sync for self::KVGetRequest {}
7061
7062impl ::fbthrift::GetTType for self::KVGetRequest {
7063    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7064}
7065
7066impl<P> ::fbthrift::Serialize<P> for self::KVGetRequest
7067where
7068    P: ::fbthrift::ProtocolWriter,
7069{
7070    fn write(&self, p: &mut P) {
7071        p.write_struct_begin("KVGetRequest");
7072        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7073        ::fbthrift::Serialize::write(&self.space_id, p);
7074        p.write_field_end();
7075        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
7076        ::fbthrift::Serialize::write(&self.parts, p);
7077        p.write_field_end();
7078        p.write_field_begin("return_partly", ::fbthrift::TType::Bool, 3);
7079        ::fbthrift::Serialize::write(&self.return_partly, p);
7080        p.write_field_end();
7081        p.write_field_stop();
7082        p.write_struct_end();
7083    }
7084}
7085
7086impl<P> ::fbthrift::Deserialize<P> for self::KVGetRequest
7087where
7088    P: ::fbthrift::ProtocolReader,
7089{
7090    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7091        static FIELDS: &[::fbthrift::Field] = &[
7092            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
7093            ::fbthrift::Field::new("return_partly", ::fbthrift::TType::Bool, 3),
7094            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7095        ];
7096        let mut field_space_id = ::std::option::Option::None;
7097        let mut field_parts = ::std::option::Option::None;
7098        let mut field_return_partly = ::std::option::Option::None;
7099        let _ = p.read_struct_begin(|_| ())?;
7100        loop {
7101            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7102            match (fty, fid as ::std::primitive::i32) {
7103                (::fbthrift::TType::Stop, _) => break,
7104                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7105                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7106                (::fbthrift::TType::Bool, 3) => field_return_partly = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7107                (fty, _) => p.skip(fty)?,
7108            }
7109            p.read_field_end()?;
7110        }
7111        p.read_struct_end()?;
7112        ::std::result::Result::Ok(Self {
7113            space_id: field_space_id.unwrap_or_default(),
7114            parts: field_parts.unwrap_or_default(),
7115            return_partly: field_return_partly.unwrap_or_default(),
7116            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7117        })
7118    }
7119}
7120
7121
7122#[allow(clippy::derivable_impls)]
7123impl ::std::default::Default for self::KVGetResponse {
7124    fn default() -> Self {
7125        Self {
7126            result: ::std::default::Default::default(),
7127            key_values: ::std::default::Default::default(),
7128            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7129        }
7130    }
7131}
7132
7133impl ::std::fmt::Debug for self::KVGetResponse {
7134    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7135        formatter
7136            .debug_struct("KVGetResponse")
7137            .field("result", &self.result)
7138            .field("key_values", &self.key_values)
7139            .finish()
7140    }
7141}
7142
7143unsafe impl ::std::marker::Send for self::KVGetResponse {}
7144unsafe impl ::std::marker::Sync for self::KVGetResponse {}
7145
7146impl ::fbthrift::GetTType for self::KVGetResponse {
7147    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7148}
7149
7150impl<P> ::fbthrift::Serialize<P> for self::KVGetResponse
7151where
7152    P: ::fbthrift::ProtocolWriter,
7153{
7154    fn write(&self, p: &mut P) {
7155        p.write_struct_begin("KVGetResponse");
7156        p.write_field_begin("result", ::fbthrift::TType::Struct, 1);
7157        ::fbthrift::Serialize::write(&self.result, p);
7158        p.write_field_end();
7159        p.write_field_begin("key_values", ::fbthrift::TType::Map, 2);
7160        ::fbthrift::Serialize::write(&self.key_values, p);
7161        p.write_field_end();
7162        p.write_field_stop();
7163        p.write_struct_end();
7164    }
7165}
7166
7167impl<P> ::fbthrift::Deserialize<P> for self::KVGetResponse
7168where
7169    P: ::fbthrift::ProtocolReader,
7170{
7171    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7172        static FIELDS: &[::fbthrift::Field] = &[
7173            ::fbthrift::Field::new("key_values", ::fbthrift::TType::Map, 2),
7174            ::fbthrift::Field::new("result", ::fbthrift::TType::Struct, 1),
7175        ];
7176        let mut field_result = ::std::option::Option::None;
7177        let mut field_key_values = ::std::option::Option::None;
7178        let _ = p.read_struct_begin(|_| ())?;
7179        loop {
7180            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7181            match (fty, fid as ::std::primitive::i32) {
7182                (::fbthrift::TType::Stop, _) => break,
7183                (::fbthrift::TType::Struct, 1) => field_result = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7184                (::fbthrift::TType::Map, 2) => field_key_values = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7185                (fty, _) => p.skip(fty)?,
7186            }
7187            p.read_field_end()?;
7188        }
7189        p.read_struct_end()?;
7190        ::std::result::Result::Ok(Self {
7191            result: field_result.unwrap_or_default(),
7192            key_values: field_key_values.unwrap_or_default(),
7193            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7194        })
7195    }
7196}
7197
7198
7199#[allow(clippy::derivable_impls)]
7200impl ::std::default::Default for self::KVPutRequest {
7201    fn default() -> Self {
7202        Self {
7203            space_id: ::std::default::Default::default(),
7204            parts: ::std::default::Default::default(),
7205            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7206        }
7207    }
7208}
7209
7210impl ::std::fmt::Debug for self::KVPutRequest {
7211    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7212        formatter
7213            .debug_struct("KVPutRequest")
7214            .field("space_id", &self.space_id)
7215            .field("parts", &self.parts)
7216            .finish()
7217    }
7218}
7219
7220unsafe impl ::std::marker::Send for self::KVPutRequest {}
7221unsafe impl ::std::marker::Sync for self::KVPutRequest {}
7222
7223impl ::fbthrift::GetTType for self::KVPutRequest {
7224    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7225}
7226
7227impl<P> ::fbthrift::Serialize<P> for self::KVPutRequest
7228where
7229    P: ::fbthrift::ProtocolWriter,
7230{
7231    fn write(&self, p: &mut P) {
7232        p.write_struct_begin("KVPutRequest");
7233        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7234        ::fbthrift::Serialize::write(&self.space_id, p);
7235        p.write_field_end();
7236        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
7237        ::fbthrift::Serialize::write(&self.parts, p);
7238        p.write_field_end();
7239        p.write_field_stop();
7240        p.write_struct_end();
7241    }
7242}
7243
7244impl<P> ::fbthrift::Deserialize<P> for self::KVPutRequest
7245where
7246    P: ::fbthrift::ProtocolReader,
7247{
7248    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7249        static FIELDS: &[::fbthrift::Field] = &[
7250            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
7251            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7252        ];
7253        let mut field_space_id = ::std::option::Option::None;
7254        let mut field_parts = ::std::option::Option::None;
7255        let _ = p.read_struct_begin(|_| ())?;
7256        loop {
7257            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7258            match (fty, fid as ::std::primitive::i32) {
7259                (::fbthrift::TType::Stop, _) => break,
7260                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7261                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7262                (fty, _) => p.skip(fty)?,
7263            }
7264            p.read_field_end()?;
7265        }
7266        p.read_struct_end()?;
7267        ::std::result::Result::Ok(Self {
7268            space_id: field_space_id.unwrap_or_default(),
7269            parts: field_parts.unwrap_or_default(),
7270            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7271        })
7272    }
7273}
7274
7275
7276#[allow(clippy::derivable_impls)]
7277impl ::std::default::Default for self::KVRemoveRequest {
7278    fn default() -> Self {
7279        Self {
7280            space_id: ::std::default::Default::default(),
7281            parts: ::std::default::Default::default(),
7282            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7283        }
7284    }
7285}
7286
7287impl ::std::fmt::Debug for self::KVRemoveRequest {
7288    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7289        formatter
7290            .debug_struct("KVRemoveRequest")
7291            .field("space_id", &self.space_id)
7292            .field("parts", &self.parts)
7293            .finish()
7294    }
7295}
7296
7297unsafe impl ::std::marker::Send for self::KVRemoveRequest {}
7298unsafe impl ::std::marker::Sync for self::KVRemoveRequest {}
7299
7300impl ::fbthrift::GetTType for self::KVRemoveRequest {
7301    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7302}
7303
7304impl<P> ::fbthrift::Serialize<P> for self::KVRemoveRequest
7305where
7306    P: ::fbthrift::ProtocolWriter,
7307{
7308    fn write(&self, p: &mut P) {
7309        p.write_struct_begin("KVRemoveRequest");
7310        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7311        ::fbthrift::Serialize::write(&self.space_id, p);
7312        p.write_field_end();
7313        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
7314        ::fbthrift::Serialize::write(&self.parts, p);
7315        p.write_field_end();
7316        p.write_field_stop();
7317        p.write_struct_end();
7318    }
7319}
7320
7321impl<P> ::fbthrift::Deserialize<P> for self::KVRemoveRequest
7322where
7323    P: ::fbthrift::ProtocolReader,
7324{
7325    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7326        static FIELDS: &[::fbthrift::Field] = &[
7327            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
7328            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7329        ];
7330        let mut field_space_id = ::std::option::Option::None;
7331        let mut field_parts = ::std::option::Option::None;
7332        let _ = p.read_struct_begin(|_| ())?;
7333        loop {
7334            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7335            match (fty, fid as ::std::primitive::i32) {
7336                (::fbthrift::TType::Stop, _) => break,
7337                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7338                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7339                (fty, _) => p.skip(fty)?,
7340            }
7341            p.read_field_end()?;
7342        }
7343        p.read_struct_end()?;
7344        ::std::result::Result::Ok(Self {
7345            space_id: field_space_id.unwrap_or_default(),
7346            parts: field_parts.unwrap_or_default(),
7347            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7348        })
7349    }
7350}
7351
7352
7353#[allow(clippy::derivable_impls)]
7354impl ::std::default::Default for self::InternalTxnRequest {
7355    fn default() -> Self {
7356        Self {
7357            txn_id: ::std::default::Default::default(),
7358            term_of_parts: ::std::default::Default::default(),
7359            add_edge_req: ::std::option::Option::None,
7360            upd_edge_req: ::std::option::Option::None,
7361            edge_ver: ::std::option::Option::None,
7362            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7363        }
7364    }
7365}
7366
7367impl ::std::fmt::Debug for self::InternalTxnRequest {
7368    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7369        formatter
7370            .debug_struct("InternalTxnRequest")
7371            .field("txn_id", &self.txn_id)
7372            .field("term_of_parts", &self.term_of_parts)
7373            .field("add_edge_req", &self.add_edge_req)
7374            .field("upd_edge_req", &self.upd_edge_req)
7375            .field("edge_ver", &self.edge_ver)
7376            .finish()
7377    }
7378}
7379
7380unsafe impl ::std::marker::Send for self::InternalTxnRequest {}
7381unsafe impl ::std::marker::Sync for self::InternalTxnRequest {}
7382
7383impl ::fbthrift::GetTType for self::InternalTxnRequest {
7384    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7385}
7386
7387impl<P> ::fbthrift::Serialize<P> for self::InternalTxnRequest
7388where
7389    P: ::fbthrift::ProtocolWriter,
7390{
7391    fn write(&self, p: &mut P) {
7392        p.write_struct_begin("InternalTxnRequest");
7393        p.write_field_begin("txn_id", ::fbthrift::TType::I64, 1);
7394        ::fbthrift::Serialize::write(&self.txn_id, p);
7395        p.write_field_end();
7396        p.write_field_begin("term_of_parts", ::fbthrift::TType::Map, 2);
7397        ::fbthrift::Serialize::write(&self.term_of_parts, p);
7398        p.write_field_end();
7399        if let ::std::option::Option::Some(some) = &self.add_edge_req {
7400            p.write_field_begin("add_edge_req", ::fbthrift::TType::Struct, 3);
7401            ::fbthrift::Serialize::write(some, p);
7402            p.write_field_end();
7403        }
7404        if let ::std::option::Option::Some(some) = &self.upd_edge_req {
7405            p.write_field_begin("upd_edge_req", ::fbthrift::TType::Struct, 4);
7406            ::fbthrift::Serialize::write(some, p);
7407            p.write_field_end();
7408        }
7409        if let ::std::option::Option::Some(some) = &self.edge_ver {
7410            p.write_field_begin("edge_ver", ::fbthrift::TType::Map, 5);
7411            ::fbthrift::Serialize::write(some, p);
7412            p.write_field_end();
7413        }
7414        p.write_field_stop();
7415        p.write_struct_end();
7416    }
7417}
7418
7419impl<P> ::fbthrift::Deserialize<P> for self::InternalTxnRequest
7420where
7421    P: ::fbthrift::ProtocolReader,
7422{
7423    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7424        static FIELDS: &[::fbthrift::Field] = &[
7425            ::fbthrift::Field::new("add_edge_req", ::fbthrift::TType::Struct, 3),
7426            ::fbthrift::Field::new("edge_ver", ::fbthrift::TType::Map, 5),
7427            ::fbthrift::Field::new("term_of_parts", ::fbthrift::TType::Map, 2),
7428            ::fbthrift::Field::new("txn_id", ::fbthrift::TType::I64, 1),
7429            ::fbthrift::Field::new("upd_edge_req", ::fbthrift::TType::Struct, 4),
7430        ];
7431        let mut field_txn_id = ::std::option::Option::None;
7432        let mut field_term_of_parts = ::std::option::Option::None;
7433        let mut field_add_edge_req = ::std::option::Option::None;
7434        let mut field_upd_edge_req = ::std::option::Option::None;
7435        let mut field_edge_ver = ::std::option::Option::None;
7436        let _ = p.read_struct_begin(|_| ())?;
7437        loop {
7438            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7439            match (fty, fid as ::std::primitive::i32) {
7440                (::fbthrift::TType::Stop, _) => break,
7441                (::fbthrift::TType::I64, 1) => field_txn_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7442                (::fbthrift::TType::Map, 2) => field_term_of_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7443                (::fbthrift::TType::Struct, 3) => field_add_edge_req = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7444                (::fbthrift::TType::Struct, 4) => field_upd_edge_req = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7445                (::fbthrift::TType::Map, 5) => field_edge_ver = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7446                (fty, _) => p.skip(fty)?,
7447            }
7448            p.read_field_end()?;
7449        }
7450        p.read_struct_end()?;
7451        ::std::result::Result::Ok(Self {
7452            txn_id: field_txn_id.unwrap_or_default(),
7453            term_of_parts: field_term_of_parts.unwrap_or_default(),
7454            add_edge_req: field_add_edge_req,
7455            upd_edge_req: field_upd_edge_req,
7456            edge_ver: field_edge_ver,
7457            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7458        })
7459    }
7460}
7461
7462
7463#[allow(clippy::derivable_impls)]
7464impl ::std::default::Default for self::ChainAddEdgesRequest {
7465    fn default() -> Self {
7466        Self {
7467            space_id: ::std::default::Default::default(),
7468            parts: ::std::default::Default::default(),
7469            prop_names: ::std::default::Default::default(),
7470            if_not_exists: ::std::default::Default::default(),
7471            term: ::std::default::Default::default(),
7472            edge_version: ::std::option::Option::None,
7473            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7474        }
7475    }
7476}
7477
7478impl ::std::fmt::Debug for self::ChainAddEdgesRequest {
7479    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7480        formatter
7481            .debug_struct("ChainAddEdgesRequest")
7482            .field("space_id", &self.space_id)
7483            .field("parts", &self.parts)
7484            .field("prop_names", &self.prop_names)
7485            .field("if_not_exists", &self.if_not_exists)
7486            .field("term", &self.term)
7487            .field("edge_version", &self.edge_version)
7488            .finish()
7489    }
7490}
7491
7492unsafe impl ::std::marker::Send for self::ChainAddEdgesRequest {}
7493unsafe impl ::std::marker::Sync for self::ChainAddEdgesRequest {}
7494
7495impl ::fbthrift::GetTType for self::ChainAddEdgesRequest {
7496    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7497}
7498
7499impl<P> ::fbthrift::Serialize<P> for self::ChainAddEdgesRequest
7500where
7501    P: ::fbthrift::ProtocolWriter,
7502{
7503    fn write(&self, p: &mut P) {
7504        p.write_struct_begin("ChainAddEdgesRequest");
7505        p.write_field_begin("space_id", ::fbthrift::TType::I32, 1);
7506        ::fbthrift::Serialize::write(&self.space_id, p);
7507        p.write_field_end();
7508        p.write_field_begin("parts", ::fbthrift::TType::Map, 2);
7509        ::fbthrift::Serialize::write(&self.parts, p);
7510        p.write_field_end();
7511        p.write_field_begin("prop_names", ::fbthrift::TType::List, 3);
7512        ::fbthrift::Serialize::write(&self.prop_names, p);
7513        p.write_field_end();
7514        p.write_field_begin("if_not_exists", ::fbthrift::TType::Bool, 4);
7515        ::fbthrift::Serialize::write(&self.if_not_exists, p);
7516        p.write_field_end();
7517        p.write_field_begin("term", ::fbthrift::TType::I64, 5);
7518        ::fbthrift::Serialize::write(&self.term, p);
7519        p.write_field_end();
7520        if let ::std::option::Option::Some(some) = &self.edge_version {
7521            p.write_field_begin("edge_version", ::fbthrift::TType::I64, 6);
7522            ::fbthrift::Serialize::write(some, p);
7523            p.write_field_end();
7524        }
7525        p.write_field_stop();
7526        p.write_struct_end();
7527    }
7528}
7529
7530impl<P> ::fbthrift::Deserialize<P> for self::ChainAddEdgesRequest
7531where
7532    P: ::fbthrift::ProtocolReader,
7533{
7534    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7535        static FIELDS: &[::fbthrift::Field] = &[
7536            ::fbthrift::Field::new("edge_version", ::fbthrift::TType::I64, 6),
7537            ::fbthrift::Field::new("if_not_exists", ::fbthrift::TType::Bool, 4),
7538            ::fbthrift::Field::new("parts", ::fbthrift::TType::Map, 2),
7539            ::fbthrift::Field::new("prop_names", ::fbthrift::TType::List, 3),
7540            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 1),
7541            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 5),
7542        ];
7543        let mut field_space_id = ::std::option::Option::None;
7544        let mut field_parts = ::std::option::Option::None;
7545        let mut field_prop_names = ::std::option::Option::None;
7546        let mut field_if_not_exists = ::std::option::Option::None;
7547        let mut field_term = ::std::option::Option::None;
7548        let mut field_edge_version = ::std::option::Option::None;
7549        let _ = p.read_struct_begin(|_| ())?;
7550        loop {
7551            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7552            match (fty, fid as ::std::primitive::i32) {
7553                (::fbthrift::TType::Stop, _) => break,
7554                (::fbthrift::TType::I32, 1) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7555                (::fbthrift::TType::Map, 2) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7556                (::fbthrift::TType::List, 3) => field_prop_names = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7557                (::fbthrift::TType::Bool, 4) => field_if_not_exists = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7558                (::fbthrift::TType::I64, 5) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7559                (::fbthrift::TType::I64, 6) => field_edge_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7560                (fty, _) => p.skip(fty)?,
7561            }
7562            p.read_field_end()?;
7563        }
7564        p.read_struct_end()?;
7565        ::std::result::Result::Ok(Self {
7566            space_id: field_space_id.unwrap_or_default(),
7567            parts: field_parts.unwrap_or_default(),
7568            prop_names: field_prop_names.unwrap_or_default(),
7569            if_not_exists: field_if_not_exists.unwrap_or_default(),
7570            term: field_term.unwrap_or_default(),
7571            edge_version: field_edge_version,
7572            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7573        })
7574    }
7575}
7576
7577
7578#[allow(clippy::derivable_impls)]
7579impl ::std::default::Default for self::ChainUpdateEdgeRequest {
7580    fn default() -> Self {
7581        Self {
7582            update_edge_request: ::std::default::Default::default(),
7583            term: ::std::default::Default::default(),
7584            edge_version: ::std::option::Option::None,
7585            space_id: ::std::default::Default::default(),
7586            parts: ::std::default::Default::default(),
7587            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7588        }
7589    }
7590}
7591
7592impl ::std::fmt::Debug for self::ChainUpdateEdgeRequest {
7593    fn fmt(&self, formatter: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
7594        formatter
7595            .debug_struct("ChainUpdateEdgeRequest")
7596            .field("update_edge_request", &self.update_edge_request)
7597            .field("term", &self.term)
7598            .field("edge_version", &self.edge_version)
7599            .field("space_id", &self.space_id)
7600            .field("parts", &self.parts)
7601            .finish()
7602    }
7603}
7604
7605unsafe impl ::std::marker::Send for self::ChainUpdateEdgeRequest {}
7606unsafe impl ::std::marker::Sync for self::ChainUpdateEdgeRequest {}
7607
7608impl ::fbthrift::GetTType for self::ChainUpdateEdgeRequest {
7609    const TTYPE: ::fbthrift::TType = ::fbthrift::TType::Struct;
7610}
7611
7612impl<P> ::fbthrift::Serialize<P> for self::ChainUpdateEdgeRequest
7613where
7614    P: ::fbthrift::ProtocolWriter,
7615{
7616    fn write(&self, p: &mut P) {
7617        p.write_struct_begin("ChainUpdateEdgeRequest");
7618        p.write_field_begin("update_edge_request", ::fbthrift::TType::Struct, 1);
7619        ::fbthrift::Serialize::write(&self.update_edge_request, p);
7620        p.write_field_end();
7621        p.write_field_begin("term", ::fbthrift::TType::I64, 2);
7622        ::fbthrift::Serialize::write(&self.term, p);
7623        p.write_field_end();
7624        if let ::std::option::Option::Some(some) = &self.edge_version {
7625            p.write_field_begin("edge_version", ::fbthrift::TType::I64, 3);
7626            ::fbthrift::Serialize::write(some, p);
7627            p.write_field_end();
7628        }
7629        p.write_field_begin("space_id", ::fbthrift::TType::I32, 4);
7630        ::fbthrift::Serialize::write(&self.space_id, p);
7631        p.write_field_end();
7632        p.write_field_begin("parts", ::fbthrift::TType::List, 5);
7633        ::fbthrift::Serialize::write(&self.parts, p);
7634        p.write_field_end();
7635        p.write_field_stop();
7636        p.write_struct_end();
7637    }
7638}
7639
7640impl<P> ::fbthrift::Deserialize<P> for self::ChainUpdateEdgeRequest
7641where
7642    P: ::fbthrift::ProtocolReader,
7643{
7644    fn read(p: &mut P) -> ::anyhow::Result<Self> {
7645        static FIELDS: &[::fbthrift::Field] = &[
7646            ::fbthrift::Field::new("edge_version", ::fbthrift::TType::I64, 3),
7647            ::fbthrift::Field::new("parts", ::fbthrift::TType::List, 5),
7648            ::fbthrift::Field::new("space_id", ::fbthrift::TType::I32, 4),
7649            ::fbthrift::Field::new("term", ::fbthrift::TType::I64, 2),
7650            ::fbthrift::Field::new("update_edge_request", ::fbthrift::TType::Struct, 1),
7651        ];
7652        let mut field_update_edge_request = ::std::option::Option::None;
7653        let mut field_term = ::std::option::Option::None;
7654        let mut field_edge_version = ::std::option::Option::None;
7655        let mut field_space_id = ::std::option::Option::None;
7656        let mut field_parts = ::std::option::Option::None;
7657        let _ = p.read_struct_begin(|_| ())?;
7658        loop {
7659            let (_, fty, fid) = p.read_field_begin(|_| (), FIELDS)?;
7660            match (fty, fid as ::std::primitive::i32) {
7661                (::fbthrift::TType::Stop, _) => break,
7662                (::fbthrift::TType::Struct, 1) => field_update_edge_request = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7663                (::fbthrift::TType::I64, 2) => field_term = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7664                (::fbthrift::TType::I64, 3) => field_edge_version = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7665                (::fbthrift::TType::I32, 4) => field_space_id = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7666                (::fbthrift::TType::List, 5) => field_parts = ::std::option::Option::Some(::fbthrift::Deserialize::read(p)?),
7667                (fty, _) => p.skip(fty)?,
7668            }
7669            p.read_field_end()?;
7670        }
7671        p.read_struct_end()?;
7672        ::std::result::Result::Ok(Self {
7673            update_edge_request: field_update_edge_request.unwrap_or_default(),
7674            term: field_term.unwrap_or_default(),
7675            edge_version: field_edge_version,
7676            space_id: field_space_id.unwrap_or_default(),
7677            parts: field_parts.unwrap_or_default(),
7678            _dot_dot_Default_default: self::dot_dot::OtherFields(()),
7679        })
7680    }
7681}
7682
7683
7684mod dot_dot {
7685    #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
7686    pub struct OtherFields(pub(crate) ());
7687
7688    #[allow(dead_code)] // if serde isn't being used
7689    pub(super) fn default_for_serde_deserialize() -> OtherFields {
7690        OtherFields(())
7691    }
7692}