iotdb/client/
rpc.rs

1//
2// Licensed to the Apache Software Foundation (ASF) under one
3// or more contributor license agreements.  See the NOTICE file
4// distributed with this work for additional information
5// regarding copyright ownership.  The ASF licenses this file
6// to you under the Apache License, Version 2.0 (the
7// "License"); you may not use this file except in compliance
8// with the License.  You may obtain a copy of the License at
9//
10//  http://www.apache.org/licenses/LICENSE-2.0
11//
12// Unless required by applicable law or agreed to in writing,
13// software distributed under the License is distributed on an
14// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15// KIND, either express or implied.  See the License for the
16// specific language governing permissions and limitations
17// under the License.
18//
19
20// Autogenerated by Thrift Compiler (0.15.0)
21// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
22
23#![allow(unused_imports)]
24#![allow(unused_extern_crates)]
25#![allow(clippy::too_many_arguments, clippy::type_complexity, clippy::vec_box)]
26#![cfg_attr(rustfmt, rustfmt_skip)]
27#![allow(dead_code)]
28
29use std::cell::RefCell;
30use std::collections::{BTreeMap, BTreeSet};
31use std::convert::{From, TryFrom};
32use std::default::Default;
33use std::error::Error;
34use std::fmt;
35use std::fmt::{Display, Formatter};
36use std::rc::Rc;
37
38use thrift::OrderedFloat;
39use thrift::{ApplicationError, ApplicationErrorKind, ProtocolError, ProtocolErrorKind, TThriftClient};
40use thrift::protocol::{TFieldIdentifier, TListIdentifier, TMapIdentifier, TMessageIdentifier, TMessageType, TInputProtocol, TOutputProtocol, TSetIdentifier, TStructIdentifier, TType};
41use thrift::protocol::field_id;
42use thrift::protocol::verify_expected_message_type;
43use thrift::protocol::verify_expected_sequence_number;
44use thrift::protocol::verify_expected_service_call;
45use thrift::protocol::verify_required_field_exists;
46use thrift::server::TProcessor;
47
48#[derive(Copy, Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
49pub struct TSProtocolVersion(pub i32);
50
51impl TSProtocolVersion {
52  pub const IOTDB_SERVICE_PROTOCOL_V1: TSProtocolVersion = TSProtocolVersion(0);
53  pub const IOTDB_SERVICE_PROTOCOL_V2: TSProtocolVersion = TSProtocolVersion(1);
54  pub const IOTDB_SERVICE_PROTOCOL_V3: TSProtocolVersion = TSProtocolVersion(2);
55  pub const ENUM_VALUES: &'static [Self] = &[
56    Self::IOTDB_SERVICE_PROTOCOL_V1,
57    Self::IOTDB_SERVICE_PROTOCOL_V2,
58    Self::IOTDB_SERVICE_PROTOCOL_V3,
59  ];
60  #[allow(clippy::trivially_copy_pass_by_ref)]
61  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
62    o_prot.write_i32(self.0)
63  }
64  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSProtocolVersion> {
65    let enum_value = i_prot.read_i32()?;
66    Ok(TSProtocolVersion::from(enum_value))
67  }
68}
69
70impl From<i32> for TSProtocolVersion {
71  fn from(i: i32) -> Self {
72    match i {
73      0 => TSProtocolVersion::IOTDB_SERVICE_PROTOCOL_V1,
74      1 => TSProtocolVersion::IOTDB_SERVICE_PROTOCOL_V2,
75      2 => TSProtocolVersion::IOTDB_SERVICE_PROTOCOL_V3,
76      _ => TSProtocolVersion(i)
77    }
78  }
79}
80
81impl From<&i32> for TSProtocolVersion {
82  fn from(i: &i32) -> Self {
83    TSProtocolVersion::from(*i)
84  }
85}
86
87impl From<TSProtocolVersion> for i32 {
88  fn from(e: TSProtocolVersion) -> i32 {
89    e.0
90  }
91}
92
93impl From<&TSProtocolVersion> for i32 {
94  fn from(e: &TSProtocolVersion) -> i32 {
95    e.0
96  }
97}
98
99//
100// EndPoint
101//
102
103#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
104pub struct EndPoint {
105  pub ip: String,
106  pub port: i32,
107}
108
109impl EndPoint {
110  pub fn new(ip: String, port: i32) -> EndPoint {
111    EndPoint {
112      ip,
113      port,
114    }
115  }
116  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<EndPoint> {
117    i_prot.read_struct_begin()?;
118    let mut f_1: Option<String> = None;
119    let mut f_2: Option<i32> = None;
120    loop {
121      let field_ident = i_prot.read_field_begin()?;
122      if field_ident.field_type == TType::Stop {
123        break;
124      }
125      let field_id = field_id(&field_ident)?;
126      match field_id {
127        1 => {
128          let val = i_prot.read_string()?;
129          f_1 = Some(val);
130        },
131        2 => {
132          let val = i_prot.read_i32()?;
133          f_2 = Some(val);
134        },
135        _ => {
136          i_prot.skip(field_ident.field_type)?;
137        },
138      };
139      i_prot.read_field_end()?;
140    }
141    i_prot.read_struct_end()?;
142    verify_required_field_exists("EndPoint.ip", &f_1)?;
143    verify_required_field_exists("EndPoint.port", &f_2)?;
144    let ret = EndPoint {
145      ip: f_1.expect("auto-generated code should have checked for presence of required fields"),
146      port: f_2.expect("auto-generated code should have checked for presence of required fields"),
147    };
148    Ok(ret)
149  }
150  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
151    let struct_ident = TStructIdentifier::new("EndPoint");
152    o_prot.write_struct_begin(&struct_ident)?;
153    o_prot.write_field_begin(&TFieldIdentifier::new("ip", TType::String, 1))?;
154    o_prot.write_string(&self.ip)?;
155    o_prot.write_field_end()?;
156    o_prot.write_field_begin(&TFieldIdentifier::new("port", TType::I32, 2))?;
157    o_prot.write_i32(self.port)?;
158    o_prot.write_field_end()?;
159    o_prot.write_field_stop()?;
160    o_prot.write_struct_end()
161  }
162}
163
164//
165// TSStatus
166//
167
168#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
169pub struct TSStatus {
170  pub code: i32,
171  pub message: Option<String>,
172  pub sub_status: Option<Vec<Box<TSStatus>>>,
173  pub redirect_node: Option<EndPoint>,
174}
175
176impl TSStatus {
177  pub fn new<F2, F3, F4>(code: i32, message: F2, sub_status: F3, redirect_node: F4) -> TSStatus where F2: Into<Option<String>>, F3: Into<Option<Vec<Box<TSStatus>>>>, F4: Into<Option<EndPoint>> {
178    TSStatus {
179      code,
180      message: message.into(),
181      sub_status: sub_status.into(),
182      redirect_node: redirect_node.into(),
183    }
184  }
185  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSStatus> {
186    i_prot.read_struct_begin()?;
187    let mut f_1: Option<i32> = None;
188    let mut f_2: Option<String> = None;
189    let mut f_3: Option<Vec<Box<TSStatus>>> = None;
190    let mut f_4: Option<EndPoint> = None;
191    loop {
192      let field_ident = i_prot.read_field_begin()?;
193      if field_ident.field_type == TType::Stop {
194        break;
195      }
196      let field_id = field_id(&field_ident)?;
197      match field_id {
198        1 => {
199          let val = i_prot.read_i32()?;
200          f_1 = Some(val);
201        },
202        2 => {
203          let val = i_prot.read_string()?;
204          f_2 = Some(val);
205        },
206        3 => {
207          let list_ident = i_prot.read_list_begin()?;
208          let mut val: Vec<Box<TSStatus>> = Vec::with_capacity(list_ident.size as usize);
209          for _ in 0..list_ident.size {
210            let list_elem_0 = Box::new(TSStatus::read_from_in_protocol(i_prot)?);
211            val.push(list_elem_0);
212          }
213          i_prot.read_list_end()?;
214          f_3 = Some(val);
215        },
216        4 => {
217          let val = EndPoint::read_from_in_protocol(i_prot)?;
218          f_4 = Some(val);
219        },
220        _ => {
221          i_prot.skip(field_ident.field_type)?;
222        },
223      };
224      i_prot.read_field_end()?;
225    }
226    i_prot.read_struct_end()?;
227    verify_required_field_exists("TSStatus.code", &f_1)?;
228    let ret = TSStatus {
229      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
230      message: f_2,
231      sub_status: f_3,
232      redirect_node: f_4,
233    };
234    Ok(ret)
235  }
236  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
237    let struct_ident = TStructIdentifier::new("TSStatus");
238    o_prot.write_struct_begin(&struct_ident)?;
239    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::I32, 1))?;
240    o_prot.write_i32(self.code)?;
241    o_prot.write_field_end()?;
242    if let Some(ref fld_var) = self.message {
243      o_prot.write_field_begin(&TFieldIdentifier::new("message", TType::String, 2))?;
244      o_prot.write_string(fld_var)?;
245      o_prot.write_field_end()?
246    }
247    if let Some(ref fld_var) = self.sub_status {
248      o_prot.write_field_begin(&TFieldIdentifier::new("subStatus", TType::List, 3))?;
249      o_prot.write_list_begin(&TListIdentifier::new(TType::Struct, fld_var.len() as i32))?;
250      for e in fld_var {
251        e.write_to_out_protocol(o_prot)?;
252      }
253      o_prot.write_list_end()?;
254      o_prot.write_field_end()?
255    }
256    if let Some(ref fld_var) = self.redirect_node {
257      o_prot.write_field_begin(&TFieldIdentifier::new("redirectNode", TType::Struct, 4))?;
258      fld_var.write_to_out_protocol(o_prot)?;
259      o_prot.write_field_end()?
260    }
261    o_prot.write_field_stop()?;
262    o_prot.write_struct_end()
263  }
264}
265
266//
267// TSQueryDataSet
268//
269
270#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
271pub struct TSQueryDataSet {
272  pub time: Vec<u8>,
273  pub value_list: Vec<Vec<u8>>,
274  pub bitmap_list: Vec<Vec<u8>>,
275}
276
277impl TSQueryDataSet {
278  pub fn new(time: Vec<u8>, value_list: Vec<Vec<u8>>, bitmap_list: Vec<Vec<u8>>) -> TSQueryDataSet {
279    TSQueryDataSet {
280      time,
281      value_list,
282      bitmap_list,
283    }
284  }
285  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSQueryDataSet> {
286    i_prot.read_struct_begin()?;
287    let mut f_1: Option<Vec<u8>> = None;
288    let mut f_2: Option<Vec<Vec<u8>>> = None;
289    let mut f_3: Option<Vec<Vec<u8>>> = None;
290    loop {
291      let field_ident = i_prot.read_field_begin()?;
292      if field_ident.field_type == TType::Stop {
293        break;
294      }
295      let field_id = field_id(&field_ident)?;
296      match field_id {
297        1 => {
298          let val = i_prot.read_bytes()?;
299          f_1 = Some(val);
300        },
301        2 => {
302          let list_ident = i_prot.read_list_begin()?;
303          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
304          for _ in 0..list_ident.size {
305            let list_elem_1 = i_prot.read_bytes()?;
306            val.push(list_elem_1);
307          }
308          i_prot.read_list_end()?;
309          f_2 = Some(val);
310        },
311        3 => {
312          let list_ident = i_prot.read_list_begin()?;
313          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
314          for _ in 0..list_ident.size {
315            let list_elem_2 = i_prot.read_bytes()?;
316            val.push(list_elem_2);
317          }
318          i_prot.read_list_end()?;
319          f_3 = Some(val);
320        },
321        _ => {
322          i_prot.skip(field_ident.field_type)?;
323        },
324      };
325      i_prot.read_field_end()?;
326    }
327    i_prot.read_struct_end()?;
328    verify_required_field_exists("TSQueryDataSet.time", &f_1)?;
329    verify_required_field_exists("TSQueryDataSet.value_list", &f_2)?;
330    verify_required_field_exists("TSQueryDataSet.bitmap_list", &f_3)?;
331    let ret = TSQueryDataSet {
332      time: f_1.expect("auto-generated code should have checked for presence of required fields"),
333      value_list: f_2.expect("auto-generated code should have checked for presence of required fields"),
334      bitmap_list: f_3.expect("auto-generated code should have checked for presence of required fields"),
335    };
336    Ok(ret)
337  }
338  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
339    let struct_ident = TStructIdentifier::new("TSQueryDataSet");
340    o_prot.write_struct_begin(&struct_ident)?;
341    o_prot.write_field_begin(&TFieldIdentifier::new("time", TType::String, 1))?;
342    o_prot.write_bytes(&self.time)?;
343    o_prot.write_field_end()?;
344    o_prot.write_field_begin(&TFieldIdentifier::new("valueList", TType::List, 2))?;
345    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.value_list.len() as i32))?;
346    for e in &self.value_list {
347      o_prot.write_bytes(e)?;
348    }
349    o_prot.write_list_end()?;
350    o_prot.write_field_end()?;
351    o_prot.write_field_begin(&TFieldIdentifier::new("bitmapList", TType::List, 3))?;
352    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.bitmap_list.len() as i32))?;
353    for e in &self.bitmap_list {
354      o_prot.write_bytes(e)?;
355    }
356    o_prot.write_list_end()?;
357    o_prot.write_field_end()?;
358    o_prot.write_field_stop()?;
359    o_prot.write_struct_end()
360  }
361}
362
363//
364// TSQueryNonAlignDataSet
365//
366
367#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
368pub struct TSQueryNonAlignDataSet {
369  pub time_list: Vec<Vec<u8>>,
370  pub value_list: Vec<Vec<u8>>,
371}
372
373impl TSQueryNonAlignDataSet {
374  pub fn new(time_list: Vec<Vec<u8>>, value_list: Vec<Vec<u8>>) -> TSQueryNonAlignDataSet {
375    TSQueryNonAlignDataSet {
376      time_list,
377      value_list,
378    }
379  }
380  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSQueryNonAlignDataSet> {
381    i_prot.read_struct_begin()?;
382    let mut f_1: Option<Vec<Vec<u8>>> = None;
383    let mut f_2: Option<Vec<Vec<u8>>> = None;
384    loop {
385      let field_ident = i_prot.read_field_begin()?;
386      if field_ident.field_type == TType::Stop {
387        break;
388      }
389      let field_id = field_id(&field_ident)?;
390      match field_id {
391        1 => {
392          let list_ident = i_prot.read_list_begin()?;
393          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
394          for _ in 0..list_ident.size {
395            let list_elem_3 = i_prot.read_bytes()?;
396            val.push(list_elem_3);
397          }
398          i_prot.read_list_end()?;
399          f_1 = Some(val);
400        },
401        2 => {
402          let list_ident = i_prot.read_list_begin()?;
403          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
404          for _ in 0..list_ident.size {
405            let list_elem_4 = i_prot.read_bytes()?;
406            val.push(list_elem_4);
407          }
408          i_prot.read_list_end()?;
409          f_2 = Some(val);
410        },
411        _ => {
412          i_prot.skip(field_ident.field_type)?;
413        },
414      };
415      i_prot.read_field_end()?;
416    }
417    i_prot.read_struct_end()?;
418    verify_required_field_exists("TSQueryNonAlignDataSet.time_list", &f_1)?;
419    verify_required_field_exists("TSQueryNonAlignDataSet.value_list", &f_2)?;
420    let ret = TSQueryNonAlignDataSet {
421      time_list: f_1.expect("auto-generated code should have checked for presence of required fields"),
422      value_list: f_2.expect("auto-generated code should have checked for presence of required fields"),
423    };
424    Ok(ret)
425  }
426  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
427    let struct_ident = TStructIdentifier::new("TSQueryNonAlignDataSet");
428    o_prot.write_struct_begin(&struct_ident)?;
429    o_prot.write_field_begin(&TFieldIdentifier::new("timeList", TType::List, 1))?;
430    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.time_list.len() as i32))?;
431    for e in &self.time_list {
432      o_prot.write_bytes(e)?;
433    }
434    o_prot.write_list_end()?;
435    o_prot.write_field_end()?;
436    o_prot.write_field_begin(&TFieldIdentifier::new("valueList", TType::List, 2))?;
437    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.value_list.len() as i32))?;
438    for e in &self.value_list {
439      o_prot.write_bytes(e)?;
440    }
441    o_prot.write_list_end()?;
442    o_prot.write_field_end()?;
443    o_prot.write_field_stop()?;
444    o_prot.write_struct_end()
445  }
446}
447
448//
449// TSTracingInfo
450//
451
452#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
453pub struct TSTracingInfo {
454  pub activity_list: Vec<String>,
455  pub elapsed_time_list: Vec<i64>,
456  pub series_path_num: Option<i32>,
457  pub seq_file_num: Option<i32>,
458  pub un_seq_file_num: Option<i32>,
459  pub sequence_chunk_num: Option<i32>,
460  pub sequence_chunk_point_num: Option<i64>,
461  pub unsequence_chunk_num: Option<i32>,
462  pub unsequence_chunk_point_num: Option<i64>,
463  pub total_page_num: Option<i32>,
464  pub overlapped_page_num: Option<i32>,
465}
466
467impl TSTracingInfo {
468  pub fn new<F3, F4, F5, F6, F7, F8, F9, F10, F11>(activity_list: Vec<String>, elapsed_time_list: Vec<i64>, series_path_num: F3, seq_file_num: F4, un_seq_file_num: F5, sequence_chunk_num: F6, sequence_chunk_point_num: F7, unsequence_chunk_num: F8, unsequence_chunk_point_num: F9, total_page_num: F10, overlapped_page_num: F11) -> TSTracingInfo where F3: Into<Option<i32>>, F4: Into<Option<i32>>, F5: Into<Option<i32>>, F6: Into<Option<i32>>, F7: Into<Option<i64>>, F8: Into<Option<i32>>, F9: Into<Option<i64>>, F10: Into<Option<i32>>, F11: Into<Option<i32>> {
469    TSTracingInfo {
470      activity_list,
471      elapsed_time_list,
472      series_path_num: series_path_num.into(),
473      seq_file_num: seq_file_num.into(),
474      un_seq_file_num: un_seq_file_num.into(),
475      sequence_chunk_num: sequence_chunk_num.into(),
476      sequence_chunk_point_num: sequence_chunk_point_num.into(),
477      unsequence_chunk_num: unsequence_chunk_num.into(),
478      unsequence_chunk_point_num: unsequence_chunk_point_num.into(),
479      total_page_num: total_page_num.into(),
480      overlapped_page_num: overlapped_page_num.into(),
481    }
482  }
483  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSTracingInfo> {
484    i_prot.read_struct_begin()?;
485    let mut f_1: Option<Vec<String>> = None;
486    let mut f_2: Option<Vec<i64>> = None;
487    let mut f_3: Option<i32> = None;
488    let mut f_4: Option<i32> = None;
489    let mut f_5: Option<i32> = None;
490    let mut f_6: Option<i32> = None;
491    let mut f_7: Option<i64> = None;
492    let mut f_8: Option<i32> = None;
493    let mut f_9: Option<i64> = None;
494    let mut f_10: Option<i32> = None;
495    let mut f_11: Option<i32> = None;
496    loop {
497      let field_ident = i_prot.read_field_begin()?;
498      if field_ident.field_type == TType::Stop {
499        break;
500      }
501      let field_id = field_id(&field_ident)?;
502      match field_id {
503        1 => {
504          let list_ident = i_prot.read_list_begin()?;
505          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
506          for _ in 0..list_ident.size {
507            let list_elem_5 = i_prot.read_string()?;
508            val.push(list_elem_5);
509          }
510          i_prot.read_list_end()?;
511          f_1 = Some(val);
512        },
513        2 => {
514          let list_ident = i_prot.read_list_begin()?;
515          let mut val: Vec<i64> = Vec::with_capacity(list_ident.size as usize);
516          for _ in 0..list_ident.size {
517            let list_elem_6 = i_prot.read_i64()?;
518            val.push(list_elem_6);
519          }
520          i_prot.read_list_end()?;
521          f_2 = Some(val);
522        },
523        3 => {
524          let val = i_prot.read_i32()?;
525          f_3 = Some(val);
526        },
527        4 => {
528          let val = i_prot.read_i32()?;
529          f_4 = Some(val);
530        },
531        5 => {
532          let val = i_prot.read_i32()?;
533          f_5 = Some(val);
534        },
535        6 => {
536          let val = i_prot.read_i32()?;
537          f_6 = Some(val);
538        },
539        7 => {
540          let val = i_prot.read_i64()?;
541          f_7 = Some(val);
542        },
543        8 => {
544          let val = i_prot.read_i32()?;
545          f_8 = Some(val);
546        },
547        9 => {
548          let val = i_prot.read_i64()?;
549          f_9 = Some(val);
550        },
551        10 => {
552          let val = i_prot.read_i32()?;
553          f_10 = Some(val);
554        },
555        11 => {
556          let val = i_prot.read_i32()?;
557          f_11 = Some(val);
558        },
559        _ => {
560          i_prot.skip(field_ident.field_type)?;
561        },
562      };
563      i_prot.read_field_end()?;
564    }
565    i_prot.read_struct_end()?;
566    verify_required_field_exists("TSTracingInfo.activity_list", &f_1)?;
567    verify_required_field_exists("TSTracingInfo.elapsed_time_list", &f_2)?;
568    let ret = TSTracingInfo {
569      activity_list: f_1.expect("auto-generated code should have checked for presence of required fields"),
570      elapsed_time_list: f_2.expect("auto-generated code should have checked for presence of required fields"),
571      series_path_num: f_3,
572      seq_file_num: f_4,
573      un_seq_file_num: f_5,
574      sequence_chunk_num: f_6,
575      sequence_chunk_point_num: f_7,
576      unsequence_chunk_num: f_8,
577      unsequence_chunk_point_num: f_9,
578      total_page_num: f_10,
579      overlapped_page_num: f_11,
580    };
581    Ok(ret)
582  }
583  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
584    let struct_ident = TStructIdentifier::new("TSTracingInfo");
585    o_prot.write_struct_begin(&struct_ident)?;
586    o_prot.write_field_begin(&TFieldIdentifier::new("activityList", TType::List, 1))?;
587    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.activity_list.len() as i32))?;
588    for e in &self.activity_list {
589      o_prot.write_string(e)?;
590    }
591    o_prot.write_list_end()?;
592    o_prot.write_field_end()?;
593    o_prot.write_field_begin(&TFieldIdentifier::new("elapsedTimeList", TType::List, 2))?;
594    o_prot.write_list_begin(&TListIdentifier::new(TType::I64, self.elapsed_time_list.len() as i32))?;
595    for e in &self.elapsed_time_list {
596      o_prot.write_i64(*e)?;
597    }
598    o_prot.write_list_end()?;
599    o_prot.write_field_end()?;
600    if let Some(fld_var) = self.series_path_num {
601      o_prot.write_field_begin(&TFieldIdentifier::new("seriesPathNum", TType::I32, 3))?;
602      o_prot.write_i32(fld_var)?;
603      o_prot.write_field_end()?
604    }
605    if let Some(fld_var) = self.seq_file_num {
606      o_prot.write_field_begin(&TFieldIdentifier::new("seqFileNum", TType::I32, 4))?;
607      o_prot.write_i32(fld_var)?;
608      o_prot.write_field_end()?
609    }
610    if let Some(fld_var) = self.un_seq_file_num {
611      o_prot.write_field_begin(&TFieldIdentifier::new("unSeqFileNum", TType::I32, 5))?;
612      o_prot.write_i32(fld_var)?;
613      o_prot.write_field_end()?
614    }
615    if let Some(fld_var) = self.sequence_chunk_num {
616      o_prot.write_field_begin(&TFieldIdentifier::new("sequenceChunkNum", TType::I32, 6))?;
617      o_prot.write_i32(fld_var)?;
618      o_prot.write_field_end()?
619    }
620    if let Some(fld_var) = self.sequence_chunk_point_num {
621      o_prot.write_field_begin(&TFieldIdentifier::new("sequenceChunkPointNum", TType::I64, 7))?;
622      o_prot.write_i64(fld_var)?;
623      o_prot.write_field_end()?
624    }
625    if let Some(fld_var) = self.unsequence_chunk_num {
626      o_prot.write_field_begin(&TFieldIdentifier::new("unsequenceChunkNum", TType::I32, 8))?;
627      o_prot.write_i32(fld_var)?;
628      o_prot.write_field_end()?
629    }
630    if let Some(fld_var) = self.unsequence_chunk_point_num {
631      o_prot.write_field_begin(&TFieldIdentifier::new("unsequenceChunkPointNum", TType::I64, 9))?;
632      o_prot.write_i64(fld_var)?;
633      o_prot.write_field_end()?
634    }
635    if let Some(fld_var) = self.total_page_num {
636      o_prot.write_field_begin(&TFieldIdentifier::new("totalPageNum", TType::I32, 10))?;
637      o_prot.write_i32(fld_var)?;
638      o_prot.write_field_end()?
639    }
640    if let Some(fld_var) = self.overlapped_page_num {
641      o_prot.write_field_begin(&TFieldIdentifier::new("overlappedPageNum", TType::I32, 11))?;
642      o_prot.write_i32(fld_var)?;
643      o_prot.write_field_end()?
644    }
645    o_prot.write_field_stop()?;
646    o_prot.write_struct_end()
647  }
648}
649
650//
651// TSExecuteStatementResp
652//
653
654#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
655pub struct TSExecuteStatementResp {
656  pub status: TSStatus,
657  pub query_id: Option<i64>,
658  pub columns: Option<Vec<String>>,
659  pub operation_type: Option<String>,
660  pub ignore_time_stamp: Option<bool>,
661  pub data_type_list: Option<Vec<String>>,
662  pub query_data_set: Option<TSQueryDataSet>,
663  pub non_align_query_data_set: Option<TSQueryNonAlignDataSet>,
664  pub column_name_index_map: Option<BTreeMap<String, i32>>,
665  pub sg_columns: Option<Vec<String>>,
666  pub alias_columns: Option<Vec<i8>>,
667  pub tracing_info: Option<TSTracingInfo>,
668}
669
670impl TSExecuteStatementResp {
671  pub fn new<F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12>(status: TSStatus, query_id: F2, columns: F3, operation_type: F4, ignore_time_stamp: F5, data_type_list: F6, query_data_set: F7, non_align_query_data_set: F8, column_name_index_map: F9, sg_columns: F10, alias_columns: F11, tracing_info: F12) -> TSExecuteStatementResp where F2: Into<Option<i64>>, F3: Into<Option<Vec<String>>>, F4: Into<Option<String>>, F5: Into<Option<bool>>, F6: Into<Option<Vec<String>>>, F7: Into<Option<TSQueryDataSet>>, F8: Into<Option<TSQueryNonAlignDataSet>>, F9: Into<Option<BTreeMap<String, i32>>>, F10: Into<Option<Vec<String>>>, F11: Into<Option<Vec<i8>>>, F12: Into<Option<TSTracingInfo>> {
672    TSExecuteStatementResp {
673      status,
674      query_id: query_id.into(),
675      columns: columns.into(),
676      operation_type: operation_type.into(),
677      ignore_time_stamp: ignore_time_stamp.into(),
678      data_type_list: data_type_list.into(),
679      query_data_set: query_data_set.into(),
680      non_align_query_data_set: non_align_query_data_set.into(),
681      column_name_index_map: column_name_index_map.into(),
682      sg_columns: sg_columns.into(),
683      alias_columns: alias_columns.into(),
684      tracing_info: tracing_info.into(),
685    }
686  }
687  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSExecuteStatementResp> {
688    i_prot.read_struct_begin()?;
689    let mut f_1: Option<TSStatus> = None;
690    let mut f_2: Option<i64> = None;
691    let mut f_3: Option<Vec<String>> = None;
692    let mut f_4: Option<String> = None;
693    let mut f_5: Option<bool> = None;
694    let mut f_6: Option<Vec<String>> = None;
695    let mut f_7: Option<TSQueryDataSet> = None;
696    let mut f_8: Option<TSQueryNonAlignDataSet> = None;
697    let mut f_9: Option<BTreeMap<String, i32>> = None;
698    let mut f_10: Option<Vec<String>> = None;
699    let mut f_11: Option<Vec<i8>> = None;
700    let mut f_12: Option<TSTracingInfo> = None;
701    loop {
702      let field_ident = i_prot.read_field_begin()?;
703      if field_ident.field_type == TType::Stop {
704        break;
705      }
706      let field_id = field_id(&field_ident)?;
707      match field_id {
708        1 => {
709          let val = TSStatus::read_from_in_protocol(i_prot)?;
710          f_1 = Some(val);
711        },
712        2 => {
713          let val = i_prot.read_i64()?;
714          f_2 = Some(val);
715        },
716        3 => {
717          let list_ident = i_prot.read_list_begin()?;
718          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
719          for _ in 0..list_ident.size {
720            let list_elem_7 = i_prot.read_string()?;
721            val.push(list_elem_7);
722          }
723          i_prot.read_list_end()?;
724          f_3 = Some(val);
725        },
726        4 => {
727          let val = i_prot.read_string()?;
728          f_4 = Some(val);
729        },
730        5 => {
731          let val = i_prot.read_bool()?;
732          f_5 = Some(val);
733        },
734        6 => {
735          let list_ident = i_prot.read_list_begin()?;
736          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
737          for _ in 0..list_ident.size {
738            let list_elem_8 = i_prot.read_string()?;
739            val.push(list_elem_8);
740          }
741          i_prot.read_list_end()?;
742          f_6 = Some(val);
743        },
744        7 => {
745          let val = TSQueryDataSet::read_from_in_protocol(i_prot)?;
746          f_7 = Some(val);
747        },
748        8 => {
749          let val = TSQueryNonAlignDataSet::read_from_in_protocol(i_prot)?;
750          f_8 = Some(val);
751        },
752        9 => {
753          let map_ident = i_prot.read_map_begin()?;
754          let mut val: BTreeMap<String, i32> = BTreeMap::new();
755          for _ in 0..map_ident.size {
756            let map_key_9 = i_prot.read_string()?;
757            let map_val_10 = i_prot.read_i32()?;
758            val.insert(map_key_9, map_val_10);
759          }
760          i_prot.read_map_end()?;
761          f_9 = Some(val);
762        },
763        10 => {
764          let list_ident = i_prot.read_list_begin()?;
765          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
766          for _ in 0..list_ident.size {
767            let list_elem_11 = i_prot.read_string()?;
768            val.push(list_elem_11);
769          }
770          i_prot.read_list_end()?;
771          f_10 = Some(val);
772        },
773        11 => {
774          let list_ident = i_prot.read_list_begin()?;
775          let mut val: Vec<i8> = Vec::with_capacity(list_ident.size as usize);
776          for _ in 0..list_ident.size {
777            let list_elem_12 = i_prot.read_i8()?;
778            val.push(list_elem_12);
779          }
780          i_prot.read_list_end()?;
781          f_11 = Some(val);
782        },
783        12 => {
784          let val = TSTracingInfo::read_from_in_protocol(i_prot)?;
785          f_12 = Some(val);
786        },
787        _ => {
788          i_prot.skip(field_ident.field_type)?;
789        },
790      };
791      i_prot.read_field_end()?;
792    }
793    i_prot.read_struct_end()?;
794    verify_required_field_exists("TSExecuteStatementResp.status", &f_1)?;
795    let ret = TSExecuteStatementResp {
796      status: f_1.expect("auto-generated code should have checked for presence of required fields"),
797      query_id: f_2,
798      columns: f_3,
799      operation_type: f_4,
800      ignore_time_stamp: f_5,
801      data_type_list: f_6,
802      query_data_set: f_7,
803      non_align_query_data_set: f_8,
804      column_name_index_map: f_9,
805      sg_columns: f_10,
806      alias_columns: f_11,
807      tracing_info: f_12,
808    };
809    Ok(ret)
810  }
811  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
812    let struct_ident = TStructIdentifier::new("TSExecuteStatementResp");
813    o_prot.write_struct_begin(&struct_ident)?;
814    o_prot.write_field_begin(&TFieldIdentifier::new("status", TType::Struct, 1))?;
815    self.status.write_to_out_protocol(o_prot)?;
816    o_prot.write_field_end()?;
817    if let Some(fld_var) = self.query_id {
818      o_prot.write_field_begin(&TFieldIdentifier::new("queryId", TType::I64, 2))?;
819      o_prot.write_i64(fld_var)?;
820      o_prot.write_field_end()?
821    }
822    if let Some(ref fld_var) = self.columns {
823      o_prot.write_field_begin(&TFieldIdentifier::new("columns", TType::List, 3))?;
824      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
825      for e in fld_var {
826        o_prot.write_string(e)?;
827      }
828      o_prot.write_list_end()?;
829      o_prot.write_field_end()?
830    }
831    if let Some(ref fld_var) = self.operation_type {
832      o_prot.write_field_begin(&TFieldIdentifier::new("operationType", TType::String, 4))?;
833      o_prot.write_string(fld_var)?;
834      o_prot.write_field_end()?
835    }
836    if let Some(fld_var) = self.ignore_time_stamp {
837      o_prot.write_field_begin(&TFieldIdentifier::new("ignoreTimeStamp", TType::Bool, 5))?;
838      o_prot.write_bool(fld_var)?;
839      o_prot.write_field_end()?
840    }
841    if let Some(ref fld_var) = self.data_type_list {
842      o_prot.write_field_begin(&TFieldIdentifier::new("dataTypeList", TType::List, 6))?;
843      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
844      for e in fld_var {
845        o_prot.write_string(e)?;
846      }
847      o_prot.write_list_end()?;
848      o_prot.write_field_end()?
849    }
850    if let Some(ref fld_var) = self.query_data_set {
851      o_prot.write_field_begin(&TFieldIdentifier::new("queryDataSet", TType::Struct, 7))?;
852      fld_var.write_to_out_protocol(o_prot)?;
853      o_prot.write_field_end()?
854    }
855    if let Some(ref fld_var) = self.non_align_query_data_set {
856      o_prot.write_field_begin(&TFieldIdentifier::new("nonAlignQueryDataSet", TType::Struct, 8))?;
857      fld_var.write_to_out_protocol(o_prot)?;
858      o_prot.write_field_end()?
859    }
860    if let Some(ref fld_var) = self.column_name_index_map {
861      o_prot.write_field_begin(&TFieldIdentifier::new("columnNameIndexMap", TType::Map, 9))?;
862      o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::I32, fld_var.len() as i32))?;
863      for (k, v) in fld_var {
864        o_prot.write_string(k)?;
865        o_prot.write_i32(*v)?;
866      }
867      o_prot.write_map_end()?;
868      o_prot.write_field_end()?
869    }
870    if let Some(ref fld_var) = self.sg_columns {
871      o_prot.write_field_begin(&TFieldIdentifier::new("sgColumns", TType::List, 10))?;
872      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
873      for e in fld_var {
874        o_prot.write_string(e)?;
875      }
876      o_prot.write_list_end()?;
877      o_prot.write_field_end()?
878    }
879    if let Some(ref fld_var) = self.alias_columns {
880      o_prot.write_field_begin(&TFieldIdentifier::new("aliasColumns", TType::List, 11))?;
881      o_prot.write_list_begin(&TListIdentifier::new(TType::I08, fld_var.len() as i32))?;
882      for e in fld_var {
883        o_prot.write_i8(*e)?;
884      }
885      o_prot.write_list_end()?;
886      o_prot.write_field_end()?
887    }
888    if let Some(ref fld_var) = self.tracing_info {
889      o_prot.write_field_begin(&TFieldIdentifier::new("tracingInfo", TType::Struct, 12))?;
890      fld_var.write_to_out_protocol(o_prot)?;
891      o_prot.write_field_end()?
892    }
893    o_prot.write_field_stop()?;
894    o_prot.write_struct_end()
895  }
896}
897
898//
899// TSOpenSessionResp
900//
901
902#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
903pub struct TSOpenSessionResp {
904  pub status: TSStatus,
905  pub server_protocol_version: TSProtocolVersion,
906  pub session_id: Option<i64>,
907  pub configuration: Option<BTreeMap<String, String>>,
908}
909
910impl TSOpenSessionResp {
911  pub fn new<F3, F4>(status: TSStatus, server_protocol_version: TSProtocolVersion, session_id: F3, configuration: F4) -> TSOpenSessionResp where F3: Into<Option<i64>>, F4: Into<Option<BTreeMap<String, String>>> {
912    TSOpenSessionResp {
913      status,
914      server_protocol_version,
915      session_id: session_id.into(),
916      configuration: configuration.into(),
917    }
918  }
919  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSOpenSessionResp> {
920    i_prot.read_struct_begin()?;
921    let mut f_1: Option<TSStatus> = None;
922    let mut f_2: Option<TSProtocolVersion> = None;
923    let mut f_3: Option<i64> = None;
924    let mut f_4: Option<BTreeMap<String, String>> = None;
925    loop {
926      let field_ident = i_prot.read_field_begin()?;
927      if field_ident.field_type == TType::Stop {
928        break;
929      }
930      let field_id = field_id(&field_ident)?;
931      match field_id {
932        1 => {
933          let val = TSStatus::read_from_in_protocol(i_prot)?;
934          f_1 = Some(val);
935        },
936        2 => {
937          let val = TSProtocolVersion::read_from_in_protocol(i_prot)?;
938          f_2 = Some(val);
939        },
940        3 => {
941          let val = i_prot.read_i64()?;
942          f_3 = Some(val);
943        },
944        4 => {
945          let map_ident = i_prot.read_map_begin()?;
946          let mut val: BTreeMap<String, String> = BTreeMap::new();
947          for _ in 0..map_ident.size {
948            let map_key_13 = i_prot.read_string()?;
949            let map_val_14 = i_prot.read_string()?;
950            val.insert(map_key_13, map_val_14);
951          }
952          i_prot.read_map_end()?;
953          f_4 = Some(val);
954        },
955        _ => {
956          i_prot.skip(field_ident.field_type)?;
957        },
958      };
959      i_prot.read_field_end()?;
960    }
961    i_prot.read_struct_end()?;
962    verify_required_field_exists("TSOpenSessionResp.status", &f_1)?;
963    verify_required_field_exists("TSOpenSessionResp.server_protocol_version", &f_2)?;
964    let ret = TSOpenSessionResp {
965      status: f_1.expect("auto-generated code should have checked for presence of required fields"),
966      server_protocol_version: f_2.expect("auto-generated code should have checked for presence of required fields"),
967      session_id: f_3,
968      configuration: f_4,
969    };
970    Ok(ret)
971  }
972  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
973    let struct_ident = TStructIdentifier::new("TSOpenSessionResp");
974    o_prot.write_struct_begin(&struct_ident)?;
975    o_prot.write_field_begin(&TFieldIdentifier::new("status", TType::Struct, 1))?;
976    self.status.write_to_out_protocol(o_prot)?;
977    o_prot.write_field_end()?;
978    o_prot.write_field_begin(&TFieldIdentifier::new("serverProtocolVersion", TType::I32, 2))?;
979    self.server_protocol_version.write_to_out_protocol(o_prot)?;
980    o_prot.write_field_end()?;
981    if let Some(fld_var) = self.session_id {
982      o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 3))?;
983      o_prot.write_i64(fld_var)?;
984      o_prot.write_field_end()?
985    }
986    if let Some(ref fld_var) = self.configuration {
987      o_prot.write_field_begin(&TFieldIdentifier::new("configuration", TType::Map, 4))?;
988      o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, fld_var.len() as i32))?;
989      for (k, v) in fld_var {
990        o_prot.write_string(k)?;
991        o_prot.write_string(v)?;
992      }
993      o_prot.write_map_end()?;
994      o_prot.write_field_end()?
995    }
996    o_prot.write_field_stop()?;
997    o_prot.write_struct_end()
998  }
999}
1000
1001//
1002// TSOpenSessionReq
1003//
1004
1005#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1006pub struct TSOpenSessionReq {
1007  pub client_protocol: TSProtocolVersion,
1008  pub zone_id: String,
1009  pub username: Option<String>,
1010  pub password: Option<String>,
1011  pub configuration: Option<BTreeMap<String, String>>,
1012}
1013
1014impl TSOpenSessionReq {
1015  pub fn new<F3, F4, F5>(client_protocol: TSProtocolVersion, zone_id: String, username: F3, password: F4, configuration: F5) -> TSOpenSessionReq where F3: Into<Option<String>>, F4: Into<Option<String>>, F5: Into<Option<BTreeMap<String, String>>> {
1016    TSOpenSessionReq {
1017      client_protocol,
1018      zone_id,
1019      username: username.into(),
1020      password: password.into(),
1021      configuration: configuration.into(),
1022    }
1023  }
1024  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSOpenSessionReq> {
1025    i_prot.read_struct_begin()?;
1026    let mut f_1: Option<TSProtocolVersion> = None;
1027    let mut f_2: Option<String> = None;
1028    let mut f_3: Option<String> = None;
1029    let mut f_4: Option<String> = None;
1030    let mut f_5: Option<BTreeMap<String, String>> = None;
1031    loop {
1032      let field_ident = i_prot.read_field_begin()?;
1033      if field_ident.field_type == TType::Stop {
1034        break;
1035      }
1036      let field_id = field_id(&field_ident)?;
1037      match field_id {
1038        1 => {
1039          let val = TSProtocolVersion::read_from_in_protocol(i_prot)?;
1040          f_1 = Some(val);
1041        },
1042        2 => {
1043          let val = i_prot.read_string()?;
1044          f_2 = Some(val);
1045        },
1046        3 => {
1047          let val = i_prot.read_string()?;
1048          f_3 = Some(val);
1049        },
1050        4 => {
1051          let val = i_prot.read_string()?;
1052          f_4 = Some(val);
1053        },
1054        5 => {
1055          let map_ident = i_prot.read_map_begin()?;
1056          let mut val: BTreeMap<String, String> = BTreeMap::new();
1057          for _ in 0..map_ident.size {
1058            let map_key_15 = i_prot.read_string()?;
1059            let map_val_16 = i_prot.read_string()?;
1060            val.insert(map_key_15, map_val_16);
1061          }
1062          i_prot.read_map_end()?;
1063          f_5 = Some(val);
1064        },
1065        _ => {
1066          i_prot.skip(field_ident.field_type)?;
1067        },
1068      };
1069      i_prot.read_field_end()?;
1070    }
1071    i_prot.read_struct_end()?;
1072    verify_required_field_exists("TSOpenSessionReq.client_protocol", &f_1)?;
1073    verify_required_field_exists("TSOpenSessionReq.zone_id", &f_2)?;
1074    let ret = TSOpenSessionReq {
1075      client_protocol: f_1.expect("auto-generated code should have checked for presence of required fields"),
1076      zone_id: f_2.expect("auto-generated code should have checked for presence of required fields"),
1077      username: f_3,
1078      password: f_4,
1079      configuration: f_5,
1080    };
1081    Ok(ret)
1082  }
1083  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1084    let struct_ident = TStructIdentifier::new("TSOpenSessionReq");
1085    o_prot.write_struct_begin(&struct_ident)?;
1086    o_prot.write_field_begin(&TFieldIdentifier::new("client_protocol", TType::I32, 1))?;
1087    self.client_protocol.write_to_out_protocol(o_prot)?;
1088    o_prot.write_field_end()?;
1089    o_prot.write_field_begin(&TFieldIdentifier::new("zoneId", TType::String, 2))?;
1090    o_prot.write_string(&self.zone_id)?;
1091    o_prot.write_field_end()?;
1092    if let Some(ref fld_var) = self.username {
1093      o_prot.write_field_begin(&TFieldIdentifier::new("username", TType::String, 3))?;
1094      o_prot.write_string(fld_var)?;
1095      o_prot.write_field_end()?
1096    }
1097    if let Some(ref fld_var) = self.password {
1098      o_prot.write_field_begin(&TFieldIdentifier::new("password", TType::String, 4))?;
1099      o_prot.write_string(fld_var)?;
1100      o_prot.write_field_end()?
1101    }
1102    if let Some(ref fld_var) = self.configuration {
1103      o_prot.write_field_begin(&TFieldIdentifier::new("configuration", TType::Map, 5))?;
1104      o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, fld_var.len() as i32))?;
1105      for (k, v) in fld_var {
1106        o_prot.write_string(k)?;
1107        o_prot.write_string(v)?;
1108      }
1109      o_prot.write_map_end()?;
1110      o_prot.write_field_end()?
1111    }
1112    o_prot.write_field_stop()?;
1113    o_prot.write_struct_end()
1114  }
1115}
1116
1117//
1118// TSCloseSessionReq
1119//
1120
1121#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1122pub struct TSCloseSessionReq {
1123  pub session_id: i64,
1124}
1125
1126impl TSCloseSessionReq {
1127  pub fn new(session_id: i64) -> TSCloseSessionReq {
1128    TSCloseSessionReq {
1129      session_id,
1130    }
1131  }
1132  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCloseSessionReq> {
1133    i_prot.read_struct_begin()?;
1134    let mut f_1: Option<i64> = None;
1135    loop {
1136      let field_ident = i_prot.read_field_begin()?;
1137      if field_ident.field_type == TType::Stop {
1138        break;
1139      }
1140      let field_id = field_id(&field_ident)?;
1141      match field_id {
1142        1 => {
1143          let val = i_prot.read_i64()?;
1144          f_1 = Some(val);
1145        },
1146        _ => {
1147          i_prot.skip(field_ident.field_type)?;
1148        },
1149      };
1150      i_prot.read_field_end()?;
1151    }
1152    i_prot.read_struct_end()?;
1153    verify_required_field_exists("TSCloseSessionReq.session_id", &f_1)?;
1154    let ret = TSCloseSessionReq {
1155      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1156    };
1157    Ok(ret)
1158  }
1159  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1160    let struct_ident = TStructIdentifier::new("TSCloseSessionReq");
1161    o_prot.write_struct_begin(&struct_ident)?;
1162    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1163    o_prot.write_i64(self.session_id)?;
1164    o_prot.write_field_end()?;
1165    o_prot.write_field_stop()?;
1166    o_prot.write_struct_end()
1167  }
1168}
1169
1170//
1171// TSExecuteStatementReq
1172//
1173
1174#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1175pub struct TSExecuteStatementReq {
1176  pub session_id: i64,
1177  pub statement: String,
1178  pub statement_id: i64,
1179  pub fetch_size: Option<i32>,
1180  pub timeout: Option<i64>,
1181  pub enable_redirect_query: Option<bool>,
1182  pub jdbc_query: Option<bool>,
1183}
1184
1185impl TSExecuteStatementReq {
1186  pub fn new<F4, F5, F6, F7>(session_id: i64, statement: String, statement_id: i64, fetch_size: F4, timeout: F5, enable_redirect_query: F6, jdbc_query: F7) -> TSExecuteStatementReq where F4: Into<Option<i32>>, F5: Into<Option<i64>>, F6: Into<Option<bool>>, F7: Into<Option<bool>> {
1187    TSExecuteStatementReq {
1188      session_id,
1189      statement,
1190      statement_id,
1191      fetch_size: fetch_size.into(),
1192      timeout: timeout.into(),
1193      enable_redirect_query: enable_redirect_query.into(),
1194      jdbc_query: jdbc_query.into(),
1195    }
1196  }
1197  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSExecuteStatementReq> {
1198    i_prot.read_struct_begin()?;
1199    let mut f_1: Option<i64> = None;
1200    let mut f_2: Option<String> = None;
1201    let mut f_3: Option<i64> = None;
1202    let mut f_4: Option<i32> = None;
1203    let mut f_5: Option<i64> = None;
1204    let mut f_6: Option<bool> = None;
1205    let mut f_7: Option<bool> = None;
1206    loop {
1207      let field_ident = i_prot.read_field_begin()?;
1208      if field_ident.field_type == TType::Stop {
1209        break;
1210      }
1211      let field_id = field_id(&field_ident)?;
1212      match field_id {
1213        1 => {
1214          let val = i_prot.read_i64()?;
1215          f_1 = Some(val);
1216        },
1217        2 => {
1218          let val = i_prot.read_string()?;
1219          f_2 = Some(val);
1220        },
1221        3 => {
1222          let val = i_prot.read_i64()?;
1223          f_3 = Some(val);
1224        },
1225        4 => {
1226          let val = i_prot.read_i32()?;
1227          f_4 = Some(val);
1228        },
1229        5 => {
1230          let val = i_prot.read_i64()?;
1231          f_5 = Some(val);
1232        },
1233        6 => {
1234          let val = i_prot.read_bool()?;
1235          f_6 = Some(val);
1236        },
1237        7 => {
1238          let val = i_prot.read_bool()?;
1239          f_7 = Some(val);
1240        },
1241        _ => {
1242          i_prot.skip(field_ident.field_type)?;
1243        },
1244      };
1245      i_prot.read_field_end()?;
1246    }
1247    i_prot.read_struct_end()?;
1248    verify_required_field_exists("TSExecuteStatementReq.session_id", &f_1)?;
1249    verify_required_field_exists("TSExecuteStatementReq.statement", &f_2)?;
1250    verify_required_field_exists("TSExecuteStatementReq.statement_id", &f_3)?;
1251    let ret = TSExecuteStatementReq {
1252      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1253      statement: f_2.expect("auto-generated code should have checked for presence of required fields"),
1254      statement_id: f_3.expect("auto-generated code should have checked for presence of required fields"),
1255      fetch_size: f_4,
1256      timeout: f_5,
1257      enable_redirect_query: f_6,
1258      jdbc_query: f_7,
1259    };
1260    Ok(ret)
1261  }
1262  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1263    let struct_ident = TStructIdentifier::new("TSExecuteStatementReq");
1264    o_prot.write_struct_begin(&struct_ident)?;
1265    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1266    o_prot.write_i64(self.session_id)?;
1267    o_prot.write_field_end()?;
1268    o_prot.write_field_begin(&TFieldIdentifier::new("statement", TType::String, 2))?;
1269    o_prot.write_string(&self.statement)?;
1270    o_prot.write_field_end()?;
1271    o_prot.write_field_begin(&TFieldIdentifier::new("statementId", TType::I64, 3))?;
1272    o_prot.write_i64(self.statement_id)?;
1273    o_prot.write_field_end()?;
1274    if let Some(fld_var) = self.fetch_size {
1275      o_prot.write_field_begin(&TFieldIdentifier::new("fetchSize", TType::I32, 4))?;
1276      o_prot.write_i32(fld_var)?;
1277      o_prot.write_field_end()?
1278    }
1279    if let Some(fld_var) = self.timeout {
1280      o_prot.write_field_begin(&TFieldIdentifier::new("timeout", TType::I64, 5))?;
1281      o_prot.write_i64(fld_var)?;
1282      o_prot.write_field_end()?
1283    }
1284    if let Some(fld_var) = self.enable_redirect_query {
1285      o_prot.write_field_begin(&TFieldIdentifier::new("enableRedirectQuery", TType::Bool, 6))?;
1286      o_prot.write_bool(fld_var)?;
1287      o_prot.write_field_end()?
1288    }
1289    if let Some(fld_var) = self.jdbc_query {
1290      o_prot.write_field_begin(&TFieldIdentifier::new("jdbcQuery", TType::Bool, 7))?;
1291      o_prot.write_bool(fld_var)?;
1292      o_prot.write_field_end()?
1293    }
1294    o_prot.write_field_stop()?;
1295    o_prot.write_struct_end()
1296  }
1297}
1298
1299//
1300// TSExecuteBatchStatementReq
1301//
1302
1303#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1304pub struct TSExecuteBatchStatementReq {
1305  pub session_id: i64,
1306  pub statements: Vec<String>,
1307}
1308
1309impl TSExecuteBatchStatementReq {
1310  pub fn new(session_id: i64, statements: Vec<String>) -> TSExecuteBatchStatementReq {
1311    TSExecuteBatchStatementReq {
1312      session_id,
1313      statements,
1314    }
1315  }
1316  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSExecuteBatchStatementReq> {
1317    i_prot.read_struct_begin()?;
1318    let mut f_1: Option<i64> = None;
1319    let mut f_2: Option<Vec<String>> = None;
1320    loop {
1321      let field_ident = i_prot.read_field_begin()?;
1322      if field_ident.field_type == TType::Stop {
1323        break;
1324      }
1325      let field_id = field_id(&field_ident)?;
1326      match field_id {
1327        1 => {
1328          let val = i_prot.read_i64()?;
1329          f_1 = Some(val);
1330        },
1331        2 => {
1332          let list_ident = i_prot.read_list_begin()?;
1333          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
1334          for _ in 0..list_ident.size {
1335            let list_elem_17 = i_prot.read_string()?;
1336            val.push(list_elem_17);
1337          }
1338          i_prot.read_list_end()?;
1339          f_2 = Some(val);
1340        },
1341        _ => {
1342          i_prot.skip(field_ident.field_type)?;
1343        },
1344      };
1345      i_prot.read_field_end()?;
1346    }
1347    i_prot.read_struct_end()?;
1348    verify_required_field_exists("TSExecuteBatchStatementReq.session_id", &f_1)?;
1349    verify_required_field_exists("TSExecuteBatchStatementReq.statements", &f_2)?;
1350    let ret = TSExecuteBatchStatementReq {
1351      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1352      statements: f_2.expect("auto-generated code should have checked for presence of required fields"),
1353    };
1354    Ok(ret)
1355  }
1356  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1357    let struct_ident = TStructIdentifier::new("TSExecuteBatchStatementReq");
1358    o_prot.write_struct_begin(&struct_ident)?;
1359    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1360    o_prot.write_i64(self.session_id)?;
1361    o_prot.write_field_end()?;
1362    o_prot.write_field_begin(&TFieldIdentifier::new("statements", TType::List, 2))?;
1363    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.statements.len() as i32))?;
1364    for e in &self.statements {
1365      o_prot.write_string(e)?;
1366    }
1367    o_prot.write_list_end()?;
1368    o_prot.write_field_end()?;
1369    o_prot.write_field_stop()?;
1370    o_prot.write_struct_end()
1371  }
1372}
1373
1374//
1375// TSGetOperationStatusReq
1376//
1377
1378#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1379pub struct TSGetOperationStatusReq {
1380  pub session_id: i64,
1381  pub query_id: i64,
1382}
1383
1384impl TSGetOperationStatusReq {
1385  pub fn new(session_id: i64, query_id: i64) -> TSGetOperationStatusReq {
1386    TSGetOperationStatusReq {
1387      session_id,
1388      query_id,
1389    }
1390  }
1391  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSGetOperationStatusReq> {
1392    i_prot.read_struct_begin()?;
1393    let mut f_1: Option<i64> = None;
1394    let mut f_2: Option<i64> = None;
1395    loop {
1396      let field_ident = i_prot.read_field_begin()?;
1397      if field_ident.field_type == TType::Stop {
1398        break;
1399      }
1400      let field_id = field_id(&field_ident)?;
1401      match field_id {
1402        1 => {
1403          let val = i_prot.read_i64()?;
1404          f_1 = Some(val);
1405        },
1406        2 => {
1407          let val = i_prot.read_i64()?;
1408          f_2 = Some(val);
1409        },
1410        _ => {
1411          i_prot.skip(field_ident.field_type)?;
1412        },
1413      };
1414      i_prot.read_field_end()?;
1415    }
1416    i_prot.read_struct_end()?;
1417    verify_required_field_exists("TSGetOperationStatusReq.session_id", &f_1)?;
1418    verify_required_field_exists("TSGetOperationStatusReq.query_id", &f_2)?;
1419    let ret = TSGetOperationStatusReq {
1420      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1421      query_id: f_2.expect("auto-generated code should have checked for presence of required fields"),
1422    };
1423    Ok(ret)
1424  }
1425  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1426    let struct_ident = TStructIdentifier::new("TSGetOperationStatusReq");
1427    o_prot.write_struct_begin(&struct_ident)?;
1428    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1429    o_prot.write_i64(self.session_id)?;
1430    o_prot.write_field_end()?;
1431    o_prot.write_field_begin(&TFieldIdentifier::new("queryId", TType::I64, 2))?;
1432    o_prot.write_i64(self.query_id)?;
1433    o_prot.write_field_end()?;
1434    o_prot.write_field_stop()?;
1435    o_prot.write_struct_end()
1436  }
1437}
1438
1439//
1440// TSCancelOperationReq
1441//
1442
1443#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1444pub struct TSCancelOperationReq {
1445  pub session_id: i64,
1446  pub query_id: i64,
1447}
1448
1449impl TSCancelOperationReq {
1450  pub fn new(session_id: i64, query_id: i64) -> TSCancelOperationReq {
1451    TSCancelOperationReq {
1452      session_id,
1453      query_id,
1454    }
1455  }
1456  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCancelOperationReq> {
1457    i_prot.read_struct_begin()?;
1458    let mut f_1: Option<i64> = None;
1459    let mut f_2: Option<i64> = None;
1460    loop {
1461      let field_ident = i_prot.read_field_begin()?;
1462      if field_ident.field_type == TType::Stop {
1463        break;
1464      }
1465      let field_id = field_id(&field_ident)?;
1466      match field_id {
1467        1 => {
1468          let val = i_prot.read_i64()?;
1469          f_1 = Some(val);
1470        },
1471        2 => {
1472          let val = i_prot.read_i64()?;
1473          f_2 = Some(val);
1474        },
1475        _ => {
1476          i_prot.skip(field_ident.field_type)?;
1477        },
1478      };
1479      i_prot.read_field_end()?;
1480    }
1481    i_prot.read_struct_end()?;
1482    verify_required_field_exists("TSCancelOperationReq.session_id", &f_1)?;
1483    verify_required_field_exists("TSCancelOperationReq.query_id", &f_2)?;
1484    let ret = TSCancelOperationReq {
1485      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1486      query_id: f_2.expect("auto-generated code should have checked for presence of required fields"),
1487    };
1488    Ok(ret)
1489  }
1490  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1491    let struct_ident = TStructIdentifier::new("TSCancelOperationReq");
1492    o_prot.write_struct_begin(&struct_ident)?;
1493    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1494    o_prot.write_i64(self.session_id)?;
1495    o_prot.write_field_end()?;
1496    o_prot.write_field_begin(&TFieldIdentifier::new("queryId", TType::I64, 2))?;
1497    o_prot.write_i64(self.query_id)?;
1498    o_prot.write_field_end()?;
1499    o_prot.write_field_stop()?;
1500    o_prot.write_struct_end()
1501  }
1502}
1503
1504//
1505// TSCloseOperationReq
1506//
1507
1508#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1509pub struct TSCloseOperationReq {
1510  pub session_id: i64,
1511  pub query_id: Option<i64>,
1512  pub statement_id: Option<i64>,
1513}
1514
1515impl TSCloseOperationReq {
1516  pub fn new<F2, F3>(session_id: i64, query_id: F2, statement_id: F3) -> TSCloseOperationReq where F2: Into<Option<i64>>, F3: Into<Option<i64>> {
1517    TSCloseOperationReq {
1518      session_id,
1519      query_id: query_id.into(),
1520      statement_id: statement_id.into(),
1521    }
1522  }
1523  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCloseOperationReq> {
1524    i_prot.read_struct_begin()?;
1525    let mut f_1: Option<i64> = None;
1526    let mut f_2: Option<i64> = None;
1527    let mut f_3: Option<i64> = None;
1528    loop {
1529      let field_ident = i_prot.read_field_begin()?;
1530      if field_ident.field_type == TType::Stop {
1531        break;
1532      }
1533      let field_id = field_id(&field_ident)?;
1534      match field_id {
1535        1 => {
1536          let val = i_prot.read_i64()?;
1537          f_1 = Some(val);
1538        },
1539        2 => {
1540          let val = i_prot.read_i64()?;
1541          f_2 = Some(val);
1542        },
1543        3 => {
1544          let val = i_prot.read_i64()?;
1545          f_3 = Some(val);
1546        },
1547        _ => {
1548          i_prot.skip(field_ident.field_type)?;
1549        },
1550      };
1551      i_prot.read_field_end()?;
1552    }
1553    i_prot.read_struct_end()?;
1554    verify_required_field_exists("TSCloseOperationReq.session_id", &f_1)?;
1555    let ret = TSCloseOperationReq {
1556      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1557      query_id: f_2,
1558      statement_id: f_3,
1559    };
1560    Ok(ret)
1561  }
1562  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1563    let struct_ident = TStructIdentifier::new("TSCloseOperationReq");
1564    o_prot.write_struct_begin(&struct_ident)?;
1565    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1566    o_prot.write_i64(self.session_id)?;
1567    o_prot.write_field_end()?;
1568    if let Some(fld_var) = self.query_id {
1569      o_prot.write_field_begin(&TFieldIdentifier::new("queryId", TType::I64, 2))?;
1570      o_prot.write_i64(fld_var)?;
1571      o_prot.write_field_end()?
1572    }
1573    if let Some(fld_var) = self.statement_id {
1574      o_prot.write_field_begin(&TFieldIdentifier::new("statementId", TType::I64, 3))?;
1575      o_prot.write_i64(fld_var)?;
1576      o_prot.write_field_end()?
1577    }
1578    o_prot.write_field_stop()?;
1579    o_prot.write_struct_end()
1580  }
1581}
1582
1583//
1584// TSFetchResultsReq
1585//
1586
1587#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1588pub struct TSFetchResultsReq {
1589  pub session_id: i64,
1590  pub statement: String,
1591  pub fetch_size: i32,
1592  pub query_id: i64,
1593  pub is_align: bool,
1594  pub timeout: Option<i64>,
1595}
1596
1597impl TSFetchResultsReq {
1598  pub fn new<F6>(session_id: i64, statement: String, fetch_size: i32, query_id: i64, is_align: bool, timeout: F6) -> TSFetchResultsReq where F6: Into<Option<i64>> {
1599    TSFetchResultsReq {
1600      session_id,
1601      statement,
1602      fetch_size,
1603      query_id,
1604      is_align,
1605      timeout: timeout.into(),
1606    }
1607  }
1608  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSFetchResultsReq> {
1609    i_prot.read_struct_begin()?;
1610    let mut f_1: Option<i64> = None;
1611    let mut f_2: Option<String> = None;
1612    let mut f_3: Option<i32> = None;
1613    let mut f_4: Option<i64> = None;
1614    let mut f_5: Option<bool> = None;
1615    let mut f_6: Option<i64> = None;
1616    loop {
1617      let field_ident = i_prot.read_field_begin()?;
1618      if field_ident.field_type == TType::Stop {
1619        break;
1620      }
1621      let field_id = field_id(&field_ident)?;
1622      match field_id {
1623        1 => {
1624          let val = i_prot.read_i64()?;
1625          f_1 = Some(val);
1626        },
1627        2 => {
1628          let val = i_prot.read_string()?;
1629          f_2 = Some(val);
1630        },
1631        3 => {
1632          let val = i_prot.read_i32()?;
1633          f_3 = Some(val);
1634        },
1635        4 => {
1636          let val = i_prot.read_i64()?;
1637          f_4 = Some(val);
1638        },
1639        5 => {
1640          let val = i_prot.read_bool()?;
1641          f_5 = Some(val);
1642        },
1643        6 => {
1644          let val = i_prot.read_i64()?;
1645          f_6 = Some(val);
1646        },
1647        _ => {
1648          i_prot.skip(field_ident.field_type)?;
1649        },
1650      };
1651      i_prot.read_field_end()?;
1652    }
1653    i_prot.read_struct_end()?;
1654    verify_required_field_exists("TSFetchResultsReq.session_id", &f_1)?;
1655    verify_required_field_exists("TSFetchResultsReq.statement", &f_2)?;
1656    verify_required_field_exists("TSFetchResultsReq.fetch_size", &f_3)?;
1657    verify_required_field_exists("TSFetchResultsReq.query_id", &f_4)?;
1658    verify_required_field_exists("TSFetchResultsReq.is_align", &f_5)?;
1659    let ret = TSFetchResultsReq {
1660      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1661      statement: f_2.expect("auto-generated code should have checked for presence of required fields"),
1662      fetch_size: f_3.expect("auto-generated code should have checked for presence of required fields"),
1663      query_id: f_4.expect("auto-generated code should have checked for presence of required fields"),
1664      is_align: f_5.expect("auto-generated code should have checked for presence of required fields"),
1665      timeout: f_6,
1666    };
1667    Ok(ret)
1668  }
1669  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1670    let struct_ident = TStructIdentifier::new("TSFetchResultsReq");
1671    o_prot.write_struct_begin(&struct_ident)?;
1672    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1673    o_prot.write_i64(self.session_id)?;
1674    o_prot.write_field_end()?;
1675    o_prot.write_field_begin(&TFieldIdentifier::new("statement", TType::String, 2))?;
1676    o_prot.write_string(&self.statement)?;
1677    o_prot.write_field_end()?;
1678    o_prot.write_field_begin(&TFieldIdentifier::new("fetchSize", TType::I32, 3))?;
1679    o_prot.write_i32(self.fetch_size)?;
1680    o_prot.write_field_end()?;
1681    o_prot.write_field_begin(&TFieldIdentifier::new("queryId", TType::I64, 4))?;
1682    o_prot.write_i64(self.query_id)?;
1683    o_prot.write_field_end()?;
1684    o_prot.write_field_begin(&TFieldIdentifier::new("isAlign", TType::Bool, 5))?;
1685    o_prot.write_bool(self.is_align)?;
1686    o_prot.write_field_end()?;
1687    if let Some(fld_var) = self.timeout {
1688      o_prot.write_field_begin(&TFieldIdentifier::new("timeout", TType::I64, 6))?;
1689      o_prot.write_i64(fld_var)?;
1690      o_prot.write_field_end()?
1691    }
1692    o_prot.write_field_stop()?;
1693    o_prot.write_struct_end()
1694  }
1695}
1696
1697//
1698// TSFetchResultsResp
1699//
1700
1701#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1702pub struct TSFetchResultsResp {
1703  pub status: TSStatus,
1704  pub has_result_set: bool,
1705  pub is_align: bool,
1706  pub query_data_set: Option<TSQueryDataSet>,
1707  pub non_align_query_data_set: Option<TSQueryNonAlignDataSet>,
1708}
1709
1710impl TSFetchResultsResp {
1711  pub fn new<F4, F5>(status: TSStatus, has_result_set: bool, is_align: bool, query_data_set: F4, non_align_query_data_set: F5) -> TSFetchResultsResp where F4: Into<Option<TSQueryDataSet>>, F5: Into<Option<TSQueryNonAlignDataSet>> {
1712    TSFetchResultsResp {
1713      status,
1714      has_result_set,
1715      is_align,
1716      query_data_set: query_data_set.into(),
1717      non_align_query_data_set: non_align_query_data_set.into(),
1718    }
1719  }
1720  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSFetchResultsResp> {
1721    i_prot.read_struct_begin()?;
1722    let mut f_1: Option<TSStatus> = None;
1723    let mut f_2: Option<bool> = None;
1724    let mut f_3: Option<bool> = None;
1725    let mut f_4: Option<TSQueryDataSet> = None;
1726    let mut f_5: Option<TSQueryNonAlignDataSet> = None;
1727    loop {
1728      let field_ident = i_prot.read_field_begin()?;
1729      if field_ident.field_type == TType::Stop {
1730        break;
1731      }
1732      let field_id = field_id(&field_ident)?;
1733      match field_id {
1734        1 => {
1735          let val = TSStatus::read_from_in_protocol(i_prot)?;
1736          f_1 = Some(val);
1737        },
1738        2 => {
1739          let val = i_prot.read_bool()?;
1740          f_2 = Some(val);
1741        },
1742        3 => {
1743          let val = i_prot.read_bool()?;
1744          f_3 = Some(val);
1745        },
1746        4 => {
1747          let val = TSQueryDataSet::read_from_in_protocol(i_prot)?;
1748          f_4 = Some(val);
1749        },
1750        5 => {
1751          let val = TSQueryNonAlignDataSet::read_from_in_protocol(i_prot)?;
1752          f_5 = Some(val);
1753        },
1754        _ => {
1755          i_prot.skip(field_ident.field_type)?;
1756        },
1757      };
1758      i_prot.read_field_end()?;
1759    }
1760    i_prot.read_struct_end()?;
1761    verify_required_field_exists("TSFetchResultsResp.status", &f_1)?;
1762    verify_required_field_exists("TSFetchResultsResp.has_result_set", &f_2)?;
1763    verify_required_field_exists("TSFetchResultsResp.is_align", &f_3)?;
1764    let ret = TSFetchResultsResp {
1765      status: f_1.expect("auto-generated code should have checked for presence of required fields"),
1766      has_result_set: f_2.expect("auto-generated code should have checked for presence of required fields"),
1767      is_align: f_3.expect("auto-generated code should have checked for presence of required fields"),
1768      query_data_set: f_4,
1769      non_align_query_data_set: f_5,
1770    };
1771    Ok(ret)
1772  }
1773  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1774    let struct_ident = TStructIdentifier::new("TSFetchResultsResp");
1775    o_prot.write_struct_begin(&struct_ident)?;
1776    o_prot.write_field_begin(&TFieldIdentifier::new("status", TType::Struct, 1))?;
1777    self.status.write_to_out_protocol(o_prot)?;
1778    o_prot.write_field_end()?;
1779    o_prot.write_field_begin(&TFieldIdentifier::new("hasResultSet", TType::Bool, 2))?;
1780    o_prot.write_bool(self.has_result_set)?;
1781    o_prot.write_field_end()?;
1782    o_prot.write_field_begin(&TFieldIdentifier::new("isAlign", TType::Bool, 3))?;
1783    o_prot.write_bool(self.is_align)?;
1784    o_prot.write_field_end()?;
1785    if let Some(ref fld_var) = self.query_data_set {
1786      o_prot.write_field_begin(&TFieldIdentifier::new("queryDataSet", TType::Struct, 4))?;
1787      fld_var.write_to_out_protocol(o_prot)?;
1788      o_prot.write_field_end()?
1789    }
1790    if let Some(ref fld_var) = self.non_align_query_data_set {
1791      o_prot.write_field_begin(&TFieldIdentifier::new("nonAlignQueryDataSet", TType::Struct, 5))?;
1792      fld_var.write_to_out_protocol(o_prot)?;
1793      o_prot.write_field_end()?
1794    }
1795    o_prot.write_field_stop()?;
1796    o_prot.write_struct_end()
1797  }
1798}
1799
1800//
1801// TSFetchMetadataResp
1802//
1803
1804#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1805pub struct TSFetchMetadataResp {
1806  pub status: TSStatus,
1807  pub metadata_in_json: Option<String>,
1808  pub columns_list: Option<Vec<String>>,
1809  pub data_type: Option<String>,
1810}
1811
1812impl TSFetchMetadataResp {
1813  pub fn new<F2, F3, F4>(status: TSStatus, metadata_in_json: F2, columns_list: F3, data_type: F4) -> TSFetchMetadataResp where F2: Into<Option<String>>, F3: Into<Option<Vec<String>>>, F4: Into<Option<String>> {
1814    TSFetchMetadataResp {
1815      status,
1816      metadata_in_json: metadata_in_json.into(),
1817      columns_list: columns_list.into(),
1818      data_type: data_type.into(),
1819    }
1820  }
1821  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSFetchMetadataResp> {
1822    i_prot.read_struct_begin()?;
1823    let mut f_1: Option<TSStatus> = None;
1824    let mut f_2: Option<String> = None;
1825    let mut f_3: Option<Vec<String>> = None;
1826    let mut f_4: Option<String> = None;
1827    loop {
1828      let field_ident = i_prot.read_field_begin()?;
1829      if field_ident.field_type == TType::Stop {
1830        break;
1831      }
1832      let field_id = field_id(&field_ident)?;
1833      match field_id {
1834        1 => {
1835          let val = TSStatus::read_from_in_protocol(i_prot)?;
1836          f_1 = Some(val);
1837        },
1838        2 => {
1839          let val = i_prot.read_string()?;
1840          f_2 = Some(val);
1841        },
1842        3 => {
1843          let list_ident = i_prot.read_list_begin()?;
1844          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
1845          for _ in 0..list_ident.size {
1846            let list_elem_18 = i_prot.read_string()?;
1847            val.push(list_elem_18);
1848          }
1849          i_prot.read_list_end()?;
1850          f_3 = Some(val);
1851        },
1852        4 => {
1853          let val = i_prot.read_string()?;
1854          f_4 = Some(val);
1855        },
1856        _ => {
1857          i_prot.skip(field_ident.field_type)?;
1858        },
1859      };
1860      i_prot.read_field_end()?;
1861    }
1862    i_prot.read_struct_end()?;
1863    verify_required_field_exists("TSFetchMetadataResp.status", &f_1)?;
1864    let ret = TSFetchMetadataResp {
1865      status: f_1.expect("auto-generated code should have checked for presence of required fields"),
1866      metadata_in_json: f_2,
1867      columns_list: f_3,
1868      data_type: f_4,
1869    };
1870    Ok(ret)
1871  }
1872  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1873    let struct_ident = TStructIdentifier::new("TSFetchMetadataResp");
1874    o_prot.write_struct_begin(&struct_ident)?;
1875    o_prot.write_field_begin(&TFieldIdentifier::new("status", TType::Struct, 1))?;
1876    self.status.write_to_out_protocol(o_prot)?;
1877    o_prot.write_field_end()?;
1878    if let Some(ref fld_var) = self.metadata_in_json {
1879      o_prot.write_field_begin(&TFieldIdentifier::new("metadataInJson", TType::String, 2))?;
1880      o_prot.write_string(fld_var)?;
1881      o_prot.write_field_end()?
1882    }
1883    if let Some(ref fld_var) = self.columns_list {
1884      o_prot.write_field_begin(&TFieldIdentifier::new("columnsList", TType::List, 3))?;
1885      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
1886      for e in fld_var {
1887        o_prot.write_string(e)?;
1888      }
1889      o_prot.write_list_end()?;
1890      o_prot.write_field_end()?
1891    }
1892    if let Some(ref fld_var) = self.data_type {
1893      o_prot.write_field_begin(&TFieldIdentifier::new("dataType", TType::String, 4))?;
1894      o_prot.write_string(fld_var)?;
1895      o_prot.write_field_end()?
1896    }
1897    o_prot.write_field_stop()?;
1898    o_prot.write_struct_end()
1899  }
1900}
1901
1902//
1903// TSFetchMetadataReq
1904//
1905
1906#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1907pub struct TSFetchMetadataReq {
1908  pub session_id: i64,
1909  pub type_: String,
1910  pub column_path: Option<String>,
1911}
1912
1913impl TSFetchMetadataReq {
1914  pub fn new<F3>(session_id: i64, type_: String, column_path: F3) -> TSFetchMetadataReq where F3: Into<Option<String>> {
1915    TSFetchMetadataReq {
1916      session_id,
1917      type_,
1918      column_path: column_path.into(),
1919    }
1920  }
1921  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSFetchMetadataReq> {
1922    i_prot.read_struct_begin()?;
1923    let mut f_1: Option<i64> = None;
1924    let mut f_2: Option<String> = None;
1925    let mut f_3: Option<String> = None;
1926    loop {
1927      let field_ident = i_prot.read_field_begin()?;
1928      if field_ident.field_type == TType::Stop {
1929        break;
1930      }
1931      let field_id = field_id(&field_ident)?;
1932      match field_id {
1933        1 => {
1934          let val = i_prot.read_i64()?;
1935          f_1 = Some(val);
1936        },
1937        2 => {
1938          let val = i_prot.read_string()?;
1939          f_2 = Some(val);
1940        },
1941        3 => {
1942          let val = i_prot.read_string()?;
1943          f_3 = Some(val);
1944        },
1945        _ => {
1946          i_prot.skip(field_ident.field_type)?;
1947        },
1948      };
1949      i_prot.read_field_end()?;
1950    }
1951    i_prot.read_struct_end()?;
1952    verify_required_field_exists("TSFetchMetadataReq.session_id", &f_1)?;
1953    verify_required_field_exists("TSFetchMetadataReq.type_", &f_2)?;
1954    let ret = TSFetchMetadataReq {
1955      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
1956      type_: f_2.expect("auto-generated code should have checked for presence of required fields"),
1957      column_path: f_3,
1958    };
1959    Ok(ret)
1960  }
1961  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1962    let struct_ident = TStructIdentifier::new("TSFetchMetadataReq");
1963    o_prot.write_struct_begin(&struct_ident)?;
1964    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
1965    o_prot.write_i64(self.session_id)?;
1966    o_prot.write_field_end()?;
1967    o_prot.write_field_begin(&TFieldIdentifier::new("type", TType::String, 2))?;
1968    o_prot.write_string(&self.type_)?;
1969    o_prot.write_field_end()?;
1970    if let Some(ref fld_var) = self.column_path {
1971      o_prot.write_field_begin(&TFieldIdentifier::new("columnPath", TType::String, 3))?;
1972      o_prot.write_string(fld_var)?;
1973      o_prot.write_field_end()?
1974    }
1975    o_prot.write_field_stop()?;
1976    o_prot.write_struct_end()
1977  }
1978}
1979
1980//
1981// TSGetTimeZoneResp
1982//
1983
1984#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1985pub struct TSGetTimeZoneResp {
1986  pub status: TSStatus,
1987  pub time_zone: String,
1988}
1989
1990impl TSGetTimeZoneResp {
1991  pub fn new(status: TSStatus, time_zone: String) -> TSGetTimeZoneResp {
1992    TSGetTimeZoneResp {
1993      status,
1994      time_zone,
1995    }
1996  }
1997  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSGetTimeZoneResp> {
1998    i_prot.read_struct_begin()?;
1999    let mut f_1: Option<TSStatus> = None;
2000    let mut f_2: Option<String> = None;
2001    loop {
2002      let field_ident = i_prot.read_field_begin()?;
2003      if field_ident.field_type == TType::Stop {
2004        break;
2005      }
2006      let field_id = field_id(&field_ident)?;
2007      match field_id {
2008        1 => {
2009          let val = TSStatus::read_from_in_protocol(i_prot)?;
2010          f_1 = Some(val);
2011        },
2012        2 => {
2013          let val = i_prot.read_string()?;
2014          f_2 = Some(val);
2015        },
2016        _ => {
2017          i_prot.skip(field_ident.field_type)?;
2018        },
2019      };
2020      i_prot.read_field_end()?;
2021    }
2022    i_prot.read_struct_end()?;
2023    verify_required_field_exists("TSGetTimeZoneResp.status", &f_1)?;
2024    verify_required_field_exists("TSGetTimeZoneResp.time_zone", &f_2)?;
2025    let ret = TSGetTimeZoneResp {
2026      status: f_1.expect("auto-generated code should have checked for presence of required fields"),
2027      time_zone: f_2.expect("auto-generated code should have checked for presence of required fields"),
2028    };
2029    Ok(ret)
2030  }
2031  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2032    let struct_ident = TStructIdentifier::new("TSGetTimeZoneResp");
2033    o_prot.write_struct_begin(&struct_ident)?;
2034    o_prot.write_field_begin(&TFieldIdentifier::new("status", TType::Struct, 1))?;
2035    self.status.write_to_out_protocol(o_prot)?;
2036    o_prot.write_field_end()?;
2037    o_prot.write_field_begin(&TFieldIdentifier::new("timeZone", TType::String, 2))?;
2038    o_prot.write_string(&self.time_zone)?;
2039    o_prot.write_field_end()?;
2040    o_prot.write_field_stop()?;
2041    o_prot.write_struct_end()
2042  }
2043}
2044
2045//
2046// TSSetTimeZoneReq
2047//
2048
2049#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2050pub struct TSSetTimeZoneReq {
2051  pub session_id: i64,
2052  pub time_zone: String,
2053}
2054
2055impl TSSetTimeZoneReq {
2056  pub fn new(session_id: i64, time_zone: String) -> TSSetTimeZoneReq {
2057    TSSetTimeZoneReq {
2058      session_id,
2059      time_zone,
2060    }
2061  }
2062  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSSetTimeZoneReq> {
2063    i_prot.read_struct_begin()?;
2064    let mut f_1: Option<i64> = None;
2065    let mut f_2: Option<String> = None;
2066    loop {
2067      let field_ident = i_prot.read_field_begin()?;
2068      if field_ident.field_type == TType::Stop {
2069        break;
2070      }
2071      let field_id = field_id(&field_ident)?;
2072      match field_id {
2073        1 => {
2074          let val = i_prot.read_i64()?;
2075          f_1 = Some(val);
2076        },
2077        2 => {
2078          let val = i_prot.read_string()?;
2079          f_2 = Some(val);
2080        },
2081        _ => {
2082          i_prot.skip(field_ident.field_type)?;
2083        },
2084      };
2085      i_prot.read_field_end()?;
2086    }
2087    i_prot.read_struct_end()?;
2088    verify_required_field_exists("TSSetTimeZoneReq.session_id", &f_1)?;
2089    verify_required_field_exists("TSSetTimeZoneReq.time_zone", &f_2)?;
2090    let ret = TSSetTimeZoneReq {
2091      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2092      time_zone: f_2.expect("auto-generated code should have checked for presence of required fields"),
2093    };
2094    Ok(ret)
2095  }
2096  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2097    let struct_ident = TStructIdentifier::new("TSSetTimeZoneReq");
2098    o_prot.write_struct_begin(&struct_ident)?;
2099    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
2100    o_prot.write_i64(self.session_id)?;
2101    o_prot.write_field_end()?;
2102    o_prot.write_field_begin(&TFieldIdentifier::new("timeZone", TType::String, 2))?;
2103    o_prot.write_string(&self.time_zone)?;
2104    o_prot.write_field_end()?;
2105    o_prot.write_field_stop()?;
2106    o_prot.write_struct_end()
2107  }
2108}
2109
2110//
2111// TSInsertRecordReq
2112//
2113
2114#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2115pub struct TSInsertRecordReq {
2116  pub session_id: i64,
2117  pub prefix_path: String,
2118  pub measurements: Vec<String>,
2119  pub values: Vec<u8>,
2120  pub timestamp: i64,
2121  pub is_aligned: Option<bool>,
2122}
2123
2124impl TSInsertRecordReq {
2125  pub fn new<F6>(session_id: i64, prefix_path: String, measurements: Vec<String>, values: Vec<u8>, timestamp: i64, is_aligned: F6) -> TSInsertRecordReq where F6: Into<Option<bool>> {
2126    TSInsertRecordReq {
2127      session_id,
2128      prefix_path,
2129      measurements,
2130      values,
2131      timestamp,
2132      is_aligned: is_aligned.into(),
2133    }
2134  }
2135  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertRecordReq> {
2136    i_prot.read_struct_begin()?;
2137    let mut f_1: Option<i64> = None;
2138    let mut f_2: Option<String> = None;
2139    let mut f_3: Option<Vec<String>> = None;
2140    let mut f_4: Option<Vec<u8>> = None;
2141    let mut f_5: Option<i64> = None;
2142    let mut f_6: Option<bool> = None;
2143    loop {
2144      let field_ident = i_prot.read_field_begin()?;
2145      if field_ident.field_type == TType::Stop {
2146        break;
2147      }
2148      let field_id = field_id(&field_ident)?;
2149      match field_id {
2150        1 => {
2151          let val = i_prot.read_i64()?;
2152          f_1 = Some(val);
2153        },
2154        2 => {
2155          let val = i_prot.read_string()?;
2156          f_2 = Some(val);
2157        },
2158        3 => {
2159          let list_ident = i_prot.read_list_begin()?;
2160          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2161          for _ in 0..list_ident.size {
2162            let list_elem_19 = i_prot.read_string()?;
2163            val.push(list_elem_19);
2164          }
2165          i_prot.read_list_end()?;
2166          f_3 = Some(val);
2167        },
2168        4 => {
2169          let val = i_prot.read_bytes()?;
2170          f_4 = Some(val);
2171        },
2172        5 => {
2173          let val = i_prot.read_i64()?;
2174          f_5 = Some(val);
2175        },
2176        6 => {
2177          let val = i_prot.read_bool()?;
2178          f_6 = Some(val);
2179        },
2180        _ => {
2181          i_prot.skip(field_ident.field_type)?;
2182        },
2183      };
2184      i_prot.read_field_end()?;
2185    }
2186    i_prot.read_struct_end()?;
2187    verify_required_field_exists("TSInsertRecordReq.session_id", &f_1)?;
2188    verify_required_field_exists("TSInsertRecordReq.prefix_path", &f_2)?;
2189    verify_required_field_exists("TSInsertRecordReq.measurements", &f_3)?;
2190    verify_required_field_exists("TSInsertRecordReq.values", &f_4)?;
2191    verify_required_field_exists("TSInsertRecordReq.timestamp", &f_5)?;
2192    let ret = TSInsertRecordReq {
2193      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2194      prefix_path: f_2.expect("auto-generated code should have checked for presence of required fields"),
2195      measurements: f_3.expect("auto-generated code should have checked for presence of required fields"),
2196      values: f_4.expect("auto-generated code should have checked for presence of required fields"),
2197      timestamp: f_5.expect("auto-generated code should have checked for presence of required fields"),
2198      is_aligned: f_6,
2199    };
2200    Ok(ret)
2201  }
2202  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2203    let struct_ident = TStructIdentifier::new("TSInsertRecordReq");
2204    o_prot.write_struct_begin(&struct_ident)?;
2205    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
2206    o_prot.write_i64(self.session_id)?;
2207    o_prot.write_field_end()?;
2208    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 2))?;
2209    o_prot.write_string(&self.prefix_path)?;
2210    o_prot.write_field_end()?;
2211    o_prot.write_field_begin(&TFieldIdentifier::new("measurements", TType::List, 3))?;
2212    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.measurements.len() as i32))?;
2213    for e in &self.measurements {
2214      o_prot.write_string(e)?;
2215    }
2216    o_prot.write_list_end()?;
2217    o_prot.write_field_end()?;
2218    o_prot.write_field_begin(&TFieldIdentifier::new("values", TType::String, 4))?;
2219    o_prot.write_bytes(&self.values)?;
2220    o_prot.write_field_end()?;
2221    o_prot.write_field_begin(&TFieldIdentifier::new("timestamp", TType::I64, 5))?;
2222    o_prot.write_i64(self.timestamp)?;
2223    o_prot.write_field_end()?;
2224    if let Some(fld_var) = self.is_aligned {
2225      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 6))?;
2226      o_prot.write_bool(fld_var)?;
2227      o_prot.write_field_end()?
2228    }
2229    o_prot.write_field_stop()?;
2230    o_prot.write_struct_end()
2231  }
2232}
2233
2234//
2235// TSInsertStringRecordReq
2236//
2237
2238#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2239pub struct TSInsertStringRecordReq {
2240  pub session_id: i64,
2241  pub prefix_path: String,
2242  pub measurements: Vec<String>,
2243  pub values: Vec<String>,
2244  pub timestamp: i64,
2245  pub is_aligned: Option<bool>,
2246}
2247
2248impl TSInsertStringRecordReq {
2249  pub fn new<F6>(session_id: i64, prefix_path: String, measurements: Vec<String>, values: Vec<String>, timestamp: i64, is_aligned: F6) -> TSInsertStringRecordReq where F6: Into<Option<bool>> {
2250    TSInsertStringRecordReq {
2251      session_id,
2252      prefix_path,
2253      measurements,
2254      values,
2255      timestamp,
2256      is_aligned: is_aligned.into(),
2257    }
2258  }
2259  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertStringRecordReq> {
2260    i_prot.read_struct_begin()?;
2261    let mut f_1: Option<i64> = None;
2262    let mut f_2: Option<String> = None;
2263    let mut f_3: Option<Vec<String>> = None;
2264    let mut f_4: Option<Vec<String>> = None;
2265    let mut f_5: Option<i64> = None;
2266    let mut f_6: Option<bool> = None;
2267    loop {
2268      let field_ident = i_prot.read_field_begin()?;
2269      if field_ident.field_type == TType::Stop {
2270        break;
2271      }
2272      let field_id = field_id(&field_ident)?;
2273      match field_id {
2274        1 => {
2275          let val = i_prot.read_i64()?;
2276          f_1 = Some(val);
2277        },
2278        2 => {
2279          let val = i_prot.read_string()?;
2280          f_2 = Some(val);
2281        },
2282        3 => {
2283          let list_ident = i_prot.read_list_begin()?;
2284          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2285          for _ in 0..list_ident.size {
2286            let list_elem_20 = i_prot.read_string()?;
2287            val.push(list_elem_20);
2288          }
2289          i_prot.read_list_end()?;
2290          f_3 = Some(val);
2291        },
2292        4 => {
2293          let list_ident = i_prot.read_list_begin()?;
2294          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2295          for _ in 0..list_ident.size {
2296            let list_elem_21 = i_prot.read_string()?;
2297            val.push(list_elem_21);
2298          }
2299          i_prot.read_list_end()?;
2300          f_4 = Some(val);
2301        },
2302        5 => {
2303          let val = i_prot.read_i64()?;
2304          f_5 = Some(val);
2305        },
2306        6 => {
2307          let val = i_prot.read_bool()?;
2308          f_6 = Some(val);
2309        },
2310        _ => {
2311          i_prot.skip(field_ident.field_type)?;
2312        },
2313      };
2314      i_prot.read_field_end()?;
2315    }
2316    i_prot.read_struct_end()?;
2317    verify_required_field_exists("TSInsertStringRecordReq.session_id", &f_1)?;
2318    verify_required_field_exists("TSInsertStringRecordReq.prefix_path", &f_2)?;
2319    verify_required_field_exists("TSInsertStringRecordReq.measurements", &f_3)?;
2320    verify_required_field_exists("TSInsertStringRecordReq.values", &f_4)?;
2321    verify_required_field_exists("TSInsertStringRecordReq.timestamp", &f_5)?;
2322    let ret = TSInsertStringRecordReq {
2323      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2324      prefix_path: f_2.expect("auto-generated code should have checked for presence of required fields"),
2325      measurements: f_3.expect("auto-generated code should have checked for presence of required fields"),
2326      values: f_4.expect("auto-generated code should have checked for presence of required fields"),
2327      timestamp: f_5.expect("auto-generated code should have checked for presence of required fields"),
2328      is_aligned: f_6,
2329    };
2330    Ok(ret)
2331  }
2332  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2333    let struct_ident = TStructIdentifier::new("TSInsertStringRecordReq");
2334    o_prot.write_struct_begin(&struct_ident)?;
2335    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
2336    o_prot.write_i64(self.session_id)?;
2337    o_prot.write_field_end()?;
2338    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 2))?;
2339    o_prot.write_string(&self.prefix_path)?;
2340    o_prot.write_field_end()?;
2341    o_prot.write_field_begin(&TFieldIdentifier::new("measurements", TType::List, 3))?;
2342    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.measurements.len() as i32))?;
2343    for e in &self.measurements {
2344      o_prot.write_string(e)?;
2345    }
2346    o_prot.write_list_end()?;
2347    o_prot.write_field_end()?;
2348    o_prot.write_field_begin(&TFieldIdentifier::new("values", TType::List, 4))?;
2349    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.values.len() as i32))?;
2350    for e in &self.values {
2351      o_prot.write_string(e)?;
2352    }
2353    o_prot.write_list_end()?;
2354    o_prot.write_field_end()?;
2355    o_prot.write_field_begin(&TFieldIdentifier::new("timestamp", TType::I64, 5))?;
2356    o_prot.write_i64(self.timestamp)?;
2357    o_prot.write_field_end()?;
2358    if let Some(fld_var) = self.is_aligned {
2359      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 6))?;
2360      o_prot.write_bool(fld_var)?;
2361      o_prot.write_field_end()?
2362    }
2363    o_prot.write_field_stop()?;
2364    o_prot.write_struct_end()
2365  }
2366}
2367
2368//
2369// TSInsertTabletReq
2370//
2371
2372#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2373pub struct TSInsertTabletReq {
2374  pub session_id: i64,
2375  pub prefix_path: String,
2376  pub measurements: Vec<String>,
2377  pub values: Vec<u8>,
2378  pub timestamps: Vec<u8>,
2379  pub types: Vec<i32>,
2380  pub size: i32,
2381  pub is_aligned: Option<bool>,
2382}
2383
2384impl TSInsertTabletReq {
2385  pub fn new<F8>(session_id: i64, prefix_path: String, measurements: Vec<String>, values: Vec<u8>, timestamps: Vec<u8>, types: Vec<i32>, size: i32, is_aligned: F8) -> TSInsertTabletReq where F8: Into<Option<bool>> {
2386    TSInsertTabletReq {
2387      session_id,
2388      prefix_path,
2389      measurements,
2390      values,
2391      timestamps,
2392      types,
2393      size,
2394      is_aligned: is_aligned.into(),
2395    }
2396  }
2397  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertTabletReq> {
2398    i_prot.read_struct_begin()?;
2399    let mut f_1: Option<i64> = None;
2400    let mut f_2: Option<String> = None;
2401    let mut f_3: Option<Vec<String>> = None;
2402    let mut f_4: Option<Vec<u8>> = None;
2403    let mut f_5: Option<Vec<u8>> = None;
2404    let mut f_6: Option<Vec<i32>> = None;
2405    let mut f_7: Option<i32> = None;
2406    let mut f_8: Option<bool> = None;
2407    loop {
2408      let field_ident = i_prot.read_field_begin()?;
2409      if field_ident.field_type == TType::Stop {
2410        break;
2411      }
2412      let field_id = field_id(&field_ident)?;
2413      match field_id {
2414        1 => {
2415          let val = i_prot.read_i64()?;
2416          f_1 = Some(val);
2417        },
2418        2 => {
2419          let val = i_prot.read_string()?;
2420          f_2 = Some(val);
2421        },
2422        3 => {
2423          let list_ident = i_prot.read_list_begin()?;
2424          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2425          for _ in 0..list_ident.size {
2426            let list_elem_22 = i_prot.read_string()?;
2427            val.push(list_elem_22);
2428          }
2429          i_prot.read_list_end()?;
2430          f_3 = Some(val);
2431        },
2432        4 => {
2433          let val = i_prot.read_bytes()?;
2434          f_4 = Some(val);
2435        },
2436        5 => {
2437          let val = i_prot.read_bytes()?;
2438          f_5 = Some(val);
2439        },
2440        6 => {
2441          let list_ident = i_prot.read_list_begin()?;
2442          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
2443          for _ in 0..list_ident.size {
2444            let list_elem_23 = i_prot.read_i32()?;
2445            val.push(list_elem_23);
2446          }
2447          i_prot.read_list_end()?;
2448          f_6 = Some(val);
2449        },
2450        7 => {
2451          let val = i_prot.read_i32()?;
2452          f_7 = Some(val);
2453        },
2454        8 => {
2455          let val = i_prot.read_bool()?;
2456          f_8 = Some(val);
2457        },
2458        _ => {
2459          i_prot.skip(field_ident.field_type)?;
2460        },
2461      };
2462      i_prot.read_field_end()?;
2463    }
2464    i_prot.read_struct_end()?;
2465    verify_required_field_exists("TSInsertTabletReq.session_id", &f_1)?;
2466    verify_required_field_exists("TSInsertTabletReq.prefix_path", &f_2)?;
2467    verify_required_field_exists("TSInsertTabletReq.measurements", &f_3)?;
2468    verify_required_field_exists("TSInsertTabletReq.values", &f_4)?;
2469    verify_required_field_exists("TSInsertTabletReq.timestamps", &f_5)?;
2470    verify_required_field_exists("TSInsertTabletReq.types", &f_6)?;
2471    verify_required_field_exists("TSInsertTabletReq.size", &f_7)?;
2472    let ret = TSInsertTabletReq {
2473      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2474      prefix_path: f_2.expect("auto-generated code should have checked for presence of required fields"),
2475      measurements: f_3.expect("auto-generated code should have checked for presence of required fields"),
2476      values: f_4.expect("auto-generated code should have checked for presence of required fields"),
2477      timestamps: f_5.expect("auto-generated code should have checked for presence of required fields"),
2478      types: f_6.expect("auto-generated code should have checked for presence of required fields"),
2479      size: f_7.expect("auto-generated code should have checked for presence of required fields"),
2480      is_aligned: f_8,
2481    };
2482    Ok(ret)
2483  }
2484  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2485    let struct_ident = TStructIdentifier::new("TSInsertTabletReq");
2486    o_prot.write_struct_begin(&struct_ident)?;
2487    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
2488    o_prot.write_i64(self.session_id)?;
2489    o_prot.write_field_end()?;
2490    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 2))?;
2491    o_prot.write_string(&self.prefix_path)?;
2492    o_prot.write_field_end()?;
2493    o_prot.write_field_begin(&TFieldIdentifier::new("measurements", TType::List, 3))?;
2494    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.measurements.len() as i32))?;
2495    for e in &self.measurements {
2496      o_prot.write_string(e)?;
2497    }
2498    o_prot.write_list_end()?;
2499    o_prot.write_field_end()?;
2500    o_prot.write_field_begin(&TFieldIdentifier::new("values", TType::String, 4))?;
2501    o_prot.write_bytes(&self.values)?;
2502    o_prot.write_field_end()?;
2503    o_prot.write_field_begin(&TFieldIdentifier::new("timestamps", TType::String, 5))?;
2504    o_prot.write_bytes(&self.timestamps)?;
2505    o_prot.write_field_end()?;
2506    o_prot.write_field_begin(&TFieldIdentifier::new("types", TType::List, 6))?;
2507    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.types.len() as i32))?;
2508    for e in &self.types {
2509      o_prot.write_i32(*e)?;
2510    }
2511    o_prot.write_list_end()?;
2512    o_prot.write_field_end()?;
2513    o_prot.write_field_begin(&TFieldIdentifier::new("size", TType::I32, 7))?;
2514    o_prot.write_i32(self.size)?;
2515    o_prot.write_field_end()?;
2516    if let Some(fld_var) = self.is_aligned {
2517      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 8))?;
2518      o_prot.write_bool(fld_var)?;
2519      o_prot.write_field_end()?
2520    }
2521    o_prot.write_field_stop()?;
2522    o_prot.write_struct_end()
2523  }
2524}
2525
2526//
2527// TSInsertTabletsReq
2528//
2529
2530#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2531pub struct TSInsertTabletsReq {
2532  pub session_id: i64,
2533  pub prefix_paths: Vec<String>,
2534  pub measurements_list: Vec<Vec<String>>,
2535  pub values_list: Vec<Vec<u8>>,
2536  pub timestamps_list: Vec<Vec<u8>>,
2537  pub types_list: Vec<Vec<i32>>,
2538  pub size_list: Vec<i32>,
2539  pub is_aligned: Option<bool>,
2540}
2541
2542impl TSInsertTabletsReq {
2543  pub fn new<F8>(session_id: i64, prefix_paths: Vec<String>, measurements_list: Vec<Vec<String>>, values_list: Vec<Vec<u8>>, timestamps_list: Vec<Vec<u8>>, types_list: Vec<Vec<i32>>, size_list: Vec<i32>, is_aligned: F8) -> TSInsertTabletsReq where F8: Into<Option<bool>> {
2544    TSInsertTabletsReq {
2545      session_id,
2546      prefix_paths,
2547      measurements_list,
2548      values_list,
2549      timestamps_list,
2550      types_list,
2551      size_list,
2552      is_aligned: is_aligned.into(),
2553    }
2554  }
2555  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertTabletsReq> {
2556    i_prot.read_struct_begin()?;
2557    let mut f_1: Option<i64> = None;
2558    let mut f_2: Option<Vec<String>> = None;
2559    let mut f_3: Option<Vec<Vec<String>>> = None;
2560    let mut f_4: Option<Vec<Vec<u8>>> = None;
2561    let mut f_5: Option<Vec<Vec<u8>>> = None;
2562    let mut f_6: Option<Vec<Vec<i32>>> = None;
2563    let mut f_7: Option<Vec<i32>> = None;
2564    let mut f_8: Option<bool> = None;
2565    loop {
2566      let field_ident = i_prot.read_field_begin()?;
2567      if field_ident.field_type == TType::Stop {
2568        break;
2569      }
2570      let field_id = field_id(&field_ident)?;
2571      match field_id {
2572        1 => {
2573          let val = i_prot.read_i64()?;
2574          f_1 = Some(val);
2575        },
2576        2 => {
2577          let list_ident = i_prot.read_list_begin()?;
2578          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2579          for _ in 0..list_ident.size {
2580            let list_elem_24 = i_prot.read_string()?;
2581            val.push(list_elem_24);
2582          }
2583          i_prot.read_list_end()?;
2584          f_2 = Some(val);
2585        },
2586        3 => {
2587          let list_ident = i_prot.read_list_begin()?;
2588          let mut val: Vec<Vec<String>> = Vec::with_capacity(list_ident.size as usize);
2589          for _ in 0..list_ident.size {
2590            let list_ident = i_prot.read_list_begin()?;
2591            let mut list_elem_25: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2592            for _ in 0..list_ident.size {
2593              let list_elem_26 = i_prot.read_string()?;
2594              list_elem_25.push(list_elem_26);
2595            }
2596            i_prot.read_list_end()?;
2597            val.push(list_elem_25);
2598          }
2599          i_prot.read_list_end()?;
2600          f_3 = Some(val);
2601        },
2602        4 => {
2603          let list_ident = i_prot.read_list_begin()?;
2604          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
2605          for _ in 0..list_ident.size {
2606            let list_elem_27 = i_prot.read_bytes()?;
2607            val.push(list_elem_27);
2608          }
2609          i_prot.read_list_end()?;
2610          f_4 = Some(val);
2611        },
2612        5 => {
2613          let list_ident = i_prot.read_list_begin()?;
2614          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
2615          for _ in 0..list_ident.size {
2616            let list_elem_28 = i_prot.read_bytes()?;
2617            val.push(list_elem_28);
2618          }
2619          i_prot.read_list_end()?;
2620          f_5 = Some(val);
2621        },
2622        6 => {
2623          let list_ident = i_prot.read_list_begin()?;
2624          let mut val: Vec<Vec<i32>> = Vec::with_capacity(list_ident.size as usize);
2625          for _ in 0..list_ident.size {
2626            let list_ident = i_prot.read_list_begin()?;
2627            let mut list_elem_29: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
2628            for _ in 0..list_ident.size {
2629              let list_elem_30 = i_prot.read_i32()?;
2630              list_elem_29.push(list_elem_30);
2631            }
2632            i_prot.read_list_end()?;
2633            val.push(list_elem_29);
2634          }
2635          i_prot.read_list_end()?;
2636          f_6 = Some(val);
2637        },
2638        7 => {
2639          let list_ident = i_prot.read_list_begin()?;
2640          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
2641          for _ in 0..list_ident.size {
2642            let list_elem_31 = i_prot.read_i32()?;
2643            val.push(list_elem_31);
2644          }
2645          i_prot.read_list_end()?;
2646          f_7 = Some(val);
2647        },
2648        8 => {
2649          let val = i_prot.read_bool()?;
2650          f_8 = Some(val);
2651        },
2652        _ => {
2653          i_prot.skip(field_ident.field_type)?;
2654        },
2655      };
2656      i_prot.read_field_end()?;
2657    }
2658    i_prot.read_struct_end()?;
2659    verify_required_field_exists("TSInsertTabletsReq.session_id", &f_1)?;
2660    verify_required_field_exists("TSInsertTabletsReq.prefix_paths", &f_2)?;
2661    verify_required_field_exists("TSInsertTabletsReq.measurements_list", &f_3)?;
2662    verify_required_field_exists("TSInsertTabletsReq.values_list", &f_4)?;
2663    verify_required_field_exists("TSInsertTabletsReq.timestamps_list", &f_5)?;
2664    verify_required_field_exists("TSInsertTabletsReq.types_list", &f_6)?;
2665    verify_required_field_exists("TSInsertTabletsReq.size_list", &f_7)?;
2666    let ret = TSInsertTabletsReq {
2667      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2668      prefix_paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
2669      measurements_list: f_3.expect("auto-generated code should have checked for presence of required fields"),
2670      values_list: f_4.expect("auto-generated code should have checked for presence of required fields"),
2671      timestamps_list: f_5.expect("auto-generated code should have checked for presence of required fields"),
2672      types_list: f_6.expect("auto-generated code should have checked for presence of required fields"),
2673      size_list: f_7.expect("auto-generated code should have checked for presence of required fields"),
2674      is_aligned: f_8,
2675    };
2676    Ok(ret)
2677  }
2678  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2679    let struct_ident = TStructIdentifier::new("TSInsertTabletsReq");
2680    o_prot.write_struct_begin(&struct_ident)?;
2681    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
2682    o_prot.write_i64(self.session_id)?;
2683    o_prot.write_field_end()?;
2684    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPaths", TType::List, 2))?;
2685    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.prefix_paths.len() as i32))?;
2686    for e in &self.prefix_paths {
2687      o_prot.write_string(e)?;
2688    }
2689    o_prot.write_list_end()?;
2690    o_prot.write_field_end()?;
2691    o_prot.write_field_begin(&TFieldIdentifier::new("measurementsList", TType::List, 3))?;
2692    o_prot.write_list_begin(&TListIdentifier::new(TType::List, self.measurements_list.len() as i32))?;
2693    for e in &self.measurements_list {
2694      o_prot.write_list_begin(&TListIdentifier::new(TType::String, e.len() as i32))?;
2695      for e in e {
2696        o_prot.write_string(e)?;
2697      }
2698      o_prot.write_list_end()?;
2699    }
2700    o_prot.write_list_end()?;
2701    o_prot.write_field_end()?;
2702    o_prot.write_field_begin(&TFieldIdentifier::new("valuesList", TType::List, 4))?;
2703    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.values_list.len() as i32))?;
2704    for e in &self.values_list {
2705      o_prot.write_bytes(e)?;
2706    }
2707    o_prot.write_list_end()?;
2708    o_prot.write_field_end()?;
2709    o_prot.write_field_begin(&TFieldIdentifier::new("timestampsList", TType::List, 5))?;
2710    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.timestamps_list.len() as i32))?;
2711    for e in &self.timestamps_list {
2712      o_prot.write_bytes(e)?;
2713    }
2714    o_prot.write_list_end()?;
2715    o_prot.write_field_end()?;
2716    o_prot.write_field_begin(&TFieldIdentifier::new("typesList", TType::List, 6))?;
2717    o_prot.write_list_begin(&TListIdentifier::new(TType::List, self.types_list.len() as i32))?;
2718    for e in &self.types_list {
2719      o_prot.write_list_begin(&TListIdentifier::new(TType::I32, e.len() as i32))?;
2720      for e in e {
2721        o_prot.write_i32(*e)?;
2722      }
2723      o_prot.write_list_end()?;
2724    }
2725    o_prot.write_list_end()?;
2726    o_prot.write_field_end()?;
2727    o_prot.write_field_begin(&TFieldIdentifier::new("sizeList", TType::List, 7))?;
2728    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.size_list.len() as i32))?;
2729    for e in &self.size_list {
2730      o_prot.write_i32(*e)?;
2731    }
2732    o_prot.write_list_end()?;
2733    o_prot.write_field_end()?;
2734    if let Some(fld_var) = self.is_aligned {
2735      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 8))?;
2736      o_prot.write_bool(fld_var)?;
2737      o_prot.write_field_end()?
2738    }
2739    o_prot.write_field_stop()?;
2740    o_prot.write_struct_end()
2741  }
2742}
2743
2744//
2745// TSInsertRecordsReq
2746//
2747
2748#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2749pub struct TSInsertRecordsReq {
2750  pub session_id: i64,
2751  pub prefix_paths: Vec<String>,
2752  pub measurements_list: Vec<Vec<String>>,
2753  pub values_list: Vec<Vec<u8>>,
2754  pub timestamps: Vec<i64>,
2755  pub is_aligned: Option<bool>,
2756}
2757
2758impl TSInsertRecordsReq {
2759  pub fn new<F6>(session_id: i64, prefix_paths: Vec<String>, measurements_list: Vec<Vec<String>>, values_list: Vec<Vec<u8>>, timestamps: Vec<i64>, is_aligned: F6) -> TSInsertRecordsReq where F6: Into<Option<bool>> {
2760    TSInsertRecordsReq {
2761      session_id,
2762      prefix_paths,
2763      measurements_list,
2764      values_list,
2765      timestamps,
2766      is_aligned: is_aligned.into(),
2767    }
2768  }
2769  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertRecordsReq> {
2770    i_prot.read_struct_begin()?;
2771    let mut f_1: Option<i64> = None;
2772    let mut f_2: Option<Vec<String>> = None;
2773    let mut f_3: Option<Vec<Vec<String>>> = None;
2774    let mut f_4: Option<Vec<Vec<u8>>> = None;
2775    let mut f_5: Option<Vec<i64>> = None;
2776    let mut f_6: Option<bool> = None;
2777    loop {
2778      let field_ident = i_prot.read_field_begin()?;
2779      if field_ident.field_type == TType::Stop {
2780        break;
2781      }
2782      let field_id = field_id(&field_ident)?;
2783      match field_id {
2784        1 => {
2785          let val = i_prot.read_i64()?;
2786          f_1 = Some(val);
2787        },
2788        2 => {
2789          let list_ident = i_prot.read_list_begin()?;
2790          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2791          for _ in 0..list_ident.size {
2792            let list_elem_32 = i_prot.read_string()?;
2793            val.push(list_elem_32);
2794          }
2795          i_prot.read_list_end()?;
2796          f_2 = Some(val);
2797        },
2798        3 => {
2799          let list_ident = i_prot.read_list_begin()?;
2800          let mut val: Vec<Vec<String>> = Vec::with_capacity(list_ident.size as usize);
2801          for _ in 0..list_ident.size {
2802            let list_ident = i_prot.read_list_begin()?;
2803            let mut list_elem_33: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2804            for _ in 0..list_ident.size {
2805              let list_elem_34 = i_prot.read_string()?;
2806              list_elem_33.push(list_elem_34);
2807            }
2808            i_prot.read_list_end()?;
2809            val.push(list_elem_33);
2810          }
2811          i_prot.read_list_end()?;
2812          f_3 = Some(val);
2813        },
2814        4 => {
2815          let list_ident = i_prot.read_list_begin()?;
2816          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
2817          for _ in 0..list_ident.size {
2818            let list_elem_35 = i_prot.read_bytes()?;
2819            val.push(list_elem_35);
2820          }
2821          i_prot.read_list_end()?;
2822          f_4 = Some(val);
2823        },
2824        5 => {
2825          let list_ident = i_prot.read_list_begin()?;
2826          let mut val: Vec<i64> = Vec::with_capacity(list_ident.size as usize);
2827          for _ in 0..list_ident.size {
2828            let list_elem_36 = i_prot.read_i64()?;
2829            val.push(list_elem_36);
2830          }
2831          i_prot.read_list_end()?;
2832          f_5 = Some(val);
2833        },
2834        6 => {
2835          let val = i_prot.read_bool()?;
2836          f_6 = Some(val);
2837        },
2838        _ => {
2839          i_prot.skip(field_ident.field_type)?;
2840        },
2841      };
2842      i_prot.read_field_end()?;
2843    }
2844    i_prot.read_struct_end()?;
2845    verify_required_field_exists("TSInsertRecordsReq.session_id", &f_1)?;
2846    verify_required_field_exists("TSInsertRecordsReq.prefix_paths", &f_2)?;
2847    verify_required_field_exists("TSInsertRecordsReq.measurements_list", &f_3)?;
2848    verify_required_field_exists("TSInsertRecordsReq.values_list", &f_4)?;
2849    verify_required_field_exists("TSInsertRecordsReq.timestamps", &f_5)?;
2850    let ret = TSInsertRecordsReq {
2851      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2852      prefix_paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
2853      measurements_list: f_3.expect("auto-generated code should have checked for presence of required fields"),
2854      values_list: f_4.expect("auto-generated code should have checked for presence of required fields"),
2855      timestamps: f_5.expect("auto-generated code should have checked for presence of required fields"),
2856      is_aligned: f_6,
2857    };
2858    Ok(ret)
2859  }
2860  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2861    let struct_ident = TStructIdentifier::new("TSInsertRecordsReq");
2862    o_prot.write_struct_begin(&struct_ident)?;
2863    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
2864    o_prot.write_i64(self.session_id)?;
2865    o_prot.write_field_end()?;
2866    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPaths", TType::List, 2))?;
2867    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.prefix_paths.len() as i32))?;
2868    for e in &self.prefix_paths {
2869      o_prot.write_string(e)?;
2870    }
2871    o_prot.write_list_end()?;
2872    o_prot.write_field_end()?;
2873    o_prot.write_field_begin(&TFieldIdentifier::new("measurementsList", TType::List, 3))?;
2874    o_prot.write_list_begin(&TListIdentifier::new(TType::List, self.measurements_list.len() as i32))?;
2875    for e in &self.measurements_list {
2876      o_prot.write_list_begin(&TListIdentifier::new(TType::String, e.len() as i32))?;
2877      for e in e {
2878        o_prot.write_string(e)?;
2879      }
2880      o_prot.write_list_end()?;
2881    }
2882    o_prot.write_list_end()?;
2883    o_prot.write_field_end()?;
2884    o_prot.write_field_begin(&TFieldIdentifier::new("valuesList", TType::List, 4))?;
2885    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.values_list.len() as i32))?;
2886    for e in &self.values_list {
2887      o_prot.write_bytes(e)?;
2888    }
2889    o_prot.write_list_end()?;
2890    o_prot.write_field_end()?;
2891    o_prot.write_field_begin(&TFieldIdentifier::new("timestamps", TType::List, 5))?;
2892    o_prot.write_list_begin(&TListIdentifier::new(TType::I64, self.timestamps.len() as i32))?;
2893    for e in &self.timestamps {
2894      o_prot.write_i64(*e)?;
2895    }
2896    o_prot.write_list_end()?;
2897    o_prot.write_field_end()?;
2898    if let Some(fld_var) = self.is_aligned {
2899      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 6))?;
2900      o_prot.write_bool(fld_var)?;
2901      o_prot.write_field_end()?
2902    }
2903    o_prot.write_field_stop()?;
2904    o_prot.write_struct_end()
2905  }
2906}
2907
2908//
2909// TSInsertRecordsOfOneDeviceReq
2910//
2911
2912#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2913pub struct TSInsertRecordsOfOneDeviceReq {
2914  pub session_id: i64,
2915  pub prefix_path: String,
2916  pub measurements_list: Vec<Vec<String>>,
2917  pub values_list: Vec<Vec<u8>>,
2918  pub timestamps: Vec<i64>,
2919  pub is_aligned: Option<bool>,
2920}
2921
2922impl TSInsertRecordsOfOneDeviceReq {
2923  pub fn new<F6>(session_id: i64, prefix_path: String, measurements_list: Vec<Vec<String>>, values_list: Vec<Vec<u8>>, timestamps: Vec<i64>, is_aligned: F6) -> TSInsertRecordsOfOneDeviceReq where F6: Into<Option<bool>> {
2924    TSInsertRecordsOfOneDeviceReq {
2925      session_id,
2926      prefix_path,
2927      measurements_list,
2928      values_list,
2929      timestamps,
2930      is_aligned: is_aligned.into(),
2931    }
2932  }
2933  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertRecordsOfOneDeviceReq> {
2934    i_prot.read_struct_begin()?;
2935    let mut f_1: Option<i64> = None;
2936    let mut f_2: Option<String> = None;
2937    let mut f_3: Option<Vec<Vec<String>>> = None;
2938    let mut f_4: Option<Vec<Vec<u8>>> = None;
2939    let mut f_5: Option<Vec<i64>> = None;
2940    let mut f_6: Option<bool> = None;
2941    loop {
2942      let field_ident = i_prot.read_field_begin()?;
2943      if field_ident.field_type == TType::Stop {
2944        break;
2945      }
2946      let field_id = field_id(&field_ident)?;
2947      match field_id {
2948        1 => {
2949          let val = i_prot.read_i64()?;
2950          f_1 = Some(val);
2951        },
2952        2 => {
2953          let val = i_prot.read_string()?;
2954          f_2 = Some(val);
2955        },
2956        3 => {
2957          let list_ident = i_prot.read_list_begin()?;
2958          let mut val: Vec<Vec<String>> = Vec::with_capacity(list_ident.size as usize);
2959          for _ in 0..list_ident.size {
2960            let list_ident = i_prot.read_list_begin()?;
2961            let mut list_elem_37: Vec<String> = Vec::with_capacity(list_ident.size as usize);
2962            for _ in 0..list_ident.size {
2963              let list_elem_38 = i_prot.read_string()?;
2964              list_elem_37.push(list_elem_38);
2965            }
2966            i_prot.read_list_end()?;
2967            val.push(list_elem_37);
2968          }
2969          i_prot.read_list_end()?;
2970          f_3 = Some(val);
2971        },
2972        4 => {
2973          let list_ident = i_prot.read_list_begin()?;
2974          let mut val: Vec<Vec<u8>> = Vec::with_capacity(list_ident.size as usize);
2975          for _ in 0..list_ident.size {
2976            let list_elem_39 = i_prot.read_bytes()?;
2977            val.push(list_elem_39);
2978          }
2979          i_prot.read_list_end()?;
2980          f_4 = Some(val);
2981        },
2982        5 => {
2983          let list_ident = i_prot.read_list_begin()?;
2984          let mut val: Vec<i64> = Vec::with_capacity(list_ident.size as usize);
2985          for _ in 0..list_ident.size {
2986            let list_elem_40 = i_prot.read_i64()?;
2987            val.push(list_elem_40);
2988          }
2989          i_prot.read_list_end()?;
2990          f_5 = Some(val);
2991        },
2992        6 => {
2993          let val = i_prot.read_bool()?;
2994          f_6 = Some(val);
2995        },
2996        _ => {
2997          i_prot.skip(field_ident.field_type)?;
2998        },
2999      };
3000      i_prot.read_field_end()?;
3001    }
3002    i_prot.read_struct_end()?;
3003    verify_required_field_exists("TSInsertRecordsOfOneDeviceReq.session_id", &f_1)?;
3004    verify_required_field_exists("TSInsertRecordsOfOneDeviceReq.prefix_path", &f_2)?;
3005    verify_required_field_exists("TSInsertRecordsOfOneDeviceReq.measurements_list", &f_3)?;
3006    verify_required_field_exists("TSInsertRecordsOfOneDeviceReq.values_list", &f_4)?;
3007    verify_required_field_exists("TSInsertRecordsOfOneDeviceReq.timestamps", &f_5)?;
3008    let ret = TSInsertRecordsOfOneDeviceReq {
3009      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3010      prefix_path: f_2.expect("auto-generated code should have checked for presence of required fields"),
3011      measurements_list: f_3.expect("auto-generated code should have checked for presence of required fields"),
3012      values_list: f_4.expect("auto-generated code should have checked for presence of required fields"),
3013      timestamps: f_5.expect("auto-generated code should have checked for presence of required fields"),
3014      is_aligned: f_6,
3015    };
3016    Ok(ret)
3017  }
3018  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3019    let struct_ident = TStructIdentifier::new("TSInsertRecordsOfOneDeviceReq");
3020    o_prot.write_struct_begin(&struct_ident)?;
3021    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3022    o_prot.write_i64(self.session_id)?;
3023    o_prot.write_field_end()?;
3024    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 2))?;
3025    o_prot.write_string(&self.prefix_path)?;
3026    o_prot.write_field_end()?;
3027    o_prot.write_field_begin(&TFieldIdentifier::new("measurementsList", TType::List, 3))?;
3028    o_prot.write_list_begin(&TListIdentifier::new(TType::List, self.measurements_list.len() as i32))?;
3029    for e in &self.measurements_list {
3030      o_prot.write_list_begin(&TListIdentifier::new(TType::String, e.len() as i32))?;
3031      for e in e {
3032        o_prot.write_string(e)?;
3033      }
3034      o_prot.write_list_end()?;
3035    }
3036    o_prot.write_list_end()?;
3037    o_prot.write_field_end()?;
3038    o_prot.write_field_begin(&TFieldIdentifier::new("valuesList", TType::List, 4))?;
3039    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.values_list.len() as i32))?;
3040    for e in &self.values_list {
3041      o_prot.write_bytes(e)?;
3042    }
3043    o_prot.write_list_end()?;
3044    o_prot.write_field_end()?;
3045    o_prot.write_field_begin(&TFieldIdentifier::new("timestamps", TType::List, 5))?;
3046    o_prot.write_list_begin(&TListIdentifier::new(TType::I64, self.timestamps.len() as i32))?;
3047    for e in &self.timestamps {
3048      o_prot.write_i64(*e)?;
3049    }
3050    o_prot.write_list_end()?;
3051    o_prot.write_field_end()?;
3052    if let Some(fld_var) = self.is_aligned {
3053      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 6))?;
3054      o_prot.write_bool(fld_var)?;
3055      o_prot.write_field_end()?
3056    }
3057    o_prot.write_field_stop()?;
3058    o_prot.write_struct_end()
3059  }
3060}
3061
3062//
3063// TSInsertStringRecordsReq
3064//
3065
3066#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3067pub struct TSInsertStringRecordsReq {
3068  pub session_id: i64,
3069  pub prefix_paths: Vec<String>,
3070  pub measurements_list: Vec<Vec<String>>,
3071  pub values_list: Vec<Vec<String>>,
3072  pub timestamps: Vec<i64>,
3073  pub is_aligned: Option<bool>,
3074}
3075
3076impl TSInsertStringRecordsReq {
3077  pub fn new<F6>(session_id: i64, prefix_paths: Vec<String>, measurements_list: Vec<Vec<String>>, values_list: Vec<Vec<String>>, timestamps: Vec<i64>, is_aligned: F6) -> TSInsertStringRecordsReq where F6: Into<Option<bool>> {
3078    TSInsertStringRecordsReq {
3079      session_id,
3080      prefix_paths,
3081      measurements_list,
3082      values_list,
3083      timestamps,
3084      is_aligned: is_aligned.into(),
3085    }
3086  }
3087  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSInsertStringRecordsReq> {
3088    i_prot.read_struct_begin()?;
3089    let mut f_1: Option<i64> = None;
3090    let mut f_2: Option<Vec<String>> = None;
3091    let mut f_3: Option<Vec<Vec<String>>> = None;
3092    let mut f_4: Option<Vec<Vec<String>>> = None;
3093    let mut f_5: Option<Vec<i64>> = None;
3094    let mut f_6: Option<bool> = None;
3095    loop {
3096      let field_ident = i_prot.read_field_begin()?;
3097      if field_ident.field_type == TType::Stop {
3098        break;
3099      }
3100      let field_id = field_id(&field_ident)?;
3101      match field_id {
3102        1 => {
3103          let val = i_prot.read_i64()?;
3104          f_1 = Some(val);
3105        },
3106        2 => {
3107          let list_ident = i_prot.read_list_begin()?;
3108          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3109          for _ in 0..list_ident.size {
3110            let list_elem_41 = i_prot.read_string()?;
3111            val.push(list_elem_41);
3112          }
3113          i_prot.read_list_end()?;
3114          f_2 = Some(val);
3115        },
3116        3 => {
3117          let list_ident = i_prot.read_list_begin()?;
3118          let mut val: Vec<Vec<String>> = Vec::with_capacity(list_ident.size as usize);
3119          for _ in 0..list_ident.size {
3120            let list_ident = i_prot.read_list_begin()?;
3121            let mut list_elem_42: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3122            for _ in 0..list_ident.size {
3123              let list_elem_43 = i_prot.read_string()?;
3124              list_elem_42.push(list_elem_43);
3125            }
3126            i_prot.read_list_end()?;
3127            val.push(list_elem_42);
3128          }
3129          i_prot.read_list_end()?;
3130          f_3 = Some(val);
3131        },
3132        4 => {
3133          let list_ident = i_prot.read_list_begin()?;
3134          let mut val: Vec<Vec<String>> = Vec::with_capacity(list_ident.size as usize);
3135          for _ in 0..list_ident.size {
3136            let list_ident = i_prot.read_list_begin()?;
3137            let mut list_elem_44: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3138            for _ in 0..list_ident.size {
3139              let list_elem_45 = i_prot.read_string()?;
3140              list_elem_44.push(list_elem_45);
3141            }
3142            i_prot.read_list_end()?;
3143            val.push(list_elem_44);
3144          }
3145          i_prot.read_list_end()?;
3146          f_4 = Some(val);
3147        },
3148        5 => {
3149          let list_ident = i_prot.read_list_begin()?;
3150          let mut val: Vec<i64> = Vec::with_capacity(list_ident.size as usize);
3151          for _ in 0..list_ident.size {
3152            let list_elem_46 = i_prot.read_i64()?;
3153            val.push(list_elem_46);
3154          }
3155          i_prot.read_list_end()?;
3156          f_5 = Some(val);
3157        },
3158        6 => {
3159          let val = i_prot.read_bool()?;
3160          f_6 = Some(val);
3161        },
3162        _ => {
3163          i_prot.skip(field_ident.field_type)?;
3164        },
3165      };
3166      i_prot.read_field_end()?;
3167    }
3168    i_prot.read_struct_end()?;
3169    verify_required_field_exists("TSInsertStringRecordsReq.session_id", &f_1)?;
3170    verify_required_field_exists("TSInsertStringRecordsReq.prefix_paths", &f_2)?;
3171    verify_required_field_exists("TSInsertStringRecordsReq.measurements_list", &f_3)?;
3172    verify_required_field_exists("TSInsertStringRecordsReq.values_list", &f_4)?;
3173    verify_required_field_exists("TSInsertStringRecordsReq.timestamps", &f_5)?;
3174    let ret = TSInsertStringRecordsReq {
3175      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3176      prefix_paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
3177      measurements_list: f_3.expect("auto-generated code should have checked for presence of required fields"),
3178      values_list: f_4.expect("auto-generated code should have checked for presence of required fields"),
3179      timestamps: f_5.expect("auto-generated code should have checked for presence of required fields"),
3180      is_aligned: f_6,
3181    };
3182    Ok(ret)
3183  }
3184  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3185    let struct_ident = TStructIdentifier::new("TSInsertStringRecordsReq");
3186    o_prot.write_struct_begin(&struct_ident)?;
3187    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3188    o_prot.write_i64(self.session_id)?;
3189    o_prot.write_field_end()?;
3190    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPaths", TType::List, 2))?;
3191    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.prefix_paths.len() as i32))?;
3192    for e in &self.prefix_paths {
3193      o_prot.write_string(e)?;
3194    }
3195    o_prot.write_list_end()?;
3196    o_prot.write_field_end()?;
3197    o_prot.write_field_begin(&TFieldIdentifier::new("measurementsList", TType::List, 3))?;
3198    o_prot.write_list_begin(&TListIdentifier::new(TType::List, self.measurements_list.len() as i32))?;
3199    for e in &self.measurements_list {
3200      o_prot.write_list_begin(&TListIdentifier::new(TType::String, e.len() as i32))?;
3201      for e in e {
3202        o_prot.write_string(e)?;
3203      }
3204      o_prot.write_list_end()?;
3205    }
3206    o_prot.write_list_end()?;
3207    o_prot.write_field_end()?;
3208    o_prot.write_field_begin(&TFieldIdentifier::new("valuesList", TType::List, 4))?;
3209    o_prot.write_list_begin(&TListIdentifier::new(TType::List, self.values_list.len() as i32))?;
3210    for e in &self.values_list {
3211      o_prot.write_list_begin(&TListIdentifier::new(TType::String, e.len() as i32))?;
3212      for e in e {
3213        o_prot.write_string(e)?;
3214      }
3215      o_prot.write_list_end()?;
3216    }
3217    o_prot.write_list_end()?;
3218    o_prot.write_field_end()?;
3219    o_prot.write_field_begin(&TFieldIdentifier::new("timestamps", TType::List, 5))?;
3220    o_prot.write_list_begin(&TListIdentifier::new(TType::I64, self.timestamps.len() as i32))?;
3221    for e in &self.timestamps {
3222      o_prot.write_i64(*e)?;
3223    }
3224    o_prot.write_list_end()?;
3225    o_prot.write_field_end()?;
3226    if let Some(fld_var) = self.is_aligned {
3227      o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 6))?;
3228      o_prot.write_bool(fld_var)?;
3229      o_prot.write_field_end()?
3230    }
3231    o_prot.write_field_stop()?;
3232    o_prot.write_struct_end()
3233  }
3234}
3235
3236//
3237// TSDeleteDataReq
3238//
3239
3240#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3241pub struct TSDeleteDataReq {
3242  pub session_id: i64,
3243  pub paths: Vec<String>,
3244  pub start_time: i64,
3245  pub end_time: i64,
3246}
3247
3248impl TSDeleteDataReq {
3249  pub fn new(session_id: i64, paths: Vec<String>, start_time: i64, end_time: i64) -> TSDeleteDataReq {
3250    TSDeleteDataReq {
3251      session_id,
3252      paths,
3253      start_time,
3254      end_time,
3255    }
3256  }
3257  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSDeleteDataReq> {
3258    i_prot.read_struct_begin()?;
3259    let mut f_1: Option<i64> = None;
3260    let mut f_2: Option<Vec<String>> = None;
3261    let mut f_3: Option<i64> = None;
3262    let mut f_4: Option<i64> = None;
3263    loop {
3264      let field_ident = i_prot.read_field_begin()?;
3265      if field_ident.field_type == TType::Stop {
3266        break;
3267      }
3268      let field_id = field_id(&field_ident)?;
3269      match field_id {
3270        1 => {
3271          let val = i_prot.read_i64()?;
3272          f_1 = Some(val);
3273        },
3274        2 => {
3275          let list_ident = i_prot.read_list_begin()?;
3276          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3277          for _ in 0..list_ident.size {
3278            let list_elem_47 = i_prot.read_string()?;
3279            val.push(list_elem_47);
3280          }
3281          i_prot.read_list_end()?;
3282          f_2 = Some(val);
3283        },
3284        3 => {
3285          let val = i_prot.read_i64()?;
3286          f_3 = Some(val);
3287        },
3288        4 => {
3289          let val = i_prot.read_i64()?;
3290          f_4 = Some(val);
3291        },
3292        _ => {
3293          i_prot.skip(field_ident.field_type)?;
3294        },
3295      };
3296      i_prot.read_field_end()?;
3297    }
3298    i_prot.read_struct_end()?;
3299    verify_required_field_exists("TSDeleteDataReq.session_id", &f_1)?;
3300    verify_required_field_exists("TSDeleteDataReq.paths", &f_2)?;
3301    verify_required_field_exists("TSDeleteDataReq.start_time", &f_3)?;
3302    verify_required_field_exists("TSDeleteDataReq.end_time", &f_4)?;
3303    let ret = TSDeleteDataReq {
3304      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3305      paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
3306      start_time: f_3.expect("auto-generated code should have checked for presence of required fields"),
3307      end_time: f_4.expect("auto-generated code should have checked for presence of required fields"),
3308    };
3309    Ok(ret)
3310  }
3311  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3312    let struct_ident = TStructIdentifier::new("TSDeleteDataReq");
3313    o_prot.write_struct_begin(&struct_ident)?;
3314    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3315    o_prot.write_i64(self.session_id)?;
3316    o_prot.write_field_end()?;
3317    o_prot.write_field_begin(&TFieldIdentifier::new("paths", TType::List, 2))?;
3318    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.paths.len() as i32))?;
3319    for e in &self.paths {
3320      o_prot.write_string(e)?;
3321    }
3322    o_prot.write_list_end()?;
3323    o_prot.write_field_end()?;
3324    o_prot.write_field_begin(&TFieldIdentifier::new("startTime", TType::I64, 3))?;
3325    o_prot.write_i64(self.start_time)?;
3326    o_prot.write_field_end()?;
3327    o_prot.write_field_begin(&TFieldIdentifier::new("endTime", TType::I64, 4))?;
3328    o_prot.write_i64(self.end_time)?;
3329    o_prot.write_field_end()?;
3330    o_prot.write_field_stop()?;
3331    o_prot.write_struct_end()
3332  }
3333}
3334
3335//
3336// TSCreateTimeseriesReq
3337//
3338
3339#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3340pub struct TSCreateTimeseriesReq {
3341  pub session_id: i64,
3342  pub path: String,
3343  pub data_type: i32,
3344  pub encoding: i32,
3345  pub compressor: i32,
3346  pub props: Option<BTreeMap<String, String>>,
3347  pub tags: Option<BTreeMap<String, String>>,
3348  pub attributes: Option<BTreeMap<String, String>>,
3349  pub measurement_alias: Option<String>,
3350}
3351
3352impl TSCreateTimeseriesReq {
3353  pub fn new<F6, F7, F8, F9>(session_id: i64, path: String, data_type: i32, encoding: i32, compressor: i32, props: F6, tags: F7, attributes: F8, measurement_alias: F9) -> TSCreateTimeseriesReq where F6: Into<Option<BTreeMap<String, String>>>, F7: Into<Option<BTreeMap<String, String>>>, F8: Into<Option<BTreeMap<String, String>>>, F9: Into<Option<String>> {
3354    TSCreateTimeseriesReq {
3355      session_id,
3356      path,
3357      data_type,
3358      encoding,
3359      compressor,
3360      props: props.into(),
3361      tags: tags.into(),
3362      attributes: attributes.into(),
3363      measurement_alias: measurement_alias.into(),
3364    }
3365  }
3366  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCreateTimeseriesReq> {
3367    i_prot.read_struct_begin()?;
3368    let mut f_1: Option<i64> = None;
3369    let mut f_2: Option<String> = None;
3370    let mut f_3: Option<i32> = None;
3371    let mut f_4: Option<i32> = None;
3372    let mut f_5: Option<i32> = None;
3373    let mut f_6: Option<BTreeMap<String, String>> = None;
3374    let mut f_7: Option<BTreeMap<String, String>> = None;
3375    let mut f_8: Option<BTreeMap<String, String>> = None;
3376    let mut f_9: Option<String> = None;
3377    loop {
3378      let field_ident = i_prot.read_field_begin()?;
3379      if field_ident.field_type == TType::Stop {
3380        break;
3381      }
3382      let field_id = field_id(&field_ident)?;
3383      match field_id {
3384        1 => {
3385          let val = i_prot.read_i64()?;
3386          f_1 = Some(val);
3387        },
3388        2 => {
3389          let val = i_prot.read_string()?;
3390          f_2 = Some(val);
3391        },
3392        3 => {
3393          let val = i_prot.read_i32()?;
3394          f_3 = Some(val);
3395        },
3396        4 => {
3397          let val = i_prot.read_i32()?;
3398          f_4 = Some(val);
3399        },
3400        5 => {
3401          let val = i_prot.read_i32()?;
3402          f_5 = Some(val);
3403        },
3404        6 => {
3405          let map_ident = i_prot.read_map_begin()?;
3406          let mut val: BTreeMap<String, String> = BTreeMap::new();
3407          for _ in 0..map_ident.size {
3408            let map_key_48 = i_prot.read_string()?;
3409            let map_val_49 = i_prot.read_string()?;
3410            val.insert(map_key_48, map_val_49);
3411          }
3412          i_prot.read_map_end()?;
3413          f_6 = Some(val);
3414        },
3415        7 => {
3416          let map_ident = i_prot.read_map_begin()?;
3417          let mut val: BTreeMap<String, String> = BTreeMap::new();
3418          for _ in 0..map_ident.size {
3419            let map_key_50 = i_prot.read_string()?;
3420            let map_val_51 = i_prot.read_string()?;
3421            val.insert(map_key_50, map_val_51);
3422          }
3423          i_prot.read_map_end()?;
3424          f_7 = Some(val);
3425        },
3426        8 => {
3427          let map_ident = i_prot.read_map_begin()?;
3428          let mut val: BTreeMap<String, String> = BTreeMap::new();
3429          for _ in 0..map_ident.size {
3430            let map_key_52 = i_prot.read_string()?;
3431            let map_val_53 = i_prot.read_string()?;
3432            val.insert(map_key_52, map_val_53);
3433          }
3434          i_prot.read_map_end()?;
3435          f_8 = Some(val);
3436        },
3437        9 => {
3438          let val = i_prot.read_string()?;
3439          f_9 = Some(val);
3440        },
3441        _ => {
3442          i_prot.skip(field_ident.field_type)?;
3443        },
3444      };
3445      i_prot.read_field_end()?;
3446    }
3447    i_prot.read_struct_end()?;
3448    verify_required_field_exists("TSCreateTimeseriesReq.session_id", &f_1)?;
3449    verify_required_field_exists("TSCreateTimeseriesReq.path", &f_2)?;
3450    verify_required_field_exists("TSCreateTimeseriesReq.data_type", &f_3)?;
3451    verify_required_field_exists("TSCreateTimeseriesReq.encoding", &f_4)?;
3452    verify_required_field_exists("TSCreateTimeseriesReq.compressor", &f_5)?;
3453    let ret = TSCreateTimeseriesReq {
3454      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3455      path: f_2.expect("auto-generated code should have checked for presence of required fields"),
3456      data_type: f_3.expect("auto-generated code should have checked for presence of required fields"),
3457      encoding: f_4.expect("auto-generated code should have checked for presence of required fields"),
3458      compressor: f_5.expect("auto-generated code should have checked for presence of required fields"),
3459      props: f_6,
3460      tags: f_7,
3461      attributes: f_8,
3462      measurement_alias: f_9,
3463    };
3464    Ok(ret)
3465  }
3466  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3467    let struct_ident = TStructIdentifier::new("TSCreateTimeseriesReq");
3468    o_prot.write_struct_begin(&struct_ident)?;
3469    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3470    o_prot.write_i64(self.session_id)?;
3471    o_prot.write_field_end()?;
3472    o_prot.write_field_begin(&TFieldIdentifier::new("path", TType::String, 2))?;
3473    o_prot.write_string(&self.path)?;
3474    o_prot.write_field_end()?;
3475    o_prot.write_field_begin(&TFieldIdentifier::new("dataType", TType::I32, 3))?;
3476    o_prot.write_i32(self.data_type)?;
3477    o_prot.write_field_end()?;
3478    o_prot.write_field_begin(&TFieldIdentifier::new("encoding", TType::I32, 4))?;
3479    o_prot.write_i32(self.encoding)?;
3480    o_prot.write_field_end()?;
3481    o_prot.write_field_begin(&TFieldIdentifier::new("compressor", TType::I32, 5))?;
3482    o_prot.write_i32(self.compressor)?;
3483    o_prot.write_field_end()?;
3484    if let Some(ref fld_var) = self.props {
3485      o_prot.write_field_begin(&TFieldIdentifier::new("props", TType::Map, 6))?;
3486      o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, fld_var.len() as i32))?;
3487      for (k, v) in fld_var {
3488        o_prot.write_string(k)?;
3489        o_prot.write_string(v)?;
3490      }
3491      o_prot.write_map_end()?;
3492      o_prot.write_field_end()?
3493    }
3494    if let Some(ref fld_var) = self.tags {
3495      o_prot.write_field_begin(&TFieldIdentifier::new("tags", TType::Map, 7))?;
3496      o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, fld_var.len() as i32))?;
3497      for (k, v) in fld_var {
3498        o_prot.write_string(k)?;
3499        o_prot.write_string(v)?;
3500      }
3501      o_prot.write_map_end()?;
3502      o_prot.write_field_end()?
3503    }
3504    if let Some(ref fld_var) = self.attributes {
3505      o_prot.write_field_begin(&TFieldIdentifier::new("attributes", TType::Map, 8))?;
3506      o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, fld_var.len() as i32))?;
3507      for (k, v) in fld_var {
3508        o_prot.write_string(k)?;
3509        o_prot.write_string(v)?;
3510      }
3511      o_prot.write_map_end()?;
3512      o_prot.write_field_end()?
3513    }
3514    if let Some(ref fld_var) = self.measurement_alias {
3515      o_prot.write_field_begin(&TFieldIdentifier::new("measurementAlias", TType::String, 9))?;
3516      o_prot.write_string(fld_var)?;
3517      o_prot.write_field_end()?
3518    }
3519    o_prot.write_field_stop()?;
3520    o_prot.write_struct_end()
3521  }
3522}
3523
3524//
3525// TSCreateAlignedTimeseriesReq
3526//
3527
3528#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3529pub struct TSCreateAlignedTimeseriesReq {
3530  pub session_id: i64,
3531  pub prefix_path: String,
3532  pub measurements: Vec<String>,
3533  pub data_types: Vec<i32>,
3534  pub encodings: Vec<i32>,
3535  pub compressors: Vec<i32>,
3536  pub measurement_alias: Option<Vec<String>>,
3537}
3538
3539impl TSCreateAlignedTimeseriesReq {
3540  pub fn new<F7>(session_id: i64, prefix_path: String, measurements: Vec<String>, data_types: Vec<i32>, encodings: Vec<i32>, compressors: Vec<i32>, measurement_alias: F7) -> TSCreateAlignedTimeseriesReq where F7: Into<Option<Vec<String>>> {
3541    TSCreateAlignedTimeseriesReq {
3542      session_id,
3543      prefix_path,
3544      measurements,
3545      data_types,
3546      encodings,
3547      compressors,
3548      measurement_alias: measurement_alias.into(),
3549    }
3550  }
3551  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCreateAlignedTimeseriesReq> {
3552    i_prot.read_struct_begin()?;
3553    let mut f_1: Option<i64> = None;
3554    let mut f_2: Option<String> = None;
3555    let mut f_3: Option<Vec<String>> = None;
3556    let mut f_4: Option<Vec<i32>> = None;
3557    let mut f_5: Option<Vec<i32>> = None;
3558    let mut f_6: Option<Vec<i32>> = None;
3559    let mut f_7: Option<Vec<String>> = None;
3560    loop {
3561      let field_ident = i_prot.read_field_begin()?;
3562      if field_ident.field_type == TType::Stop {
3563        break;
3564      }
3565      let field_id = field_id(&field_ident)?;
3566      match field_id {
3567        1 => {
3568          let val = i_prot.read_i64()?;
3569          f_1 = Some(val);
3570        },
3571        2 => {
3572          let val = i_prot.read_string()?;
3573          f_2 = Some(val);
3574        },
3575        3 => {
3576          let list_ident = i_prot.read_list_begin()?;
3577          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3578          for _ in 0..list_ident.size {
3579            let list_elem_54 = i_prot.read_string()?;
3580            val.push(list_elem_54);
3581          }
3582          i_prot.read_list_end()?;
3583          f_3 = Some(val);
3584        },
3585        4 => {
3586          let list_ident = i_prot.read_list_begin()?;
3587          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
3588          for _ in 0..list_ident.size {
3589            let list_elem_55 = i_prot.read_i32()?;
3590            val.push(list_elem_55);
3591          }
3592          i_prot.read_list_end()?;
3593          f_4 = Some(val);
3594        },
3595        5 => {
3596          let list_ident = i_prot.read_list_begin()?;
3597          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
3598          for _ in 0..list_ident.size {
3599            let list_elem_56 = i_prot.read_i32()?;
3600            val.push(list_elem_56);
3601          }
3602          i_prot.read_list_end()?;
3603          f_5 = Some(val);
3604        },
3605        6 => {
3606          let list_ident = i_prot.read_list_begin()?;
3607          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
3608          for _ in 0..list_ident.size {
3609            let list_elem_57 = i_prot.read_i32()?;
3610            val.push(list_elem_57);
3611          }
3612          i_prot.read_list_end()?;
3613          f_6 = Some(val);
3614        },
3615        7 => {
3616          let list_ident = i_prot.read_list_begin()?;
3617          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3618          for _ in 0..list_ident.size {
3619            let list_elem_58 = i_prot.read_string()?;
3620            val.push(list_elem_58);
3621          }
3622          i_prot.read_list_end()?;
3623          f_7 = Some(val);
3624        },
3625        _ => {
3626          i_prot.skip(field_ident.field_type)?;
3627        },
3628      };
3629      i_prot.read_field_end()?;
3630    }
3631    i_prot.read_struct_end()?;
3632    verify_required_field_exists("TSCreateAlignedTimeseriesReq.session_id", &f_1)?;
3633    verify_required_field_exists("TSCreateAlignedTimeseriesReq.prefix_path", &f_2)?;
3634    verify_required_field_exists("TSCreateAlignedTimeseriesReq.measurements", &f_3)?;
3635    verify_required_field_exists("TSCreateAlignedTimeseriesReq.data_types", &f_4)?;
3636    verify_required_field_exists("TSCreateAlignedTimeseriesReq.encodings", &f_5)?;
3637    verify_required_field_exists("TSCreateAlignedTimeseriesReq.compressors", &f_6)?;
3638    let ret = TSCreateAlignedTimeseriesReq {
3639      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3640      prefix_path: f_2.expect("auto-generated code should have checked for presence of required fields"),
3641      measurements: f_3.expect("auto-generated code should have checked for presence of required fields"),
3642      data_types: f_4.expect("auto-generated code should have checked for presence of required fields"),
3643      encodings: f_5.expect("auto-generated code should have checked for presence of required fields"),
3644      compressors: f_6.expect("auto-generated code should have checked for presence of required fields"),
3645      measurement_alias: f_7,
3646    };
3647    Ok(ret)
3648  }
3649  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3650    let struct_ident = TStructIdentifier::new("TSCreateAlignedTimeseriesReq");
3651    o_prot.write_struct_begin(&struct_ident)?;
3652    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3653    o_prot.write_i64(self.session_id)?;
3654    o_prot.write_field_end()?;
3655    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 2))?;
3656    o_prot.write_string(&self.prefix_path)?;
3657    o_prot.write_field_end()?;
3658    o_prot.write_field_begin(&TFieldIdentifier::new("measurements", TType::List, 3))?;
3659    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.measurements.len() as i32))?;
3660    for e in &self.measurements {
3661      o_prot.write_string(e)?;
3662    }
3663    o_prot.write_list_end()?;
3664    o_prot.write_field_end()?;
3665    o_prot.write_field_begin(&TFieldIdentifier::new("dataTypes", TType::List, 4))?;
3666    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.data_types.len() as i32))?;
3667    for e in &self.data_types {
3668      o_prot.write_i32(*e)?;
3669    }
3670    o_prot.write_list_end()?;
3671    o_prot.write_field_end()?;
3672    o_prot.write_field_begin(&TFieldIdentifier::new("encodings", TType::List, 5))?;
3673    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.encodings.len() as i32))?;
3674    for e in &self.encodings {
3675      o_prot.write_i32(*e)?;
3676    }
3677    o_prot.write_list_end()?;
3678    o_prot.write_field_end()?;
3679    o_prot.write_field_begin(&TFieldIdentifier::new("compressors", TType::List, 6))?;
3680    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.compressors.len() as i32))?;
3681    for e in &self.compressors {
3682      o_prot.write_i32(*e)?;
3683    }
3684    o_prot.write_list_end()?;
3685    o_prot.write_field_end()?;
3686    if let Some(ref fld_var) = self.measurement_alias {
3687      o_prot.write_field_begin(&TFieldIdentifier::new("measurementAlias", TType::List, 7))?;
3688      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
3689      for e in fld_var {
3690        o_prot.write_string(e)?;
3691      }
3692      o_prot.write_list_end()?;
3693      o_prot.write_field_end()?
3694    }
3695    o_prot.write_field_stop()?;
3696    o_prot.write_struct_end()
3697  }
3698}
3699
3700//
3701// TSRawDataQueryReq
3702//
3703
3704#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3705pub struct TSRawDataQueryReq {
3706  pub session_id: i64,
3707  pub paths: Vec<String>,
3708  pub fetch_size: Option<i32>,
3709  pub start_time: i64,
3710  pub end_time: i64,
3711  pub statement_id: i64,
3712  pub enable_redirect_query: Option<bool>,
3713  pub jdbc_query: Option<bool>,
3714}
3715
3716impl TSRawDataQueryReq {
3717  pub fn new<F3, F7, F8>(session_id: i64, paths: Vec<String>, fetch_size: F3, start_time: i64, end_time: i64, statement_id: i64, enable_redirect_query: F7, jdbc_query: F8) -> TSRawDataQueryReq where F3: Into<Option<i32>>, F7: Into<Option<bool>>, F8: Into<Option<bool>> {
3718    TSRawDataQueryReq {
3719      session_id,
3720      paths,
3721      fetch_size: fetch_size.into(),
3722      start_time,
3723      end_time,
3724      statement_id,
3725      enable_redirect_query: enable_redirect_query.into(),
3726      jdbc_query: jdbc_query.into(),
3727    }
3728  }
3729  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSRawDataQueryReq> {
3730    i_prot.read_struct_begin()?;
3731    let mut f_1: Option<i64> = None;
3732    let mut f_2: Option<Vec<String>> = None;
3733    let mut f_3: Option<i32> = None;
3734    let mut f_4: Option<i64> = None;
3735    let mut f_5: Option<i64> = None;
3736    let mut f_6: Option<i64> = None;
3737    let mut f_7: Option<bool> = None;
3738    let mut f_8: Option<bool> = None;
3739    loop {
3740      let field_ident = i_prot.read_field_begin()?;
3741      if field_ident.field_type == TType::Stop {
3742        break;
3743      }
3744      let field_id = field_id(&field_ident)?;
3745      match field_id {
3746        1 => {
3747          let val = i_prot.read_i64()?;
3748          f_1 = Some(val);
3749        },
3750        2 => {
3751          let list_ident = i_prot.read_list_begin()?;
3752          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3753          for _ in 0..list_ident.size {
3754            let list_elem_59 = i_prot.read_string()?;
3755            val.push(list_elem_59);
3756          }
3757          i_prot.read_list_end()?;
3758          f_2 = Some(val);
3759        },
3760        3 => {
3761          let val = i_prot.read_i32()?;
3762          f_3 = Some(val);
3763        },
3764        4 => {
3765          let val = i_prot.read_i64()?;
3766          f_4 = Some(val);
3767        },
3768        5 => {
3769          let val = i_prot.read_i64()?;
3770          f_5 = Some(val);
3771        },
3772        6 => {
3773          let val = i_prot.read_i64()?;
3774          f_6 = Some(val);
3775        },
3776        7 => {
3777          let val = i_prot.read_bool()?;
3778          f_7 = Some(val);
3779        },
3780        8 => {
3781          let val = i_prot.read_bool()?;
3782          f_8 = Some(val);
3783        },
3784        _ => {
3785          i_prot.skip(field_ident.field_type)?;
3786        },
3787      };
3788      i_prot.read_field_end()?;
3789    }
3790    i_prot.read_struct_end()?;
3791    verify_required_field_exists("TSRawDataQueryReq.session_id", &f_1)?;
3792    verify_required_field_exists("TSRawDataQueryReq.paths", &f_2)?;
3793    verify_required_field_exists("TSRawDataQueryReq.start_time", &f_4)?;
3794    verify_required_field_exists("TSRawDataQueryReq.end_time", &f_5)?;
3795    verify_required_field_exists("TSRawDataQueryReq.statement_id", &f_6)?;
3796    let ret = TSRawDataQueryReq {
3797      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3798      paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
3799      fetch_size: f_3,
3800      start_time: f_4.expect("auto-generated code should have checked for presence of required fields"),
3801      end_time: f_5.expect("auto-generated code should have checked for presence of required fields"),
3802      statement_id: f_6.expect("auto-generated code should have checked for presence of required fields"),
3803      enable_redirect_query: f_7,
3804      jdbc_query: f_8,
3805    };
3806    Ok(ret)
3807  }
3808  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3809    let struct_ident = TStructIdentifier::new("TSRawDataQueryReq");
3810    o_prot.write_struct_begin(&struct_ident)?;
3811    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3812    o_prot.write_i64(self.session_id)?;
3813    o_prot.write_field_end()?;
3814    o_prot.write_field_begin(&TFieldIdentifier::new("paths", TType::List, 2))?;
3815    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.paths.len() as i32))?;
3816    for e in &self.paths {
3817      o_prot.write_string(e)?;
3818    }
3819    o_prot.write_list_end()?;
3820    o_prot.write_field_end()?;
3821    if let Some(fld_var) = self.fetch_size {
3822      o_prot.write_field_begin(&TFieldIdentifier::new("fetchSize", TType::I32, 3))?;
3823      o_prot.write_i32(fld_var)?;
3824      o_prot.write_field_end()?
3825    }
3826    o_prot.write_field_begin(&TFieldIdentifier::new("startTime", TType::I64, 4))?;
3827    o_prot.write_i64(self.start_time)?;
3828    o_prot.write_field_end()?;
3829    o_prot.write_field_begin(&TFieldIdentifier::new("endTime", TType::I64, 5))?;
3830    o_prot.write_i64(self.end_time)?;
3831    o_prot.write_field_end()?;
3832    o_prot.write_field_begin(&TFieldIdentifier::new("statementId", TType::I64, 6))?;
3833    o_prot.write_i64(self.statement_id)?;
3834    o_prot.write_field_end()?;
3835    if let Some(fld_var) = self.enable_redirect_query {
3836      o_prot.write_field_begin(&TFieldIdentifier::new("enableRedirectQuery", TType::Bool, 7))?;
3837      o_prot.write_bool(fld_var)?;
3838      o_prot.write_field_end()?
3839    }
3840    if let Some(fld_var) = self.jdbc_query {
3841      o_prot.write_field_begin(&TFieldIdentifier::new("jdbcQuery", TType::Bool, 8))?;
3842      o_prot.write_bool(fld_var)?;
3843      o_prot.write_field_end()?
3844    }
3845    o_prot.write_field_stop()?;
3846    o_prot.write_struct_end()
3847  }
3848}
3849
3850//
3851// TSLastDataQueryReq
3852//
3853
3854#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3855pub struct TSLastDataQueryReq {
3856  pub session_id: i64,
3857  pub paths: Vec<String>,
3858  pub fetch_size: Option<i32>,
3859  pub time: i64,
3860  pub statement_id: i64,
3861  pub enable_redirect_query: Option<bool>,
3862  pub jdbc_query: Option<bool>,
3863}
3864
3865impl TSLastDataQueryReq {
3866  pub fn new<F3, F6, F7>(session_id: i64, paths: Vec<String>, fetch_size: F3, time: i64, statement_id: i64, enable_redirect_query: F6, jdbc_query: F7) -> TSLastDataQueryReq where F3: Into<Option<i32>>, F6: Into<Option<bool>>, F7: Into<Option<bool>> {
3867    TSLastDataQueryReq {
3868      session_id,
3869      paths,
3870      fetch_size: fetch_size.into(),
3871      time,
3872      statement_id,
3873      enable_redirect_query: enable_redirect_query.into(),
3874      jdbc_query: jdbc_query.into(),
3875    }
3876  }
3877  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSLastDataQueryReq> {
3878    i_prot.read_struct_begin()?;
3879    let mut f_1: Option<i64> = None;
3880    let mut f_2: Option<Vec<String>> = None;
3881    let mut f_3: Option<i32> = None;
3882    let mut f_4: Option<i64> = None;
3883    let mut f_5: Option<i64> = None;
3884    let mut f_6: Option<bool> = None;
3885    let mut f_7: Option<bool> = None;
3886    loop {
3887      let field_ident = i_prot.read_field_begin()?;
3888      if field_ident.field_type == TType::Stop {
3889        break;
3890      }
3891      let field_id = field_id(&field_ident)?;
3892      match field_id {
3893        1 => {
3894          let val = i_prot.read_i64()?;
3895          f_1 = Some(val);
3896        },
3897        2 => {
3898          let list_ident = i_prot.read_list_begin()?;
3899          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3900          for _ in 0..list_ident.size {
3901            let list_elem_60 = i_prot.read_string()?;
3902            val.push(list_elem_60);
3903          }
3904          i_prot.read_list_end()?;
3905          f_2 = Some(val);
3906        },
3907        3 => {
3908          let val = i_prot.read_i32()?;
3909          f_3 = Some(val);
3910        },
3911        4 => {
3912          let val = i_prot.read_i64()?;
3913          f_4 = Some(val);
3914        },
3915        5 => {
3916          let val = i_prot.read_i64()?;
3917          f_5 = Some(val);
3918        },
3919        6 => {
3920          let val = i_prot.read_bool()?;
3921          f_6 = Some(val);
3922        },
3923        7 => {
3924          let val = i_prot.read_bool()?;
3925          f_7 = Some(val);
3926        },
3927        _ => {
3928          i_prot.skip(field_ident.field_type)?;
3929        },
3930      };
3931      i_prot.read_field_end()?;
3932    }
3933    i_prot.read_struct_end()?;
3934    verify_required_field_exists("TSLastDataQueryReq.session_id", &f_1)?;
3935    verify_required_field_exists("TSLastDataQueryReq.paths", &f_2)?;
3936    verify_required_field_exists("TSLastDataQueryReq.time", &f_4)?;
3937    verify_required_field_exists("TSLastDataQueryReq.statement_id", &f_5)?;
3938    let ret = TSLastDataQueryReq {
3939      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3940      paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
3941      fetch_size: f_3,
3942      time: f_4.expect("auto-generated code should have checked for presence of required fields"),
3943      statement_id: f_5.expect("auto-generated code should have checked for presence of required fields"),
3944      enable_redirect_query: f_6,
3945      jdbc_query: f_7,
3946    };
3947    Ok(ret)
3948  }
3949  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3950    let struct_ident = TStructIdentifier::new("TSLastDataQueryReq");
3951    o_prot.write_struct_begin(&struct_ident)?;
3952    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
3953    o_prot.write_i64(self.session_id)?;
3954    o_prot.write_field_end()?;
3955    o_prot.write_field_begin(&TFieldIdentifier::new("paths", TType::List, 2))?;
3956    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.paths.len() as i32))?;
3957    for e in &self.paths {
3958      o_prot.write_string(e)?;
3959    }
3960    o_prot.write_list_end()?;
3961    o_prot.write_field_end()?;
3962    if let Some(fld_var) = self.fetch_size {
3963      o_prot.write_field_begin(&TFieldIdentifier::new("fetchSize", TType::I32, 3))?;
3964      o_prot.write_i32(fld_var)?;
3965      o_prot.write_field_end()?
3966    }
3967    o_prot.write_field_begin(&TFieldIdentifier::new("time", TType::I64, 4))?;
3968    o_prot.write_i64(self.time)?;
3969    o_prot.write_field_end()?;
3970    o_prot.write_field_begin(&TFieldIdentifier::new("statementId", TType::I64, 5))?;
3971    o_prot.write_i64(self.statement_id)?;
3972    o_prot.write_field_end()?;
3973    if let Some(fld_var) = self.enable_redirect_query {
3974      o_prot.write_field_begin(&TFieldIdentifier::new("enableRedirectQuery", TType::Bool, 6))?;
3975      o_prot.write_bool(fld_var)?;
3976      o_prot.write_field_end()?
3977    }
3978    if let Some(fld_var) = self.jdbc_query {
3979      o_prot.write_field_begin(&TFieldIdentifier::new("jdbcQuery", TType::Bool, 7))?;
3980      o_prot.write_bool(fld_var)?;
3981      o_prot.write_field_end()?
3982    }
3983    o_prot.write_field_stop()?;
3984    o_prot.write_struct_end()
3985  }
3986}
3987
3988//
3989// TSCreateMultiTimeseriesReq
3990//
3991
3992#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3993pub struct TSCreateMultiTimeseriesReq {
3994  pub session_id: i64,
3995  pub paths: Vec<String>,
3996  pub data_types: Vec<i32>,
3997  pub encodings: Vec<i32>,
3998  pub compressors: Vec<i32>,
3999  pub props_list: Option<Vec<BTreeMap<String, String>>>,
4000  pub tags_list: Option<Vec<BTreeMap<String, String>>>,
4001  pub attributes_list: Option<Vec<BTreeMap<String, String>>>,
4002  pub measurement_alias_list: Option<Vec<String>>,
4003}
4004
4005impl TSCreateMultiTimeseriesReq {
4006  pub fn new<F6, F7, F8, F9>(session_id: i64, paths: Vec<String>, data_types: Vec<i32>, encodings: Vec<i32>, compressors: Vec<i32>, props_list: F6, tags_list: F7, attributes_list: F8, measurement_alias_list: F9) -> TSCreateMultiTimeseriesReq where F6: Into<Option<Vec<BTreeMap<String, String>>>>, F7: Into<Option<Vec<BTreeMap<String, String>>>>, F8: Into<Option<Vec<BTreeMap<String, String>>>>, F9: Into<Option<Vec<String>>> {
4007    TSCreateMultiTimeseriesReq {
4008      session_id,
4009      paths,
4010      data_types,
4011      encodings,
4012      compressors,
4013      props_list: props_list.into(),
4014      tags_list: tags_list.into(),
4015      attributes_list: attributes_list.into(),
4016      measurement_alias_list: measurement_alias_list.into(),
4017    }
4018  }
4019  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCreateMultiTimeseriesReq> {
4020    i_prot.read_struct_begin()?;
4021    let mut f_1: Option<i64> = None;
4022    let mut f_2: Option<Vec<String>> = None;
4023    let mut f_3: Option<Vec<i32>> = None;
4024    let mut f_4: Option<Vec<i32>> = None;
4025    let mut f_5: Option<Vec<i32>> = None;
4026    let mut f_6: Option<Vec<BTreeMap<String, String>>> = None;
4027    let mut f_7: Option<Vec<BTreeMap<String, String>>> = None;
4028    let mut f_8: Option<Vec<BTreeMap<String, String>>> = None;
4029    let mut f_9: Option<Vec<String>> = None;
4030    loop {
4031      let field_ident = i_prot.read_field_begin()?;
4032      if field_ident.field_type == TType::Stop {
4033        break;
4034      }
4035      let field_id = field_id(&field_ident)?;
4036      match field_id {
4037        1 => {
4038          let val = i_prot.read_i64()?;
4039          f_1 = Some(val);
4040        },
4041        2 => {
4042          let list_ident = i_prot.read_list_begin()?;
4043          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
4044          for _ in 0..list_ident.size {
4045            let list_elem_61 = i_prot.read_string()?;
4046            val.push(list_elem_61);
4047          }
4048          i_prot.read_list_end()?;
4049          f_2 = Some(val);
4050        },
4051        3 => {
4052          let list_ident = i_prot.read_list_begin()?;
4053          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
4054          for _ in 0..list_ident.size {
4055            let list_elem_62 = i_prot.read_i32()?;
4056            val.push(list_elem_62);
4057          }
4058          i_prot.read_list_end()?;
4059          f_3 = Some(val);
4060        },
4061        4 => {
4062          let list_ident = i_prot.read_list_begin()?;
4063          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
4064          for _ in 0..list_ident.size {
4065            let list_elem_63 = i_prot.read_i32()?;
4066            val.push(list_elem_63);
4067          }
4068          i_prot.read_list_end()?;
4069          f_4 = Some(val);
4070        },
4071        5 => {
4072          let list_ident = i_prot.read_list_begin()?;
4073          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
4074          for _ in 0..list_ident.size {
4075            let list_elem_64 = i_prot.read_i32()?;
4076            val.push(list_elem_64);
4077          }
4078          i_prot.read_list_end()?;
4079          f_5 = Some(val);
4080        },
4081        6 => {
4082          let list_ident = i_prot.read_list_begin()?;
4083          let mut val: Vec<BTreeMap<String, String>> = Vec::with_capacity(list_ident.size as usize);
4084          for _ in 0..list_ident.size {
4085            let map_ident = i_prot.read_map_begin()?;
4086            let mut list_elem_65: BTreeMap<String, String> = BTreeMap::new();
4087            for _ in 0..map_ident.size {
4088              let map_key_66 = i_prot.read_string()?;
4089              let map_val_67 = i_prot.read_string()?;
4090              list_elem_65.insert(map_key_66, map_val_67);
4091            }
4092            i_prot.read_map_end()?;
4093            val.push(list_elem_65);
4094          }
4095          i_prot.read_list_end()?;
4096          f_6 = Some(val);
4097        },
4098        7 => {
4099          let list_ident = i_prot.read_list_begin()?;
4100          let mut val: Vec<BTreeMap<String, String>> = Vec::with_capacity(list_ident.size as usize);
4101          for _ in 0..list_ident.size {
4102            let map_ident = i_prot.read_map_begin()?;
4103            let mut list_elem_68: BTreeMap<String, String> = BTreeMap::new();
4104            for _ in 0..map_ident.size {
4105              let map_key_69 = i_prot.read_string()?;
4106              let map_val_70 = i_prot.read_string()?;
4107              list_elem_68.insert(map_key_69, map_val_70);
4108            }
4109            i_prot.read_map_end()?;
4110            val.push(list_elem_68);
4111          }
4112          i_prot.read_list_end()?;
4113          f_7 = Some(val);
4114        },
4115        8 => {
4116          let list_ident = i_prot.read_list_begin()?;
4117          let mut val: Vec<BTreeMap<String, String>> = Vec::with_capacity(list_ident.size as usize);
4118          for _ in 0..list_ident.size {
4119            let map_ident = i_prot.read_map_begin()?;
4120            let mut list_elem_71: BTreeMap<String, String> = BTreeMap::new();
4121            for _ in 0..map_ident.size {
4122              let map_key_72 = i_prot.read_string()?;
4123              let map_val_73 = i_prot.read_string()?;
4124              list_elem_71.insert(map_key_72, map_val_73);
4125            }
4126            i_prot.read_map_end()?;
4127            val.push(list_elem_71);
4128          }
4129          i_prot.read_list_end()?;
4130          f_8 = Some(val);
4131        },
4132        9 => {
4133          let list_ident = i_prot.read_list_begin()?;
4134          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
4135          for _ in 0..list_ident.size {
4136            let list_elem_74 = i_prot.read_string()?;
4137            val.push(list_elem_74);
4138          }
4139          i_prot.read_list_end()?;
4140          f_9 = Some(val);
4141        },
4142        _ => {
4143          i_prot.skip(field_ident.field_type)?;
4144        },
4145      };
4146      i_prot.read_field_end()?;
4147    }
4148    i_prot.read_struct_end()?;
4149    verify_required_field_exists("TSCreateMultiTimeseriesReq.session_id", &f_1)?;
4150    verify_required_field_exists("TSCreateMultiTimeseriesReq.paths", &f_2)?;
4151    verify_required_field_exists("TSCreateMultiTimeseriesReq.data_types", &f_3)?;
4152    verify_required_field_exists("TSCreateMultiTimeseriesReq.encodings", &f_4)?;
4153    verify_required_field_exists("TSCreateMultiTimeseriesReq.compressors", &f_5)?;
4154    let ret = TSCreateMultiTimeseriesReq {
4155      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4156      paths: f_2.expect("auto-generated code should have checked for presence of required fields"),
4157      data_types: f_3.expect("auto-generated code should have checked for presence of required fields"),
4158      encodings: f_4.expect("auto-generated code should have checked for presence of required fields"),
4159      compressors: f_5.expect("auto-generated code should have checked for presence of required fields"),
4160      props_list: f_6,
4161      tags_list: f_7,
4162      attributes_list: f_8,
4163      measurement_alias_list: f_9,
4164    };
4165    Ok(ret)
4166  }
4167  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4168    let struct_ident = TStructIdentifier::new("TSCreateMultiTimeseriesReq");
4169    o_prot.write_struct_begin(&struct_ident)?;
4170    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
4171    o_prot.write_i64(self.session_id)?;
4172    o_prot.write_field_end()?;
4173    o_prot.write_field_begin(&TFieldIdentifier::new("paths", TType::List, 2))?;
4174    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.paths.len() as i32))?;
4175    for e in &self.paths {
4176      o_prot.write_string(e)?;
4177    }
4178    o_prot.write_list_end()?;
4179    o_prot.write_field_end()?;
4180    o_prot.write_field_begin(&TFieldIdentifier::new("dataTypes", TType::List, 3))?;
4181    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.data_types.len() as i32))?;
4182    for e in &self.data_types {
4183      o_prot.write_i32(*e)?;
4184    }
4185    o_prot.write_list_end()?;
4186    o_prot.write_field_end()?;
4187    o_prot.write_field_begin(&TFieldIdentifier::new("encodings", TType::List, 4))?;
4188    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.encodings.len() as i32))?;
4189    for e in &self.encodings {
4190      o_prot.write_i32(*e)?;
4191    }
4192    o_prot.write_list_end()?;
4193    o_prot.write_field_end()?;
4194    o_prot.write_field_begin(&TFieldIdentifier::new("compressors", TType::List, 5))?;
4195    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.compressors.len() as i32))?;
4196    for e in &self.compressors {
4197      o_prot.write_i32(*e)?;
4198    }
4199    o_prot.write_list_end()?;
4200    o_prot.write_field_end()?;
4201    if let Some(ref fld_var) = self.props_list {
4202      o_prot.write_field_begin(&TFieldIdentifier::new("propsList", TType::List, 6))?;
4203      o_prot.write_list_begin(&TListIdentifier::new(TType::Map, fld_var.len() as i32))?;
4204      for e in fld_var {
4205        o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, e.len() as i32))?;
4206        for (k, v) in e {
4207          o_prot.write_string(k)?;
4208          o_prot.write_string(v)?;
4209        }
4210        o_prot.write_map_end()?;
4211      }
4212      o_prot.write_list_end()?;
4213      o_prot.write_field_end()?
4214    }
4215    if let Some(ref fld_var) = self.tags_list {
4216      o_prot.write_field_begin(&TFieldIdentifier::new("tagsList", TType::List, 7))?;
4217      o_prot.write_list_begin(&TListIdentifier::new(TType::Map, fld_var.len() as i32))?;
4218      for e in fld_var {
4219        o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, e.len() as i32))?;
4220        for (k, v) in e {
4221          o_prot.write_string(k)?;
4222          o_prot.write_string(v)?;
4223        }
4224        o_prot.write_map_end()?;
4225      }
4226      o_prot.write_list_end()?;
4227      o_prot.write_field_end()?
4228    }
4229    if let Some(ref fld_var) = self.attributes_list {
4230      o_prot.write_field_begin(&TFieldIdentifier::new("attributesList", TType::List, 8))?;
4231      o_prot.write_list_begin(&TListIdentifier::new(TType::Map, fld_var.len() as i32))?;
4232      for e in fld_var {
4233        o_prot.write_map_begin(&TMapIdentifier::new(TType::String, TType::String, e.len() as i32))?;
4234        for (k, v) in e {
4235          o_prot.write_string(k)?;
4236          o_prot.write_string(v)?;
4237        }
4238        o_prot.write_map_end()?;
4239      }
4240      o_prot.write_list_end()?;
4241      o_prot.write_field_end()?
4242    }
4243    if let Some(ref fld_var) = self.measurement_alias_list {
4244      o_prot.write_field_begin(&TFieldIdentifier::new("measurementAliasList", TType::List, 9))?;
4245      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
4246      for e in fld_var {
4247        o_prot.write_string(e)?;
4248      }
4249      o_prot.write_list_end()?;
4250      o_prot.write_field_end()?
4251    }
4252    o_prot.write_field_stop()?;
4253    o_prot.write_struct_end()
4254  }
4255}
4256
4257//
4258// ServerProperties
4259//
4260
4261#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4262pub struct ServerProperties {
4263  pub version: String,
4264  pub supported_time_aggregation_operations: Vec<String>,
4265  pub timestamp_precision: String,
4266  pub max_concurrent_client_num: Option<i32>,
4267  pub watermark_secret_key: Option<String>,
4268  pub watermark_bit_string: Option<String>,
4269  pub watermark_param_mark_rate: Option<i32>,
4270  pub watermark_param_max_right_bit: Option<i32>,
4271  pub thrift_max_frame_size: Option<i32>,
4272  pub is_read_only: Option<bool>,
4273}
4274
4275impl ServerProperties {
4276  pub fn new<F4, F5, F6, F7, F8, F9, F10>(version: String, supported_time_aggregation_operations: Vec<String>, timestamp_precision: String, max_concurrent_client_num: F4, watermark_secret_key: F5, watermark_bit_string: F6, watermark_param_mark_rate: F7, watermark_param_max_right_bit: F8, thrift_max_frame_size: F9, is_read_only: F10) -> ServerProperties where F4: Into<Option<i32>>, F5: Into<Option<String>>, F6: Into<Option<String>>, F7: Into<Option<i32>>, F8: Into<Option<i32>>, F9: Into<Option<i32>>, F10: Into<Option<bool>> {
4277    ServerProperties {
4278      version,
4279      supported_time_aggregation_operations,
4280      timestamp_precision,
4281      max_concurrent_client_num: max_concurrent_client_num.into(),
4282      watermark_secret_key: watermark_secret_key.into(),
4283      watermark_bit_string: watermark_bit_string.into(),
4284      watermark_param_mark_rate: watermark_param_mark_rate.into(),
4285      watermark_param_max_right_bit: watermark_param_max_right_bit.into(),
4286      thrift_max_frame_size: thrift_max_frame_size.into(),
4287      is_read_only: is_read_only.into(),
4288    }
4289  }
4290  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ServerProperties> {
4291    i_prot.read_struct_begin()?;
4292    let mut f_1: Option<String> = None;
4293    let mut f_2: Option<Vec<String>> = None;
4294    let mut f_3: Option<String> = None;
4295    let mut f_4: Option<i32> = Some(0);
4296    let mut f_5: Option<String> = None;
4297    let mut f_6: Option<String> = None;
4298    let mut f_7: Option<i32> = None;
4299    let mut f_8: Option<i32> = None;
4300    let mut f_9: Option<i32> = None;
4301    let mut f_10: Option<bool> = None;
4302    loop {
4303      let field_ident = i_prot.read_field_begin()?;
4304      if field_ident.field_type == TType::Stop {
4305        break;
4306      }
4307      let field_id = field_id(&field_ident)?;
4308      match field_id {
4309        1 => {
4310          let val = i_prot.read_string()?;
4311          f_1 = Some(val);
4312        },
4313        2 => {
4314          let list_ident = i_prot.read_list_begin()?;
4315          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
4316          for _ in 0..list_ident.size {
4317            let list_elem_75 = i_prot.read_string()?;
4318            val.push(list_elem_75);
4319          }
4320          i_prot.read_list_end()?;
4321          f_2 = Some(val);
4322        },
4323        3 => {
4324          let val = i_prot.read_string()?;
4325          f_3 = Some(val);
4326        },
4327        4 => {
4328          let val = i_prot.read_i32()?;
4329          f_4 = Some(val);
4330        },
4331        5 => {
4332          let val = i_prot.read_string()?;
4333          f_5 = Some(val);
4334        },
4335        6 => {
4336          let val = i_prot.read_string()?;
4337          f_6 = Some(val);
4338        },
4339        7 => {
4340          let val = i_prot.read_i32()?;
4341          f_7 = Some(val);
4342        },
4343        8 => {
4344          let val = i_prot.read_i32()?;
4345          f_8 = Some(val);
4346        },
4347        9 => {
4348          let val = i_prot.read_i32()?;
4349          f_9 = Some(val);
4350        },
4351        10 => {
4352          let val = i_prot.read_bool()?;
4353          f_10 = Some(val);
4354        },
4355        _ => {
4356          i_prot.skip(field_ident.field_type)?;
4357        },
4358      };
4359      i_prot.read_field_end()?;
4360    }
4361    i_prot.read_struct_end()?;
4362    verify_required_field_exists("ServerProperties.version", &f_1)?;
4363    verify_required_field_exists("ServerProperties.supported_time_aggregation_operations", &f_2)?;
4364    verify_required_field_exists("ServerProperties.timestamp_precision", &f_3)?;
4365    let ret = ServerProperties {
4366      version: f_1.expect("auto-generated code should have checked for presence of required fields"),
4367      supported_time_aggregation_operations: f_2.expect("auto-generated code should have checked for presence of required fields"),
4368      timestamp_precision: f_3.expect("auto-generated code should have checked for presence of required fields"),
4369      max_concurrent_client_num: f_4,
4370      watermark_secret_key: f_5,
4371      watermark_bit_string: f_6,
4372      watermark_param_mark_rate: f_7,
4373      watermark_param_max_right_bit: f_8,
4374      thrift_max_frame_size: f_9,
4375      is_read_only: f_10,
4376    };
4377    Ok(ret)
4378  }
4379  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4380    let struct_ident = TStructIdentifier::new("ServerProperties");
4381    o_prot.write_struct_begin(&struct_ident)?;
4382    o_prot.write_field_begin(&TFieldIdentifier::new("version", TType::String, 1))?;
4383    o_prot.write_string(&self.version)?;
4384    o_prot.write_field_end()?;
4385    o_prot.write_field_begin(&TFieldIdentifier::new("supportedTimeAggregationOperations", TType::List, 2))?;
4386    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.supported_time_aggregation_operations.len() as i32))?;
4387    for e in &self.supported_time_aggregation_operations {
4388      o_prot.write_string(e)?;
4389    }
4390    o_prot.write_list_end()?;
4391    o_prot.write_field_end()?;
4392    o_prot.write_field_begin(&TFieldIdentifier::new("timestampPrecision", TType::String, 3))?;
4393    o_prot.write_string(&self.timestamp_precision)?;
4394    o_prot.write_field_end()?;
4395    if let Some(fld_var) = self.max_concurrent_client_num {
4396      o_prot.write_field_begin(&TFieldIdentifier::new("maxConcurrentClientNum", TType::I32, 4))?;
4397      o_prot.write_i32(fld_var)?;
4398      o_prot.write_field_end()?
4399    }
4400    if let Some(ref fld_var) = self.watermark_secret_key {
4401      o_prot.write_field_begin(&TFieldIdentifier::new("watermarkSecretKey", TType::String, 5))?;
4402      o_prot.write_string(fld_var)?;
4403      o_prot.write_field_end()?
4404    }
4405    if let Some(ref fld_var) = self.watermark_bit_string {
4406      o_prot.write_field_begin(&TFieldIdentifier::new("watermarkBitString", TType::String, 6))?;
4407      o_prot.write_string(fld_var)?;
4408      o_prot.write_field_end()?
4409    }
4410    if let Some(fld_var) = self.watermark_param_mark_rate {
4411      o_prot.write_field_begin(&TFieldIdentifier::new("watermarkParamMarkRate", TType::I32, 7))?;
4412      o_prot.write_i32(fld_var)?;
4413      o_prot.write_field_end()?
4414    }
4415    if let Some(fld_var) = self.watermark_param_max_right_bit {
4416      o_prot.write_field_begin(&TFieldIdentifier::new("watermarkParamMaxRightBit", TType::I32, 8))?;
4417      o_prot.write_i32(fld_var)?;
4418      o_prot.write_field_end()?
4419    }
4420    if let Some(fld_var) = self.thrift_max_frame_size {
4421      o_prot.write_field_begin(&TFieldIdentifier::new("thriftMaxFrameSize", TType::I32, 9))?;
4422      o_prot.write_i32(fld_var)?;
4423      o_prot.write_field_end()?
4424    }
4425    if let Some(fld_var) = self.is_read_only {
4426      o_prot.write_field_begin(&TFieldIdentifier::new("isReadOnly", TType::Bool, 10))?;
4427      o_prot.write_bool(fld_var)?;
4428      o_prot.write_field_end()?
4429    }
4430    o_prot.write_field_stop()?;
4431    o_prot.write_struct_end()
4432  }
4433}
4434
4435//
4436// TSSetSchemaTemplateReq
4437//
4438
4439#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4440pub struct TSSetSchemaTemplateReq {
4441  pub session_id: i64,
4442  pub template_name: String,
4443  pub prefix_path: String,
4444}
4445
4446impl TSSetSchemaTemplateReq {
4447  pub fn new(session_id: i64, template_name: String, prefix_path: String) -> TSSetSchemaTemplateReq {
4448    TSSetSchemaTemplateReq {
4449      session_id,
4450      template_name,
4451      prefix_path,
4452    }
4453  }
4454  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSSetSchemaTemplateReq> {
4455    i_prot.read_struct_begin()?;
4456    let mut f_1: Option<i64> = None;
4457    let mut f_2: Option<String> = None;
4458    let mut f_3: Option<String> = None;
4459    loop {
4460      let field_ident = i_prot.read_field_begin()?;
4461      if field_ident.field_type == TType::Stop {
4462        break;
4463      }
4464      let field_id = field_id(&field_ident)?;
4465      match field_id {
4466        1 => {
4467          let val = i_prot.read_i64()?;
4468          f_1 = Some(val);
4469        },
4470        2 => {
4471          let val = i_prot.read_string()?;
4472          f_2 = Some(val);
4473        },
4474        3 => {
4475          let val = i_prot.read_string()?;
4476          f_3 = Some(val);
4477        },
4478        _ => {
4479          i_prot.skip(field_ident.field_type)?;
4480        },
4481      };
4482      i_prot.read_field_end()?;
4483    }
4484    i_prot.read_struct_end()?;
4485    verify_required_field_exists("TSSetSchemaTemplateReq.session_id", &f_1)?;
4486    verify_required_field_exists("TSSetSchemaTemplateReq.template_name", &f_2)?;
4487    verify_required_field_exists("TSSetSchemaTemplateReq.prefix_path", &f_3)?;
4488    let ret = TSSetSchemaTemplateReq {
4489      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4490      template_name: f_2.expect("auto-generated code should have checked for presence of required fields"),
4491      prefix_path: f_3.expect("auto-generated code should have checked for presence of required fields"),
4492    };
4493    Ok(ret)
4494  }
4495  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4496    let struct_ident = TStructIdentifier::new("TSSetSchemaTemplateReq");
4497    o_prot.write_struct_begin(&struct_ident)?;
4498    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
4499    o_prot.write_i64(self.session_id)?;
4500    o_prot.write_field_end()?;
4501    o_prot.write_field_begin(&TFieldIdentifier::new("templateName", TType::String, 2))?;
4502    o_prot.write_string(&self.template_name)?;
4503    o_prot.write_field_end()?;
4504    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 3))?;
4505    o_prot.write_string(&self.prefix_path)?;
4506    o_prot.write_field_end()?;
4507    o_prot.write_field_stop()?;
4508    o_prot.write_struct_end()
4509  }
4510}
4511
4512//
4513// TSCreateSchemaTemplateReq
4514//
4515
4516#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4517pub struct TSCreateSchemaTemplateReq {
4518  pub session_id: i64,
4519  pub name: String,
4520  pub serialized_template: Vec<u8>,
4521}
4522
4523impl TSCreateSchemaTemplateReq {
4524  pub fn new(session_id: i64, name: String, serialized_template: Vec<u8>) -> TSCreateSchemaTemplateReq {
4525    TSCreateSchemaTemplateReq {
4526      session_id,
4527      name,
4528      serialized_template,
4529    }
4530  }
4531  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSCreateSchemaTemplateReq> {
4532    i_prot.read_struct_begin()?;
4533    let mut f_1: Option<i64> = None;
4534    let mut f_2: Option<String> = None;
4535    let mut f_3: Option<Vec<u8>> = None;
4536    loop {
4537      let field_ident = i_prot.read_field_begin()?;
4538      if field_ident.field_type == TType::Stop {
4539        break;
4540      }
4541      let field_id = field_id(&field_ident)?;
4542      match field_id {
4543        1 => {
4544          let val = i_prot.read_i64()?;
4545          f_1 = Some(val);
4546        },
4547        2 => {
4548          let val = i_prot.read_string()?;
4549          f_2 = Some(val);
4550        },
4551        3 => {
4552          let val = i_prot.read_bytes()?;
4553          f_3 = Some(val);
4554        },
4555        _ => {
4556          i_prot.skip(field_ident.field_type)?;
4557        },
4558      };
4559      i_prot.read_field_end()?;
4560    }
4561    i_prot.read_struct_end()?;
4562    verify_required_field_exists("TSCreateSchemaTemplateReq.session_id", &f_1)?;
4563    verify_required_field_exists("TSCreateSchemaTemplateReq.name", &f_2)?;
4564    verify_required_field_exists("TSCreateSchemaTemplateReq.serialized_template", &f_3)?;
4565    let ret = TSCreateSchemaTemplateReq {
4566      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4567      name: f_2.expect("auto-generated code should have checked for presence of required fields"),
4568      serialized_template: f_3.expect("auto-generated code should have checked for presence of required fields"),
4569    };
4570    Ok(ret)
4571  }
4572  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4573    let struct_ident = TStructIdentifier::new("TSCreateSchemaTemplateReq");
4574    o_prot.write_struct_begin(&struct_ident)?;
4575    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
4576    o_prot.write_i64(self.session_id)?;
4577    o_prot.write_field_end()?;
4578    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::String, 2))?;
4579    o_prot.write_string(&self.name)?;
4580    o_prot.write_field_end()?;
4581    o_prot.write_field_begin(&TFieldIdentifier::new("serializedTemplate", TType::String, 3))?;
4582    o_prot.write_bytes(&self.serialized_template)?;
4583    o_prot.write_field_end()?;
4584    o_prot.write_field_stop()?;
4585    o_prot.write_struct_end()
4586  }
4587}
4588
4589//
4590// TSAppendSchemaTemplateReq
4591//
4592
4593#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4594pub struct TSAppendSchemaTemplateReq {
4595  pub session_id: i64,
4596  pub name: String,
4597  pub is_aligned: bool,
4598  pub measurements: Vec<String>,
4599  pub data_types: Vec<i32>,
4600  pub encodings: Vec<i32>,
4601  pub compressors: Vec<i32>,
4602}
4603
4604impl TSAppendSchemaTemplateReq {
4605  pub fn new(session_id: i64, name: String, is_aligned: bool, measurements: Vec<String>, data_types: Vec<i32>, encodings: Vec<i32>, compressors: Vec<i32>) -> TSAppendSchemaTemplateReq {
4606    TSAppendSchemaTemplateReq {
4607      session_id,
4608      name,
4609      is_aligned,
4610      measurements,
4611      data_types,
4612      encodings,
4613      compressors,
4614    }
4615  }
4616  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSAppendSchemaTemplateReq> {
4617    i_prot.read_struct_begin()?;
4618    let mut f_1: Option<i64> = None;
4619    let mut f_2: Option<String> = None;
4620    let mut f_3: Option<bool> = None;
4621    let mut f_4: Option<Vec<String>> = None;
4622    let mut f_5: Option<Vec<i32>> = None;
4623    let mut f_6: Option<Vec<i32>> = None;
4624    let mut f_7: Option<Vec<i32>> = None;
4625    loop {
4626      let field_ident = i_prot.read_field_begin()?;
4627      if field_ident.field_type == TType::Stop {
4628        break;
4629      }
4630      let field_id = field_id(&field_ident)?;
4631      match field_id {
4632        1 => {
4633          let val = i_prot.read_i64()?;
4634          f_1 = Some(val);
4635        },
4636        2 => {
4637          let val = i_prot.read_string()?;
4638          f_2 = Some(val);
4639        },
4640        3 => {
4641          let val = i_prot.read_bool()?;
4642          f_3 = Some(val);
4643        },
4644        4 => {
4645          let list_ident = i_prot.read_list_begin()?;
4646          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
4647          for _ in 0..list_ident.size {
4648            let list_elem_76 = i_prot.read_string()?;
4649            val.push(list_elem_76);
4650          }
4651          i_prot.read_list_end()?;
4652          f_4 = Some(val);
4653        },
4654        5 => {
4655          let list_ident = i_prot.read_list_begin()?;
4656          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
4657          for _ in 0..list_ident.size {
4658            let list_elem_77 = i_prot.read_i32()?;
4659            val.push(list_elem_77);
4660          }
4661          i_prot.read_list_end()?;
4662          f_5 = Some(val);
4663        },
4664        6 => {
4665          let list_ident = i_prot.read_list_begin()?;
4666          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
4667          for _ in 0..list_ident.size {
4668            let list_elem_78 = i_prot.read_i32()?;
4669            val.push(list_elem_78);
4670          }
4671          i_prot.read_list_end()?;
4672          f_6 = Some(val);
4673        },
4674        7 => {
4675          let list_ident = i_prot.read_list_begin()?;
4676          let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize);
4677          for _ in 0..list_ident.size {
4678            let list_elem_79 = i_prot.read_i32()?;
4679            val.push(list_elem_79);
4680          }
4681          i_prot.read_list_end()?;
4682          f_7 = Some(val);
4683        },
4684        _ => {
4685          i_prot.skip(field_ident.field_type)?;
4686        },
4687      };
4688      i_prot.read_field_end()?;
4689    }
4690    i_prot.read_struct_end()?;
4691    verify_required_field_exists("TSAppendSchemaTemplateReq.session_id", &f_1)?;
4692    verify_required_field_exists("TSAppendSchemaTemplateReq.name", &f_2)?;
4693    verify_required_field_exists("TSAppendSchemaTemplateReq.is_aligned", &f_3)?;
4694    verify_required_field_exists("TSAppendSchemaTemplateReq.measurements", &f_4)?;
4695    verify_required_field_exists("TSAppendSchemaTemplateReq.data_types", &f_5)?;
4696    verify_required_field_exists("TSAppendSchemaTemplateReq.encodings", &f_6)?;
4697    verify_required_field_exists("TSAppendSchemaTemplateReq.compressors", &f_7)?;
4698    let ret = TSAppendSchemaTemplateReq {
4699      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4700      name: f_2.expect("auto-generated code should have checked for presence of required fields"),
4701      is_aligned: f_3.expect("auto-generated code should have checked for presence of required fields"),
4702      measurements: f_4.expect("auto-generated code should have checked for presence of required fields"),
4703      data_types: f_5.expect("auto-generated code should have checked for presence of required fields"),
4704      encodings: f_6.expect("auto-generated code should have checked for presence of required fields"),
4705      compressors: f_7.expect("auto-generated code should have checked for presence of required fields"),
4706    };
4707    Ok(ret)
4708  }
4709  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4710    let struct_ident = TStructIdentifier::new("TSAppendSchemaTemplateReq");
4711    o_prot.write_struct_begin(&struct_ident)?;
4712    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
4713    o_prot.write_i64(self.session_id)?;
4714    o_prot.write_field_end()?;
4715    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::String, 2))?;
4716    o_prot.write_string(&self.name)?;
4717    o_prot.write_field_end()?;
4718    o_prot.write_field_begin(&TFieldIdentifier::new("isAligned", TType::Bool, 3))?;
4719    o_prot.write_bool(self.is_aligned)?;
4720    o_prot.write_field_end()?;
4721    o_prot.write_field_begin(&TFieldIdentifier::new("measurements", TType::List, 4))?;
4722    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.measurements.len() as i32))?;
4723    for e in &self.measurements {
4724      o_prot.write_string(e)?;
4725    }
4726    o_prot.write_list_end()?;
4727    o_prot.write_field_end()?;
4728    o_prot.write_field_begin(&TFieldIdentifier::new("dataTypes", TType::List, 5))?;
4729    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.data_types.len() as i32))?;
4730    for e in &self.data_types {
4731      o_prot.write_i32(*e)?;
4732    }
4733    o_prot.write_list_end()?;
4734    o_prot.write_field_end()?;
4735    o_prot.write_field_begin(&TFieldIdentifier::new("encodings", TType::List, 6))?;
4736    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.encodings.len() as i32))?;
4737    for e in &self.encodings {
4738      o_prot.write_i32(*e)?;
4739    }
4740    o_prot.write_list_end()?;
4741    o_prot.write_field_end()?;
4742    o_prot.write_field_begin(&TFieldIdentifier::new("compressors", TType::List, 7))?;
4743    o_prot.write_list_begin(&TListIdentifier::new(TType::I32, self.compressors.len() as i32))?;
4744    for e in &self.compressors {
4745      o_prot.write_i32(*e)?;
4746    }
4747    o_prot.write_list_end()?;
4748    o_prot.write_field_end()?;
4749    o_prot.write_field_stop()?;
4750    o_prot.write_struct_end()
4751  }
4752}
4753
4754//
4755// TSPruneSchemaTemplateReq
4756//
4757
4758#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4759pub struct TSPruneSchemaTemplateReq {
4760  pub session_id: i64,
4761  pub name: String,
4762  pub path: String,
4763}
4764
4765impl TSPruneSchemaTemplateReq {
4766  pub fn new(session_id: i64, name: String, path: String) -> TSPruneSchemaTemplateReq {
4767    TSPruneSchemaTemplateReq {
4768      session_id,
4769      name,
4770      path,
4771    }
4772  }
4773  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSPruneSchemaTemplateReq> {
4774    i_prot.read_struct_begin()?;
4775    let mut f_1: Option<i64> = None;
4776    let mut f_2: Option<String> = None;
4777    let mut f_3: Option<String> = None;
4778    loop {
4779      let field_ident = i_prot.read_field_begin()?;
4780      if field_ident.field_type == TType::Stop {
4781        break;
4782      }
4783      let field_id = field_id(&field_ident)?;
4784      match field_id {
4785        1 => {
4786          let val = i_prot.read_i64()?;
4787          f_1 = Some(val);
4788        },
4789        2 => {
4790          let val = i_prot.read_string()?;
4791          f_2 = Some(val);
4792        },
4793        3 => {
4794          let val = i_prot.read_string()?;
4795          f_3 = Some(val);
4796        },
4797        _ => {
4798          i_prot.skip(field_ident.field_type)?;
4799        },
4800      };
4801      i_prot.read_field_end()?;
4802    }
4803    i_prot.read_struct_end()?;
4804    verify_required_field_exists("TSPruneSchemaTemplateReq.session_id", &f_1)?;
4805    verify_required_field_exists("TSPruneSchemaTemplateReq.name", &f_2)?;
4806    verify_required_field_exists("TSPruneSchemaTemplateReq.path", &f_3)?;
4807    let ret = TSPruneSchemaTemplateReq {
4808      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4809      name: f_2.expect("auto-generated code should have checked for presence of required fields"),
4810      path: f_3.expect("auto-generated code should have checked for presence of required fields"),
4811    };
4812    Ok(ret)
4813  }
4814  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4815    let struct_ident = TStructIdentifier::new("TSPruneSchemaTemplateReq");
4816    o_prot.write_struct_begin(&struct_ident)?;
4817    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
4818    o_prot.write_i64(self.session_id)?;
4819    o_prot.write_field_end()?;
4820    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::String, 2))?;
4821    o_prot.write_string(&self.name)?;
4822    o_prot.write_field_end()?;
4823    o_prot.write_field_begin(&TFieldIdentifier::new("path", TType::String, 3))?;
4824    o_prot.write_string(&self.path)?;
4825    o_prot.write_field_end()?;
4826    o_prot.write_field_stop()?;
4827    o_prot.write_struct_end()
4828  }
4829}
4830
4831//
4832// TSQueryTemplateReq
4833//
4834
4835#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4836pub struct TSQueryTemplateReq {
4837  pub session_id: i64,
4838  pub name: String,
4839  pub query_type: i32,
4840  pub measurement: Option<String>,
4841}
4842
4843impl TSQueryTemplateReq {
4844  pub fn new<F4>(session_id: i64, name: String, query_type: i32, measurement: F4) -> TSQueryTemplateReq where F4: Into<Option<String>> {
4845    TSQueryTemplateReq {
4846      session_id,
4847      name,
4848      query_type,
4849      measurement: measurement.into(),
4850    }
4851  }
4852  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSQueryTemplateReq> {
4853    i_prot.read_struct_begin()?;
4854    let mut f_1: Option<i64> = None;
4855    let mut f_2: Option<String> = None;
4856    let mut f_3: Option<i32> = None;
4857    let mut f_4: Option<String> = None;
4858    loop {
4859      let field_ident = i_prot.read_field_begin()?;
4860      if field_ident.field_type == TType::Stop {
4861        break;
4862      }
4863      let field_id = field_id(&field_ident)?;
4864      match field_id {
4865        1 => {
4866          let val = i_prot.read_i64()?;
4867          f_1 = Some(val);
4868        },
4869        2 => {
4870          let val = i_prot.read_string()?;
4871          f_2 = Some(val);
4872        },
4873        3 => {
4874          let val = i_prot.read_i32()?;
4875          f_3 = Some(val);
4876        },
4877        4 => {
4878          let val = i_prot.read_string()?;
4879          f_4 = Some(val);
4880        },
4881        _ => {
4882          i_prot.skip(field_ident.field_type)?;
4883        },
4884      };
4885      i_prot.read_field_end()?;
4886    }
4887    i_prot.read_struct_end()?;
4888    verify_required_field_exists("TSQueryTemplateReq.session_id", &f_1)?;
4889    verify_required_field_exists("TSQueryTemplateReq.name", &f_2)?;
4890    verify_required_field_exists("TSQueryTemplateReq.query_type", &f_3)?;
4891    let ret = TSQueryTemplateReq {
4892      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4893      name: f_2.expect("auto-generated code should have checked for presence of required fields"),
4894      query_type: f_3.expect("auto-generated code should have checked for presence of required fields"),
4895      measurement: f_4,
4896    };
4897    Ok(ret)
4898  }
4899  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4900    let struct_ident = TStructIdentifier::new("TSQueryTemplateReq");
4901    o_prot.write_struct_begin(&struct_ident)?;
4902    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
4903    o_prot.write_i64(self.session_id)?;
4904    o_prot.write_field_end()?;
4905    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::String, 2))?;
4906    o_prot.write_string(&self.name)?;
4907    o_prot.write_field_end()?;
4908    o_prot.write_field_begin(&TFieldIdentifier::new("queryType", TType::I32, 3))?;
4909    o_prot.write_i32(self.query_type)?;
4910    o_prot.write_field_end()?;
4911    if let Some(ref fld_var) = self.measurement {
4912      o_prot.write_field_begin(&TFieldIdentifier::new("measurement", TType::String, 4))?;
4913      o_prot.write_string(fld_var)?;
4914      o_prot.write_field_end()?
4915    }
4916    o_prot.write_field_stop()?;
4917    o_prot.write_struct_end()
4918  }
4919}
4920
4921//
4922// TSQueryTemplateResp
4923//
4924
4925#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4926pub struct TSQueryTemplateResp {
4927  pub status: TSStatus,
4928  pub query_type: i32,
4929  pub result: Option<bool>,
4930  pub count: Option<i32>,
4931  pub measurements: Option<Vec<String>>,
4932}
4933
4934impl TSQueryTemplateResp {
4935  pub fn new<F3, F4, F5>(status: TSStatus, query_type: i32, result: F3, count: F4, measurements: F5) -> TSQueryTemplateResp where F3: Into<Option<bool>>, F4: Into<Option<i32>>, F5: Into<Option<Vec<String>>> {
4936    TSQueryTemplateResp {
4937      status,
4938      query_type,
4939      result: result.into(),
4940      count: count.into(),
4941      measurements: measurements.into(),
4942    }
4943  }
4944  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSQueryTemplateResp> {
4945    i_prot.read_struct_begin()?;
4946    let mut f_1: Option<TSStatus> = None;
4947    let mut f_2: Option<i32> = None;
4948    let mut f_3: Option<bool> = None;
4949    let mut f_4: Option<i32> = None;
4950    let mut f_5: Option<Vec<String>> = None;
4951    loop {
4952      let field_ident = i_prot.read_field_begin()?;
4953      if field_ident.field_type == TType::Stop {
4954        break;
4955      }
4956      let field_id = field_id(&field_ident)?;
4957      match field_id {
4958        1 => {
4959          let val = TSStatus::read_from_in_protocol(i_prot)?;
4960          f_1 = Some(val);
4961        },
4962        2 => {
4963          let val = i_prot.read_i32()?;
4964          f_2 = Some(val);
4965        },
4966        3 => {
4967          let val = i_prot.read_bool()?;
4968          f_3 = Some(val);
4969        },
4970        4 => {
4971          let val = i_prot.read_i32()?;
4972          f_4 = Some(val);
4973        },
4974        5 => {
4975          let list_ident = i_prot.read_list_begin()?;
4976          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
4977          for _ in 0..list_ident.size {
4978            let list_elem_80 = i_prot.read_string()?;
4979            val.push(list_elem_80);
4980          }
4981          i_prot.read_list_end()?;
4982          f_5 = Some(val);
4983        },
4984        _ => {
4985          i_prot.skip(field_ident.field_type)?;
4986        },
4987      };
4988      i_prot.read_field_end()?;
4989    }
4990    i_prot.read_struct_end()?;
4991    verify_required_field_exists("TSQueryTemplateResp.status", &f_1)?;
4992    verify_required_field_exists("TSQueryTemplateResp.query_type", &f_2)?;
4993    let ret = TSQueryTemplateResp {
4994      status: f_1.expect("auto-generated code should have checked for presence of required fields"),
4995      query_type: f_2.expect("auto-generated code should have checked for presence of required fields"),
4996      result: f_3,
4997      count: f_4,
4998      measurements: f_5,
4999    };
5000    Ok(ret)
5001  }
5002  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
5003    let struct_ident = TStructIdentifier::new("TSQueryTemplateResp");
5004    o_prot.write_struct_begin(&struct_ident)?;
5005    o_prot.write_field_begin(&TFieldIdentifier::new("status", TType::Struct, 1))?;
5006    self.status.write_to_out_protocol(o_prot)?;
5007    o_prot.write_field_end()?;
5008    o_prot.write_field_begin(&TFieldIdentifier::new("queryType", TType::I32, 2))?;
5009    o_prot.write_i32(self.query_type)?;
5010    o_prot.write_field_end()?;
5011    if let Some(fld_var) = self.result {
5012      o_prot.write_field_begin(&TFieldIdentifier::new("result", TType::Bool, 3))?;
5013      o_prot.write_bool(fld_var)?;
5014      o_prot.write_field_end()?
5015    }
5016    if let Some(fld_var) = self.count {
5017      o_prot.write_field_begin(&TFieldIdentifier::new("count", TType::I32, 4))?;
5018      o_prot.write_i32(fld_var)?;
5019      o_prot.write_field_end()?
5020    }
5021    if let Some(ref fld_var) = self.measurements {
5022      o_prot.write_field_begin(&TFieldIdentifier::new("measurements", TType::List, 5))?;
5023      o_prot.write_list_begin(&TListIdentifier::new(TType::String, fld_var.len() as i32))?;
5024      for e in fld_var {
5025        o_prot.write_string(e)?;
5026      }
5027      o_prot.write_list_end()?;
5028      o_prot.write_field_end()?
5029    }
5030    o_prot.write_field_stop()?;
5031    o_prot.write_struct_end()
5032  }
5033}
5034
5035//
5036// TSUnsetSchemaTemplateReq
5037//
5038
5039#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
5040pub struct TSUnsetSchemaTemplateReq {
5041  pub session_id: i64,
5042  pub prefix_path: String,
5043  pub template_name: String,
5044}
5045
5046impl TSUnsetSchemaTemplateReq {
5047  pub fn new(session_id: i64, prefix_path: String, template_name: String) -> TSUnsetSchemaTemplateReq {
5048    TSUnsetSchemaTemplateReq {
5049      session_id,
5050      prefix_path,
5051      template_name,
5052    }
5053  }
5054  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSUnsetSchemaTemplateReq> {
5055    i_prot.read_struct_begin()?;
5056    let mut f_1: Option<i64> = None;
5057    let mut f_2: Option<String> = None;
5058    let mut f_3: Option<String> = None;
5059    loop {
5060      let field_ident = i_prot.read_field_begin()?;
5061      if field_ident.field_type == TType::Stop {
5062        break;
5063      }
5064      let field_id = field_id(&field_ident)?;
5065      match field_id {
5066        1 => {
5067          let val = i_prot.read_i64()?;
5068          f_1 = Some(val);
5069        },
5070        2 => {
5071          let val = i_prot.read_string()?;
5072          f_2 = Some(val);
5073        },
5074        3 => {
5075          let val = i_prot.read_string()?;
5076          f_3 = Some(val);
5077        },
5078        _ => {
5079          i_prot.skip(field_ident.field_type)?;
5080        },
5081      };
5082      i_prot.read_field_end()?;
5083    }
5084    i_prot.read_struct_end()?;
5085    verify_required_field_exists("TSUnsetSchemaTemplateReq.session_id", &f_1)?;
5086    verify_required_field_exists("TSUnsetSchemaTemplateReq.prefix_path", &f_2)?;
5087    verify_required_field_exists("TSUnsetSchemaTemplateReq.template_name", &f_3)?;
5088    let ret = TSUnsetSchemaTemplateReq {
5089      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
5090      prefix_path: f_2.expect("auto-generated code should have checked for presence of required fields"),
5091      template_name: f_3.expect("auto-generated code should have checked for presence of required fields"),
5092    };
5093    Ok(ret)
5094  }
5095  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
5096    let struct_ident = TStructIdentifier::new("TSUnsetSchemaTemplateReq");
5097    o_prot.write_struct_begin(&struct_ident)?;
5098    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
5099    o_prot.write_i64(self.session_id)?;
5100    o_prot.write_field_end()?;
5101    o_prot.write_field_begin(&TFieldIdentifier::new("prefixPath", TType::String, 2))?;
5102    o_prot.write_string(&self.prefix_path)?;
5103    o_prot.write_field_end()?;
5104    o_prot.write_field_begin(&TFieldIdentifier::new("templateName", TType::String, 3))?;
5105    o_prot.write_string(&self.template_name)?;
5106    o_prot.write_field_end()?;
5107    o_prot.write_field_stop()?;
5108    o_prot.write_struct_end()
5109  }
5110}
5111
5112//
5113// TSIService service client
5114//
5115
5116pub trait TTSIServiceSyncClient {
5117  fn open_session(&mut self, req: TSOpenSessionReq) -> thrift::Result<TSOpenSessionResp>;
5118  fn close_session(&mut self, req: TSCloseSessionReq) -> thrift::Result<TSStatus>;
5119  fn execute_statement(&mut self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp>;
5120  fn execute_batch_statement(&mut self, req: TSExecuteBatchStatementReq) -> thrift::Result<TSStatus>;
5121  fn execute_query_statement(&mut self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp>;
5122  fn execute_update_statement(&mut self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp>;
5123  fn fetch_results(&mut self, req: TSFetchResultsReq) -> thrift::Result<TSFetchResultsResp>;
5124  fn fetch_metadata(&mut self, req: TSFetchMetadataReq) -> thrift::Result<TSFetchMetadataResp>;
5125  fn cancel_operation(&mut self, req: TSCancelOperationReq) -> thrift::Result<TSStatus>;
5126  fn close_operation(&mut self, req: TSCloseOperationReq) -> thrift::Result<TSStatus>;
5127  fn get_time_zone(&mut self, session_id: i64) -> thrift::Result<TSGetTimeZoneResp>;
5128  fn set_time_zone(&mut self, req: TSSetTimeZoneReq) -> thrift::Result<TSStatus>;
5129  fn get_properties(&mut self) -> thrift::Result<ServerProperties>;
5130  fn set_storage_group(&mut self, session_id: i64, storage_group: String) -> thrift::Result<TSStatus>;
5131  fn create_timeseries(&mut self, req: TSCreateTimeseriesReq) -> thrift::Result<TSStatus>;
5132  fn create_aligned_timeseries(&mut self, req: TSCreateAlignedTimeseriesReq) -> thrift::Result<TSStatus>;
5133  fn create_multi_timeseries(&mut self, req: TSCreateMultiTimeseriesReq) -> thrift::Result<TSStatus>;
5134  fn delete_timeseries(&mut self, session_id: i64, path: Vec<String>) -> thrift::Result<TSStatus>;
5135  fn delete_storage_groups(&mut self, session_id: i64, storage_group: Vec<String>) -> thrift::Result<TSStatus>;
5136  fn insert_record(&mut self, req: TSInsertRecordReq) -> thrift::Result<TSStatus>;
5137  fn insert_string_record(&mut self, req: TSInsertStringRecordReq) -> thrift::Result<TSStatus>;
5138  fn insert_tablet(&mut self, req: TSInsertTabletReq) -> thrift::Result<TSStatus>;
5139  fn insert_tablets(&mut self, req: TSInsertTabletsReq) -> thrift::Result<TSStatus>;
5140  fn insert_records(&mut self, req: TSInsertRecordsReq) -> thrift::Result<TSStatus>;
5141  fn insert_records_of_one_device(&mut self, req: TSInsertRecordsOfOneDeviceReq) -> thrift::Result<TSStatus>;
5142  fn insert_string_records(&mut self, req: TSInsertStringRecordsReq) -> thrift::Result<TSStatus>;
5143  fn test_insert_tablet(&mut self, req: TSInsertTabletReq) -> thrift::Result<TSStatus>;
5144  fn test_insert_tablets(&mut self, req: TSInsertTabletsReq) -> thrift::Result<TSStatus>;
5145  fn test_insert_record(&mut self, req: TSInsertRecordReq) -> thrift::Result<TSStatus>;
5146  fn test_insert_string_record(&mut self, req: TSInsertStringRecordReq) -> thrift::Result<TSStatus>;
5147  fn test_insert_records(&mut self, req: TSInsertRecordsReq) -> thrift::Result<TSStatus>;
5148  fn test_insert_records_of_one_device(&mut self, req: TSInsertRecordsOfOneDeviceReq) -> thrift::Result<TSStatus>;
5149  fn test_insert_string_records(&mut self, req: TSInsertStringRecordsReq) -> thrift::Result<TSStatus>;
5150  fn delete_data(&mut self, req: TSDeleteDataReq) -> thrift::Result<TSStatus>;
5151  fn execute_raw_data_query(&mut self, req: TSRawDataQueryReq) -> thrift::Result<TSExecuteStatementResp>;
5152  fn execute_last_data_query(&mut self, req: TSLastDataQueryReq) -> thrift::Result<TSExecuteStatementResp>;
5153  fn request_statement_id(&mut self, session_id: i64) -> thrift::Result<i64>;
5154  fn create_schema_template(&mut self, req: TSCreateSchemaTemplateReq) -> thrift::Result<TSStatus>;
5155  fn append_schema_template(&mut self, req: TSAppendSchemaTemplateReq) -> thrift::Result<TSStatus>;
5156  fn prune_schema_template(&mut self, req: TSPruneSchemaTemplateReq) -> thrift::Result<TSStatus>;
5157  fn query_schema_template(&mut self, req: TSQueryTemplateReq) -> thrift::Result<TSQueryTemplateResp>;
5158  fn set_schema_template(&mut self, req: TSSetSchemaTemplateReq) -> thrift::Result<TSStatus>;
5159  fn unset_schema_template(&mut self, req: TSUnsetSchemaTemplateReq) -> thrift::Result<TSStatus>;
5160}
5161
5162pub trait TTSIServiceSyncClientMarker {}
5163
5164pub struct TSIServiceSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
5165  _i_prot: IP,
5166  _o_prot: OP,
5167  _sequence_number: i32,
5168}
5169
5170impl <IP, OP> TSIServiceSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
5171  pub fn new(input_protocol: IP, output_protocol: OP) -> TSIServiceSyncClient<IP, OP> {
5172    TSIServiceSyncClient { _i_prot: input_protocol, _o_prot: output_protocol, _sequence_number: 0 }
5173  }
5174}
5175
5176impl <IP, OP> TThriftClient for TSIServiceSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
5177  fn i_prot_mut(&mut self) -> &mut dyn TInputProtocol { &mut self._i_prot }
5178  fn o_prot_mut(&mut self) -> &mut dyn TOutputProtocol { &mut self._o_prot }
5179  fn sequence_number(&self) -> i32 { self._sequence_number }
5180  fn increment_sequence_number(&mut self) -> i32 { self._sequence_number += 1; self._sequence_number }
5181}
5182
5183impl <IP, OP> TTSIServiceSyncClientMarker for TSIServiceSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {}
5184
5185impl <C: TThriftClient + TTSIServiceSyncClientMarker> TTSIServiceSyncClient for C {
5186  fn open_session(&mut self, req: TSOpenSessionReq) -> thrift::Result<TSOpenSessionResp> {
5187    (
5188      {
5189        self.increment_sequence_number();
5190        let message_ident = TMessageIdentifier::new("openSession", TMessageType::Call, self.sequence_number());
5191        let call_args = TSIServiceOpenSessionArgs { req };
5192        self.o_prot_mut().write_message_begin(&message_ident)?;
5193        call_args.write_to_out_protocol(self.o_prot_mut())?;
5194        self.o_prot_mut().write_message_end()?;
5195        self.o_prot_mut().flush()
5196      }
5197    )?;
5198    {
5199      let message_ident = self.i_prot_mut().read_message_begin()?;
5200      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5201      verify_expected_service_call("openSession", &message_ident.name)?;
5202      if message_ident.message_type == TMessageType::Exception {
5203        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5204        self.i_prot_mut().read_message_end()?;
5205        return Err(thrift::Error::Application(remote_error))
5206      }
5207      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5208      let result = TSIServiceOpenSessionResult::read_from_in_protocol(self.i_prot_mut())?;
5209      self.i_prot_mut().read_message_end()?;
5210      result.ok_or()
5211    }
5212  }
5213  fn close_session(&mut self, req: TSCloseSessionReq) -> thrift::Result<TSStatus> {
5214    (
5215      {
5216        self.increment_sequence_number();
5217        let message_ident = TMessageIdentifier::new("closeSession", TMessageType::Call, self.sequence_number());
5218        let call_args = TSIServiceCloseSessionArgs { req };
5219        self.o_prot_mut().write_message_begin(&message_ident)?;
5220        call_args.write_to_out_protocol(self.o_prot_mut())?;
5221        self.o_prot_mut().write_message_end()?;
5222        self.o_prot_mut().flush()
5223      }
5224    )?;
5225    {
5226      let message_ident = self.i_prot_mut().read_message_begin()?;
5227      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5228      verify_expected_service_call("closeSession", &message_ident.name)?;
5229      if message_ident.message_type == TMessageType::Exception {
5230        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5231        self.i_prot_mut().read_message_end()?;
5232        return Err(thrift::Error::Application(remote_error))
5233      }
5234      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5235      let result = TSIServiceCloseSessionResult::read_from_in_protocol(self.i_prot_mut())?;
5236      self.i_prot_mut().read_message_end()?;
5237      result.ok_or()
5238    }
5239  }
5240  fn execute_statement(&mut self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp> {
5241    (
5242      {
5243        self.increment_sequence_number();
5244        let message_ident = TMessageIdentifier::new("executeStatement", TMessageType::Call, self.sequence_number());
5245        let call_args = TSIServiceExecuteStatementArgs { req };
5246        self.o_prot_mut().write_message_begin(&message_ident)?;
5247        call_args.write_to_out_protocol(self.o_prot_mut())?;
5248        self.o_prot_mut().write_message_end()?;
5249        self.o_prot_mut().flush()
5250      }
5251    )?;
5252    {
5253      let message_ident = self.i_prot_mut().read_message_begin()?;
5254      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5255      verify_expected_service_call("executeStatement", &message_ident.name)?;
5256      if message_ident.message_type == TMessageType::Exception {
5257        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5258        self.i_prot_mut().read_message_end()?;
5259        return Err(thrift::Error::Application(remote_error))
5260      }
5261      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5262      let result = TSIServiceExecuteStatementResult::read_from_in_protocol(self.i_prot_mut())?;
5263      self.i_prot_mut().read_message_end()?;
5264      result.ok_or()
5265    }
5266  }
5267  fn execute_batch_statement(&mut self, req: TSExecuteBatchStatementReq) -> thrift::Result<TSStatus> {
5268    (
5269      {
5270        self.increment_sequence_number();
5271        let message_ident = TMessageIdentifier::new("executeBatchStatement", TMessageType::Call, self.sequence_number());
5272        let call_args = TSIServiceExecuteBatchStatementArgs { req };
5273        self.o_prot_mut().write_message_begin(&message_ident)?;
5274        call_args.write_to_out_protocol(self.o_prot_mut())?;
5275        self.o_prot_mut().write_message_end()?;
5276        self.o_prot_mut().flush()
5277      }
5278    )?;
5279    {
5280      let message_ident = self.i_prot_mut().read_message_begin()?;
5281      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5282      verify_expected_service_call("executeBatchStatement", &message_ident.name)?;
5283      if message_ident.message_type == TMessageType::Exception {
5284        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5285        self.i_prot_mut().read_message_end()?;
5286        return Err(thrift::Error::Application(remote_error))
5287      }
5288      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5289      let result = TSIServiceExecuteBatchStatementResult::read_from_in_protocol(self.i_prot_mut())?;
5290      self.i_prot_mut().read_message_end()?;
5291      result.ok_or()
5292    }
5293  }
5294  fn execute_query_statement(&mut self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp> {
5295    (
5296      {
5297        self.increment_sequence_number();
5298        let message_ident = TMessageIdentifier::new("executeQueryStatement", TMessageType::Call, self.sequence_number());
5299        let call_args = TSIServiceExecuteQueryStatementArgs { req };
5300        self.o_prot_mut().write_message_begin(&message_ident)?;
5301        call_args.write_to_out_protocol(self.o_prot_mut())?;
5302        self.o_prot_mut().write_message_end()?;
5303        self.o_prot_mut().flush()
5304      }
5305    )?;
5306    {
5307      let message_ident = self.i_prot_mut().read_message_begin()?;
5308      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5309      verify_expected_service_call("executeQueryStatement", &message_ident.name)?;
5310      if message_ident.message_type == TMessageType::Exception {
5311        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5312        self.i_prot_mut().read_message_end()?;
5313        return Err(thrift::Error::Application(remote_error))
5314      }
5315      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5316      let result = TSIServiceExecuteQueryStatementResult::read_from_in_protocol(self.i_prot_mut())?;
5317      self.i_prot_mut().read_message_end()?;
5318      result.ok_or()
5319    }
5320  }
5321  fn execute_update_statement(&mut self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp> {
5322    (
5323      {
5324        self.increment_sequence_number();
5325        let message_ident = TMessageIdentifier::new("executeUpdateStatement", TMessageType::Call, self.sequence_number());
5326        let call_args = TSIServiceExecuteUpdateStatementArgs { req };
5327        self.o_prot_mut().write_message_begin(&message_ident)?;
5328        call_args.write_to_out_protocol(self.o_prot_mut())?;
5329        self.o_prot_mut().write_message_end()?;
5330        self.o_prot_mut().flush()
5331      }
5332    )?;
5333    {
5334      let message_ident = self.i_prot_mut().read_message_begin()?;
5335      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5336      verify_expected_service_call("executeUpdateStatement", &message_ident.name)?;
5337      if message_ident.message_type == TMessageType::Exception {
5338        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5339        self.i_prot_mut().read_message_end()?;
5340        return Err(thrift::Error::Application(remote_error))
5341      }
5342      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5343      let result = TSIServiceExecuteUpdateStatementResult::read_from_in_protocol(self.i_prot_mut())?;
5344      self.i_prot_mut().read_message_end()?;
5345      result.ok_or()
5346    }
5347  }
5348  fn fetch_results(&mut self, req: TSFetchResultsReq) -> thrift::Result<TSFetchResultsResp> {
5349    (
5350      {
5351        self.increment_sequence_number();
5352        let message_ident = TMessageIdentifier::new("fetchResults", TMessageType::Call, self.sequence_number());
5353        let call_args = TSIServiceFetchResultsArgs { req };
5354        self.o_prot_mut().write_message_begin(&message_ident)?;
5355        call_args.write_to_out_protocol(self.o_prot_mut())?;
5356        self.o_prot_mut().write_message_end()?;
5357        self.o_prot_mut().flush()
5358      }
5359    )?;
5360    {
5361      let message_ident = self.i_prot_mut().read_message_begin()?;
5362      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5363      verify_expected_service_call("fetchResults", &message_ident.name)?;
5364      if message_ident.message_type == TMessageType::Exception {
5365        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5366        self.i_prot_mut().read_message_end()?;
5367        return Err(thrift::Error::Application(remote_error))
5368      }
5369      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5370      let result = TSIServiceFetchResultsResult::read_from_in_protocol(self.i_prot_mut())?;
5371      self.i_prot_mut().read_message_end()?;
5372      result.ok_or()
5373    }
5374  }
5375  fn fetch_metadata(&mut self, req: TSFetchMetadataReq) -> thrift::Result<TSFetchMetadataResp> {
5376    (
5377      {
5378        self.increment_sequence_number();
5379        let message_ident = TMessageIdentifier::new("fetchMetadata", TMessageType::Call, self.sequence_number());
5380        let call_args = TSIServiceFetchMetadataArgs { req };
5381        self.o_prot_mut().write_message_begin(&message_ident)?;
5382        call_args.write_to_out_protocol(self.o_prot_mut())?;
5383        self.o_prot_mut().write_message_end()?;
5384        self.o_prot_mut().flush()
5385      }
5386    )?;
5387    {
5388      let message_ident = self.i_prot_mut().read_message_begin()?;
5389      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5390      verify_expected_service_call("fetchMetadata", &message_ident.name)?;
5391      if message_ident.message_type == TMessageType::Exception {
5392        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5393        self.i_prot_mut().read_message_end()?;
5394        return Err(thrift::Error::Application(remote_error))
5395      }
5396      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5397      let result = TSIServiceFetchMetadataResult::read_from_in_protocol(self.i_prot_mut())?;
5398      self.i_prot_mut().read_message_end()?;
5399      result.ok_or()
5400    }
5401  }
5402  fn cancel_operation(&mut self, req: TSCancelOperationReq) -> thrift::Result<TSStatus> {
5403    (
5404      {
5405        self.increment_sequence_number();
5406        let message_ident = TMessageIdentifier::new("cancelOperation", TMessageType::Call, self.sequence_number());
5407        let call_args = TSIServiceCancelOperationArgs { req };
5408        self.o_prot_mut().write_message_begin(&message_ident)?;
5409        call_args.write_to_out_protocol(self.o_prot_mut())?;
5410        self.o_prot_mut().write_message_end()?;
5411        self.o_prot_mut().flush()
5412      }
5413    )?;
5414    {
5415      let message_ident = self.i_prot_mut().read_message_begin()?;
5416      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5417      verify_expected_service_call("cancelOperation", &message_ident.name)?;
5418      if message_ident.message_type == TMessageType::Exception {
5419        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5420        self.i_prot_mut().read_message_end()?;
5421        return Err(thrift::Error::Application(remote_error))
5422      }
5423      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5424      let result = TSIServiceCancelOperationResult::read_from_in_protocol(self.i_prot_mut())?;
5425      self.i_prot_mut().read_message_end()?;
5426      result.ok_or()
5427    }
5428  }
5429  fn close_operation(&mut self, req: TSCloseOperationReq) -> thrift::Result<TSStatus> {
5430    (
5431      {
5432        self.increment_sequence_number();
5433        let message_ident = TMessageIdentifier::new("closeOperation", TMessageType::Call, self.sequence_number());
5434        let call_args = TSIServiceCloseOperationArgs { req };
5435        self.o_prot_mut().write_message_begin(&message_ident)?;
5436        call_args.write_to_out_protocol(self.o_prot_mut())?;
5437        self.o_prot_mut().write_message_end()?;
5438        self.o_prot_mut().flush()
5439      }
5440    )?;
5441    {
5442      let message_ident = self.i_prot_mut().read_message_begin()?;
5443      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5444      verify_expected_service_call("closeOperation", &message_ident.name)?;
5445      if message_ident.message_type == TMessageType::Exception {
5446        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5447        self.i_prot_mut().read_message_end()?;
5448        return Err(thrift::Error::Application(remote_error))
5449      }
5450      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5451      let result = TSIServiceCloseOperationResult::read_from_in_protocol(self.i_prot_mut())?;
5452      self.i_prot_mut().read_message_end()?;
5453      result.ok_or()
5454    }
5455  }
5456  fn get_time_zone(&mut self, session_id: i64) -> thrift::Result<TSGetTimeZoneResp> {
5457    (
5458      {
5459        self.increment_sequence_number();
5460        let message_ident = TMessageIdentifier::new("getTimeZone", TMessageType::Call, self.sequence_number());
5461        let call_args = TSIServiceGetTimeZoneArgs { session_id };
5462        self.o_prot_mut().write_message_begin(&message_ident)?;
5463        call_args.write_to_out_protocol(self.o_prot_mut())?;
5464        self.o_prot_mut().write_message_end()?;
5465        self.o_prot_mut().flush()
5466      }
5467    )?;
5468    {
5469      let message_ident = self.i_prot_mut().read_message_begin()?;
5470      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5471      verify_expected_service_call("getTimeZone", &message_ident.name)?;
5472      if message_ident.message_type == TMessageType::Exception {
5473        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5474        self.i_prot_mut().read_message_end()?;
5475        return Err(thrift::Error::Application(remote_error))
5476      }
5477      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5478      let result = TSIServiceGetTimeZoneResult::read_from_in_protocol(self.i_prot_mut())?;
5479      self.i_prot_mut().read_message_end()?;
5480      result.ok_or()
5481    }
5482  }
5483  fn set_time_zone(&mut self, req: TSSetTimeZoneReq) -> thrift::Result<TSStatus> {
5484    (
5485      {
5486        self.increment_sequence_number();
5487        let message_ident = TMessageIdentifier::new("setTimeZone", TMessageType::Call, self.sequence_number());
5488        let call_args = TSIServiceSetTimeZoneArgs { req };
5489        self.o_prot_mut().write_message_begin(&message_ident)?;
5490        call_args.write_to_out_protocol(self.o_prot_mut())?;
5491        self.o_prot_mut().write_message_end()?;
5492        self.o_prot_mut().flush()
5493      }
5494    )?;
5495    {
5496      let message_ident = self.i_prot_mut().read_message_begin()?;
5497      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5498      verify_expected_service_call("setTimeZone", &message_ident.name)?;
5499      if message_ident.message_type == TMessageType::Exception {
5500        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5501        self.i_prot_mut().read_message_end()?;
5502        return Err(thrift::Error::Application(remote_error))
5503      }
5504      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5505      let result = TSIServiceSetTimeZoneResult::read_from_in_protocol(self.i_prot_mut())?;
5506      self.i_prot_mut().read_message_end()?;
5507      result.ok_or()
5508    }
5509  }
5510  fn get_properties(&mut self) -> thrift::Result<ServerProperties> {
5511    (
5512      {
5513        self.increment_sequence_number();
5514        let message_ident = TMessageIdentifier::new("getProperties", TMessageType::Call, self.sequence_number());
5515        let call_args = TSIServiceGetPropertiesArgs {  };
5516        self.o_prot_mut().write_message_begin(&message_ident)?;
5517        call_args.write_to_out_protocol(self.o_prot_mut())?;
5518        self.o_prot_mut().write_message_end()?;
5519        self.o_prot_mut().flush()
5520      }
5521    )?;
5522    {
5523      let message_ident = self.i_prot_mut().read_message_begin()?;
5524      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5525      verify_expected_service_call("getProperties", &message_ident.name)?;
5526      if message_ident.message_type == TMessageType::Exception {
5527        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5528        self.i_prot_mut().read_message_end()?;
5529        return Err(thrift::Error::Application(remote_error))
5530      }
5531      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5532      let result = TSIServiceGetPropertiesResult::read_from_in_protocol(self.i_prot_mut())?;
5533      self.i_prot_mut().read_message_end()?;
5534      result.ok_or()
5535    }
5536  }
5537  fn set_storage_group(&mut self, session_id: i64, storage_group: String) -> thrift::Result<TSStatus> {
5538    (
5539      {
5540        self.increment_sequence_number();
5541        let message_ident = TMessageIdentifier::new("setStorageGroup", TMessageType::Call, self.sequence_number());
5542        let call_args = TSIServiceSetStorageGroupArgs { session_id, storage_group };
5543        self.o_prot_mut().write_message_begin(&message_ident)?;
5544        call_args.write_to_out_protocol(self.o_prot_mut())?;
5545        self.o_prot_mut().write_message_end()?;
5546        self.o_prot_mut().flush()
5547      }
5548    )?;
5549    {
5550      let message_ident = self.i_prot_mut().read_message_begin()?;
5551      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5552      verify_expected_service_call("setStorageGroup", &message_ident.name)?;
5553      if message_ident.message_type == TMessageType::Exception {
5554        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5555        self.i_prot_mut().read_message_end()?;
5556        return Err(thrift::Error::Application(remote_error))
5557      }
5558      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5559      let result = TSIServiceSetStorageGroupResult::read_from_in_protocol(self.i_prot_mut())?;
5560      self.i_prot_mut().read_message_end()?;
5561      result.ok_or()
5562    }
5563  }
5564  fn create_timeseries(&mut self, req: TSCreateTimeseriesReq) -> thrift::Result<TSStatus> {
5565    (
5566      {
5567        self.increment_sequence_number();
5568        let message_ident = TMessageIdentifier::new("createTimeseries", TMessageType::Call, self.sequence_number());
5569        let call_args = TSIServiceCreateTimeseriesArgs { req };
5570        self.o_prot_mut().write_message_begin(&message_ident)?;
5571        call_args.write_to_out_protocol(self.o_prot_mut())?;
5572        self.o_prot_mut().write_message_end()?;
5573        self.o_prot_mut().flush()
5574      }
5575    )?;
5576    {
5577      let message_ident = self.i_prot_mut().read_message_begin()?;
5578      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5579      verify_expected_service_call("createTimeseries", &message_ident.name)?;
5580      if message_ident.message_type == TMessageType::Exception {
5581        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5582        self.i_prot_mut().read_message_end()?;
5583        return Err(thrift::Error::Application(remote_error))
5584      }
5585      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5586      let result = TSIServiceCreateTimeseriesResult::read_from_in_protocol(self.i_prot_mut())?;
5587      self.i_prot_mut().read_message_end()?;
5588      result.ok_or()
5589    }
5590  }
5591  fn create_aligned_timeseries(&mut self, req: TSCreateAlignedTimeseriesReq) -> thrift::Result<TSStatus> {
5592    (
5593      {
5594        self.increment_sequence_number();
5595        let message_ident = TMessageIdentifier::new("createAlignedTimeseries", TMessageType::Call, self.sequence_number());
5596        let call_args = TSIServiceCreateAlignedTimeseriesArgs { req };
5597        self.o_prot_mut().write_message_begin(&message_ident)?;
5598        call_args.write_to_out_protocol(self.o_prot_mut())?;
5599        self.o_prot_mut().write_message_end()?;
5600        self.o_prot_mut().flush()
5601      }
5602    )?;
5603    {
5604      let message_ident = self.i_prot_mut().read_message_begin()?;
5605      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5606      verify_expected_service_call("createAlignedTimeseries", &message_ident.name)?;
5607      if message_ident.message_type == TMessageType::Exception {
5608        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5609        self.i_prot_mut().read_message_end()?;
5610        return Err(thrift::Error::Application(remote_error))
5611      }
5612      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5613      let result = TSIServiceCreateAlignedTimeseriesResult::read_from_in_protocol(self.i_prot_mut())?;
5614      self.i_prot_mut().read_message_end()?;
5615      result.ok_or()
5616    }
5617  }
5618  fn create_multi_timeseries(&mut self, req: TSCreateMultiTimeseriesReq) -> thrift::Result<TSStatus> {
5619    (
5620      {
5621        self.increment_sequence_number();
5622        let message_ident = TMessageIdentifier::new("createMultiTimeseries", TMessageType::Call, self.sequence_number());
5623        let call_args = TSIServiceCreateMultiTimeseriesArgs { req };
5624        self.o_prot_mut().write_message_begin(&message_ident)?;
5625        call_args.write_to_out_protocol(self.o_prot_mut())?;
5626        self.o_prot_mut().write_message_end()?;
5627        self.o_prot_mut().flush()
5628      }
5629    )?;
5630    {
5631      let message_ident = self.i_prot_mut().read_message_begin()?;
5632      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5633      verify_expected_service_call("createMultiTimeseries", &message_ident.name)?;
5634      if message_ident.message_type == TMessageType::Exception {
5635        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5636        self.i_prot_mut().read_message_end()?;
5637        return Err(thrift::Error::Application(remote_error))
5638      }
5639      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5640      let result = TSIServiceCreateMultiTimeseriesResult::read_from_in_protocol(self.i_prot_mut())?;
5641      self.i_prot_mut().read_message_end()?;
5642      result.ok_or()
5643    }
5644  }
5645  fn delete_timeseries(&mut self, session_id: i64, path: Vec<String>) -> thrift::Result<TSStatus> {
5646    (
5647      {
5648        self.increment_sequence_number();
5649        let message_ident = TMessageIdentifier::new("deleteTimeseries", TMessageType::Call, self.sequence_number());
5650        let call_args = TSIServiceDeleteTimeseriesArgs { session_id, path };
5651        self.o_prot_mut().write_message_begin(&message_ident)?;
5652        call_args.write_to_out_protocol(self.o_prot_mut())?;
5653        self.o_prot_mut().write_message_end()?;
5654        self.o_prot_mut().flush()
5655      }
5656    )?;
5657    {
5658      let message_ident = self.i_prot_mut().read_message_begin()?;
5659      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5660      verify_expected_service_call("deleteTimeseries", &message_ident.name)?;
5661      if message_ident.message_type == TMessageType::Exception {
5662        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5663        self.i_prot_mut().read_message_end()?;
5664        return Err(thrift::Error::Application(remote_error))
5665      }
5666      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5667      let result = TSIServiceDeleteTimeseriesResult::read_from_in_protocol(self.i_prot_mut())?;
5668      self.i_prot_mut().read_message_end()?;
5669      result.ok_or()
5670    }
5671  }
5672  fn delete_storage_groups(&mut self, session_id: i64, storage_group: Vec<String>) -> thrift::Result<TSStatus> {
5673    (
5674      {
5675        self.increment_sequence_number();
5676        let message_ident = TMessageIdentifier::new("deleteStorageGroups", TMessageType::Call, self.sequence_number());
5677        let call_args = TSIServiceDeleteStorageGroupsArgs { session_id, storage_group };
5678        self.o_prot_mut().write_message_begin(&message_ident)?;
5679        call_args.write_to_out_protocol(self.o_prot_mut())?;
5680        self.o_prot_mut().write_message_end()?;
5681        self.o_prot_mut().flush()
5682      }
5683    )?;
5684    {
5685      let message_ident = self.i_prot_mut().read_message_begin()?;
5686      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5687      verify_expected_service_call("deleteStorageGroups", &message_ident.name)?;
5688      if message_ident.message_type == TMessageType::Exception {
5689        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5690        self.i_prot_mut().read_message_end()?;
5691        return Err(thrift::Error::Application(remote_error))
5692      }
5693      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5694      let result = TSIServiceDeleteStorageGroupsResult::read_from_in_protocol(self.i_prot_mut())?;
5695      self.i_prot_mut().read_message_end()?;
5696      result.ok_or()
5697    }
5698  }
5699  fn insert_record(&mut self, req: TSInsertRecordReq) -> thrift::Result<TSStatus> {
5700    (
5701      {
5702        self.increment_sequence_number();
5703        let message_ident = TMessageIdentifier::new("insertRecord", TMessageType::Call, self.sequence_number());
5704        let call_args = TSIServiceInsertRecordArgs { req };
5705        self.o_prot_mut().write_message_begin(&message_ident)?;
5706        call_args.write_to_out_protocol(self.o_prot_mut())?;
5707        self.o_prot_mut().write_message_end()?;
5708        self.o_prot_mut().flush()
5709      }
5710    )?;
5711    {
5712      let message_ident = self.i_prot_mut().read_message_begin()?;
5713      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5714      verify_expected_service_call("insertRecord", &message_ident.name)?;
5715      if message_ident.message_type == TMessageType::Exception {
5716        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5717        self.i_prot_mut().read_message_end()?;
5718        return Err(thrift::Error::Application(remote_error))
5719      }
5720      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5721      let result = TSIServiceInsertRecordResult::read_from_in_protocol(self.i_prot_mut())?;
5722      self.i_prot_mut().read_message_end()?;
5723      result.ok_or()
5724    }
5725  }
5726  fn insert_string_record(&mut self, req: TSInsertStringRecordReq) -> thrift::Result<TSStatus> {
5727    (
5728      {
5729        self.increment_sequence_number();
5730        let message_ident = TMessageIdentifier::new("insertStringRecord", TMessageType::Call, self.sequence_number());
5731        let call_args = TSIServiceInsertStringRecordArgs { req };
5732        self.o_prot_mut().write_message_begin(&message_ident)?;
5733        call_args.write_to_out_protocol(self.o_prot_mut())?;
5734        self.o_prot_mut().write_message_end()?;
5735        self.o_prot_mut().flush()
5736      }
5737    )?;
5738    {
5739      let message_ident = self.i_prot_mut().read_message_begin()?;
5740      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5741      verify_expected_service_call("insertStringRecord", &message_ident.name)?;
5742      if message_ident.message_type == TMessageType::Exception {
5743        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5744        self.i_prot_mut().read_message_end()?;
5745        return Err(thrift::Error::Application(remote_error))
5746      }
5747      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5748      let result = TSIServiceInsertStringRecordResult::read_from_in_protocol(self.i_prot_mut())?;
5749      self.i_prot_mut().read_message_end()?;
5750      result.ok_or()
5751    }
5752  }
5753  fn insert_tablet(&mut self, req: TSInsertTabletReq) -> thrift::Result<TSStatus> {
5754    (
5755      {
5756        self.increment_sequence_number();
5757        let message_ident = TMessageIdentifier::new("insertTablet", TMessageType::Call, self.sequence_number());
5758        let call_args = TSIServiceInsertTabletArgs { req };
5759        self.o_prot_mut().write_message_begin(&message_ident)?;
5760        call_args.write_to_out_protocol(self.o_prot_mut())?;
5761        self.o_prot_mut().write_message_end()?;
5762        self.o_prot_mut().flush()
5763      }
5764    )?;
5765    {
5766      let message_ident = self.i_prot_mut().read_message_begin()?;
5767      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5768      verify_expected_service_call("insertTablet", &message_ident.name)?;
5769      if message_ident.message_type == TMessageType::Exception {
5770        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5771        self.i_prot_mut().read_message_end()?;
5772        return Err(thrift::Error::Application(remote_error))
5773      }
5774      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5775      let result = TSIServiceInsertTabletResult::read_from_in_protocol(self.i_prot_mut())?;
5776      self.i_prot_mut().read_message_end()?;
5777      result.ok_or()
5778    }
5779  }
5780  fn insert_tablets(&mut self, req: TSInsertTabletsReq) -> thrift::Result<TSStatus> {
5781    (
5782      {
5783        self.increment_sequence_number();
5784        let message_ident = TMessageIdentifier::new("insertTablets", TMessageType::Call, self.sequence_number());
5785        let call_args = TSIServiceInsertTabletsArgs { req };
5786        self.o_prot_mut().write_message_begin(&message_ident)?;
5787        call_args.write_to_out_protocol(self.o_prot_mut())?;
5788        self.o_prot_mut().write_message_end()?;
5789        self.o_prot_mut().flush()
5790      }
5791    )?;
5792    {
5793      let message_ident = self.i_prot_mut().read_message_begin()?;
5794      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5795      verify_expected_service_call("insertTablets", &message_ident.name)?;
5796      if message_ident.message_type == TMessageType::Exception {
5797        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5798        self.i_prot_mut().read_message_end()?;
5799        return Err(thrift::Error::Application(remote_error))
5800      }
5801      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5802      let result = TSIServiceInsertTabletsResult::read_from_in_protocol(self.i_prot_mut())?;
5803      self.i_prot_mut().read_message_end()?;
5804      result.ok_or()
5805    }
5806  }
5807  fn insert_records(&mut self, req: TSInsertRecordsReq) -> thrift::Result<TSStatus> {
5808    (
5809      {
5810        self.increment_sequence_number();
5811        let message_ident = TMessageIdentifier::new("insertRecords", TMessageType::Call, self.sequence_number());
5812        let call_args = TSIServiceInsertRecordsArgs { req };
5813        self.o_prot_mut().write_message_begin(&message_ident)?;
5814        call_args.write_to_out_protocol(self.o_prot_mut())?;
5815        self.o_prot_mut().write_message_end()?;
5816        self.o_prot_mut().flush()
5817      }
5818    )?;
5819    {
5820      let message_ident = self.i_prot_mut().read_message_begin()?;
5821      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5822      verify_expected_service_call("insertRecords", &message_ident.name)?;
5823      if message_ident.message_type == TMessageType::Exception {
5824        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5825        self.i_prot_mut().read_message_end()?;
5826        return Err(thrift::Error::Application(remote_error))
5827      }
5828      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5829      let result = TSIServiceInsertRecordsResult::read_from_in_protocol(self.i_prot_mut())?;
5830      self.i_prot_mut().read_message_end()?;
5831      result.ok_or()
5832    }
5833  }
5834  fn insert_records_of_one_device(&mut self, req: TSInsertRecordsOfOneDeviceReq) -> thrift::Result<TSStatus> {
5835    (
5836      {
5837        self.increment_sequence_number();
5838        let message_ident = TMessageIdentifier::new("insertRecordsOfOneDevice", TMessageType::Call, self.sequence_number());
5839        let call_args = TSIServiceInsertRecordsOfOneDeviceArgs { req };
5840        self.o_prot_mut().write_message_begin(&message_ident)?;
5841        call_args.write_to_out_protocol(self.o_prot_mut())?;
5842        self.o_prot_mut().write_message_end()?;
5843        self.o_prot_mut().flush()
5844      }
5845    )?;
5846    {
5847      let message_ident = self.i_prot_mut().read_message_begin()?;
5848      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5849      verify_expected_service_call("insertRecordsOfOneDevice", &message_ident.name)?;
5850      if message_ident.message_type == TMessageType::Exception {
5851        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5852        self.i_prot_mut().read_message_end()?;
5853        return Err(thrift::Error::Application(remote_error))
5854      }
5855      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5856      let result = TSIServiceInsertRecordsOfOneDeviceResult::read_from_in_protocol(self.i_prot_mut())?;
5857      self.i_prot_mut().read_message_end()?;
5858      result.ok_or()
5859    }
5860  }
5861  fn insert_string_records(&mut self, req: TSInsertStringRecordsReq) -> thrift::Result<TSStatus> {
5862    (
5863      {
5864        self.increment_sequence_number();
5865        let message_ident = TMessageIdentifier::new("insertStringRecords", TMessageType::Call, self.sequence_number());
5866        let call_args = TSIServiceInsertStringRecordsArgs { req };
5867        self.o_prot_mut().write_message_begin(&message_ident)?;
5868        call_args.write_to_out_protocol(self.o_prot_mut())?;
5869        self.o_prot_mut().write_message_end()?;
5870        self.o_prot_mut().flush()
5871      }
5872    )?;
5873    {
5874      let message_ident = self.i_prot_mut().read_message_begin()?;
5875      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5876      verify_expected_service_call("insertStringRecords", &message_ident.name)?;
5877      if message_ident.message_type == TMessageType::Exception {
5878        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5879        self.i_prot_mut().read_message_end()?;
5880        return Err(thrift::Error::Application(remote_error))
5881      }
5882      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5883      let result = TSIServiceInsertStringRecordsResult::read_from_in_protocol(self.i_prot_mut())?;
5884      self.i_prot_mut().read_message_end()?;
5885      result.ok_or()
5886    }
5887  }
5888  fn test_insert_tablet(&mut self, req: TSInsertTabletReq) -> thrift::Result<TSStatus> {
5889    (
5890      {
5891        self.increment_sequence_number();
5892        let message_ident = TMessageIdentifier::new("testInsertTablet", TMessageType::Call, self.sequence_number());
5893        let call_args = TSIServiceTestInsertTabletArgs { req };
5894        self.o_prot_mut().write_message_begin(&message_ident)?;
5895        call_args.write_to_out_protocol(self.o_prot_mut())?;
5896        self.o_prot_mut().write_message_end()?;
5897        self.o_prot_mut().flush()
5898      }
5899    )?;
5900    {
5901      let message_ident = self.i_prot_mut().read_message_begin()?;
5902      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5903      verify_expected_service_call("testInsertTablet", &message_ident.name)?;
5904      if message_ident.message_type == TMessageType::Exception {
5905        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5906        self.i_prot_mut().read_message_end()?;
5907        return Err(thrift::Error::Application(remote_error))
5908      }
5909      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5910      let result = TSIServiceTestInsertTabletResult::read_from_in_protocol(self.i_prot_mut())?;
5911      self.i_prot_mut().read_message_end()?;
5912      result.ok_or()
5913    }
5914  }
5915  fn test_insert_tablets(&mut self, req: TSInsertTabletsReq) -> thrift::Result<TSStatus> {
5916    (
5917      {
5918        self.increment_sequence_number();
5919        let message_ident = TMessageIdentifier::new("testInsertTablets", TMessageType::Call, self.sequence_number());
5920        let call_args = TSIServiceTestInsertTabletsArgs { req };
5921        self.o_prot_mut().write_message_begin(&message_ident)?;
5922        call_args.write_to_out_protocol(self.o_prot_mut())?;
5923        self.o_prot_mut().write_message_end()?;
5924        self.o_prot_mut().flush()
5925      }
5926    )?;
5927    {
5928      let message_ident = self.i_prot_mut().read_message_begin()?;
5929      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5930      verify_expected_service_call("testInsertTablets", &message_ident.name)?;
5931      if message_ident.message_type == TMessageType::Exception {
5932        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5933        self.i_prot_mut().read_message_end()?;
5934        return Err(thrift::Error::Application(remote_error))
5935      }
5936      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5937      let result = TSIServiceTestInsertTabletsResult::read_from_in_protocol(self.i_prot_mut())?;
5938      self.i_prot_mut().read_message_end()?;
5939      result.ok_or()
5940    }
5941  }
5942  fn test_insert_record(&mut self, req: TSInsertRecordReq) -> thrift::Result<TSStatus> {
5943    (
5944      {
5945        self.increment_sequence_number();
5946        let message_ident = TMessageIdentifier::new("testInsertRecord", TMessageType::Call, self.sequence_number());
5947        let call_args = TSIServiceTestInsertRecordArgs { req };
5948        self.o_prot_mut().write_message_begin(&message_ident)?;
5949        call_args.write_to_out_protocol(self.o_prot_mut())?;
5950        self.o_prot_mut().write_message_end()?;
5951        self.o_prot_mut().flush()
5952      }
5953    )?;
5954    {
5955      let message_ident = self.i_prot_mut().read_message_begin()?;
5956      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5957      verify_expected_service_call("testInsertRecord", &message_ident.name)?;
5958      if message_ident.message_type == TMessageType::Exception {
5959        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5960        self.i_prot_mut().read_message_end()?;
5961        return Err(thrift::Error::Application(remote_error))
5962      }
5963      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5964      let result = TSIServiceTestInsertRecordResult::read_from_in_protocol(self.i_prot_mut())?;
5965      self.i_prot_mut().read_message_end()?;
5966      result.ok_or()
5967    }
5968  }
5969  fn test_insert_string_record(&mut self, req: TSInsertStringRecordReq) -> thrift::Result<TSStatus> {
5970    (
5971      {
5972        self.increment_sequence_number();
5973        let message_ident = TMessageIdentifier::new("testInsertStringRecord", TMessageType::Call, self.sequence_number());
5974        let call_args = TSIServiceTestInsertStringRecordArgs { req };
5975        self.o_prot_mut().write_message_begin(&message_ident)?;
5976        call_args.write_to_out_protocol(self.o_prot_mut())?;
5977        self.o_prot_mut().write_message_end()?;
5978        self.o_prot_mut().flush()
5979      }
5980    )?;
5981    {
5982      let message_ident = self.i_prot_mut().read_message_begin()?;
5983      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5984      verify_expected_service_call("testInsertStringRecord", &message_ident.name)?;
5985      if message_ident.message_type == TMessageType::Exception {
5986        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5987        self.i_prot_mut().read_message_end()?;
5988        return Err(thrift::Error::Application(remote_error))
5989      }
5990      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5991      let result = TSIServiceTestInsertStringRecordResult::read_from_in_protocol(self.i_prot_mut())?;
5992      self.i_prot_mut().read_message_end()?;
5993      result.ok_or()
5994    }
5995  }
5996  fn test_insert_records(&mut self, req: TSInsertRecordsReq) -> thrift::Result<TSStatus> {
5997    (
5998      {
5999        self.increment_sequence_number();
6000        let message_ident = TMessageIdentifier::new("testInsertRecords", TMessageType::Call, self.sequence_number());
6001        let call_args = TSIServiceTestInsertRecordsArgs { req };
6002        self.o_prot_mut().write_message_begin(&message_ident)?;
6003        call_args.write_to_out_protocol(self.o_prot_mut())?;
6004        self.o_prot_mut().write_message_end()?;
6005        self.o_prot_mut().flush()
6006      }
6007    )?;
6008    {
6009      let message_ident = self.i_prot_mut().read_message_begin()?;
6010      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6011      verify_expected_service_call("testInsertRecords", &message_ident.name)?;
6012      if message_ident.message_type == TMessageType::Exception {
6013        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6014        self.i_prot_mut().read_message_end()?;
6015        return Err(thrift::Error::Application(remote_error))
6016      }
6017      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6018      let result = TSIServiceTestInsertRecordsResult::read_from_in_protocol(self.i_prot_mut())?;
6019      self.i_prot_mut().read_message_end()?;
6020      result.ok_or()
6021    }
6022  }
6023  fn test_insert_records_of_one_device(&mut self, req: TSInsertRecordsOfOneDeviceReq) -> thrift::Result<TSStatus> {
6024    (
6025      {
6026        self.increment_sequence_number();
6027        let message_ident = TMessageIdentifier::new("testInsertRecordsOfOneDevice", TMessageType::Call, self.sequence_number());
6028        let call_args = TSIServiceTestInsertRecordsOfOneDeviceArgs { req };
6029        self.o_prot_mut().write_message_begin(&message_ident)?;
6030        call_args.write_to_out_protocol(self.o_prot_mut())?;
6031        self.o_prot_mut().write_message_end()?;
6032        self.o_prot_mut().flush()
6033      }
6034    )?;
6035    {
6036      let message_ident = self.i_prot_mut().read_message_begin()?;
6037      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6038      verify_expected_service_call("testInsertRecordsOfOneDevice", &message_ident.name)?;
6039      if message_ident.message_type == TMessageType::Exception {
6040        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6041        self.i_prot_mut().read_message_end()?;
6042        return Err(thrift::Error::Application(remote_error))
6043      }
6044      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6045      let result = TSIServiceTestInsertRecordsOfOneDeviceResult::read_from_in_protocol(self.i_prot_mut())?;
6046      self.i_prot_mut().read_message_end()?;
6047      result.ok_or()
6048    }
6049  }
6050  fn test_insert_string_records(&mut self, req: TSInsertStringRecordsReq) -> thrift::Result<TSStatus> {
6051    (
6052      {
6053        self.increment_sequence_number();
6054        let message_ident = TMessageIdentifier::new("testInsertStringRecords", TMessageType::Call, self.sequence_number());
6055        let call_args = TSIServiceTestInsertStringRecordsArgs { req };
6056        self.o_prot_mut().write_message_begin(&message_ident)?;
6057        call_args.write_to_out_protocol(self.o_prot_mut())?;
6058        self.o_prot_mut().write_message_end()?;
6059        self.o_prot_mut().flush()
6060      }
6061    )?;
6062    {
6063      let message_ident = self.i_prot_mut().read_message_begin()?;
6064      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6065      verify_expected_service_call("testInsertStringRecords", &message_ident.name)?;
6066      if message_ident.message_type == TMessageType::Exception {
6067        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6068        self.i_prot_mut().read_message_end()?;
6069        return Err(thrift::Error::Application(remote_error))
6070      }
6071      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6072      let result = TSIServiceTestInsertStringRecordsResult::read_from_in_protocol(self.i_prot_mut())?;
6073      self.i_prot_mut().read_message_end()?;
6074      result.ok_or()
6075    }
6076  }
6077  fn delete_data(&mut self, req: TSDeleteDataReq) -> thrift::Result<TSStatus> {
6078    (
6079      {
6080        self.increment_sequence_number();
6081        let message_ident = TMessageIdentifier::new("deleteData", TMessageType::Call, self.sequence_number());
6082        let call_args = TSIServiceDeleteDataArgs { req };
6083        self.o_prot_mut().write_message_begin(&message_ident)?;
6084        call_args.write_to_out_protocol(self.o_prot_mut())?;
6085        self.o_prot_mut().write_message_end()?;
6086        self.o_prot_mut().flush()
6087      }
6088    )?;
6089    {
6090      let message_ident = self.i_prot_mut().read_message_begin()?;
6091      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6092      verify_expected_service_call("deleteData", &message_ident.name)?;
6093      if message_ident.message_type == TMessageType::Exception {
6094        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6095        self.i_prot_mut().read_message_end()?;
6096        return Err(thrift::Error::Application(remote_error))
6097      }
6098      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6099      let result = TSIServiceDeleteDataResult::read_from_in_protocol(self.i_prot_mut())?;
6100      self.i_prot_mut().read_message_end()?;
6101      result.ok_or()
6102    }
6103  }
6104  fn execute_raw_data_query(&mut self, req: TSRawDataQueryReq) -> thrift::Result<TSExecuteStatementResp> {
6105    (
6106      {
6107        self.increment_sequence_number();
6108        let message_ident = TMessageIdentifier::new("executeRawDataQuery", TMessageType::Call, self.sequence_number());
6109        let call_args = TSIServiceExecuteRawDataQueryArgs { req };
6110        self.o_prot_mut().write_message_begin(&message_ident)?;
6111        call_args.write_to_out_protocol(self.o_prot_mut())?;
6112        self.o_prot_mut().write_message_end()?;
6113        self.o_prot_mut().flush()
6114      }
6115    )?;
6116    {
6117      let message_ident = self.i_prot_mut().read_message_begin()?;
6118      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6119      verify_expected_service_call("executeRawDataQuery", &message_ident.name)?;
6120      if message_ident.message_type == TMessageType::Exception {
6121        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6122        self.i_prot_mut().read_message_end()?;
6123        return Err(thrift::Error::Application(remote_error))
6124      }
6125      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6126      let result = TSIServiceExecuteRawDataQueryResult::read_from_in_protocol(self.i_prot_mut())?;
6127      self.i_prot_mut().read_message_end()?;
6128      result.ok_or()
6129    }
6130  }
6131  fn execute_last_data_query(&mut self, req: TSLastDataQueryReq) -> thrift::Result<TSExecuteStatementResp> {
6132    (
6133      {
6134        self.increment_sequence_number();
6135        let message_ident = TMessageIdentifier::new("executeLastDataQuery", TMessageType::Call, self.sequence_number());
6136        let call_args = TSIServiceExecuteLastDataQueryArgs { req };
6137        self.o_prot_mut().write_message_begin(&message_ident)?;
6138        call_args.write_to_out_protocol(self.o_prot_mut())?;
6139        self.o_prot_mut().write_message_end()?;
6140        self.o_prot_mut().flush()
6141      }
6142    )?;
6143    {
6144      let message_ident = self.i_prot_mut().read_message_begin()?;
6145      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6146      verify_expected_service_call("executeLastDataQuery", &message_ident.name)?;
6147      if message_ident.message_type == TMessageType::Exception {
6148        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6149        self.i_prot_mut().read_message_end()?;
6150        return Err(thrift::Error::Application(remote_error))
6151      }
6152      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6153      let result = TSIServiceExecuteLastDataQueryResult::read_from_in_protocol(self.i_prot_mut())?;
6154      self.i_prot_mut().read_message_end()?;
6155      result.ok_or()
6156    }
6157  }
6158  fn request_statement_id(&mut self, session_id: i64) -> thrift::Result<i64> {
6159    (
6160      {
6161        self.increment_sequence_number();
6162        let message_ident = TMessageIdentifier::new("requestStatementId", TMessageType::Call, self.sequence_number());
6163        let call_args = TSIServiceRequestStatementIdArgs { session_id };
6164        self.o_prot_mut().write_message_begin(&message_ident)?;
6165        call_args.write_to_out_protocol(self.o_prot_mut())?;
6166        self.o_prot_mut().write_message_end()?;
6167        self.o_prot_mut().flush()
6168      }
6169    )?;
6170    {
6171      let message_ident = self.i_prot_mut().read_message_begin()?;
6172      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6173      verify_expected_service_call("requestStatementId", &message_ident.name)?;
6174      if message_ident.message_type == TMessageType::Exception {
6175        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6176        self.i_prot_mut().read_message_end()?;
6177        return Err(thrift::Error::Application(remote_error))
6178      }
6179      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6180      let result = TSIServiceRequestStatementIdResult::read_from_in_protocol(self.i_prot_mut())?;
6181      self.i_prot_mut().read_message_end()?;
6182      result.ok_or()
6183    }
6184  }
6185  fn create_schema_template(&mut self, req: TSCreateSchemaTemplateReq) -> thrift::Result<TSStatus> {
6186    (
6187      {
6188        self.increment_sequence_number();
6189        let message_ident = TMessageIdentifier::new("createSchemaTemplate", TMessageType::Call, self.sequence_number());
6190        let call_args = TSIServiceCreateSchemaTemplateArgs { req };
6191        self.o_prot_mut().write_message_begin(&message_ident)?;
6192        call_args.write_to_out_protocol(self.o_prot_mut())?;
6193        self.o_prot_mut().write_message_end()?;
6194        self.o_prot_mut().flush()
6195      }
6196    )?;
6197    {
6198      let message_ident = self.i_prot_mut().read_message_begin()?;
6199      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6200      verify_expected_service_call("createSchemaTemplate", &message_ident.name)?;
6201      if message_ident.message_type == TMessageType::Exception {
6202        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6203        self.i_prot_mut().read_message_end()?;
6204        return Err(thrift::Error::Application(remote_error))
6205      }
6206      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6207      let result = TSIServiceCreateSchemaTemplateResult::read_from_in_protocol(self.i_prot_mut())?;
6208      self.i_prot_mut().read_message_end()?;
6209      result.ok_or()
6210    }
6211  }
6212  fn append_schema_template(&mut self, req: TSAppendSchemaTemplateReq) -> thrift::Result<TSStatus> {
6213    (
6214      {
6215        self.increment_sequence_number();
6216        let message_ident = TMessageIdentifier::new("appendSchemaTemplate", TMessageType::Call, self.sequence_number());
6217        let call_args = TSIServiceAppendSchemaTemplateArgs { req };
6218        self.o_prot_mut().write_message_begin(&message_ident)?;
6219        call_args.write_to_out_protocol(self.o_prot_mut())?;
6220        self.o_prot_mut().write_message_end()?;
6221        self.o_prot_mut().flush()
6222      }
6223    )?;
6224    {
6225      let message_ident = self.i_prot_mut().read_message_begin()?;
6226      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6227      verify_expected_service_call("appendSchemaTemplate", &message_ident.name)?;
6228      if message_ident.message_type == TMessageType::Exception {
6229        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6230        self.i_prot_mut().read_message_end()?;
6231        return Err(thrift::Error::Application(remote_error))
6232      }
6233      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6234      let result = TSIServiceAppendSchemaTemplateResult::read_from_in_protocol(self.i_prot_mut())?;
6235      self.i_prot_mut().read_message_end()?;
6236      result.ok_or()
6237    }
6238  }
6239  fn prune_schema_template(&mut self, req: TSPruneSchemaTemplateReq) -> thrift::Result<TSStatus> {
6240    (
6241      {
6242        self.increment_sequence_number();
6243        let message_ident = TMessageIdentifier::new("pruneSchemaTemplate", TMessageType::Call, self.sequence_number());
6244        let call_args = TSIServicePruneSchemaTemplateArgs { req };
6245        self.o_prot_mut().write_message_begin(&message_ident)?;
6246        call_args.write_to_out_protocol(self.o_prot_mut())?;
6247        self.o_prot_mut().write_message_end()?;
6248        self.o_prot_mut().flush()
6249      }
6250    )?;
6251    {
6252      let message_ident = self.i_prot_mut().read_message_begin()?;
6253      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6254      verify_expected_service_call("pruneSchemaTemplate", &message_ident.name)?;
6255      if message_ident.message_type == TMessageType::Exception {
6256        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6257        self.i_prot_mut().read_message_end()?;
6258        return Err(thrift::Error::Application(remote_error))
6259      }
6260      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6261      let result = TSIServicePruneSchemaTemplateResult::read_from_in_protocol(self.i_prot_mut())?;
6262      self.i_prot_mut().read_message_end()?;
6263      result.ok_or()
6264    }
6265  }
6266  fn query_schema_template(&mut self, req: TSQueryTemplateReq) -> thrift::Result<TSQueryTemplateResp> {
6267    (
6268      {
6269        self.increment_sequence_number();
6270        let message_ident = TMessageIdentifier::new("querySchemaTemplate", TMessageType::Call, self.sequence_number());
6271        let call_args = TSIServiceQuerySchemaTemplateArgs { req };
6272        self.o_prot_mut().write_message_begin(&message_ident)?;
6273        call_args.write_to_out_protocol(self.o_prot_mut())?;
6274        self.o_prot_mut().write_message_end()?;
6275        self.o_prot_mut().flush()
6276      }
6277    )?;
6278    {
6279      let message_ident = self.i_prot_mut().read_message_begin()?;
6280      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6281      verify_expected_service_call("querySchemaTemplate", &message_ident.name)?;
6282      if message_ident.message_type == TMessageType::Exception {
6283        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6284        self.i_prot_mut().read_message_end()?;
6285        return Err(thrift::Error::Application(remote_error))
6286      }
6287      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6288      let result = TSIServiceQuerySchemaTemplateResult::read_from_in_protocol(self.i_prot_mut())?;
6289      self.i_prot_mut().read_message_end()?;
6290      result.ok_or()
6291    }
6292  }
6293  fn set_schema_template(&mut self, req: TSSetSchemaTemplateReq) -> thrift::Result<TSStatus> {
6294    (
6295      {
6296        self.increment_sequence_number();
6297        let message_ident = TMessageIdentifier::new("setSchemaTemplate", TMessageType::Call, self.sequence_number());
6298        let call_args = TSIServiceSetSchemaTemplateArgs { req };
6299        self.o_prot_mut().write_message_begin(&message_ident)?;
6300        call_args.write_to_out_protocol(self.o_prot_mut())?;
6301        self.o_prot_mut().write_message_end()?;
6302        self.o_prot_mut().flush()
6303      }
6304    )?;
6305    {
6306      let message_ident = self.i_prot_mut().read_message_begin()?;
6307      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6308      verify_expected_service_call("setSchemaTemplate", &message_ident.name)?;
6309      if message_ident.message_type == TMessageType::Exception {
6310        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6311        self.i_prot_mut().read_message_end()?;
6312        return Err(thrift::Error::Application(remote_error))
6313      }
6314      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6315      let result = TSIServiceSetSchemaTemplateResult::read_from_in_protocol(self.i_prot_mut())?;
6316      self.i_prot_mut().read_message_end()?;
6317      result.ok_or()
6318    }
6319  }
6320  fn unset_schema_template(&mut self, req: TSUnsetSchemaTemplateReq) -> thrift::Result<TSStatus> {
6321    (
6322      {
6323        self.increment_sequence_number();
6324        let message_ident = TMessageIdentifier::new("unsetSchemaTemplate", TMessageType::Call, self.sequence_number());
6325        let call_args = TSIServiceUnsetSchemaTemplateArgs { req };
6326        self.o_prot_mut().write_message_begin(&message_ident)?;
6327        call_args.write_to_out_protocol(self.o_prot_mut())?;
6328        self.o_prot_mut().write_message_end()?;
6329        self.o_prot_mut().flush()
6330      }
6331    )?;
6332    {
6333      let message_ident = self.i_prot_mut().read_message_begin()?;
6334      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6335      verify_expected_service_call("unsetSchemaTemplate", &message_ident.name)?;
6336      if message_ident.message_type == TMessageType::Exception {
6337        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6338        self.i_prot_mut().read_message_end()?;
6339        return Err(thrift::Error::Application(remote_error))
6340      }
6341      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6342      let result = TSIServiceUnsetSchemaTemplateResult::read_from_in_protocol(self.i_prot_mut())?;
6343      self.i_prot_mut().read_message_end()?;
6344      result.ok_or()
6345    }
6346  }
6347}
6348
6349//
6350// TSIService service processor
6351//
6352
6353pub trait TSIServiceSyncHandler {
6354  fn handle_open_session(&self, req: TSOpenSessionReq) -> thrift::Result<TSOpenSessionResp>;
6355  fn handle_close_session(&self, req: TSCloseSessionReq) -> thrift::Result<TSStatus>;
6356  fn handle_execute_statement(&self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp>;
6357  fn handle_execute_batch_statement(&self, req: TSExecuteBatchStatementReq) -> thrift::Result<TSStatus>;
6358  fn handle_execute_query_statement(&self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp>;
6359  fn handle_execute_update_statement(&self, req: TSExecuteStatementReq) -> thrift::Result<TSExecuteStatementResp>;
6360  fn handle_fetch_results(&self, req: TSFetchResultsReq) -> thrift::Result<TSFetchResultsResp>;
6361  fn handle_fetch_metadata(&self, req: TSFetchMetadataReq) -> thrift::Result<TSFetchMetadataResp>;
6362  fn handle_cancel_operation(&self, req: TSCancelOperationReq) -> thrift::Result<TSStatus>;
6363  fn handle_close_operation(&self, req: TSCloseOperationReq) -> thrift::Result<TSStatus>;
6364  fn handle_get_time_zone(&self, session_id: i64) -> thrift::Result<TSGetTimeZoneResp>;
6365  fn handle_set_time_zone(&self, req: TSSetTimeZoneReq) -> thrift::Result<TSStatus>;
6366  fn handle_get_properties(&self) -> thrift::Result<ServerProperties>;
6367  fn handle_set_storage_group(&self, session_id: i64, storage_group: String) -> thrift::Result<TSStatus>;
6368  fn handle_create_timeseries(&self, req: TSCreateTimeseriesReq) -> thrift::Result<TSStatus>;
6369  fn handle_create_aligned_timeseries(&self, req: TSCreateAlignedTimeseriesReq) -> thrift::Result<TSStatus>;
6370  fn handle_create_multi_timeseries(&self, req: TSCreateMultiTimeseriesReq) -> thrift::Result<TSStatus>;
6371  fn handle_delete_timeseries(&self, session_id: i64, path: Vec<String>) -> thrift::Result<TSStatus>;
6372  fn handle_delete_storage_groups(&self, session_id: i64, storage_group: Vec<String>) -> thrift::Result<TSStatus>;
6373  fn handle_insert_record(&self, req: TSInsertRecordReq) -> thrift::Result<TSStatus>;
6374  fn handle_insert_string_record(&self, req: TSInsertStringRecordReq) -> thrift::Result<TSStatus>;
6375  fn handle_insert_tablet(&self, req: TSInsertTabletReq) -> thrift::Result<TSStatus>;
6376  fn handle_insert_tablets(&self, req: TSInsertTabletsReq) -> thrift::Result<TSStatus>;
6377  fn handle_insert_records(&self, req: TSInsertRecordsReq) -> thrift::Result<TSStatus>;
6378  fn handle_insert_records_of_one_device(&self, req: TSInsertRecordsOfOneDeviceReq) -> thrift::Result<TSStatus>;
6379  fn handle_insert_string_records(&self, req: TSInsertStringRecordsReq) -> thrift::Result<TSStatus>;
6380  fn handle_test_insert_tablet(&self, req: TSInsertTabletReq) -> thrift::Result<TSStatus>;
6381  fn handle_test_insert_tablets(&self, req: TSInsertTabletsReq) -> thrift::Result<TSStatus>;
6382  fn handle_test_insert_record(&self, req: TSInsertRecordReq) -> thrift::Result<TSStatus>;
6383  fn handle_test_insert_string_record(&self, req: TSInsertStringRecordReq) -> thrift::Result<TSStatus>;
6384  fn handle_test_insert_records(&self, req: TSInsertRecordsReq) -> thrift::Result<TSStatus>;
6385  fn handle_test_insert_records_of_one_device(&self, req: TSInsertRecordsOfOneDeviceReq) -> thrift::Result<TSStatus>;
6386  fn handle_test_insert_string_records(&self, req: TSInsertStringRecordsReq) -> thrift::Result<TSStatus>;
6387  fn handle_delete_data(&self, req: TSDeleteDataReq) -> thrift::Result<TSStatus>;
6388  fn handle_execute_raw_data_query(&self, req: TSRawDataQueryReq) -> thrift::Result<TSExecuteStatementResp>;
6389  fn handle_execute_last_data_query(&self, req: TSLastDataQueryReq) -> thrift::Result<TSExecuteStatementResp>;
6390  fn handle_request_statement_id(&self, session_id: i64) -> thrift::Result<i64>;
6391  fn handle_create_schema_template(&self, req: TSCreateSchemaTemplateReq) -> thrift::Result<TSStatus>;
6392  fn handle_append_schema_template(&self, req: TSAppendSchemaTemplateReq) -> thrift::Result<TSStatus>;
6393  fn handle_prune_schema_template(&self, req: TSPruneSchemaTemplateReq) -> thrift::Result<TSStatus>;
6394  fn handle_query_schema_template(&self, req: TSQueryTemplateReq) -> thrift::Result<TSQueryTemplateResp>;
6395  fn handle_set_schema_template(&self, req: TSSetSchemaTemplateReq) -> thrift::Result<TSStatus>;
6396  fn handle_unset_schema_template(&self, req: TSUnsetSchemaTemplateReq) -> thrift::Result<TSStatus>;
6397}
6398
6399pub struct TSIServiceSyncProcessor<H: TSIServiceSyncHandler> {
6400  handler: H,
6401}
6402
6403impl <H: TSIServiceSyncHandler> TSIServiceSyncProcessor<H> {
6404  pub fn new(handler: H) -> TSIServiceSyncProcessor<H> {
6405    TSIServiceSyncProcessor {
6406      handler,
6407    }
6408  }
6409  fn process_open_session(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6410    TTSIServiceProcessFunctions::process_open_session(&self.handler, incoming_sequence_number, i_prot, o_prot)
6411  }
6412  fn process_close_session(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6413    TTSIServiceProcessFunctions::process_close_session(&self.handler, incoming_sequence_number, i_prot, o_prot)
6414  }
6415  fn process_execute_statement(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6416    TTSIServiceProcessFunctions::process_execute_statement(&self.handler, incoming_sequence_number, i_prot, o_prot)
6417  }
6418  fn process_execute_batch_statement(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6419    TTSIServiceProcessFunctions::process_execute_batch_statement(&self.handler, incoming_sequence_number, i_prot, o_prot)
6420  }
6421  fn process_execute_query_statement(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6422    TTSIServiceProcessFunctions::process_execute_query_statement(&self.handler, incoming_sequence_number, i_prot, o_prot)
6423  }
6424  fn process_execute_update_statement(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6425    TTSIServiceProcessFunctions::process_execute_update_statement(&self.handler, incoming_sequence_number, i_prot, o_prot)
6426  }
6427  fn process_fetch_results(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6428    TTSIServiceProcessFunctions::process_fetch_results(&self.handler, incoming_sequence_number, i_prot, o_prot)
6429  }
6430  fn process_fetch_metadata(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6431    TTSIServiceProcessFunctions::process_fetch_metadata(&self.handler, incoming_sequence_number, i_prot, o_prot)
6432  }
6433  fn process_cancel_operation(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6434    TTSIServiceProcessFunctions::process_cancel_operation(&self.handler, incoming_sequence_number, i_prot, o_prot)
6435  }
6436  fn process_close_operation(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6437    TTSIServiceProcessFunctions::process_close_operation(&self.handler, incoming_sequence_number, i_prot, o_prot)
6438  }
6439  fn process_get_time_zone(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6440    TTSIServiceProcessFunctions::process_get_time_zone(&self.handler, incoming_sequence_number, i_prot, o_prot)
6441  }
6442  fn process_set_time_zone(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6443    TTSIServiceProcessFunctions::process_set_time_zone(&self.handler, incoming_sequence_number, i_prot, o_prot)
6444  }
6445  fn process_get_properties(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6446    TTSIServiceProcessFunctions::process_get_properties(&self.handler, incoming_sequence_number, i_prot, o_prot)
6447  }
6448  fn process_set_storage_group(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6449    TTSIServiceProcessFunctions::process_set_storage_group(&self.handler, incoming_sequence_number, i_prot, o_prot)
6450  }
6451  fn process_create_timeseries(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6452    TTSIServiceProcessFunctions::process_create_timeseries(&self.handler, incoming_sequence_number, i_prot, o_prot)
6453  }
6454  fn process_create_aligned_timeseries(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6455    TTSIServiceProcessFunctions::process_create_aligned_timeseries(&self.handler, incoming_sequence_number, i_prot, o_prot)
6456  }
6457  fn process_create_multi_timeseries(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6458    TTSIServiceProcessFunctions::process_create_multi_timeseries(&self.handler, incoming_sequence_number, i_prot, o_prot)
6459  }
6460  fn process_delete_timeseries(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6461    TTSIServiceProcessFunctions::process_delete_timeseries(&self.handler, incoming_sequence_number, i_prot, o_prot)
6462  }
6463  fn process_delete_storage_groups(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6464    TTSIServiceProcessFunctions::process_delete_storage_groups(&self.handler, incoming_sequence_number, i_prot, o_prot)
6465  }
6466  fn process_insert_record(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6467    TTSIServiceProcessFunctions::process_insert_record(&self.handler, incoming_sequence_number, i_prot, o_prot)
6468  }
6469  fn process_insert_string_record(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6470    TTSIServiceProcessFunctions::process_insert_string_record(&self.handler, incoming_sequence_number, i_prot, o_prot)
6471  }
6472  fn process_insert_tablet(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6473    TTSIServiceProcessFunctions::process_insert_tablet(&self.handler, incoming_sequence_number, i_prot, o_prot)
6474  }
6475  fn process_insert_tablets(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6476    TTSIServiceProcessFunctions::process_insert_tablets(&self.handler, incoming_sequence_number, i_prot, o_prot)
6477  }
6478  fn process_insert_records(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6479    TTSIServiceProcessFunctions::process_insert_records(&self.handler, incoming_sequence_number, i_prot, o_prot)
6480  }
6481  fn process_insert_records_of_one_device(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6482    TTSIServiceProcessFunctions::process_insert_records_of_one_device(&self.handler, incoming_sequence_number, i_prot, o_prot)
6483  }
6484  fn process_insert_string_records(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6485    TTSIServiceProcessFunctions::process_insert_string_records(&self.handler, incoming_sequence_number, i_prot, o_prot)
6486  }
6487  fn process_test_insert_tablet(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6488    TTSIServiceProcessFunctions::process_test_insert_tablet(&self.handler, incoming_sequence_number, i_prot, o_prot)
6489  }
6490  fn process_test_insert_tablets(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6491    TTSIServiceProcessFunctions::process_test_insert_tablets(&self.handler, incoming_sequence_number, i_prot, o_prot)
6492  }
6493  fn process_test_insert_record(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6494    TTSIServiceProcessFunctions::process_test_insert_record(&self.handler, incoming_sequence_number, i_prot, o_prot)
6495  }
6496  fn process_test_insert_string_record(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6497    TTSIServiceProcessFunctions::process_test_insert_string_record(&self.handler, incoming_sequence_number, i_prot, o_prot)
6498  }
6499  fn process_test_insert_records(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6500    TTSIServiceProcessFunctions::process_test_insert_records(&self.handler, incoming_sequence_number, i_prot, o_prot)
6501  }
6502  fn process_test_insert_records_of_one_device(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6503    TTSIServiceProcessFunctions::process_test_insert_records_of_one_device(&self.handler, incoming_sequence_number, i_prot, o_prot)
6504  }
6505  fn process_test_insert_string_records(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6506    TTSIServiceProcessFunctions::process_test_insert_string_records(&self.handler, incoming_sequence_number, i_prot, o_prot)
6507  }
6508  fn process_delete_data(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6509    TTSIServiceProcessFunctions::process_delete_data(&self.handler, incoming_sequence_number, i_prot, o_prot)
6510  }
6511  fn process_execute_raw_data_query(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6512    TTSIServiceProcessFunctions::process_execute_raw_data_query(&self.handler, incoming_sequence_number, i_prot, o_prot)
6513  }
6514  fn process_execute_last_data_query(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6515    TTSIServiceProcessFunctions::process_execute_last_data_query(&self.handler, incoming_sequence_number, i_prot, o_prot)
6516  }
6517  fn process_request_statement_id(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6518    TTSIServiceProcessFunctions::process_request_statement_id(&self.handler, incoming_sequence_number, i_prot, o_prot)
6519  }
6520  fn process_create_schema_template(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6521    TTSIServiceProcessFunctions::process_create_schema_template(&self.handler, incoming_sequence_number, i_prot, o_prot)
6522  }
6523  fn process_append_schema_template(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6524    TTSIServiceProcessFunctions::process_append_schema_template(&self.handler, incoming_sequence_number, i_prot, o_prot)
6525  }
6526  fn process_prune_schema_template(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6527    TTSIServiceProcessFunctions::process_prune_schema_template(&self.handler, incoming_sequence_number, i_prot, o_prot)
6528  }
6529  fn process_query_schema_template(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6530    TTSIServiceProcessFunctions::process_query_schema_template(&self.handler, incoming_sequence_number, i_prot, o_prot)
6531  }
6532  fn process_set_schema_template(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6533    TTSIServiceProcessFunctions::process_set_schema_template(&self.handler, incoming_sequence_number, i_prot, o_prot)
6534  }
6535  fn process_unset_schema_template(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6536    TTSIServiceProcessFunctions::process_unset_schema_template(&self.handler, incoming_sequence_number, i_prot, o_prot)
6537  }
6538}
6539
6540pub struct TTSIServiceProcessFunctions;
6541
6542impl TTSIServiceProcessFunctions {
6543  pub fn process_open_session<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6544    let args = TSIServiceOpenSessionArgs::read_from_in_protocol(i_prot)?;
6545    match handler.handle_open_session(args.req) {
6546      Ok(handler_return) => {
6547        let message_ident = TMessageIdentifier::new("openSession", TMessageType::Reply, incoming_sequence_number);
6548        o_prot.write_message_begin(&message_ident)?;
6549        let ret = TSIServiceOpenSessionResult { result_value: Some(handler_return) };
6550        ret.write_to_out_protocol(o_prot)?;
6551        o_prot.write_message_end()?;
6552        o_prot.flush()
6553      },
6554      Err(e) => {
6555        match e {
6556          thrift::Error::Application(app_err) => {
6557            let message_ident = TMessageIdentifier::new("openSession", TMessageType::Exception, incoming_sequence_number);
6558            o_prot.write_message_begin(&message_ident)?;
6559            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6560            o_prot.write_message_end()?;
6561            o_prot.flush()
6562          },
6563          _ => {
6564            let ret_err = {
6565              ApplicationError::new(
6566                ApplicationErrorKind::Unknown,
6567                e.to_string()
6568              )
6569            };
6570            let message_ident = TMessageIdentifier::new("openSession", TMessageType::Exception, incoming_sequence_number);
6571            o_prot.write_message_begin(&message_ident)?;
6572            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6573            o_prot.write_message_end()?;
6574            o_prot.flush()
6575          },
6576        }
6577      },
6578    }
6579  }
6580  pub fn process_close_session<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6581    let args = TSIServiceCloseSessionArgs::read_from_in_protocol(i_prot)?;
6582    match handler.handle_close_session(args.req) {
6583      Ok(handler_return) => {
6584        let message_ident = TMessageIdentifier::new("closeSession", TMessageType::Reply, incoming_sequence_number);
6585        o_prot.write_message_begin(&message_ident)?;
6586        let ret = TSIServiceCloseSessionResult { result_value: Some(handler_return) };
6587        ret.write_to_out_protocol(o_prot)?;
6588        o_prot.write_message_end()?;
6589        o_prot.flush()
6590      },
6591      Err(e) => {
6592        match e {
6593          thrift::Error::Application(app_err) => {
6594            let message_ident = TMessageIdentifier::new("closeSession", TMessageType::Exception, incoming_sequence_number);
6595            o_prot.write_message_begin(&message_ident)?;
6596            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6597            o_prot.write_message_end()?;
6598            o_prot.flush()
6599          },
6600          _ => {
6601            let ret_err = {
6602              ApplicationError::new(
6603                ApplicationErrorKind::Unknown,
6604                e.to_string()
6605              )
6606            };
6607            let message_ident = TMessageIdentifier::new("closeSession", TMessageType::Exception, incoming_sequence_number);
6608            o_prot.write_message_begin(&message_ident)?;
6609            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6610            o_prot.write_message_end()?;
6611            o_prot.flush()
6612          },
6613        }
6614      },
6615    }
6616  }
6617  pub fn process_execute_statement<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6618    let args = TSIServiceExecuteStatementArgs::read_from_in_protocol(i_prot)?;
6619    match handler.handle_execute_statement(args.req) {
6620      Ok(handler_return) => {
6621        let message_ident = TMessageIdentifier::new("executeStatement", TMessageType::Reply, incoming_sequence_number);
6622        o_prot.write_message_begin(&message_ident)?;
6623        let ret = TSIServiceExecuteStatementResult { result_value: Some(handler_return) };
6624        ret.write_to_out_protocol(o_prot)?;
6625        o_prot.write_message_end()?;
6626        o_prot.flush()
6627      },
6628      Err(e) => {
6629        match e {
6630          thrift::Error::Application(app_err) => {
6631            let message_ident = TMessageIdentifier::new("executeStatement", TMessageType::Exception, incoming_sequence_number);
6632            o_prot.write_message_begin(&message_ident)?;
6633            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6634            o_prot.write_message_end()?;
6635            o_prot.flush()
6636          },
6637          _ => {
6638            let ret_err = {
6639              ApplicationError::new(
6640                ApplicationErrorKind::Unknown,
6641                e.to_string()
6642              )
6643            };
6644            let message_ident = TMessageIdentifier::new("executeStatement", TMessageType::Exception, incoming_sequence_number);
6645            o_prot.write_message_begin(&message_ident)?;
6646            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6647            o_prot.write_message_end()?;
6648            o_prot.flush()
6649          },
6650        }
6651      },
6652    }
6653  }
6654  pub fn process_execute_batch_statement<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6655    let args = TSIServiceExecuteBatchStatementArgs::read_from_in_protocol(i_prot)?;
6656    match handler.handle_execute_batch_statement(args.req) {
6657      Ok(handler_return) => {
6658        let message_ident = TMessageIdentifier::new("executeBatchStatement", TMessageType::Reply, incoming_sequence_number);
6659        o_prot.write_message_begin(&message_ident)?;
6660        let ret = TSIServiceExecuteBatchStatementResult { result_value: Some(handler_return) };
6661        ret.write_to_out_protocol(o_prot)?;
6662        o_prot.write_message_end()?;
6663        o_prot.flush()
6664      },
6665      Err(e) => {
6666        match e {
6667          thrift::Error::Application(app_err) => {
6668            let message_ident = TMessageIdentifier::new("executeBatchStatement", TMessageType::Exception, incoming_sequence_number);
6669            o_prot.write_message_begin(&message_ident)?;
6670            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6671            o_prot.write_message_end()?;
6672            o_prot.flush()
6673          },
6674          _ => {
6675            let ret_err = {
6676              ApplicationError::new(
6677                ApplicationErrorKind::Unknown,
6678                e.to_string()
6679              )
6680            };
6681            let message_ident = TMessageIdentifier::new("executeBatchStatement", TMessageType::Exception, incoming_sequence_number);
6682            o_prot.write_message_begin(&message_ident)?;
6683            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6684            o_prot.write_message_end()?;
6685            o_prot.flush()
6686          },
6687        }
6688      },
6689    }
6690  }
6691  pub fn process_execute_query_statement<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6692    let args = TSIServiceExecuteQueryStatementArgs::read_from_in_protocol(i_prot)?;
6693    match handler.handle_execute_query_statement(args.req) {
6694      Ok(handler_return) => {
6695        let message_ident = TMessageIdentifier::new("executeQueryStatement", TMessageType::Reply, incoming_sequence_number);
6696        o_prot.write_message_begin(&message_ident)?;
6697        let ret = TSIServiceExecuteQueryStatementResult { result_value: Some(handler_return) };
6698        ret.write_to_out_protocol(o_prot)?;
6699        o_prot.write_message_end()?;
6700        o_prot.flush()
6701      },
6702      Err(e) => {
6703        match e {
6704          thrift::Error::Application(app_err) => {
6705            let message_ident = TMessageIdentifier::new("executeQueryStatement", TMessageType::Exception, incoming_sequence_number);
6706            o_prot.write_message_begin(&message_ident)?;
6707            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6708            o_prot.write_message_end()?;
6709            o_prot.flush()
6710          },
6711          _ => {
6712            let ret_err = {
6713              ApplicationError::new(
6714                ApplicationErrorKind::Unknown,
6715                e.to_string()
6716              )
6717            };
6718            let message_ident = TMessageIdentifier::new("executeQueryStatement", TMessageType::Exception, incoming_sequence_number);
6719            o_prot.write_message_begin(&message_ident)?;
6720            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6721            o_prot.write_message_end()?;
6722            o_prot.flush()
6723          },
6724        }
6725      },
6726    }
6727  }
6728  pub fn process_execute_update_statement<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6729    let args = TSIServiceExecuteUpdateStatementArgs::read_from_in_protocol(i_prot)?;
6730    match handler.handle_execute_update_statement(args.req) {
6731      Ok(handler_return) => {
6732        let message_ident = TMessageIdentifier::new("executeUpdateStatement", TMessageType::Reply, incoming_sequence_number);
6733        o_prot.write_message_begin(&message_ident)?;
6734        let ret = TSIServiceExecuteUpdateStatementResult { result_value: Some(handler_return) };
6735        ret.write_to_out_protocol(o_prot)?;
6736        o_prot.write_message_end()?;
6737        o_prot.flush()
6738      },
6739      Err(e) => {
6740        match e {
6741          thrift::Error::Application(app_err) => {
6742            let message_ident = TMessageIdentifier::new("executeUpdateStatement", TMessageType::Exception, incoming_sequence_number);
6743            o_prot.write_message_begin(&message_ident)?;
6744            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6745            o_prot.write_message_end()?;
6746            o_prot.flush()
6747          },
6748          _ => {
6749            let ret_err = {
6750              ApplicationError::new(
6751                ApplicationErrorKind::Unknown,
6752                e.to_string()
6753              )
6754            };
6755            let message_ident = TMessageIdentifier::new("executeUpdateStatement", TMessageType::Exception, incoming_sequence_number);
6756            o_prot.write_message_begin(&message_ident)?;
6757            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6758            o_prot.write_message_end()?;
6759            o_prot.flush()
6760          },
6761        }
6762      },
6763    }
6764  }
6765  pub fn process_fetch_results<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6766    let args = TSIServiceFetchResultsArgs::read_from_in_protocol(i_prot)?;
6767    match handler.handle_fetch_results(args.req) {
6768      Ok(handler_return) => {
6769        let message_ident = TMessageIdentifier::new("fetchResults", TMessageType::Reply, incoming_sequence_number);
6770        o_prot.write_message_begin(&message_ident)?;
6771        let ret = TSIServiceFetchResultsResult { result_value: Some(handler_return) };
6772        ret.write_to_out_protocol(o_prot)?;
6773        o_prot.write_message_end()?;
6774        o_prot.flush()
6775      },
6776      Err(e) => {
6777        match e {
6778          thrift::Error::Application(app_err) => {
6779            let message_ident = TMessageIdentifier::new("fetchResults", TMessageType::Exception, incoming_sequence_number);
6780            o_prot.write_message_begin(&message_ident)?;
6781            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6782            o_prot.write_message_end()?;
6783            o_prot.flush()
6784          },
6785          _ => {
6786            let ret_err = {
6787              ApplicationError::new(
6788                ApplicationErrorKind::Unknown,
6789                e.to_string()
6790              )
6791            };
6792            let message_ident = TMessageIdentifier::new("fetchResults", TMessageType::Exception, incoming_sequence_number);
6793            o_prot.write_message_begin(&message_ident)?;
6794            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6795            o_prot.write_message_end()?;
6796            o_prot.flush()
6797          },
6798        }
6799      },
6800    }
6801  }
6802  pub fn process_fetch_metadata<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6803    let args = TSIServiceFetchMetadataArgs::read_from_in_protocol(i_prot)?;
6804    match handler.handle_fetch_metadata(args.req) {
6805      Ok(handler_return) => {
6806        let message_ident = TMessageIdentifier::new("fetchMetadata", TMessageType::Reply, incoming_sequence_number);
6807        o_prot.write_message_begin(&message_ident)?;
6808        let ret = TSIServiceFetchMetadataResult { result_value: Some(handler_return) };
6809        ret.write_to_out_protocol(o_prot)?;
6810        o_prot.write_message_end()?;
6811        o_prot.flush()
6812      },
6813      Err(e) => {
6814        match e {
6815          thrift::Error::Application(app_err) => {
6816            let message_ident = TMessageIdentifier::new("fetchMetadata", TMessageType::Exception, incoming_sequence_number);
6817            o_prot.write_message_begin(&message_ident)?;
6818            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6819            o_prot.write_message_end()?;
6820            o_prot.flush()
6821          },
6822          _ => {
6823            let ret_err = {
6824              ApplicationError::new(
6825                ApplicationErrorKind::Unknown,
6826                e.to_string()
6827              )
6828            };
6829            let message_ident = TMessageIdentifier::new("fetchMetadata", TMessageType::Exception, incoming_sequence_number);
6830            o_prot.write_message_begin(&message_ident)?;
6831            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6832            o_prot.write_message_end()?;
6833            o_prot.flush()
6834          },
6835        }
6836      },
6837    }
6838  }
6839  pub fn process_cancel_operation<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6840    let args = TSIServiceCancelOperationArgs::read_from_in_protocol(i_prot)?;
6841    match handler.handle_cancel_operation(args.req) {
6842      Ok(handler_return) => {
6843        let message_ident = TMessageIdentifier::new("cancelOperation", TMessageType::Reply, incoming_sequence_number);
6844        o_prot.write_message_begin(&message_ident)?;
6845        let ret = TSIServiceCancelOperationResult { result_value: Some(handler_return) };
6846        ret.write_to_out_protocol(o_prot)?;
6847        o_prot.write_message_end()?;
6848        o_prot.flush()
6849      },
6850      Err(e) => {
6851        match e {
6852          thrift::Error::Application(app_err) => {
6853            let message_ident = TMessageIdentifier::new("cancelOperation", TMessageType::Exception, incoming_sequence_number);
6854            o_prot.write_message_begin(&message_ident)?;
6855            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6856            o_prot.write_message_end()?;
6857            o_prot.flush()
6858          },
6859          _ => {
6860            let ret_err = {
6861              ApplicationError::new(
6862                ApplicationErrorKind::Unknown,
6863                e.to_string()
6864              )
6865            };
6866            let message_ident = TMessageIdentifier::new("cancelOperation", TMessageType::Exception, incoming_sequence_number);
6867            o_prot.write_message_begin(&message_ident)?;
6868            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6869            o_prot.write_message_end()?;
6870            o_prot.flush()
6871          },
6872        }
6873      },
6874    }
6875  }
6876  pub fn process_close_operation<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6877    let args = TSIServiceCloseOperationArgs::read_from_in_protocol(i_prot)?;
6878    match handler.handle_close_operation(args.req) {
6879      Ok(handler_return) => {
6880        let message_ident = TMessageIdentifier::new("closeOperation", TMessageType::Reply, incoming_sequence_number);
6881        o_prot.write_message_begin(&message_ident)?;
6882        let ret = TSIServiceCloseOperationResult { result_value: Some(handler_return) };
6883        ret.write_to_out_protocol(o_prot)?;
6884        o_prot.write_message_end()?;
6885        o_prot.flush()
6886      },
6887      Err(e) => {
6888        match e {
6889          thrift::Error::Application(app_err) => {
6890            let message_ident = TMessageIdentifier::new("closeOperation", TMessageType::Exception, incoming_sequence_number);
6891            o_prot.write_message_begin(&message_ident)?;
6892            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6893            o_prot.write_message_end()?;
6894            o_prot.flush()
6895          },
6896          _ => {
6897            let ret_err = {
6898              ApplicationError::new(
6899                ApplicationErrorKind::Unknown,
6900                e.to_string()
6901              )
6902            };
6903            let message_ident = TMessageIdentifier::new("closeOperation", TMessageType::Exception, incoming_sequence_number);
6904            o_prot.write_message_begin(&message_ident)?;
6905            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6906            o_prot.write_message_end()?;
6907            o_prot.flush()
6908          },
6909        }
6910      },
6911    }
6912  }
6913  pub fn process_get_time_zone<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6914    let args = TSIServiceGetTimeZoneArgs::read_from_in_protocol(i_prot)?;
6915    match handler.handle_get_time_zone(args.session_id) {
6916      Ok(handler_return) => {
6917        let message_ident = TMessageIdentifier::new("getTimeZone", TMessageType::Reply, incoming_sequence_number);
6918        o_prot.write_message_begin(&message_ident)?;
6919        let ret = TSIServiceGetTimeZoneResult { result_value: Some(handler_return) };
6920        ret.write_to_out_protocol(o_prot)?;
6921        o_prot.write_message_end()?;
6922        o_prot.flush()
6923      },
6924      Err(e) => {
6925        match e {
6926          thrift::Error::Application(app_err) => {
6927            let message_ident = TMessageIdentifier::new("getTimeZone", TMessageType::Exception, incoming_sequence_number);
6928            o_prot.write_message_begin(&message_ident)?;
6929            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6930            o_prot.write_message_end()?;
6931            o_prot.flush()
6932          },
6933          _ => {
6934            let ret_err = {
6935              ApplicationError::new(
6936                ApplicationErrorKind::Unknown,
6937                e.to_string()
6938              )
6939            };
6940            let message_ident = TMessageIdentifier::new("getTimeZone", TMessageType::Exception, incoming_sequence_number);
6941            o_prot.write_message_begin(&message_ident)?;
6942            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6943            o_prot.write_message_end()?;
6944            o_prot.flush()
6945          },
6946        }
6947      },
6948    }
6949  }
6950  pub fn process_set_time_zone<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6951    let args = TSIServiceSetTimeZoneArgs::read_from_in_protocol(i_prot)?;
6952    match handler.handle_set_time_zone(args.req) {
6953      Ok(handler_return) => {
6954        let message_ident = TMessageIdentifier::new("setTimeZone", TMessageType::Reply, incoming_sequence_number);
6955        o_prot.write_message_begin(&message_ident)?;
6956        let ret = TSIServiceSetTimeZoneResult { result_value: Some(handler_return) };
6957        ret.write_to_out_protocol(o_prot)?;
6958        o_prot.write_message_end()?;
6959        o_prot.flush()
6960      },
6961      Err(e) => {
6962        match e {
6963          thrift::Error::Application(app_err) => {
6964            let message_ident = TMessageIdentifier::new("setTimeZone", TMessageType::Exception, incoming_sequence_number);
6965            o_prot.write_message_begin(&message_ident)?;
6966            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
6967            o_prot.write_message_end()?;
6968            o_prot.flush()
6969          },
6970          _ => {
6971            let ret_err = {
6972              ApplicationError::new(
6973                ApplicationErrorKind::Unknown,
6974                e.to_string()
6975              )
6976            };
6977            let message_ident = TMessageIdentifier::new("setTimeZone", TMessageType::Exception, incoming_sequence_number);
6978            o_prot.write_message_begin(&message_ident)?;
6979            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
6980            o_prot.write_message_end()?;
6981            o_prot.flush()
6982          },
6983        }
6984      },
6985    }
6986  }
6987  pub fn process_get_properties<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
6988    let _ = TSIServiceGetPropertiesArgs::read_from_in_protocol(i_prot)?;
6989    match handler.handle_get_properties() {
6990      Ok(handler_return) => {
6991        let message_ident = TMessageIdentifier::new("getProperties", TMessageType::Reply, incoming_sequence_number);
6992        o_prot.write_message_begin(&message_ident)?;
6993        let ret = TSIServiceGetPropertiesResult { result_value: Some(handler_return) };
6994        ret.write_to_out_protocol(o_prot)?;
6995        o_prot.write_message_end()?;
6996        o_prot.flush()
6997      },
6998      Err(e) => {
6999        match e {
7000          thrift::Error::Application(app_err) => {
7001            let message_ident = TMessageIdentifier::new("getProperties", TMessageType::Exception, incoming_sequence_number);
7002            o_prot.write_message_begin(&message_ident)?;
7003            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7004            o_prot.write_message_end()?;
7005            o_prot.flush()
7006          },
7007          _ => {
7008            let ret_err = {
7009              ApplicationError::new(
7010                ApplicationErrorKind::Unknown,
7011                e.to_string()
7012              )
7013            };
7014            let message_ident = TMessageIdentifier::new("getProperties", TMessageType::Exception, incoming_sequence_number);
7015            o_prot.write_message_begin(&message_ident)?;
7016            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7017            o_prot.write_message_end()?;
7018            o_prot.flush()
7019          },
7020        }
7021      },
7022    }
7023  }
7024  pub fn process_set_storage_group<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7025    let args = TSIServiceSetStorageGroupArgs::read_from_in_protocol(i_prot)?;
7026    match handler.handle_set_storage_group(args.session_id, args.storage_group) {
7027      Ok(handler_return) => {
7028        let message_ident = TMessageIdentifier::new("setStorageGroup", TMessageType::Reply, incoming_sequence_number);
7029        o_prot.write_message_begin(&message_ident)?;
7030        let ret = TSIServiceSetStorageGroupResult { result_value: Some(handler_return) };
7031        ret.write_to_out_protocol(o_prot)?;
7032        o_prot.write_message_end()?;
7033        o_prot.flush()
7034      },
7035      Err(e) => {
7036        match e {
7037          thrift::Error::Application(app_err) => {
7038            let message_ident = TMessageIdentifier::new("setStorageGroup", TMessageType::Exception, incoming_sequence_number);
7039            o_prot.write_message_begin(&message_ident)?;
7040            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7041            o_prot.write_message_end()?;
7042            o_prot.flush()
7043          },
7044          _ => {
7045            let ret_err = {
7046              ApplicationError::new(
7047                ApplicationErrorKind::Unknown,
7048                e.to_string()
7049              )
7050            };
7051            let message_ident = TMessageIdentifier::new("setStorageGroup", TMessageType::Exception, incoming_sequence_number);
7052            o_prot.write_message_begin(&message_ident)?;
7053            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7054            o_prot.write_message_end()?;
7055            o_prot.flush()
7056          },
7057        }
7058      },
7059    }
7060  }
7061  pub fn process_create_timeseries<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7062    let args = TSIServiceCreateTimeseriesArgs::read_from_in_protocol(i_prot)?;
7063    match handler.handle_create_timeseries(args.req) {
7064      Ok(handler_return) => {
7065        let message_ident = TMessageIdentifier::new("createTimeseries", TMessageType::Reply, incoming_sequence_number);
7066        o_prot.write_message_begin(&message_ident)?;
7067        let ret = TSIServiceCreateTimeseriesResult { result_value: Some(handler_return) };
7068        ret.write_to_out_protocol(o_prot)?;
7069        o_prot.write_message_end()?;
7070        o_prot.flush()
7071      },
7072      Err(e) => {
7073        match e {
7074          thrift::Error::Application(app_err) => {
7075            let message_ident = TMessageIdentifier::new("createTimeseries", TMessageType::Exception, incoming_sequence_number);
7076            o_prot.write_message_begin(&message_ident)?;
7077            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7078            o_prot.write_message_end()?;
7079            o_prot.flush()
7080          },
7081          _ => {
7082            let ret_err = {
7083              ApplicationError::new(
7084                ApplicationErrorKind::Unknown,
7085                e.to_string()
7086              )
7087            };
7088            let message_ident = TMessageIdentifier::new("createTimeseries", TMessageType::Exception, incoming_sequence_number);
7089            o_prot.write_message_begin(&message_ident)?;
7090            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7091            o_prot.write_message_end()?;
7092            o_prot.flush()
7093          },
7094        }
7095      },
7096    }
7097  }
7098  pub fn process_create_aligned_timeseries<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7099    let args = TSIServiceCreateAlignedTimeseriesArgs::read_from_in_protocol(i_prot)?;
7100    match handler.handle_create_aligned_timeseries(args.req) {
7101      Ok(handler_return) => {
7102        let message_ident = TMessageIdentifier::new("createAlignedTimeseries", TMessageType::Reply, incoming_sequence_number);
7103        o_prot.write_message_begin(&message_ident)?;
7104        let ret = TSIServiceCreateAlignedTimeseriesResult { result_value: Some(handler_return) };
7105        ret.write_to_out_protocol(o_prot)?;
7106        o_prot.write_message_end()?;
7107        o_prot.flush()
7108      },
7109      Err(e) => {
7110        match e {
7111          thrift::Error::Application(app_err) => {
7112            let message_ident = TMessageIdentifier::new("createAlignedTimeseries", TMessageType::Exception, incoming_sequence_number);
7113            o_prot.write_message_begin(&message_ident)?;
7114            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7115            o_prot.write_message_end()?;
7116            o_prot.flush()
7117          },
7118          _ => {
7119            let ret_err = {
7120              ApplicationError::new(
7121                ApplicationErrorKind::Unknown,
7122                e.to_string()
7123              )
7124            };
7125            let message_ident = TMessageIdentifier::new("createAlignedTimeseries", TMessageType::Exception, incoming_sequence_number);
7126            o_prot.write_message_begin(&message_ident)?;
7127            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7128            o_prot.write_message_end()?;
7129            o_prot.flush()
7130          },
7131        }
7132      },
7133    }
7134  }
7135  pub fn process_create_multi_timeseries<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7136    let args = TSIServiceCreateMultiTimeseriesArgs::read_from_in_protocol(i_prot)?;
7137    match handler.handle_create_multi_timeseries(args.req) {
7138      Ok(handler_return) => {
7139        let message_ident = TMessageIdentifier::new("createMultiTimeseries", TMessageType::Reply, incoming_sequence_number);
7140        o_prot.write_message_begin(&message_ident)?;
7141        let ret = TSIServiceCreateMultiTimeseriesResult { result_value: Some(handler_return) };
7142        ret.write_to_out_protocol(o_prot)?;
7143        o_prot.write_message_end()?;
7144        o_prot.flush()
7145      },
7146      Err(e) => {
7147        match e {
7148          thrift::Error::Application(app_err) => {
7149            let message_ident = TMessageIdentifier::new("createMultiTimeseries", TMessageType::Exception, incoming_sequence_number);
7150            o_prot.write_message_begin(&message_ident)?;
7151            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7152            o_prot.write_message_end()?;
7153            o_prot.flush()
7154          },
7155          _ => {
7156            let ret_err = {
7157              ApplicationError::new(
7158                ApplicationErrorKind::Unknown,
7159                e.to_string()
7160              )
7161            };
7162            let message_ident = TMessageIdentifier::new("createMultiTimeseries", TMessageType::Exception, incoming_sequence_number);
7163            o_prot.write_message_begin(&message_ident)?;
7164            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7165            o_prot.write_message_end()?;
7166            o_prot.flush()
7167          },
7168        }
7169      },
7170    }
7171  }
7172  pub fn process_delete_timeseries<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7173    let args = TSIServiceDeleteTimeseriesArgs::read_from_in_protocol(i_prot)?;
7174    match handler.handle_delete_timeseries(args.session_id, args.path) {
7175      Ok(handler_return) => {
7176        let message_ident = TMessageIdentifier::new("deleteTimeseries", TMessageType::Reply, incoming_sequence_number);
7177        o_prot.write_message_begin(&message_ident)?;
7178        let ret = TSIServiceDeleteTimeseriesResult { result_value: Some(handler_return) };
7179        ret.write_to_out_protocol(o_prot)?;
7180        o_prot.write_message_end()?;
7181        o_prot.flush()
7182      },
7183      Err(e) => {
7184        match e {
7185          thrift::Error::Application(app_err) => {
7186            let message_ident = TMessageIdentifier::new("deleteTimeseries", TMessageType::Exception, incoming_sequence_number);
7187            o_prot.write_message_begin(&message_ident)?;
7188            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7189            o_prot.write_message_end()?;
7190            o_prot.flush()
7191          },
7192          _ => {
7193            let ret_err = {
7194              ApplicationError::new(
7195                ApplicationErrorKind::Unknown,
7196                e.to_string()
7197              )
7198            };
7199            let message_ident = TMessageIdentifier::new("deleteTimeseries", TMessageType::Exception, incoming_sequence_number);
7200            o_prot.write_message_begin(&message_ident)?;
7201            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7202            o_prot.write_message_end()?;
7203            o_prot.flush()
7204          },
7205        }
7206      },
7207    }
7208  }
7209  pub fn process_delete_storage_groups<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7210    let args = TSIServiceDeleteStorageGroupsArgs::read_from_in_protocol(i_prot)?;
7211    match handler.handle_delete_storage_groups(args.session_id, args.storage_group) {
7212      Ok(handler_return) => {
7213        let message_ident = TMessageIdentifier::new("deleteStorageGroups", TMessageType::Reply, incoming_sequence_number);
7214        o_prot.write_message_begin(&message_ident)?;
7215        let ret = TSIServiceDeleteStorageGroupsResult { result_value: Some(handler_return) };
7216        ret.write_to_out_protocol(o_prot)?;
7217        o_prot.write_message_end()?;
7218        o_prot.flush()
7219      },
7220      Err(e) => {
7221        match e {
7222          thrift::Error::Application(app_err) => {
7223            let message_ident = TMessageIdentifier::new("deleteStorageGroups", TMessageType::Exception, incoming_sequence_number);
7224            o_prot.write_message_begin(&message_ident)?;
7225            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7226            o_prot.write_message_end()?;
7227            o_prot.flush()
7228          },
7229          _ => {
7230            let ret_err = {
7231              ApplicationError::new(
7232                ApplicationErrorKind::Unknown,
7233                e.to_string()
7234              )
7235            };
7236            let message_ident = TMessageIdentifier::new("deleteStorageGroups", TMessageType::Exception, incoming_sequence_number);
7237            o_prot.write_message_begin(&message_ident)?;
7238            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7239            o_prot.write_message_end()?;
7240            o_prot.flush()
7241          },
7242        }
7243      },
7244    }
7245  }
7246  pub fn process_insert_record<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7247    let args = TSIServiceInsertRecordArgs::read_from_in_protocol(i_prot)?;
7248    match handler.handle_insert_record(args.req) {
7249      Ok(handler_return) => {
7250        let message_ident = TMessageIdentifier::new("insertRecord", TMessageType::Reply, incoming_sequence_number);
7251        o_prot.write_message_begin(&message_ident)?;
7252        let ret = TSIServiceInsertRecordResult { result_value: Some(handler_return) };
7253        ret.write_to_out_protocol(o_prot)?;
7254        o_prot.write_message_end()?;
7255        o_prot.flush()
7256      },
7257      Err(e) => {
7258        match e {
7259          thrift::Error::Application(app_err) => {
7260            let message_ident = TMessageIdentifier::new("insertRecord", TMessageType::Exception, incoming_sequence_number);
7261            o_prot.write_message_begin(&message_ident)?;
7262            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7263            o_prot.write_message_end()?;
7264            o_prot.flush()
7265          },
7266          _ => {
7267            let ret_err = {
7268              ApplicationError::new(
7269                ApplicationErrorKind::Unknown,
7270                e.to_string()
7271              )
7272            };
7273            let message_ident = TMessageIdentifier::new("insertRecord", TMessageType::Exception, incoming_sequence_number);
7274            o_prot.write_message_begin(&message_ident)?;
7275            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7276            o_prot.write_message_end()?;
7277            o_prot.flush()
7278          },
7279        }
7280      },
7281    }
7282  }
7283  pub fn process_insert_string_record<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7284    let args = TSIServiceInsertStringRecordArgs::read_from_in_protocol(i_prot)?;
7285    match handler.handle_insert_string_record(args.req) {
7286      Ok(handler_return) => {
7287        let message_ident = TMessageIdentifier::new("insertStringRecord", TMessageType::Reply, incoming_sequence_number);
7288        o_prot.write_message_begin(&message_ident)?;
7289        let ret = TSIServiceInsertStringRecordResult { result_value: Some(handler_return) };
7290        ret.write_to_out_protocol(o_prot)?;
7291        o_prot.write_message_end()?;
7292        o_prot.flush()
7293      },
7294      Err(e) => {
7295        match e {
7296          thrift::Error::Application(app_err) => {
7297            let message_ident = TMessageIdentifier::new("insertStringRecord", TMessageType::Exception, incoming_sequence_number);
7298            o_prot.write_message_begin(&message_ident)?;
7299            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7300            o_prot.write_message_end()?;
7301            o_prot.flush()
7302          },
7303          _ => {
7304            let ret_err = {
7305              ApplicationError::new(
7306                ApplicationErrorKind::Unknown,
7307                e.to_string()
7308              )
7309            };
7310            let message_ident = TMessageIdentifier::new("insertStringRecord", TMessageType::Exception, incoming_sequence_number);
7311            o_prot.write_message_begin(&message_ident)?;
7312            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7313            o_prot.write_message_end()?;
7314            o_prot.flush()
7315          },
7316        }
7317      },
7318    }
7319  }
7320  pub fn process_insert_tablet<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7321    let args = TSIServiceInsertTabletArgs::read_from_in_protocol(i_prot)?;
7322    match handler.handle_insert_tablet(args.req) {
7323      Ok(handler_return) => {
7324        let message_ident = TMessageIdentifier::new("insertTablet", TMessageType::Reply, incoming_sequence_number);
7325        o_prot.write_message_begin(&message_ident)?;
7326        let ret = TSIServiceInsertTabletResult { result_value: Some(handler_return) };
7327        ret.write_to_out_protocol(o_prot)?;
7328        o_prot.write_message_end()?;
7329        o_prot.flush()
7330      },
7331      Err(e) => {
7332        match e {
7333          thrift::Error::Application(app_err) => {
7334            let message_ident = TMessageIdentifier::new("insertTablet", TMessageType::Exception, incoming_sequence_number);
7335            o_prot.write_message_begin(&message_ident)?;
7336            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7337            o_prot.write_message_end()?;
7338            o_prot.flush()
7339          },
7340          _ => {
7341            let ret_err = {
7342              ApplicationError::new(
7343                ApplicationErrorKind::Unknown,
7344                e.to_string()
7345              )
7346            };
7347            let message_ident = TMessageIdentifier::new("insertTablet", TMessageType::Exception, incoming_sequence_number);
7348            o_prot.write_message_begin(&message_ident)?;
7349            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7350            o_prot.write_message_end()?;
7351            o_prot.flush()
7352          },
7353        }
7354      },
7355    }
7356  }
7357  pub fn process_insert_tablets<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7358    let args = TSIServiceInsertTabletsArgs::read_from_in_protocol(i_prot)?;
7359    match handler.handle_insert_tablets(args.req) {
7360      Ok(handler_return) => {
7361        let message_ident = TMessageIdentifier::new("insertTablets", TMessageType::Reply, incoming_sequence_number);
7362        o_prot.write_message_begin(&message_ident)?;
7363        let ret = TSIServiceInsertTabletsResult { result_value: Some(handler_return) };
7364        ret.write_to_out_protocol(o_prot)?;
7365        o_prot.write_message_end()?;
7366        o_prot.flush()
7367      },
7368      Err(e) => {
7369        match e {
7370          thrift::Error::Application(app_err) => {
7371            let message_ident = TMessageIdentifier::new("insertTablets", TMessageType::Exception, incoming_sequence_number);
7372            o_prot.write_message_begin(&message_ident)?;
7373            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7374            o_prot.write_message_end()?;
7375            o_prot.flush()
7376          },
7377          _ => {
7378            let ret_err = {
7379              ApplicationError::new(
7380                ApplicationErrorKind::Unknown,
7381                e.to_string()
7382              )
7383            };
7384            let message_ident = TMessageIdentifier::new("insertTablets", TMessageType::Exception, incoming_sequence_number);
7385            o_prot.write_message_begin(&message_ident)?;
7386            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7387            o_prot.write_message_end()?;
7388            o_prot.flush()
7389          },
7390        }
7391      },
7392    }
7393  }
7394  pub fn process_insert_records<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7395    let args = TSIServiceInsertRecordsArgs::read_from_in_protocol(i_prot)?;
7396    match handler.handle_insert_records(args.req) {
7397      Ok(handler_return) => {
7398        let message_ident = TMessageIdentifier::new("insertRecords", TMessageType::Reply, incoming_sequence_number);
7399        o_prot.write_message_begin(&message_ident)?;
7400        let ret = TSIServiceInsertRecordsResult { result_value: Some(handler_return) };
7401        ret.write_to_out_protocol(o_prot)?;
7402        o_prot.write_message_end()?;
7403        o_prot.flush()
7404      },
7405      Err(e) => {
7406        match e {
7407          thrift::Error::Application(app_err) => {
7408            let message_ident = TMessageIdentifier::new("insertRecords", TMessageType::Exception, incoming_sequence_number);
7409            o_prot.write_message_begin(&message_ident)?;
7410            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7411            o_prot.write_message_end()?;
7412            o_prot.flush()
7413          },
7414          _ => {
7415            let ret_err = {
7416              ApplicationError::new(
7417                ApplicationErrorKind::Unknown,
7418                e.to_string()
7419              )
7420            };
7421            let message_ident = TMessageIdentifier::new("insertRecords", TMessageType::Exception, incoming_sequence_number);
7422            o_prot.write_message_begin(&message_ident)?;
7423            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7424            o_prot.write_message_end()?;
7425            o_prot.flush()
7426          },
7427        }
7428      },
7429    }
7430  }
7431  pub fn process_insert_records_of_one_device<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7432    let args = TSIServiceInsertRecordsOfOneDeviceArgs::read_from_in_protocol(i_prot)?;
7433    match handler.handle_insert_records_of_one_device(args.req) {
7434      Ok(handler_return) => {
7435        let message_ident = TMessageIdentifier::new("insertRecordsOfOneDevice", TMessageType::Reply, incoming_sequence_number);
7436        o_prot.write_message_begin(&message_ident)?;
7437        let ret = TSIServiceInsertRecordsOfOneDeviceResult { result_value: Some(handler_return) };
7438        ret.write_to_out_protocol(o_prot)?;
7439        o_prot.write_message_end()?;
7440        o_prot.flush()
7441      },
7442      Err(e) => {
7443        match e {
7444          thrift::Error::Application(app_err) => {
7445            let message_ident = TMessageIdentifier::new("insertRecordsOfOneDevice", TMessageType::Exception, incoming_sequence_number);
7446            o_prot.write_message_begin(&message_ident)?;
7447            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7448            o_prot.write_message_end()?;
7449            o_prot.flush()
7450          },
7451          _ => {
7452            let ret_err = {
7453              ApplicationError::new(
7454                ApplicationErrorKind::Unknown,
7455                e.to_string()
7456              )
7457            };
7458            let message_ident = TMessageIdentifier::new("insertRecordsOfOneDevice", TMessageType::Exception, incoming_sequence_number);
7459            o_prot.write_message_begin(&message_ident)?;
7460            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7461            o_prot.write_message_end()?;
7462            o_prot.flush()
7463          },
7464        }
7465      },
7466    }
7467  }
7468  pub fn process_insert_string_records<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7469    let args = TSIServiceInsertStringRecordsArgs::read_from_in_protocol(i_prot)?;
7470    match handler.handle_insert_string_records(args.req) {
7471      Ok(handler_return) => {
7472        let message_ident = TMessageIdentifier::new("insertStringRecords", TMessageType::Reply, incoming_sequence_number);
7473        o_prot.write_message_begin(&message_ident)?;
7474        let ret = TSIServiceInsertStringRecordsResult { result_value: Some(handler_return) };
7475        ret.write_to_out_protocol(o_prot)?;
7476        o_prot.write_message_end()?;
7477        o_prot.flush()
7478      },
7479      Err(e) => {
7480        match e {
7481          thrift::Error::Application(app_err) => {
7482            let message_ident = TMessageIdentifier::new("insertStringRecords", TMessageType::Exception, incoming_sequence_number);
7483            o_prot.write_message_begin(&message_ident)?;
7484            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7485            o_prot.write_message_end()?;
7486            o_prot.flush()
7487          },
7488          _ => {
7489            let ret_err = {
7490              ApplicationError::new(
7491                ApplicationErrorKind::Unknown,
7492                e.to_string()
7493              )
7494            };
7495            let message_ident = TMessageIdentifier::new("insertStringRecords", TMessageType::Exception, incoming_sequence_number);
7496            o_prot.write_message_begin(&message_ident)?;
7497            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7498            o_prot.write_message_end()?;
7499            o_prot.flush()
7500          },
7501        }
7502      },
7503    }
7504  }
7505  pub fn process_test_insert_tablet<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7506    let args = TSIServiceTestInsertTabletArgs::read_from_in_protocol(i_prot)?;
7507    match handler.handle_test_insert_tablet(args.req) {
7508      Ok(handler_return) => {
7509        let message_ident = TMessageIdentifier::new("testInsertTablet", TMessageType::Reply, incoming_sequence_number);
7510        o_prot.write_message_begin(&message_ident)?;
7511        let ret = TSIServiceTestInsertTabletResult { result_value: Some(handler_return) };
7512        ret.write_to_out_protocol(o_prot)?;
7513        o_prot.write_message_end()?;
7514        o_prot.flush()
7515      },
7516      Err(e) => {
7517        match e {
7518          thrift::Error::Application(app_err) => {
7519            let message_ident = TMessageIdentifier::new("testInsertTablet", TMessageType::Exception, incoming_sequence_number);
7520            o_prot.write_message_begin(&message_ident)?;
7521            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7522            o_prot.write_message_end()?;
7523            o_prot.flush()
7524          },
7525          _ => {
7526            let ret_err = {
7527              ApplicationError::new(
7528                ApplicationErrorKind::Unknown,
7529                e.to_string()
7530              )
7531            };
7532            let message_ident = TMessageIdentifier::new("testInsertTablet", TMessageType::Exception, incoming_sequence_number);
7533            o_prot.write_message_begin(&message_ident)?;
7534            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7535            o_prot.write_message_end()?;
7536            o_prot.flush()
7537          },
7538        }
7539      },
7540    }
7541  }
7542  pub fn process_test_insert_tablets<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7543    let args = TSIServiceTestInsertTabletsArgs::read_from_in_protocol(i_prot)?;
7544    match handler.handle_test_insert_tablets(args.req) {
7545      Ok(handler_return) => {
7546        let message_ident = TMessageIdentifier::new("testInsertTablets", TMessageType::Reply, incoming_sequence_number);
7547        o_prot.write_message_begin(&message_ident)?;
7548        let ret = TSIServiceTestInsertTabletsResult { result_value: Some(handler_return) };
7549        ret.write_to_out_protocol(o_prot)?;
7550        o_prot.write_message_end()?;
7551        o_prot.flush()
7552      },
7553      Err(e) => {
7554        match e {
7555          thrift::Error::Application(app_err) => {
7556            let message_ident = TMessageIdentifier::new("testInsertTablets", TMessageType::Exception, incoming_sequence_number);
7557            o_prot.write_message_begin(&message_ident)?;
7558            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7559            o_prot.write_message_end()?;
7560            o_prot.flush()
7561          },
7562          _ => {
7563            let ret_err = {
7564              ApplicationError::new(
7565                ApplicationErrorKind::Unknown,
7566                e.to_string()
7567              )
7568            };
7569            let message_ident = TMessageIdentifier::new("testInsertTablets", TMessageType::Exception, incoming_sequence_number);
7570            o_prot.write_message_begin(&message_ident)?;
7571            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7572            o_prot.write_message_end()?;
7573            o_prot.flush()
7574          },
7575        }
7576      },
7577    }
7578  }
7579  pub fn process_test_insert_record<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7580    let args = TSIServiceTestInsertRecordArgs::read_from_in_protocol(i_prot)?;
7581    match handler.handle_test_insert_record(args.req) {
7582      Ok(handler_return) => {
7583        let message_ident = TMessageIdentifier::new("testInsertRecord", TMessageType::Reply, incoming_sequence_number);
7584        o_prot.write_message_begin(&message_ident)?;
7585        let ret = TSIServiceTestInsertRecordResult { result_value: Some(handler_return) };
7586        ret.write_to_out_protocol(o_prot)?;
7587        o_prot.write_message_end()?;
7588        o_prot.flush()
7589      },
7590      Err(e) => {
7591        match e {
7592          thrift::Error::Application(app_err) => {
7593            let message_ident = TMessageIdentifier::new("testInsertRecord", TMessageType::Exception, incoming_sequence_number);
7594            o_prot.write_message_begin(&message_ident)?;
7595            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7596            o_prot.write_message_end()?;
7597            o_prot.flush()
7598          },
7599          _ => {
7600            let ret_err = {
7601              ApplicationError::new(
7602                ApplicationErrorKind::Unknown,
7603                e.to_string()
7604              )
7605            };
7606            let message_ident = TMessageIdentifier::new("testInsertRecord", TMessageType::Exception, incoming_sequence_number);
7607            o_prot.write_message_begin(&message_ident)?;
7608            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7609            o_prot.write_message_end()?;
7610            o_prot.flush()
7611          },
7612        }
7613      },
7614    }
7615  }
7616  pub fn process_test_insert_string_record<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7617    let args = TSIServiceTestInsertStringRecordArgs::read_from_in_protocol(i_prot)?;
7618    match handler.handle_test_insert_string_record(args.req) {
7619      Ok(handler_return) => {
7620        let message_ident = TMessageIdentifier::new("testInsertStringRecord", TMessageType::Reply, incoming_sequence_number);
7621        o_prot.write_message_begin(&message_ident)?;
7622        let ret = TSIServiceTestInsertStringRecordResult { result_value: Some(handler_return) };
7623        ret.write_to_out_protocol(o_prot)?;
7624        o_prot.write_message_end()?;
7625        o_prot.flush()
7626      },
7627      Err(e) => {
7628        match e {
7629          thrift::Error::Application(app_err) => {
7630            let message_ident = TMessageIdentifier::new("testInsertStringRecord", TMessageType::Exception, incoming_sequence_number);
7631            o_prot.write_message_begin(&message_ident)?;
7632            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7633            o_prot.write_message_end()?;
7634            o_prot.flush()
7635          },
7636          _ => {
7637            let ret_err = {
7638              ApplicationError::new(
7639                ApplicationErrorKind::Unknown,
7640                e.to_string()
7641              )
7642            };
7643            let message_ident = TMessageIdentifier::new("testInsertStringRecord", TMessageType::Exception, incoming_sequence_number);
7644            o_prot.write_message_begin(&message_ident)?;
7645            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7646            o_prot.write_message_end()?;
7647            o_prot.flush()
7648          },
7649        }
7650      },
7651    }
7652  }
7653  pub fn process_test_insert_records<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7654    let args = TSIServiceTestInsertRecordsArgs::read_from_in_protocol(i_prot)?;
7655    match handler.handle_test_insert_records(args.req) {
7656      Ok(handler_return) => {
7657        let message_ident = TMessageIdentifier::new("testInsertRecords", TMessageType::Reply, incoming_sequence_number);
7658        o_prot.write_message_begin(&message_ident)?;
7659        let ret = TSIServiceTestInsertRecordsResult { result_value: Some(handler_return) };
7660        ret.write_to_out_protocol(o_prot)?;
7661        o_prot.write_message_end()?;
7662        o_prot.flush()
7663      },
7664      Err(e) => {
7665        match e {
7666          thrift::Error::Application(app_err) => {
7667            let message_ident = TMessageIdentifier::new("testInsertRecords", TMessageType::Exception, incoming_sequence_number);
7668            o_prot.write_message_begin(&message_ident)?;
7669            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7670            o_prot.write_message_end()?;
7671            o_prot.flush()
7672          },
7673          _ => {
7674            let ret_err = {
7675              ApplicationError::new(
7676                ApplicationErrorKind::Unknown,
7677                e.to_string()
7678              )
7679            };
7680            let message_ident = TMessageIdentifier::new("testInsertRecords", TMessageType::Exception, incoming_sequence_number);
7681            o_prot.write_message_begin(&message_ident)?;
7682            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7683            o_prot.write_message_end()?;
7684            o_prot.flush()
7685          },
7686        }
7687      },
7688    }
7689  }
7690  pub fn process_test_insert_records_of_one_device<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7691    let args = TSIServiceTestInsertRecordsOfOneDeviceArgs::read_from_in_protocol(i_prot)?;
7692    match handler.handle_test_insert_records_of_one_device(args.req) {
7693      Ok(handler_return) => {
7694        let message_ident = TMessageIdentifier::new("testInsertRecordsOfOneDevice", TMessageType::Reply, incoming_sequence_number);
7695        o_prot.write_message_begin(&message_ident)?;
7696        let ret = TSIServiceTestInsertRecordsOfOneDeviceResult { result_value: Some(handler_return) };
7697        ret.write_to_out_protocol(o_prot)?;
7698        o_prot.write_message_end()?;
7699        o_prot.flush()
7700      },
7701      Err(e) => {
7702        match e {
7703          thrift::Error::Application(app_err) => {
7704            let message_ident = TMessageIdentifier::new("testInsertRecordsOfOneDevice", TMessageType::Exception, incoming_sequence_number);
7705            o_prot.write_message_begin(&message_ident)?;
7706            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7707            o_prot.write_message_end()?;
7708            o_prot.flush()
7709          },
7710          _ => {
7711            let ret_err = {
7712              ApplicationError::new(
7713                ApplicationErrorKind::Unknown,
7714                e.to_string()
7715              )
7716            };
7717            let message_ident = TMessageIdentifier::new("testInsertRecordsOfOneDevice", TMessageType::Exception, incoming_sequence_number);
7718            o_prot.write_message_begin(&message_ident)?;
7719            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7720            o_prot.write_message_end()?;
7721            o_prot.flush()
7722          },
7723        }
7724      },
7725    }
7726  }
7727  pub fn process_test_insert_string_records<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7728    let args = TSIServiceTestInsertStringRecordsArgs::read_from_in_protocol(i_prot)?;
7729    match handler.handle_test_insert_string_records(args.req) {
7730      Ok(handler_return) => {
7731        let message_ident = TMessageIdentifier::new("testInsertStringRecords", TMessageType::Reply, incoming_sequence_number);
7732        o_prot.write_message_begin(&message_ident)?;
7733        let ret = TSIServiceTestInsertStringRecordsResult { result_value: Some(handler_return) };
7734        ret.write_to_out_protocol(o_prot)?;
7735        o_prot.write_message_end()?;
7736        o_prot.flush()
7737      },
7738      Err(e) => {
7739        match e {
7740          thrift::Error::Application(app_err) => {
7741            let message_ident = TMessageIdentifier::new("testInsertStringRecords", TMessageType::Exception, incoming_sequence_number);
7742            o_prot.write_message_begin(&message_ident)?;
7743            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7744            o_prot.write_message_end()?;
7745            o_prot.flush()
7746          },
7747          _ => {
7748            let ret_err = {
7749              ApplicationError::new(
7750                ApplicationErrorKind::Unknown,
7751                e.to_string()
7752              )
7753            };
7754            let message_ident = TMessageIdentifier::new("testInsertStringRecords", TMessageType::Exception, incoming_sequence_number);
7755            o_prot.write_message_begin(&message_ident)?;
7756            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7757            o_prot.write_message_end()?;
7758            o_prot.flush()
7759          },
7760        }
7761      },
7762    }
7763  }
7764  pub fn process_delete_data<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7765    let args = TSIServiceDeleteDataArgs::read_from_in_protocol(i_prot)?;
7766    match handler.handle_delete_data(args.req) {
7767      Ok(handler_return) => {
7768        let message_ident = TMessageIdentifier::new("deleteData", TMessageType::Reply, incoming_sequence_number);
7769        o_prot.write_message_begin(&message_ident)?;
7770        let ret = TSIServiceDeleteDataResult { result_value: Some(handler_return) };
7771        ret.write_to_out_protocol(o_prot)?;
7772        o_prot.write_message_end()?;
7773        o_prot.flush()
7774      },
7775      Err(e) => {
7776        match e {
7777          thrift::Error::Application(app_err) => {
7778            let message_ident = TMessageIdentifier::new("deleteData", TMessageType::Exception, incoming_sequence_number);
7779            o_prot.write_message_begin(&message_ident)?;
7780            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7781            o_prot.write_message_end()?;
7782            o_prot.flush()
7783          },
7784          _ => {
7785            let ret_err = {
7786              ApplicationError::new(
7787                ApplicationErrorKind::Unknown,
7788                e.to_string()
7789              )
7790            };
7791            let message_ident = TMessageIdentifier::new("deleteData", TMessageType::Exception, incoming_sequence_number);
7792            o_prot.write_message_begin(&message_ident)?;
7793            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7794            o_prot.write_message_end()?;
7795            o_prot.flush()
7796          },
7797        }
7798      },
7799    }
7800  }
7801  pub fn process_execute_raw_data_query<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7802    let args = TSIServiceExecuteRawDataQueryArgs::read_from_in_protocol(i_prot)?;
7803    match handler.handle_execute_raw_data_query(args.req) {
7804      Ok(handler_return) => {
7805        let message_ident = TMessageIdentifier::new("executeRawDataQuery", TMessageType::Reply, incoming_sequence_number);
7806        o_prot.write_message_begin(&message_ident)?;
7807        let ret = TSIServiceExecuteRawDataQueryResult { result_value: Some(handler_return) };
7808        ret.write_to_out_protocol(o_prot)?;
7809        o_prot.write_message_end()?;
7810        o_prot.flush()
7811      },
7812      Err(e) => {
7813        match e {
7814          thrift::Error::Application(app_err) => {
7815            let message_ident = TMessageIdentifier::new("executeRawDataQuery", TMessageType::Exception, incoming_sequence_number);
7816            o_prot.write_message_begin(&message_ident)?;
7817            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7818            o_prot.write_message_end()?;
7819            o_prot.flush()
7820          },
7821          _ => {
7822            let ret_err = {
7823              ApplicationError::new(
7824                ApplicationErrorKind::Unknown,
7825                e.to_string()
7826              )
7827            };
7828            let message_ident = TMessageIdentifier::new("executeRawDataQuery", TMessageType::Exception, incoming_sequence_number);
7829            o_prot.write_message_begin(&message_ident)?;
7830            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7831            o_prot.write_message_end()?;
7832            o_prot.flush()
7833          },
7834        }
7835      },
7836    }
7837  }
7838  pub fn process_execute_last_data_query<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7839    let args = TSIServiceExecuteLastDataQueryArgs::read_from_in_protocol(i_prot)?;
7840    match handler.handle_execute_last_data_query(args.req) {
7841      Ok(handler_return) => {
7842        let message_ident = TMessageIdentifier::new("executeLastDataQuery", TMessageType::Reply, incoming_sequence_number);
7843        o_prot.write_message_begin(&message_ident)?;
7844        let ret = TSIServiceExecuteLastDataQueryResult { result_value: Some(handler_return) };
7845        ret.write_to_out_protocol(o_prot)?;
7846        o_prot.write_message_end()?;
7847        o_prot.flush()
7848      },
7849      Err(e) => {
7850        match e {
7851          thrift::Error::Application(app_err) => {
7852            let message_ident = TMessageIdentifier::new("executeLastDataQuery", TMessageType::Exception, incoming_sequence_number);
7853            o_prot.write_message_begin(&message_ident)?;
7854            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7855            o_prot.write_message_end()?;
7856            o_prot.flush()
7857          },
7858          _ => {
7859            let ret_err = {
7860              ApplicationError::new(
7861                ApplicationErrorKind::Unknown,
7862                e.to_string()
7863              )
7864            };
7865            let message_ident = TMessageIdentifier::new("executeLastDataQuery", TMessageType::Exception, incoming_sequence_number);
7866            o_prot.write_message_begin(&message_ident)?;
7867            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7868            o_prot.write_message_end()?;
7869            o_prot.flush()
7870          },
7871        }
7872      },
7873    }
7874  }
7875  pub fn process_request_statement_id<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7876    let args = TSIServiceRequestStatementIdArgs::read_from_in_protocol(i_prot)?;
7877    match handler.handle_request_statement_id(args.session_id) {
7878      Ok(handler_return) => {
7879        let message_ident = TMessageIdentifier::new("requestStatementId", TMessageType::Reply, incoming_sequence_number);
7880        o_prot.write_message_begin(&message_ident)?;
7881        let ret = TSIServiceRequestStatementIdResult { result_value: Some(handler_return) };
7882        ret.write_to_out_protocol(o_prot)?;
7883        o_prot.write_message_end()?;
7884        o_prot.flush()
7885      },
7886      Err(e) => {
7887        match e {
7888          thrift::Error::Application(app_err) => {
7889            let message_ident = TMessageIdentifier::new("requestStatementId", TMessageType::Exception, incoming_sequence_number);
7890            o_prot.write_message_begin(&message_ident)?;
7891            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7892            o_prot.write_message_end()?;
7893            o_prot.flush()
7894          },
7895          _ => {
7896            let ret_err = {
7897              ApplicationError::new(
7898                ApplicationErrorKind::Unknown,
7899                e.to_string()
7900              )
7901            };
7902            let message_ident = TMessageIdentifier::new("requestStatementId", TMessageType::Exception, incoming_sequence_number);
7903            o_prot.write_message_begin(&message_ident)?;
7904            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7905            o_prot.write_message_end()?;
7906            o_prot.flush()
7907          },
7908        }
7909      },
7910    }
7911  }
7912  pub fn process_create_schema_template<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7913    let args = TSIServiceCreateSchemaTemplateArgs::read_from_in_protocol(i_prot)?;
7914    match handler.handle_create_schema_template(args.req) {
7915      Ok(handler_return) => {
7916        let message_ident = TMessageIdentifier::new("createSchemaTemplate", TMessageType::Reply, incoming_sequence_number);
7917        o_prot.write_message_begin(&message_ident)?;
7918        let ret = TSIServiceCreateSchemaTemplateResult { result_value: Some(handler_return) };
7919        ret.write_to_out_protocol(o_prot)?;
7920        o_prot.write_message_end()?;
7921        o_prot.flush()
7922      },
7923      Err(e) => {
7924        match e {
7925          thrift::Error::Application(app_err) => {
7926            let message_ident = TMessageIdentifier::new("createSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
7927            o_prot.write_message_begin(&message_ident)?;
7928            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7929            o_prot.write_message_end()?;
7930            o_prot.flush()
7931          },
7932          _ => {
7933            let ret_err = {
7934              ApplicationError::new(
7935                ApplicationErrorKind::Unknown,
7936                e.to_string()
7937              )
7938            };
7939            let message_ident = TMessageIdentifier::new("createSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
7940            o_prot.write_message_begin(&message_ident)?;
7941            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7942            o_prot.write_message_end()?;
7943            o_prot.flush()
7944          },
7945        }
7946      },
7947    }
7948  }
7949  pub fn process_append_schema_template<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7950    let args = TSIServiceAppendSchemaTemplateArgs::read_from_in_protocol(i_prot)?;
7951    match handler.handle_append_schema_template(args.req) {
7952      Ok(handler_return) => {
7953        let message_ident = TMessageIdentifier::new("appendSchemaTemplate", TMessageType::Reply, incoming_sequence_number);
7954        o_prot.write_message_begin(&message_ident)?;
7955        let ret = TSIServiceAppendSchemaTemplateResult { result_value: Some(handler_return) };
7956        ret.write_to_out_protocol(o_prot)?;
7957        o_prot.write_message_end()?;
7958        o_prot.flush()
7959      },
7960      Err(e) => {
7961        match e {
7962          thrift::Error::Application(app_err) => {
7963            let message_ident = TMessageIdentifier::new("appendSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
7964            o_prot.write_message_begin(&message_ident)?;
7965            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
7966            o_prot.write_message_end()?;
7967            o_prot.flush()
7968          },
7969          _ => {
7970            let ret_err = {
7971              ApplicationError::new(
7972                ApplicationErrorKind::Unknown,
7973                e.to_string()
7974              )
7975            };
7976            let message_ident = TMessageIdentifier::new("appendSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
7977            o_prot.write_message_begin(&message_ident)?;
7978            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
7979            o_prot.write_message_end()?;
7980            o_prot.flush()
7981          },
7982        }
7983      },
7984    }
7985  }
7986  pub fn process_prune_schema_template<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
7987    let args = TSIServicePruneSchemaTemplateArgs::read_from_in_protocol(i_prot)?;
7988    match handler.handle_prune_schema_template(args.req) {
7989      Ok(handler_return) => {
7990        let message_ident = TMessageIdentifier::new("pruneSchemaTemplate", TMessageType::Reply, incoming_sequence_number);
7991        o_prot.write_message_begin(&message_ident)?;
7992        let ret = TSIServicePruneSchemaTemplateResult { result_value: Some(handler_return) };
7993        ret.write_to_out_protocol(o_prot)?;
7994        o_prot.write_message_end()?;
7995        o_prot.flush()
7996      },
7997      Err(e) => {
7998        match e {
7999          thrift::Error::Application(app_err) => {
8000            let message_ident = TMessageIdentifier::new("pruneSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8001            o_prot.write_message_begin(&message_ident)?;
8002            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
8003            o_prot.write_message_end()?;
8004            o_prot.flush()
8005          },
8006          _ => {
8007            let ret_err = {
8008              ApplicationError::new(
8009                ApplicationErrorKind::Unknown,
8010                e.to_string()
8011              )
8012            };
8013            let message_ident = TMessageIdentifier::new("pruneSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8014            o_prot.write_message_begin(&message_ident)?;
8015            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
8016            o_prot.write_message_end()?;
8017            o_prot.flush()
8018          },
8019        }
8020      },
8021    }
8022  }
8023  pub fn process_query_schema_template<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8024    let args = TSIServiceQuerySchemaTemplateArgs::read_from_in_protocol(i_prot)?;
8025    match handler.handle_query_schema_template(args.req) {
8026      Ok(handler_return) => {
8027        let message_ident = TMessageIdentifier::new("querySchemaTemplate", TMessageType::Reply, incoming_sequence_number);
8028        o_prot.write_message_begin(&message_ident)?;
8029        let ret = TSIServiceQuerySchemaTemplateResult { result_value: Some(handler_return) };
8030        ret.write_to_out_protocol(o_prot)?;
8031        o_prot.write_message_end()?;
8032        o_prot.flush()
8033      },
8034      Err(e) => {
8035        match e {
8036          thrift::Error::Application(app_err) => {
8037            let message_ident = TMessageIdentifier::new("querySchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8038            o_prot.write_message_begin(&message_ident)?;
8039            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
8040            o_prot.write_message_end()?;
8041            o_prot.flush()
8042          },
8043          _ => {
8044            let ret_err = {
8045              ApplicationError::new(
8046                ApplicationErrorKind::Unknown,
8047                e.to_string()
8048              )
8049            };
8050            let message_ident = TMessageIdentifier::new("querySchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8051            o_prot.write_message_begin(&message_ident)?;
8052            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
8053            o_prot.write_message_end()?;
8054            o_prot.flush()
8055          },
8056        }
8057      },
8058    }
8059  }
8060  pub fn process_set_schema_template<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8061    let args = TSIServiceSetSchemaTemplateArgs::read_from_in_protocol(i_prot)?;
8062    match handler.handle_set_schema_template(args.req) {
8063      Ok(handler_return) => {
8064        let message_ident = TMessageIdentifier::new("setSchemaTemplate", TMessageType::Reply, incoming_sequence_number);
8065        o_prot.write_message_begin(&message_ident)?;
8066        let ret = TSIServiceSetSchemaTemplateResult { result_value: Some(handler_return) };
8067        ret.write_to_out_protocol(o_prot)?;
8068        o_prot.write_message_end()?;
8069        o_prot.flush()
8070      },
8071      Err(e) => {
8072        match e {
8073          thrift::Error::Application(app_err) => {
8074            let message_ident = TMessageIdentifier::new("setSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8075            o_prot.write_message_begin(&message_ident)?;
8076            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
8077            o_prot.write_message_end()?;
8078            o_prot.flush()
8079          },
8080          _ => {
8081            let ret_err = {
8082              ApplicationError::new(
8083                ApplicationErrorKind::Unknown,
8084                e.to_string()
8085              )
8086            };
8087            let message_ident = TMessageIdentifier::new("setSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8088            o_prot.write_message_begin(&message_ident)?;
8089            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
8090            o_prot.write_message_end()?;
8091            o_prot.flush()
8092          },
8093        }
8094      },
8095    }
8096  }
8097  pub fn process_unset_schema_template<H: TSIServiceSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8098    let args = TSIServiceUnsetSchemaTemplateArgs::read_from_in_protocol(i_prot)?;
8099    match handler.handle_unset_schema_template(args.req) {
8100      Ok(handler_return) => {
8101        let message_ident = TMessageIdentifier::new("unsetSchemaTemplate", TMessageType::Reply, incoming_sequence_number);
8102        o_prot.write_message_begin(&message_ident)?;
8103        let ret = TSIServiceUnsetSchemaTemplateResult { result_value: Some(handler_return) };
8104        ret.write_to_out_protocol(o_prot)?;
8105        o_prot.write_message_end()?;
8106        o_prot.flush()
8107      },
8108      Err(e) => {
8109        match e {
8110          thrift::Error::Application(app_err) => {
8111            let message_ident = TMessageIdentifier::new("unsetSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8112            o_prot.write_message_begin(&message_ident)?;
8113            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
8114            o_prot.write_message_end()?;
8115            o_prot.flush()
8116          },
8117          _ => {
8118            let ret_err = {
8119              ApplicationError::new(
8120                ApplicationErrorKind::Unknown,
8121                e.to_string()
8122              )
8123            };
8124            let message_ident = TMessageIdentifier::new("unsetSchemaTemplate", TMessageType::Exception, incoming_sequence_number);
8125            o_prot.write_message_begin(&message_ident)?;
8126            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
8127            o_prot.write_message_end()?;
8128            o_prot.flush()
8129          },
8130        }
8131      },
8132    }
8133  }
8134}
8135
8136impl <H: TSIServiceSyncHandler> TProcessor for TSIServiceSyncProcessor<H> {
8137  fn process(&self, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8138    let message_ident = i_prot.read_message_begin()?;
8139    let res = match &*message_ident.name {
8140      "openSession" => {
8141        self.process_open_session(message_ident.sequence_number, i_prot, o_prot)
8142      },
8143      "closeSession" => {
8144        self.process_close_session(message_ident.sequence_number, i_prot, o_prot)
8145      },
8146      "executeStatement" => {
8147        self.process_execute_statement(message_ident.sequence_number, i_prot, o_prot)
8148      },
8149      "executeBatchStatement" => {
8150        self.process_execute_batch_statement(message_ident.sequence_number, i_prot, o_prot)
8151      },
8152      "executeQueryStatement" => {
8153        self.process_execute_query_statement(message_ident.sequence_number, i_prot, o_prot)
8154      },
8155      "executeUpdateStatement" => {
8156        self.process_execute_update_statement(message_ident.sequence_number, i_prot, o_prot)
8157      },
8158      "fetchResults" => {
8159        self.process_fetch_results(message_ident.sequence_number, i_prot, o_prot)
8160      },
8161      "fetchMetadata" => {
8162        self.process_fetch_metadata(message_ident.sequence_number, i_prot, o_prot)
8163      },
8164      "cancelOperation" => {
8165        self.process_cancel_operation(message_ident.sequence_number, i_prot, o_prot)
8166      },
8167      "closeOperation" => {
8168        self.process_close_operation(message_ident.sequence_number, i_prot, o_prot)
8169      },
8170      "getTimeZone" => {
8171        self.process_get_time_zone(message_ident.sequence_number, i_prot, o_prot)
8172      },
8173      "setTimeZone" => {
8174        self.process_set_time_zone(message_ident.sequence_number, i_prot, o_prot)
8175      },
8176      "getProperties" => {
8177        self.process_get_properties(message_ident.sequence_number, i_prot, o_prot)
8178      },
8179      "setStorageGroup" => {
8180        self.process_set_storage_group(message_ident.sequence_number, i_prot, o_prot)
8181      },
8182      "createTimeseries" => {
8183        self.process_create_timeseries(message_ident.sequence_number, i_prot, o_prot)
8184      },
8185      "createAlignedTimeseries" => {
8186        self.process_create_aligned_timeseries(message_ident.sequence_number, i_prot, o_prot)
8187      },
8188      "createMultiTimeseries" => {
8189        self.process_create_multi_timeseries(message_ident.sequence_number, i_prot, o_prot)
8190      },
8191      "deleteTimeseries" => {
8192        self.process_delete_timeseries(message_ident.sequence_number, i_prot, o_prot)
8193      },
8194      "deleteStorageGroups" => {
8195        self.process_delete_storage_groups(message_ident.sequence_number, i_prot, o_prot)
8196      },
8197      "insertRecord" => {
8198        self.process_insert_record(message_ident.sequence_number, i_prot, o_prot)
8199      },
8200      "insertStringRecord" => {
8201        self.process_insert_string_record(message_ident.sequence_number, i_prot, o_prot)
8202      },
8203      "insertTablet" => {
8204        self.process_insert_tablet(message_ident.sequence_number, i_prot, o_prot)
8205      },
8206      "insertTablets" => {
8207        self.process_insert_tablets(message_ident.sequence_number, i_prot, o_prot)
8208      },
8209      "insertRecords" => {
8210        self.process_insert_records(message_ident.sequence_number, i_prot, o_prot)
8211      },
8212      "insertRecordsOfOneDevice" => {
8213        self.process_insert_records_of_one_device(message_ident.sequence_number, i_prot, o_prot)
8214      },
8215      "insertStringRecords" => {
8216        self.process_insert_string_records(message_ident.sequence_number, i_prot, o_prot)
8217      },
8218      "testInsertTablet" => {
8219        self.process_test_insert_tablet(message_ident.sequence_number, i_prot, o_prot)
8220      },
8221      "testInsertTablets" => {
8222        self.process_test_insert_tablets(message_ident.sequence_number, i_prot, o_prot)
8223      },
8224      "testInsertRecord" => {
8225        self.process_test_insert_record(message_ident.sequence_number, i_prot, o_prot)
8226      },
8227      "testInsertStringRecord" => {
8228        self.process_test_insert_string_record(message_ident.sequence_number, i_prot, o_prot)
8229      },
8230      "testInsertRecords" => {
8231        self.process_test_insert_records(message_ident.sequence_number, i_prot, o_prot)
8232      },
8233      "testInsertRecordsOfOneDevice" => {
8234        self.process_test_insert_records_of_one_device(message_ident.sequence_number, i_prot, o_prot)
8235      },
8236      "testInsertStringRecords" => {
8237        self.process_test_insert_string_records(message_ident.sequence_number, i_prot, o_prot)
8238      },
8239      "deleteData" => {
8240        self.process_delete_data(message_ident.sequence_number, i_prot, o_prot)
8241      },
8242      "executeRawDataQuery" => {
8243        self.process_execute_raw_data_query(message_ident.sequence_number, i_prot, o_prot)
8244      },
8245      "executeLastDataQuery" => {
8246        self.process_execute_last_data_query(message_ident.sequence_number, i_prot, o_prot)
8247      },
8248      "requestStatementId" => {
8249        self.process_request_statement_id(message_ident.sequence_number, i_prot, o_prot)
8250      },
8251      "createSchemaTemplate" => {
8252        self.process_create_schema_template(message_ident.sequence_number, i_prot, o_prot)
8253      },
8254      "appendSchemaTemplate" => {
8255        self.process_append_schema_template(message_ident.sequence_number, i_prot, o_prot)
8256      },
8257      "pruneSchemaTemplate" => {
8258        self.process_prune_schema_template(message_ident.sequence_number, i_prot, o_prot)
8259      },
8260      "querySchemaTemplate" => {
8261        self.process_query_schema_template(message_ident.sequence_number, i_prot, o_prot)
8262      },
8263      "setSchemaTemplate" => {
8264        self.process_set_schema_template(message_ident.sequence_number, i_prot, o_prot)
8265      },
8266      "unsetSchemaTemplate" => {
8267        self.process_unset_schema_template(message_ident.sequence_number, i_prot, o_prot)
8268      },
8269      method => {
8270        Err(
8271          thrift::Error::Application(
8272            ApplicationError::new(
8273              ApplicationErrorKind::UnknownMethod,
8274              format!("unknown method {}", method)
8275            )
8276          )
8277        )
8278      },
8279    };
8280    thrift::server::handle_process_result(&message_ident, res, o_prot)
8281  }
8282}
8283
8284//
8285// TSIServiceOpenSessionArgs
8286//
8287
8288#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8289struct TSIServiceOpenSessionArgs {
8290  req: TSOpenSessionReq,
8291}
8292
8293impl TSIServiceOpenSessionArgs {
8294  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceOpenSessionArgs> {
8295    i_prot.read_struct_begin()?;
8296    let mut f_1: Option<TSOpenSessionReq> = None;
8297    loop {
8298      let field_ident = i_prot.read_field_begin()?;
8299      if field_ident.field_type == TType::Stop {
8300        break;
8301      }
8302      let field_id = field_id(&field_ident)?;
8303      match field_id {
8304        1 => {
8305          let val = TSOpenSessionReq::read_from_in_protocol(i_prot)?;
8306          f_1 = Some(val);
8307        },
8308        _ => {
8309          i_prot.skip(field_ident.field_type)?;
8310        },
8311      };
8312      i_prot.read_field_end()?;
8313    }
8314    i_prot.read_struct_end()?;
8315    verify_required_field_exists("TSIServiceOpenSessionArgs.req", &f_1)?;
8316    let ret = TSIServiceOpenSessionArgs {
8317      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8318    };
8319    Ok(ret)
8320  }
8321  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8322    let struct_ident = TStructIdentifier::new("openSession_args");
8323    o_prot.write_struct_begin(&struct_ident)?;
8324    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8325    self.req.write_to_out_protocol(o_prot)?;
8326    o_prot.write_field_end()?;
8327    o_prot.write_field_stop()?;
8328    o_prot.write_struct_end()
8329  }
8330}
8331
8332//
8333// TSIServiceOpenSessionResult
8334//
8335
8336#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8337struct TSIServiceOpenSessionResult {
8338  result_value: Option<TSOpenSessionResp>,
8339}
8340
8341impl TSIServiceOpenSessionResult {
8342  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceOpenSessionResult> {
8343    i_prot.read_struct_begin()?;
8344    let mut f_0: Option<TSOpenSessionResp> = None;
8345    loop {
8346      let field_ident = i_prot.read_field_begin()?;
8347      if field_ident.field_type == TType::Stop {
8348        break;
8349      }
8350      let field_id = field_id(&field_ident)?;
8351      match field_id {
8352        0 => {
8353          let val = TSOpenSessionResp::read_from_in_protocol(i_prot)?;
8354          f_0 = Some(val);
8355        },
8356        _ => {
8357          i_prot.skip(field_ident.field_type)?;
8358        },
8359      };
8360      i_prot.read_field_end()?;
8361    }
8362    i_prot.read_struct_end()?;
8363    let ret = TSIServiceOpenSessionResult {
8364      result_value: f_0,
8365    };
8366    Ok(ret)
8367  }
8368  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8369    let struct_ident = TStructIdentifier::new("TSIServiceOpenSessionResult");
8370    o_prot.write_struct_begin(&struct_ident)?;
8371    if let Some(ref fld_var) = self.result_value {
8372      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
8373      fld_var.write_to_out_protocol(o_prot)?;
8374      o_prot.write_field_end()?
8375    }
8376    o_prot.write_field_stop()?;
8377    o_prot.write_struct_end()
8378  }
8379  fn ok_or(self) -> thrift::Result<TSOpenSessionResp> {
8380    if self.result_value.is_some() {
8381      Ok(self.result_value.unwrap())
8382    } else {
8383      Err(
8384        thrift::Error::Application(
8385          ApplicationError::new(
8386            ApplicationErrorKind::MissingResult,
8387            "no result received for TSIServiceOpenSession"
8388          )
8389        )
8390      )
8391    }
8392  }
8393}
8394
8395//
8396// TSIServiceCloseSessionArgs
8397//
8398
8399#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8400struct TSIServiceCloseSessionArgs {
8401  req: TSCloseSessionReq,
8402}
8403
8404impl TSIServiceCloseSessionArgs {
8405  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCloseSessionArgs> {
8406    i_prot.read_struct_begin()?;
8407    let mut f_1: Option<TSCloseSessionReq> = None;
8408    loop {
8409      let field_ident = i_prot.read_field_begin()?;
8410      if field_ident.field_type == TType::Stop {
8411        break;
8412      }
8413      let field_id = field_id(&field_ident)?;
8414      match field_id {
8415        1 => {
8416          let val = TSCloseSessionReq::read_from_in_protocol(i_prot)?;
8417          f_1 = Some(val);
8418        },
8419        _ => {
8420          i_prot.skip(field_ident.field_type)?;
8421        },
8422      };
8423      i_prot.read_field_end()?;
8424    }
8425    i_prot.read_struct_end()?;
8426    verify_required_field_exists("TSIServiceCloseSessionArgs.req", &f_1)?;
8427    let ret = TSIServiceCloseSessionArgs {
8428      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8429    };
8430    Ok(ret)
8431  }
8432  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8433    let struct_ident = TStructIdentifier::new("closeSession_args");
8434    o_prot.write_struct_begin(&struct_ident)?;
8435    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8436    self.req.write_to_out_protocol(o_prot)?;
8437    o_prot.write_field_end()?;
8438    o_prot.write_field_stop()?;
8439    o_prot.write_struct_end()
8440  }
8441}
8442
8443//
8444// TSIServiceCloseSessionResult
8445//
8446
8447#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8448struct TSIServiceCloseSessionResult {
8449  result_value: Option<TSStatus>,
8450}
8451
8452impl TSIServiceCloseSessionResult {
8453  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCloseSessionResult> {
8454    i_prot.read_struct_begin()?;
8455    let mut f_0: Option<TSStatus> = None;
8456    loop {
8457      let field_ident = i_prot.read_field_begin()?;
8458      if field_ident.field_type == TType::Stop {
8459        break;
8460      }
8461      let field_id = field_id(&field_ident)?;
8462      match field_id {
8463        0 => {
8464          let val = TSStatus::read_from_in_protocol(i_prot)?;
8465          f_0 = Some(val);
8466        },
8467        _ => {
8468          i_prot.skip(field_ident.field_type)?;
8469        },
8470      };
8471      i_prot.read_field_end()?;
8472    }
8473    i_prot.read_struct_end()?;
8474    let ret = TSIServiceCloseSessionResult {
8475      result_value: f_0,
8476    };
8477    Ok(ret)
8478  }
8479  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8480    let struct_ident = TStructIdentifier::new("TSIServiceCloseSessionResult");
8481    o_prot.write_struct_begin(&struct_ident)?;
8482    if let Some(ref fld_var) = self.result_value {
8483      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
8484      fld_var.write_to_out_protocol(o_prot)?;
8485      o_prot.write_field_end()?
8486    }
8487    o_prot.write_field_stop()?;
8488    o_prot.write_struct_end()
8489  }
8490  fn ok_or(self) -> thrift::Result<TSStatus> {
8491    if self.result_value.is_some() {
8492      Ok(self.result_value.unwrap())
8493    } else {
8494      Err(
8495        thrift::Error::Application(
8496          ApplicationError::new(
8497            ApplicationErrorKind::MissingResult,
8498            "no result received for TSIServiceCloseSession"
8499          )
8500        )
8501      )
8502    }
8503  }
8504}
8505
8506//
8507// TSIServiceExecuteStatementArgs
8508//
8509
8510#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8511struct TSIServiceExecuteStatementArgs {
8512  req: TSExecuteStatementReq,
8513}
8514
8515impl TSIServiceExecuteStatementArgs {
8516  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteStatementArgs> {
8517    i_prot.read_struct_begin()?;
8518    let mut f_1: Option<TSExecuteStatementReq> = None;
8519    loop {
8520      let field_ident = i_prot.read_field_begin()?;
8521      if field_ident.field_type == TType::Stop {
8522        break;
8523      }
8524      let field_id = field_id(&field_ident)?;
8525      match field_id {
8526        1 => {
8527          let val = TSExecuteStatementReq::read_from_in_protocol(i_prot)?;
8528          f_1 = Some(val);
8529        },
8530        _ => {
8531          i_prot.skip(field_ident.field_type)?;
8532        },
8533      };
8534      i_prot.read_field_end()?;
8535    }
8536    i_prot.read_struct_end()?;
8537    verify_required_field_exists("TSIServiceExecuteStatementArgs.req", &f_1)?;
8538    let ret = TSIServiceExecuteStatementArgs {
8539      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8540    };
8541    Ok(ret)
8542  }
8543  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8544    let struct_ident = TStructIdentifier::new("executeStatement_args");
8545    o_prot.write_struct_begin(&struct_ident)?;
8546    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8547    self.req.write_to_out_protocol(o_prot)?;
8548    o_prot.write_field_end()?;
8549    o_prot.write_field_stop()?;
8550    o_prot.write_struct_end()
8551  }
8552}
8553
8554//
8555// TSIServiceExecuteStatementResult
8556//
8557
8558#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8559struct TSIServiceExecuteStatementResult {
8560  result_value: Option<TSExecuteStatementResp>,
8561}
8562
8563impl TSIServiceExecuteStatementResult {
8564  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteStatementResult> {
8565    i_prot.read_struct_begin()?;
8566    let mut f_0: Option<TSExecuteStatementResp> = None;
8567    loop {
8568      let field_ident = i_prot.read_field_begin()?;
8569      if field_ident.field_type == TType::Stop {
8570        break;
8571      }
8572      let field_id = field_id(&field_ident)?;
8573      match field_id {
8574        0 => {
8575          let val = TSExecuteStatementResp::read_from_in_protocol(i_prot)?;
8576          f_0 = Some(val);
8577        },
8578        _ => {
8579          i_prot.skip(field_ident.field_type)?;
8580        },
8581      };
8582      i_prot.read_field_end()?;
8583    }
8584    i_prot.read_struct_end()?;
8585    let ret = TSIServiceExecuteStatementResult {
8586      result_value: f_0,
8587    };
8588    Ok(ret)
8589  }
8590  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8591    let struct_ident = TStructIdentifier::new("TSIServiceExecuteStatementResult");
8592    o_prot.write_struct_begin(&struct_ident)?;
8593    if let Some(ref fld_var) = self.result_value {
8594      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
8595      fld_var.write_to_out_protocol(o_prot)?;
8596      o_prot.write_field_end()?
8597    }
8598    o_prot.write_field_stop()?;
8599    o_prot.write_struct_end()
8600  }
8601  fn ok_or(self) -> thrift::Result<TSExecuteStatementResp> {
8602    if self.result_value.is_some() {
8603      Ok(self.result_value.unwrap())
8604    } else {
8605      Err(
8606        thrift::Error::Application(
8607          ApplicationError::new(
8608            ApplicationErrorKind::MissingResult,
8609            "no result received for TSIServiceExecuteStatement"
8610          )
8611        )
8612      )
8613    }
8614  }
8615}
8616
8617//
8618// TSIServiceExecuteBatchStatementArgs
8619//
8620
8621#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8622struct TSIServiceExecuteBatchStatementArgs {
8623  req: TSExecuteBatchStatementReq,
8624}
8625
8626impl TSIServiceExecuteBatchStatementArgs {
8627  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteBatchStatementArgs> {
8628    i_prot.read_struct_begin()?;
8629    let mut f_1: Option<TSExecuteBatchStatementReq> = None;
8630    loop {
8631      let field_ident = i_prot.read_field_begin()?;
8632      if field_ident.field_type == TType::Stop {
8633        break;
8634      }
8635      let field_id = field_id(&field_ident)?;
8636      match field_id {
8637        1 => {
8638          let val = TSExecuteBatchStatementReq::read_from_in_protocol(i_prot)?;
8639          f_1 = Some(val);
8640        },
8641        _ => {
8642          i_prot.skip(field_ident.field_type)?;
8643        },
8644      };
8645      i_prot.read_field_end()?;
8646    }
8647    i_prot.read_struct_end()?;
8648    verify_required_field_exists("TSIServiceExecuteBatchStatementArgs.req", &f_1)?;
8649    let ret = TSIServiceExecuteBatchStatementArgs {
8650      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8651    };
8652    Ok(ret)
8653  }
8654  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8655    let struct_ident = TStructIdentifier::new("executeBatchStatement_args");
8656    o_prot.write_struct_begin(&struct_ident)?;
8657    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8658    self.req.write_to_out_protocol(o_prot)?;
8659    o_prot.write_field_end()?;
8660    o_prot.write_field_stop()?;
8661    o_prot.write_struct_end()
8662  }
8663}
8664
8665//
8666// TSIServiceExecuteBatchStatementResult
8667//
8668
8669#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8670struct TSIServiceExecuteBatchStatementResult {
8671  result_value: Option<TSStatus>,
8672}
8673
8674impl TSIServiceExecuteBatchStatementResult {
8675  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteBatchStatementResult> {
8676    i_prot.read_struct_begin()?;
8677    let mut f_0: Option<TSStatus> = None;
8678    loop {
8679      let field_ident = i_prot.read_field_begin()?;
8680      if field_ident.field_type == TType::Stop {
8681        break;
8682      }
8683      let field_id = field_id(&field_ident)?;
8684      match field_id {
8685        0 => {
8686          let val = TSStatus::read_from_in_protocol(i_prot)?;
8687          f_0 = Some(val);
8688        },
8689        _ => {
8690          i_prot.skip(field_ident.field_type)?;
8691        },
8692      };
8693      i_prot.read_field_end()?;
8694    }
8695    i_prot.read_struct_end()?;
8696    let ret = TSIServiceExecuteBatchStatementResult {
8697      result_value: f_0,
8698    };
8699    Ok(ret)
8700  }
8701  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8702    let struct_ident = TStructIdentifier::new("TSIServiceExecuteBatchStatementResult");
8703    o_prot.write_struct_begin(&struct_ident)?;
8704    if let Some(ref fld_var) = self.result_value {
8705      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
8706      fld_var.write_to_out_protocol(o_prot)?;
8707      o_prot.write_field_end()?
8708    }
8709    o_prot.write_field_stop()?;
8710    o_prot.write_struct_end()
8711  }
8712  fn ok_or(self) -> thrift::Result<TSStatus> {
8713    if self.result_value.is_some() {
8714      Ok(self.result_value.unwrap())
8715    } else {
8716      Err(
8717        thrift::Error::Application(
8718          ApplicationError::new(
8719            ApplicationErrorKind::MissingResult,
8720            "no result received for TSIServiceExecuteBatchStatement"
8721          )
8722        )
8723      )
8724    }
8725  }
8726}
8727
8728//
8729// TSIServiceExecuteQueryStatementArgs
8730//
8731
8732#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8733struct TSIServiceExecuteQueryStatementArgs {
8734  req: TSExecuteStatementReq,
8735}
8736
8737impl TSIServiceExecuteQueryStatementArgs {
8738  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteQueryStatementArgs> {
8739    i_prot.read_struct_begin()?;
8740    let mut f_1: Option<TSExecuteStatementReq> = None;
8741    loop {
8742      let field_ident = i_prot.read_field_begin()?;
8743      if field_ident.field_type == TType::Stop {
8744        break;
8745      }
8746      let field_id = field_id(&field_ident)?;
8747      match field_id {
8748        1 => {
8749          let val = TSExecuteStatementReq::read_from_in_protocol(i_prot)?;
8750          f_1 = Some(val);
8751        },
8752        _ => {
8753          i_prot.skip(field_ident.field_type)?;
8754        },
8755      };
8756      i_prot.read_field_end()?;
8757    }
8758    i_prot.read_struct_end()?;
8759    verify_required_field_exists("TSIServiceExecuteQueryStatementArgs.req", &f_1)?;
8760    let ret = TSIServiceExecuteQueryStatementArgs {
8761      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8762    };
8763    Ok(ret)
8764  }
8765  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8766    let struct_ident = TStructIdentifier::new("executeQueryStatement_args");
8767    o_prot.write_struct_begin(&struct_ident)?;
8768    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8769    self.req.write_to_out_protocol(o_prot)?;
8770    o_prot.write_field_end()?;
8771    o_prot.write_field_stop()?;
8772    o_prot.write_struct_end()
8773  }
8774}
8775
8776//
8777// TSIServiceExecuteQueryStatementResult
8778//
8779
8780#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8781struct TSIServiceExecuteQueryStatementResult {
8782  result_value: Option<TSExecuteStatementResp>,
8783}
8784
8785impl TSIServiceExecuteQueryStatementResult {
8786  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteQueryStatementResult> {
8787    i_prot.read_struct_begin()?;
8788    let mut f_0: Option<TSExecuteStatementResp> = None;
8789    loop {
8790      let field_ident = i_prot.read_field_begin()?;
8791      if field_ident.field_type == TType::Stop {
8792        break;
8793      }
8794      let field_id = field_id(&field_ident)?;
8795      match field_id {
8796        0 => {
8797          let val = TSExecuteStatementResp::read_from_in_protocol(i_prot)?;
8798          f_0 = Some(val);
8799        },
8800        _ => {
8801          i_prot.skip(field_ident.field_type)?;
8802        },
8803      };
8804      i_prot.read_field_end()?;
8805    }
8806    i_prot.read_struct_end()?;
8807    let ret = TSIServiceExecuteQueryStatementResult {
8808      result_value: f_0,
8809    };
8810    Ok(ret)
8811  }
8812  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8813    let struct_ident = TStructIdentifier::new("TSIServiceExecuteQueryStatementResult");
8814    o_prot.write_struct_begin(&struct_ident)?;
8815    if let Some(ref fld_var) = self.result_value {
8816      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
8817      fld_var.write_to_out_protocol(o_prot)?;
8818      o_prot.write_field_end()?
8819    }
8820    o_prot.write_field_stop()?;
8821    o_prot.write_struct_end()
8822  }
8823  fn ok_or(self) -> thrift::Result<TSExecuteStatementResp> {
8824    if self.result_value.is_some() {
8825      Ok(self.result_value.unwrap())
8826    } else {
8827      Err(
8828        thrift::Error::Application(
8829          ApplicationError::new(
8830            ApplicationErrorKind::MissingResult,
8831            "no result received for TSIServiceExecuteQueryStatement"
8832          )
8833        )
8834      )
8835    }
8836  }
8837}
8838
8839//
8840// TSIServiceExecuteUpdateStatementArgs
8841//
8842
8843#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8844struct TSIServiceExecuteUpdateStatementArgs {
8845  req: TSExecuteStatementReq,
8846}
8847
8848impl TSIServiceExecuteUpdateStatementArgs {
8849  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteUpdateStatementArgs> {
8850    i_prot.read_struct_begin()?;
8851    let mut f_1: Option<TSExecuteStatementReq> = None;
8852    loop {
8853      let field_ident = i_prot.read_field_begin()?;
8854      if field_ident.field_type == TType::Stop {
8855        break;
8856      }
8857      let field_id = field_id(&field_ident)?;
8858      match field_id {
8859        1 => {
8860          let val = TSExecuteStatementReq::read_from_in_protocol(i_prot)?;
8861          f_1 = Some(val);
8862        },
8863        _ => {
8864          i_prot.skip(field_ident.field_type)?;
8865        },
8866      };
8867      i_prot.read_field_end()?;
8868    }
8869    i_prot.read_struct_end()?;
8870    verify_required_field_exists("TSIServiceExecuteUpdateStatementArgs.req", &f_1)?;
8871    let ret = TSIServiceExecuteUpdateStatementArgs {
8872      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8873    };
8874    Ok(ret)
8875  }
8876  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8877    let struct_ident = TStructIdentifier::new("executeUpdateStatement_args");
8878    o_prot.write_struct_begin(&struct_ident)?;
8879    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8880    self.req.write_to_out_protocol(o_prot)?;
8881    o_prot.write_field_end()?;
8882    o_prot.write_field_stop()?;
8883    o_prot.write_struct_end()
8884  }
8885}
8886
8887//
8888// TSIServiceExecuteUpdateStatementResult
8889//
8890
8891#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8892struct TSIServiceExecuteUpdateStatementResult {
8893  result_value: Option<TSExecuteStatementResp>,
8894}
8895
8896impl TSIServiceExecuteUpdateStatementResult {
8897  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteUpdateStatementResult> {
8898    i_prot.read_struct_begin()?;
8899    let mut f_0: Option<TSExecuteStatementResp> = None;
8900    loop {
8901      let field_ident = i_prot.read_field_begin()?;
8902      if field_ident.field_type == TType::Stop {
8903        break;
8904      }
8905      let field_id = field_id(&field_ident)?;
8906      match field_id {
8907        0 => {
8908          let val = TSExecuteStatementResp::read_from_in_protocol(i_prot)?;
8909          f_0 = Some(val);
8910        },
8911        _ => {
8912          i_prot.skip(field_ident.field_type)?;
8913        },
8914      };
8915      i_prot.read_field_end()?;
8916    }
8917    i_prot.read_struct_end()?;
8918    let ret = TSIServiceExecuteUpdateStatementResult {
8919      result_value: f_0,
8920    };
8921    Ok(ret)
8922  }
8923  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8924    let struct_ident = TStructIdentifier::new("TSIServiceExecuteUpdateStatementResult");
8925    o_prot.write_struct_begin(&struct_ident)?;
8926    if let Some(ref fld_var) = self.result_value {
8927      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
8928      fld_var.write_to_out_protocol(o_prot)?;
8929      o_prot.write_field_end()?
8930    }
8931    o_prot.write_field_stop()?;
8932    o_prot.write_struct_end()
8933  }
8934  fn ok_or(self) -> thrift::Result<TSExecuteStatementResp> {
8935    if self.result_value.is_some() {
8936      Ok(self.result_value.unwrap())
8937    } else {
8938      Err(
8939        thrift::Error::Application(
8940          ApplicationError::new(
8941            ApplicationErrorKind::MissingResult,
8942            "no result received for TSIServiceExecuteUpdateStatement"
8943          )
8944        )
8945      )
8946    }
8947  }
8948}
8949
8950//
8951// TSIServiceFetchResultsArgs
8952//
8953
8954#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
8955struct TSIServiceFetchResultsArgs {
8956  req: TSFetchResultsReq,
8957}
8958
8959impl TSIServiceFetchResultsArgs {
8960  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceFetchResultsArgs> {
8961    i_prot.read_struct_begin()?;
8962    let mut f_1: Option<TSFetchResultsReq> = None;
8963    loop {
8964      let field_ident = i_prot.read_field_begin()?;
8965      if field_ident.field_type == TType::Stop {
8966        break;
8967      }
8968      let field_id = field_id(&field_ident)?;
8969      match field_id {
8970        1 => {
8971          let val = TSFetchResultsReq::read_from_in_protocol(i_prot)?;
8972          f_1 = Some(val);
8973        },
8974        _ => {
8975          i_prot.skip(field_ident.field_type)?;
8976        },
8977      };
8978      i_prot.read_field_end()?;
8979    }
8980    i_prot.read_struct_end()?;
8981    verify_required_field_exists("TSIServiceFetchResultsArgs.req", &f_1)?;
8982    let ret = TSIServiceFetchResultsArgs {
8983      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
8984    };
8985    Ok(ret)
8986  }
8987  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8988    let struct_ident = TStructIdentifier::new("fetchResults_args");
8989    o_prot.write_struct_begin(&struct_ident)?;
8990    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
8991    self.req.write_to_out_protocol(o_prot)?;
8992    o_prot.write_field_end()?;
8993    o_prot.write_field_stop()?;
8994    o_prot.write_struct_end()
8995  }
8996}
8997
8998//
8999// TSIServiceFetchResultsResult
9000//
9001
9002#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9003struct TSIServiceFetchResultsResult {
9004  result_value: Option<TSFetchResultsResp>,
9005}
9006
9007impl TSIServiceFetchResultsResult {
9008  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceFetchResultsResult> {
9009    i_prot.read_struct_begin()?;
9010    let mut f_0: Option<TSFetchResultsResp> = None;
9011    loop {
9012      let field_ident = i_prot.read_field_begin()?;
9013      if field_ident.field_type == TType::Stop {
9014        break;
9015      }
9016      let field_id = field_id(&field_ident)?;
9017      match field_id {
9018        0 => {
9019          let val = TSFetchResultsResp::read_from_in_protocol(i_prot)?;
9020          f_0 = Some(val);
9021        },
9022        _ => {
9023          i_prot.skip(field_ident.field_type)?;
9024        },
9025      };
9026      i_prot.read_field_end()?;
9027    }
9028    i_prot.read_struct_end()?;
9029    let ret = TSIServiceFetchResultsResult {
9030      result_value: f_0,
9031    };
9032    Ok(ret)
9033  }
9034  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9035    let struct_ident = TStructIdentifier::new("TSIServiceFetchResultsResult");
9036    o_prot.write_struct_begin(&struct_ident)?;
9037    if let Some(ref fld_var) = self.result_value {
9038      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9039      fld_var.write_to_out_protocol(o_prot)?;
9040      o_prot.write_field_end()?
9041    }
9042    o_prot.write_field_stop()?;
9043    o_prot.write_struct_end()
9044  }
9045  fn ok_or(self) -> thrift::Result<TSFetchResultsResp> {
9046    if self.result_value.is_some() {
9047      Ok(self.result_value.unwrap())
9048    } else {
9049      Err(
9050        thrift::Error::Application(
9051          ApplicationError::new(
9052            ApplicationErrorKind::MissingResult,
9053            "no result received for TSIServiceFetchsResult"
9054          )
9055        )
9056      )
9057    }
9058  }
9059}
9060
9061//
9062// TSIServiceFetchMetadataArgs
9063//
9064
9065#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9066struct TSIServiceFetchMetadataArgs {
9067  req: TSFetchMetadataReq,
9068}
9069
9070impl TSIServiceFetchMetadataArgs {
9071  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceFetchMetadataArgs> {
9072    i_prot.read_struct_begin()?;
9073    let mut f_1: Option<TSFetchMetadataReq> = None;
9074    loop {
9075      let field_ident = i_prot.read_field_begin()?;
9076      if field_ident.field_type == TType::Stop {
9077        break;
9078      }
9079      let field_id = field_id(&field_ident)?;
9080      match field_id {
9081        1 => {
9082          let val = TSFetchMetadataReq::read_from_in_protocol(i_prot)?;
9083          f_1 = Some(val);
9084        },
9085        _ => {
9086          i_prot.skip(field_ident.field_type)?;
9087        },
9088      };
9089      i_prot.read_field_end()?;
9090    }
9091    i_prot.read_struct_end()?;
9092    verify_required_field_exists("TSIServiceFetchMetadataArgs.req", &f_1)?;
9093    let ret = TSIServiceFetchMetadataArgs {
9094      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
9095    };
9096    Ok(ret)
9097  }
9098  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9099    let struct_ident = TStructIdentifier::new("fetchMetadata_args");
9100    o_prot.write_struct_begin(&struct_ident)?;
9101    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
9102    self.req.write_to_out_protocol(o_prot)?;
9103    o_prot.write_field_end()?;
9104    o_prot.write_field_stop()?;
9105    o_prot.write_struct_end()
9106  }
9107}
9108
9109//
9110// TSIServiceFetchMetadataResult
9111//
9112
9113#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9114struct TSIServiceFetchMetadataResult {
9115  result_value: Option<TSFetchMetadataResp>,
9116}
9117
9118impl TSIServiceFetchMetadataResult {
9119  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceFetchMetadataResult> {
9120    i_prot.read_struct_begin()?;
9121    let mut f_0: Option<TSFetchMetadataResp> = None;
9122    loop {
9123      let field_ident = i_prot.read_field_begin()?;
9124      if field_ident.field_type == TType::Stop {
9125        break;
9126      }
9127      let field_id = field_id(&field_ident)?;
9128      match field_id {
9129        0 => {
9130          let val = TSFetchMetadataResp::read_from_in_protocol(i_prot)?;
9131          f_0 = Some(val);
9132        },
9133        _ => {
9134          i_prot.skip(field_ident.field_type)?;
9135        },
9136      };
9137      i_prot.read_field_end()?;
9138    }
9139    i_prot.read_struct_end()?;
9140    let ret = TSIServiceFetchMetadataResult {
9141      result_value: f_0,
9142    };
9143    Ok(ret)
9144  }
9145  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9146    let struct_ident = TStructIdentifier::new("TSIServiceFetchMetadataResult");
9147    o_prot.write_struct_begin(&struct_ident)?;
9148    if let Some(ref fld_var) = self.result_value {
9149      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9150      fld_var.write_to_out_protocol(o_prot)?;
9151      o_prot.write_field_end()?
9152    }
9153    o_prot.write_field_stop()?;
9154    o_prot.write_struct_end()
9155  }
9156  fn ok_or(self) -> thrift::Result<TSFetchMetadataResp> {
9157    if self.result_value.is_some() {
9158      Ok(self.result_value.unwrap())
9159    } else {
9160      Err(
9161        thrift::Error::Application(
9162          ApplicationError::new(
9163            ApplicationErrorKind::MissingResult,
9164            "no result received for TSIServiceFetchMetadata"
9165          )
9166        )
9167      )
9168    }
9169  }
9170}
9171
9172//
9173// TSIServiceCancelOperationArgs
9174//
9175
9176#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9177struct TSIServiceCancelOperationArgs {
9178  req: TSCancelOperationReq,
9179}
9180
9181impl TSIServiceCancelOperationArgs {
9182  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCancelOperationArgs> {
9183    i_prot.read_struct_begin()?;
9184    let mut f_1: Option<TSCancelOperationReq> = None;
9185    loop {
9186      let field_ident = i_prot.read_field_begin()?;
9187      if field_ident.field_type == TType::Stop {
9188        break;
9189      }
9190      let field_id = field_id(&field_ident)?;
9191      match field_id {
9192        1 => {
9193          let val = TSCancelOperationReq::read_from_in_protocol(i_prot)?;
9194          f_1 = Some(val);
9195        },
9196        _ => {
9197          i_prot.skip(field_ident.field_type)?;
9198        },
9199      };
9200      i_prot.read_field_end()?;
9201    }
9202    i_prot.read_struct_end()?;
9203    verify_required_field_exists("TSIServiceCancelOperationArgs.req", &f_1)?;
9204    let ret = TSIServiceCancelOperationArgs {
9205      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
9206    };
9207    Ok(ret)
9208  }
9209  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9210    let struct_ident = TStructIdentifier::new("cancelOperation_args");
9211    o_prot.write_struct_begin(&struct_ident)?;
9212    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
9213    self.req.write_to_out_protocol(o_prot)?;
9214    o_prot.write_field_end()?;
9215    o_prot.write_field_stop()?;
9216    o_prot.write_struct_end()
9217  }
9218}
9219
9220//
9221// TSIServiceCancelOperationResult
9222//
9223
9224#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9225struct TSIServiceCancelOperationResult {
9226  result_value: Option<TSStatus>,
9227}
9228
9229impl TSIServiceCancelOperationResult {
9230  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCancelOperationResult> {
9231    i_prot.read_struct_begin()?;
9232    let mut f_0: Option<TSStatus> = None;
9233    loop {
9234      let field_ident = i_prot.read_field_begin()?;
9235      if field_ident.field_type == TType::Stop {
9236        break;
9237      }
9238      let field_id = field_id(&field_ident)?;
9239      match field_id {
9240        0 => {
9241          let val = TSStatus::read_from_in_protocol(i_prot)?;
9242          f_0 = Some(val);
9243        },
9244        _ => {
9245          i_prot.skip(field_ident.field_type)?;
9246        },
9247      };
9248      i_prot.read_field_end()?;
9249    }
9250    i_prot.read_struct_end()?;
9251    let ret = TSIServiceCancelOperationResult {
9252      result_value: f_0,
9253    };
9254    Ok(ret)
9255  }
9256  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9257    let struct_ident = TStructIdentifier::new("TSIServiceCancelOperationResult");
9258    o_prot.write_struct_begin(&struct_ident)?;
9259    if let Some(ref fld_var) = self.result_value {
9260      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9261      fld_var.write_to_out_protocol(o_prot)?;
9262      o_prot.write_field_end()?
9263    }
9264    o_prot.write_field_stop()?;
9265    o_prot.write_struct_end()
9266  }
9267  fn ok_or(self) -> thrift::Result<TSStatus> {
9268    if self.result_value.is_some() {
9269      Ok(self.result_value.unwrap())
9270    } else {
9271      Err(
9272        thrift::Error::Application(
9273          ApplicationError::new(
9274            ApplicationErrorKind::MissingResult,
9275            "no result received for TSIServiceCancelOperation"
9276          )
9277        )
9278      )
9279    }
9280  }
9281}
9282
9283//
9284// TSIServiceCloseOperationArgs
9285//
9286
9287#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9288struct TSIServiceCloseOperationArgs {
9289  req: TSCloseOperationReq,
9290}
9291
9292impl TSIServiceCloseOperationArgs {
9293  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCloseOperationArgs> {
9294    i_prot.read_struct_begin()?;
9295    let mut f_1: Option<TSCloseOperationReq> = None;
9296    loop {
9297      let field_ident = i_prot.read_field_begin()?;
9298      if field_ident.field_type == TType::Stop {
9299        break;
9300      }
9301      let field_id = field_id(&field_ident)?;
9302      match field_id {
9303        1 => {
9304          let val = TSCloseOperationReq::read_from_in_protocol(i_prot)?;
9305          f_1 = Some(val);
9306        },
9307        _ => {
9308          i_prot.skip(field_ident.field_type)?;
9309        },
9310      };
9311      i_prot.read_field_end()?;
9312    }
9313    i_prot.read_struct_end()?;
9314    verify_required_field_exists("TSIServiceCloseOperationArgs.req", &f_1)?;
9315    let ret = TSIServiceCloseOperationArgs {
9316      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
9317    };
9318    Ok(ret)
9319  }
9320  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9321    let struct_ident = TStructIdentifier::new("closeOperation_args");
9322    o_prot.write_struct_begin(&struct_ident)?;
9323    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
9324    self.req.write_to_out_protocol(o_prot)?;
9325    o_prot.write_field_end()?;
9326    o_prot.write_field_stop()?;
9327    o_prot.write_struct_end()
9328  }
9329}
9330
9331//
9332// TSIServiceCloseOperationResult
9333//
9334
9335#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9336struct TSIServiceCloseOperationResult {
9337  result_value: Option<TSStatus>,
9338}
9339
9340impl TSIServiceCloseOperationResult {
9341  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCloseOperationResult> {
9342    i_prot.read_struct_begin()?;
9343    let mut f_0: Option<TSStatus> = None;
9344    loop {
9345      let field_ident = i_prot.read_field_begin()?;
9346      if field_ident.field_type == TType::Stop {
9347        break;
9348      }
9349      let field_id = field_id(&field_ident)?;
9350      match field_id {
9351        0 => {
9352          let val = TSStatus::read_from_in_protocol(i_prot)?;
9353          f_0 = Some(val);
9354        },
9355        _ => {
9356          i_prot.skip(field_ident.field_type)?;
9357        },
9358      };
9359      i_prot.read_field_end()?;
9360    }
9361    i_prot.read_struct_end()?;
9362    let ret = TSIServiceCloseOperationResult {
9363      result_value: f_0,
9364    };
9365    Ok(ret)
9366  }
9367  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9368    let struct_ident = TStructIdentifier::new("TSIServiceCloseOperationResult");
9369    o_prot.write_struct_begin(&struct_ident)?;
9370    if let Some(ref fld_var) = self.result_value {
9371      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9372      fld_var.write_to_out_protocol(o_prot)?;
9373      o_prot.write_field_end()?
9374    }
9375    o_prot.write_field_stop()?;
9376    o_prot.write_struct_end()
9377  }
9378  fn ok_or(self) -> thrift::Result<TSStatus> {
9379    if self.result_value.is_some() {
9380      Ok(self.result_value.unwrap())
9381    } else {
9382      Err(
9383        thrift::Error::Application(
9384          ApplicationError::new(
9385            ApplicationErrorKind::MissingResult,
9386            "no result received for TSIServiceCloseOperation"
9387          )
9388        )
9389      )
9390    }
9391  }
9392}
9393
9394//
9395// TSIServiceGetTimeZoneArgs
9396//
9397
9398#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9399struct TSIServiceGetTimeZoneArgs {
9400  session_id: i64,
9401}
9402
9403impl TSIServiceGetTimeZoneArgs {
9404  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceGetTimeZoneArgs> {
9405    i_prot.read_struct_begin()?;
9406    let mut f_1: Option<i64> = None;
9407    loop {
9408      let field_ident = i_prot.read_field_begin()?;
9409      if field_ident.field_type == TType::Stop {
9410        break;
9411      }
9412      let field_id = field_id(&field_ident)?;
9413      match field_id {
9414        1 => {
9415          let val = i_prot.read_i64()?;
9416          f_1 = Some(val);
9417        },
9418        _ => {
9419          i_prot.skip(field_ident.field_type)?;
9420        },
9421      };
9422      i_prot.read_field_end()?;
9423    }
9424    i_prot.read_struct_end()?;
9425    verify_required_field_exists("TSIServiceGetTimeZoneArgs.session_id", &f_1)?;
9426    let ret = TSIServiceGetTimeZoneArgs {
9427      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
9428    };
9429    Ok(ret)
9430  }
9431  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9432    let struct_ident = TStructIdentifier::new("getTimeZone_args");
9433    o_prot.write_struct_begin(&struct_ident)?;
9434    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
9435    o_prot.write_i64(self.session_id)?;
9436    o_prot.write_field_end()?;
9437    o_prot.write_field_stop()?;
9438    o_prot.write_struct_end()
9439  }
9440}
9441
9442//
9443// TSIServiceGetTimeZoneResult
9444//
9445
9446#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9447struct TSIServiceGetTimeZoneResult {
9448  result_value: Option<TSGetTimeZoneResp>,
9449}
9450
9451impl TSIServiceGetTimeZoneResult {
9452  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceGetTimeZoneResult> {
9453    i_prot.read_struct_begin()?;
9454    let mut f_0: Option<TSGetTimeZoneResp> = None;
9455    loop {
9456      let field_ident = i_prot.read_field_begin()?;
9457      if field_ident.field_type == TType::Stop {
9458        break;
9459      }
9460      let field_id = field_id(&field_ident)?;
9461      match field_id {
9462        0 => {
9463          let val = TSGetTimeZoneResp::read_from_in_protocol(i_prot)?;
9464          f_0 = Some(val);
9465        },
9466        _ => {
9467          i_prot.skip(field_ident.field_type)?;
9468        },
9469      };
9470      i_prot.read_field_end()?;
9471    }
9472    i_prot.read_struct_end()?;
9473    let ret = TSIServiceGetTimeZoneResult {
9474      result_value: f_0,
9475    };
9476    Ok(ret)
9477  }
9478  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9479    let struct_ident = TStructIdentifier::new("TSIServiceGetTimeZoneResult");
9480    o_prot.write_struct_begin(&struct_ident)?;
9481    if let Some(ref fld_var) = self.result_value {
9482      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9483      fld_var.write_to_out_protocol(o_prot)?;
9484      o_prot.write_field_end()?
9485    }
9486    o_prot.write_field_stop()?;
9487    o_prot.write_struct_end()
9488  }
9489  fn ok_or(self) -> thrift::Result<TSGetTimeZoneResp> {
9490    if self.result_value.is_some() {
9491      Ok(self.result_value.unwrap())
9492    } else {
9493      Err(
9494        thrift::Error::Application(
9495          ApplicationError::new(
9496            ApplicationErrorKind::MissingResult,
9497            "no result received for TSIServiceGetTimeZone"
9498          )
9499        )
9500      )
9501    }
9502  }
9503}
9504
9505//
9506// TSIServiceSetTimeZoneArgs
9507//
9508
9509#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9510struct TSIServiceSetTimeZoneArgs {
9511  req: TSSetTimeZoneReq,
9512}
9513
9514impl TSIServiceSetTimeZoneArgs {
9515  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceSetTimeZoneArgs> {
9516    i_prot.read_struct_begin()?;
9517    let mut f_1: Option<TSSetTimeZoneReq> = None;
9518    loop {
9519      let field_ident = i_prot.read_field_begin()?;
9520      if field_ident.field_type == TType::Stop {
9521        break;
9522      }
9523      let field_id = field_id(&field_ident)?;
9524      match field_id {
9525        1 => {
9526          let val = TSSetTimeZoneReq::read_from_in_protocol(i_prot)?;
9527          f_1 = Some(val);
9528        },
9529        _ => {
9530          i_prot.skip(field_ident.field_type)?;
9531        },
9532      };
9533      i_prot.read_field_end()?;
9534    }
9535    i_prot.read_struct_end()?;
9536    verify_required_field_exists("TSIServiceSetTimeZoneArgs.req", &f_1)?;
9537    let ret = TSIServiceSetTimeZoneArgs {
9538      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
9539    };
9540    Ok(ret)
9541  }
9542  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9543    let struct_ident = TStructIdentifier::new("setTimeZone_args");
9544    o_prot.write_struct_begin(&struct_ident)?;
9545    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
9546    self.req.write_to_out_protocol(o_prot)?;
9547    o_prot.write_field_end()?;
9548    o_prot.write_field_stop()?;
9549    o_prot.write_struct_end()
9550  }
9551}
9552
9553//
9554// TSIServiceSetTimeZoneResult
9555//
9556
9557#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9558struct TSIServiceSetTimeZoneResult {
9559  result_value: Option<TSStatus>,
9560}
9561
9562impl TSIServiceSetTimeZoneResult {
9563  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceSetTimeZoneResult> {
9564    i_prot.read_struct_begin()?;
9565    let mut f_0: Option<TSStatus> = None;
9566    loop {
9567      let field_ident = i_prot.read_field_begin()?;
9568      if field_ident.field_type == TType::Stop {
9569        break;
9570      }
9571      let field_id = field_id(&field_ident)?;
9572      match field_id {
9573        0 => {
9574          let val = TSStatus::read_from_in_protocol(i_prot)?;
9575          f_0 = Some(val);
9576        },
9577        _ => {
9578          i_prot.skip(field_ident.field_type)?;
9579        },
9580      };
9581      i_prot.read_field_end()?;
9582    }
9583    i_prot.read_struct_end()?;
9584    let ret = TSIServiceSetTimeZoneResult {
9585      result_value: f_0,
9586    };
9587    Ok(ret)
9588  }
9589  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9590    let struct_ident = TStructIdentifier::new("TSIServiceSetTimeZoneResult");
9591    o_prot.write_struct_begin(&struct_ident)?;
9592    if let Some(ref fld_var) = self.result_value {
9593      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9594      fld_var.write_to_out_protocol(o_prot)?;
9595      o_prot.write_field_end()?
9596    }
9597    o_prot.write_field_stop()?;
9598    o_prot.write_struct_end()
9599  }
9600  fn ok_or(self) -> thrift::Result<TSStatus> {
9601    if self.result_value.is_some() {
9602      Ok(self.result_value.unwrap())
9603    } else {
9604      Err(
9605        thrift::Error::Application(
9606          ApplicationError::new(
9607            ApplicationErrorKind::MissingResult,
9608            "no result received for TSIServiceSetTimeZone"
9609          )
9610        )
9611      )
9612    }
9613  }
9614}
9615
9616//
9617// TSIServiceGetPropertiesArgs
9618//
9619
9620#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9621struct TSIServiceGetPropertiesArgs {
9622}
9623
9624impl TSIServiceGetPropertiesArgs {
9625  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceGetPropertiesArgs> {
9626    i_prot.read_struct_begin()?;
9627    loop {
9628      let field_ident = i_prot.read_field_begin()?;
9629      if field_ident.field_type == TType::Stop {
9630        break;
9631      }
9632      let field_id = field_id(&field_ident)?;
9633      match field_id {
9634        _ => {
9635          i_prot.skip(field_ident.field_type)?;
9636        },
9637      };
9638      i_prot.read_field_end()?;
9639    }
9640    i_prot.read_struct_end()?;
9641    let ret = TSIServiceGetPropertiesArgs {};
9642    Ok(ret)
9643  }
9644  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9645    let struct_ident = TStructIdentifier::new("getProperties_args");
9646    o_prot.write_struct_begin(&struct_ident)?;
9647    o_prot.write_field_stop()?;
9648    o_prot.write_struct_end()
9649  }
9650}
9651
9652//
9653// TSIServiceGetPropertiesResult
9654//
9655
9656#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9657struct TSIServiceGetPropertiesResult {
9658  result_value: Option<ServerProperties>,
9659}
9660
9661impl TSIServiceGetPropertiesResult {
9662  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceGetPropertiesResult> {
9663    i_prot.read_struct_begin()?;
9664    let mut f_0: Option<ServerProperties> = None;
9665    loop {
9666      let field_ident = i_prot.read_field_begin()?;
9667      if field_ident.field_type == TType::Stop {
9668        break;
9669      }
9670      let field_id = field_id(&field_ident)?;
9671      match field_id {
9672        0 => {
9673          let val = ServerProperties::read_from_in_protocol(i_prot)?;
9674          f_0 = Some(val);
9675        },
9676        _ => {
9677          i_prot.skip(field_ident.field_type)?;
9678        },
9679      };
9680      i_prot.read_field_end()?;
9681    }
9682    i_prot.read_struct_end()?;
9683    let ret = TSIServiceGetPropertiesResult {
9684      result_value: f_0,
9685    };
9686    Ok(ret)
9687  }
9688  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9689    let struct_ident = TStructIdentifier::new("TSIServiceGetPropertiesResult");
9690    o_prot.write_struct_begin(&struct_ident)?;
9691    if let Some(ref fld_var) = self.result_value {
9692      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9693      fld_var.write_to_out_protocol(o_prot)?;
9694      o_prot.write_field_end()?
9695    }
9696    o_prot.write_field_stop()?;
9697    o_prot.write_struct_end()
9698  }
9699  fn ok_or(self) -> thrift::Result<ServerProperties> {
9700    if self.result_value.is_some() {
9701      Ok(self.result_value.unwrap())
9702    } else {
9703      Err(
9704        thrift::Error::Application(
9705          ApplicationError::new(
9706            ApplicationErrorKind::MissingResult,
9707            "no result received for TSIServiceGetProperties"
9708          )
9709        )
9710      )
9711    }
9712  }
9713}
9714
9715//
9716// TSIServiceSetStorageGroupArgs
9717//
9718
9719#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9720struct TSIServiceSetStorageGroupArgs {
9721  session_id: i64,
9722  storage_group: String,
9723}
9724
9725impl TSIServiceSetStorageGroupArgs {
9726  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceSetStorageGroupArgs> {
9727    i_prot.read_struct_begin()?;
9728    let mut f_1: Option<i64> = None;
9729    let mut f_2: Option<String> = None;
9730    loop {
9731      let field_ident = i_prot.read_field_begin()?;
9732      if field_ident.field_type == TType::Stop {
9733        break;
9734      }
9735      let field_id = field_id(&field_ident)?;
9736      match field_id {
9737        1 => {
9738          let val = i_prot.read_i64()?;
9739          f_1 = Some(val);
9740        },
9741        2 => {
9742          let val = i_prot.read_string()?;
9743          f_2 = Some(val);
9744        },
9745        _ => {
9746          i_prot.skip(field_ident.field_type)?;
9747        },
9748      };
9749      i_prot.read_field_end()?;
9750    }
9751    i_prot.read_struct_end()?;
9752    verify_required_field_exists("TSIServiceSetStorageGroupArgs.session_id", &f_1)?;
9753    verify_required_field_exists("TSIServiceSetStorageGroupArgs.storage_group", &f_2)?;
9754    let ret = TSIServiceSetStorageGroupArgs {
9755      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
9756      storage_group: f_2.expect("auto-generated code should have checked for presence of required fields"),
9757    };
9758    Ok(ret)
9759  }
9760  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9761    let struct_ident = TStructIdentifier::new("setStorageGroup_args");
9762    o_prot.write_struct_begin(&struct_ident)?;
9763    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
9764    o_prot.write_i64(self.session_id)?;
9765    o_prot.write_field_end()?;
9766    o_prot.write_field_begin(&TFieldIdentifier::new("storageGroup", TType::String, 2))?;
9767    o_prot.write_string(&self.storage_group)?;
9768    o_prot.write_field_end()?;
9769    o_prot.write_field_stop()?;
9770    o_prot.write_struct_end()
9771  }
9772}
9773
9774//
9775// TSIServiceSetStorageGroupResult
9776//
9777
9778#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9779struct TSIServiceSetStorageGroupResult {
9780  result_value: Option<TSStatus>,
9781}
9782
9783impl TSIServiceSetStorageGroupResult {
9784  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceSetStorageGroupResult> {
9785    i_prot.read_struct_begin()?;
9786    let mut f_0: Option<TSStatus> = None;
9787    loop {
9788      let field_ident = i_prot.read_field_begin()?;
9789      if field_ident.field_type == TType::Stop {
9790        break;
9791      }
9792      let field_id = field_id(&field_ident)?;
9793      match field_id {
9794        0 => {
9795          let val = TSStatus::read_from_in_protocol(i_prot)?;
9796          f_0 = Some(val);
9797        },
9798        _ => {
9799          i_prot.skip(field_ident.field_type)?;
9800        },
9801      };
9802      i_prot.read_field_end()?;
9803    }
9804    i_prot.read_struct_end()?;
9805    let ret = TSIServiceSetStorageGroupResult {
9806      result_value: f_0,
9807    };
9808    Ok(ret)
9809  }
9810  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9811    let struct_ident = TStructIdentifier::new("TSIServiceSetStorageGroupResult");
9812    o_prot.write_struct_begin(&struct_ident)?;
9813    if let Some(ref fld_var) = self.result_value {
9814      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9815      fld_var.write_to_out_protocol(o_prot)?;
9816      o_prot.write_field_end()?
9817    }
9818    o_prot.write_field_stop()?;
9819    o_prot.write_struct_end()
9820  }
9821  fn ok_or(self) -> thrift::Result<TSStatus> {
9822    if self.result_value.is_some() {
9823      Ok(self.result_value.unwrap())
9824    } else {
9825      Err(
9826        thrift::Error::Application(
9827          ApplicationError::new(
9828            ApplicationErrorKind::MissingResult,
9829            "no result received for TSIServiceSetStorageGroup"
9830          )
9831        )
9832      )
9833    }
9834  }
9835}
9836
9837//
9838// TSIServiceCreateTimeseriesArgs
9839//
9840
9841#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9842struct TSIServiceCreateTimeseriesArgs {
9843  req: TSCreateTimeseriesReq,
9844}
9845
9846impl TSIServiceCreateTimeseriesArgs {
9847  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateTimeseriesArgs> {
9848    i_prot.read_struct_begin()?;
9849    let mut f_1: Option<TSCreateTimeseriesReq> = None;
9850    loop {
9851      let field_ident = i_prot.read_field_begin()?;
9852      if field_ident.field_type == TType::Stop {
9853        break;
9854      }
9855      let field_id = field_id(&field_ident)?;
9856      match field_id {
9857        1 => {
9858          let val = TSCreateTimeseriesReq::read_from_in_protocol(i_prot)?;
9859          f_1 = Some(val);
9860        },
9861        _ => {
9862          i_prot.skip(field_ident.field_type)?;
9863        },
9864      };
9865      i_prot.read_field_end()?;
9866    }
9867    i_prot.read_struct_end()?;
9868    verify_required_field_exists("TSIServiceCreateTimeseriesArgs.req", &f_1)?;
9869    let ret = TSIServiceCreateTimeseriesArgs {
9870      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
9871    };
9872    Ok(ret)
9873  }
9874  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9875    let struct_ident = TStructIdentifier::new("createTimeseries_args");
9876    o_prot.write_struct_begin(&struct_ident)?;
9877    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
9878    self.req.write_to_out_protocol(o_prot)?;
9879    o_prot.write_field_end()?;
9880    o_prot.write_field_stop()?;
9881    o_prot.write_struct_end()
9882  }
9883}
9884
9885//
9886// TSIServiceCreateTimeseriesResult
9887//
9888
9889#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9890struct TSIServiceCreateTimeseriesResult {
9891  result_value: Option<TSStatus>,
9892}
9893
9894impl TSIServiceCreateTimeseriesResult {
9895  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateTimeseriesResult> {
9896    i_prot.read_struct_begin()?;
9897    let mut f_0: Option<TSStatus> = None;
9898    loop {
9899      let field_ident = i_prot.read_field_begin()?;
9900      if field_ident.field_type == TType::Stop {
9901        break;
9902      }
9903      let field_id = field_id(&field_ident)?;
9904      match field_id {
9905        0 => {
9906          let val = TSStatus::read_from_in_protocol(i_prot)?;
9907          f_0 = Some(val);
9908        },
9909        _ => {
9910          i_prot.skip(field_ident.field_type)?;
9911        },
9912      };
9913      i_prot.read_field_end()?;
9914    }
9915    i_prot.read_struct_end()?;
9916    let ret = TSIServiceCreateTimeseriesResult {
9917      result_value: f_0,
9918    };
9919    Ok(ret)
9920  }
9921  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9922    let struct_ident = TStructIdentifier::new("TSIServiceCreateTimeseriesResult");
9923    o_prot.write_struct_begin(&struct_ident)?;
9924    if let Some(ref fld_var) = self.result_value {
9925      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
9926      fld_var.write_to_out_protocol(o_prot)?;
9927      o_prot.write_field_end()?
9928    }
9929    o_prot.write_field_stop()?;
9930    o_prot.write_struct_end()
9931  }
9932  fn ok_or(self) -> thrift::Result<TSStatus> {
9933    if self.result_value.is_some() {
9934      Ok(self.result_value.unwrap())
9935    } else {
9936      Err(
9937        thrift::Error::Application(
9938          ApplicationError::new(
9939            ApplicationErrorKind::MissingResult,
9940            "no result received for TSIServiceCreateTimeseries"
9941          )
9942        )
9943      )
9944    }
9945  }
9946}
9947
9948//
9949// TSIServiceCreateAlignedTimeseriesArgs
9950//
9951
9952#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
9953struct TSIServiceCreateAlignedTimeseriesArgs {
9954  req: TSCreateAlignedTimeseriesReq,
9955}
9956
9957impl TSIServiceCreateAlignedTimeseriesArgs {
9958  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateAlignedTimeseriesArgs> {
9959    i_prot.read_struct_begin()?;
9960    let mut f_1: Option<TSCreateAlignedTimeseriesReq> = None;
9961    loop {
9962      let field_ident = i_prot.read_field_begin()?;
9963      if field_ident.field_type == TType::Stop {
9964        break;
9965      }
9966      let field_id = field_id(&field_ident)?;
9967      match field_id {
9968        1 => {
9969          let val = TSCreateAlignedTimeseriesReq::read_from_in_protocol(i_prot)?;
9970          f_1 = Some(val);
9971        },
9972        _ => {
9973          i_prot.skip(field_ident.field_type)?;
9974        },
9975      };
9976      i_prot.read_field_end()?;
9977    }
9978    i_prot.read_struct_end()?;
9979    verify_required_field_exists("TSIServiceCreateAlignedTimeseriesArgs.req", &f_1)?;
9980    let ret = TSIServiceCreateAlignedTimeseriesArgs {
9981      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
9982    };
9983    Ok(ret)
9984  }
9985  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9986    let struct_ident = TStructIdentifier::new("createAlignedTimeseries_args");
9987    o_prot.write_struct_begin(&struct_ident)?;
9988    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
9989    self.req.write_to_out_protocol(o_prot)?;
9990    o_prot.write_field_end()?;
9991    o_prot.write_field_stop()?;
9992    o_prot.write_struct_end()
9993  }
9994}
9995
9996//
9997// TSIServiceCreateAlignedTimeseriesResult
9998//
9999
10000#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10001struct TSIServiceCreateAlignedTimeseriesResult {
10002  result_value: Option<TSStatus>,
10003}
10004
10005impl TSIServiceCreateAlignedTimeseriesResult {
10006  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateAlignedTimeseriesResult> {
10007    i_prot.read_struct_begin()?;
10008    let mut f_0: Option<TSStatus> = None;
10009    loop {
10010      let field_ident = i_prot.read_field_begin()?;
10011      if field_ident.field_type == TType::Stop {
10012        break;
10013      }
10014      let field_id = field_id(&field_ident)?;
10015      match field_id {
10016        0 => {
10017          let val = TSStatus::read_from_in_protocol(i_prot)?;
10018          f_0 = Some(val);
10019        },
10020        _ => {
10021          i_prot.skip(field_ident.field_type)?;
10022        },
10023      };
10024      i_prot.read_field_end()?;
10025    }
10026    i_prot.read_struct_end()?;
10027    let ret = TSIServiceCreateAlignedTimeseriesResult {
10028      result_value: f_0,
10029    };
10030    Ok(ret)
10031  }
10032  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10033    let struct_ident = TStructIdentifier::new("TSIServiceCreateAlignedTimeseriesResult");
10034    o_prot.write_struct_begin(&struct_ident)?;
10035    if let Some(ref fld_var) = self.result_value {
10036      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10037      fld_var.write_to_out_protocol(o_prot)?;
10038      o_prot.write_field_end()?
10039    }
10040    o_prot.write_field_stop()?;
10041    o_prot.write_struct_end()
10042  }
10043  fn ok_or(self) -> thrift::Result<TSStatus> {
10044    if self.result_value.is_some() {
10045      Ok(self.result_value.unwrap())
10046    } else {
10047      Err(
10048        thrift::Error::Application(
10049          ApplicationError::new(
10050            ApplicationErrorKind::MissingResult,
10051            "no result received for TSIServiceCreateAlignedTimeseries"
10052          )
10053        )
10054      )
10055    }
10056  }
10057}
10058
10059//
10060// TSIServiceCreateMultiTimeseriesArgs
10061//
10062
10063#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10064struct TSIServiceCreateMultiTimeseriesArgs {
10065  req: TSCreateMultiTimeseriesReq,
10066}
10067
10068impl TSIServiceCreateMultiTimeseriesArgs {
10069  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateMultiTimeseriesArgs> {
10070    i_prot.read_struct_begin()?;
10071    let mut f_1: Option<TSCreateMultiTimeseriesReq> = None;
10072    loop {
10073      let field_ident = i_prot.read_field_begin()?;
10074      if field_ident.field_type == TType::Stop {
10075        break;
10076      }
10077      let field_id = field_id(&field_ident)?;
10078      match field_id {
10079        1 => {
10080          let val = TSCreateMultiTimeseriesReq::read_from_in_protocol(i_prot)?;
10081          f_1 = Some(val);
10082        },
10083        _ => {
10084          i_prot.skip(field_ident.field_type)?;
10085        },
10086      };
10087      i_prot.read_field_end()?;
10088    }
10089    i_prot.read_struct_end()?;
10090    verify_required_field_exists("TSIServiceCreateMultiTimeseriesArgs.req", &f_1)?;
10091    let ret = TSIServiceCreateMultiTimeseriesArgs {
10092      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
10093    };
10094    Ok(ret)
10095  }
10096  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10097    let struct_ident = TStructIdentifier::new("createMultiTimeseries_args");
10098    o_prot.write_struct_begin(&struct_ident)?;
10099    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
10100    self.req.write_to_out_protocol(o_prot)?;
10101    o_prot.write_field_end()?;
10102    o_prot.write_field_stop()?;
10103    o_prot.write_struct_end()
10104  }
10105}
10106
10107//
10108// TSIServiceCreateMultiTimeseriesResult
10109//
10110
10111#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10112struct TSIServiceCreateMultiTimeseriesResult {
10113  result_value: Option<TSStatus>,
10114}
10115
10116impl TSIServiceCreateMultiTimeseriesResult {
10117  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateMultiTimeseriesResult> {
10118    i_prot.read_struct_begin()?;
10119    let mut f_0: Option<TSStatus> = None;
10120    loop {
10121      let field_ident = i_prot.read_field_begin()?;
10122      if field_ident.field_type == TType::Stop {
10123        break;
10124      }
10125      let field_id = field_id(&field_ident)?;
10126      match field_id {
10127        0 => {
10128          let val = TSStatus::read_from_in_protocol(i_prot)?;
10129          f_0 = Some(val);
10130        },
10131        _ => {
10132          i_prot.skip(field_ident.field_type)?;
10133        },
10134      };
10135      i_prot.read_field_end()?;
10136    }
10137    i_prot.read_struct_end()?;
10138    let ret = TSIServiceCreateMultiTimeseriesResult {
10139      result_value: f_0,
10140    };
10141    Ok(ret)
10142  }
10143  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10144    let struct_ident = TStructIdentifier::new("TSIServiceCreateMultiTimeseriesResult");
10145    o_prot.write_struct_begin(&struct_ident)?;
10146    if let Some(ref fld_var) = self.result_value {
10147      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10148      fld_var.write_to_out_protocol(o_prot)?;
10149      o_prot.write_field_end()?
10150    }
10151    o_prot.write_field_stop()?;
10152    o_prot.write_struct_end()
10153  }
10154  fn ok_or(self) -> thrift::Result<TSStatus> {
10155    if self.result_value.is_some() {
10156      Ok(self.result_value.unwrap())
10157    } else {
10158      Err(
10159        thrift::Error::Application(
10160          ApplicationError::new(
10161            ApplicationErrorKind::MissingResult,
10162            "no result received for TSIServiceCreateMultiTimeseries"
10163          )
10164        )
10165      )
10166    }
10167  }
10168}
10169
10170//
10171// TSIServiceDeleteTimeseriesArgs
10172//
10173
10174#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10175struct TSIServiceDeleteTimeseriesArgs {
10176  session_id: i64,
10177  path: Vec<String>,
10178}
10179
10180impl TSIServiceDeleteTimeseriesArgs {
10181  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceDeleteTimeseriesArgs> {
10182    i_prot.read_struct_begin()?;
10183    let mut f_1: Option<i64> = None;
10184    let mut f_2: Option<Vec<String>> = None;
10185    loop {
10186      let field_ident = i_prot.read_field_begin()?;
10187      if field_ident.field_type == TType::Stop {
10188        break;
10189      }
10190      let field_id = field_id(&field_ident)?;
10191      match field_id {
10192        1 => {
10193          let val = i_prot.read_i64()?;
10194          f_1 = Some(val);
10195        },
10196        2 => {
10197          let list_ident = i_prot.read_list_begin()?;
10198          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
10199          for _ in 0..list_ident.size {
10200            let list_elem_81 = i_prot.read_string()?;
10201            val.push(list_elem_81);
10202          }
10203          i_prot.read_list_end()?;
10204          f_2 = Some(val);
10205        },
10206        _ => {
10207          i_prot.skip(field_ident.field_type)?;
10208        },
10209      };
10210      i_prot.read_field_end()?;
10211    }
10212    i_prot.read_struct_end()?;
10213    verify_required_field_exists("TSIServiceDeleteTimeseriesArgs.session_id", &f_1)?;
10214    verify_required_field_exists("TSIServiceDeleteTimeseriesArgs.path", &f_2)?;
10215    let ret = TSIServiceDeleteTimeseriesArgs {
10216      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
10217      path: f_2.expect("auto-generated code should have checked for presence of required fields"),
10218    };
10219    Ok(ret)
10220  }
10221  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10222    let struct_ident = TStructIdentifier::new("deleteTimeseries_args");
10223    o_prot.write_struct_begin(&struct_ident)?;
10224    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
10225    o_prot.write_i64(self.session_id)?;
10226    o_prot.write_field_end()?;
10227    o_prot.write_field_begin(&TFieldIdentifier::new("path", TType::List, 2))?;
10228    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.path.len() as i32))?;
10229    for e in &self.path {
10230      o_prot.write_string(e)?;
10231    }
10232    o_prot.write_list_end()?;
10233    o_prot.write_field_end()?;
10234    o_prot.write_field_stop()?;
10235    o_prot.write_struct_end()
10236  }
10237}
10238
10239//
10240// TSIServiceDeleteTimeseriesResult
10241//
10242
10243#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10244struct TSIServiceDeleteTimeseriesResult {
10245  result_value: Option<TSStatus>,
10246}
10247
10248impl TSIServiceDeleteTimeseriesResult {
10249  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceDeleteTimeseriesResult> {
10250    i_prot.read_struct_begin()?;
10251    let mut f_0: Option<TSStatus> = None;
10252    loop {
10253      let field_ident = i_prot.read_field_begin()?;
10254      if field_ident.field_type == TType::Stop {
10255        break;
10256      }
10257      let field_id = field_id(&field_ident)?;
10258      match field_id {
10259        0 => {
10260          let val = TSStatus::read_from_in_protocol(i_prot)?;
10261          f_0 = Some(val);
10262        },
10263        _ => {
10264          i_prot.skip(field_ident.field_type)?;
10265        },
10266      };
10267      i_prot.read_field_end()?;
10268    }
10269    i_prot.read_struct_end()?;
10270    let ret = TSIServiceDeleteTimeseriesResult {
10271      result_value: f_0,
10272    };
10273    Ok(ret)
10274  }
10275  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10276    let struct_ident = TStructIdentifier::new("TSIServiceDeleteTimeseriesResult");
10277    o_prot.write_struct_begin(&struct_ident)?;
10278    if let Some(ref fld_var) = self.result_value {
10279      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10280      fld_var.write_to_out_protocol(o_prot)?;
10281      o_prot.write_field_end()?
10282    }
10283    o_prot.write_field_stop()?;
10284    o_prot.write_struct_end()
10285  }
10286  fn ok_or(self) -> thrift::Result<TSStatus> {
10287    if self.result_value.is_some() {
10288      Ok(self.result_value.unwrap())
10289    } else {
10290      Err(
10291        thrift::Error::Application(
10292          ApplicationError::new(
10293            ApplicationErrorKind::MissingResult,
10294            "no result received for TSIServiceDeleteTimeseries"
10295          )
10296        )
10297      )
10298    }
10299  }
10300}
10301
10302//
10303// TSIServiceDeleteStorageGroupsArgs
10304//
10305
10306#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10307struct TSIServiceDeleteStorageGroupsArgs {
10308  session_id: i64,
10309  storage_group: Vec<String>,
10310}
10311
10312impl TSIServiceDeleteStorageGroupsArgs {
10313  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceDeleteStorageGroupsArgs> {
10314    i_prot.read_struct_begin()?;
10315    let mut f_1: Option<i64> = None;
10316    let mut f_2: Option<Vec<String>> = None;
10317    loop {
10318      let field_ident = i_prot.read_field_begin()?;
10319      if field_ident.field_type == TType::Stop {
10320        break;
10321      }
10322      let field_id = field_id(&field_ident)?;
10323      match field_id {
10324        1 => {
10325          let val = i_prot.read_i64()?;
10326          f_1 = Some(val);
10327        },
10328        2 => {
10329          let list_ident = i_prot.read_list_begin()?;
10330          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
10331          for _ in 0..list_ident.size {
10332            let list_elem_82 = i_prot.read_string()?;
10333            val.push(list_elem_82);
10334          }
10335          i_prot.read_list_end()?;
10336          f_2 = Some(val);
10337        },
10338        _ => {
10339          i_prot.skip(field_ident.field_type)?;
10340        },
10341      };
10342      i_prot.read_field_end()?;
10343    }
10344    i_prot.read_struct_end()?;
10345    verify_required_field_exists("TSIServiceDeleteStorageGroupsArgs.session_id", &f_1)?;
10346    verify_required_field_exists("TSIServiceDeleteStorageGroupsArgs.storage_group", &f_2)?;
10347    let ret = TSIServiceDeleteStorageGroupsArgs {
10348      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
10349      storage_group: f_2.expect("auto-generated code should have checked for presence of required fields"),
10350    };
10351    Ok(ret)
10352  }
10353  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10354    let struct_ident = TStructIdentifier::new("deleteStorageGroups_args");
10355    o_prot.write_struct_begin(&struct_ident)?;
10356    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
10357    o_prot.write_i64(self.session_id)?;
10358    o_prot.write_field_end()?;
10359    o_prot.write_field_begin(&TFieldIdentifier::new("storageGroup", TType::List, 2))?;
10360    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.storage_group.len() as i32))?;
10361    for e in &self.storage_group {
10362      o_prot.write_string(e)?;
10363    }
10364    o_prot.write_list_end()?;
10365    o_prot.write_field_end()?;
10366    o_prot.write_field_stop()?;
10367    o_prot.write_struct_end()
10368  }
10369}
10370
10371//
10372// TSIServiceDeleteStorageGroupsResult
10373//
10374
10375#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10376struct TSIServiceDeleteStorageGroupsResult {
10377  result_value: Option<TSStatus>,
10378}
10379
10380impl TSIServiceDeleteStorageGroupsResult {
10381  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceDeleteStorageGroupsResult> {
10382    i_prot.read_struct_begin()?;
10383    let mut f_0: Option<TSStatus> = None;
10384    loop {
10385      let field_ident = i_prot.read_field_begin()?;
10386      if field_ident.field_type == TType::Stop {
10387        break;
10388      }
10389      let field_id = field_id(&field_ident)?;
10390      match field_id {
10391        0 => {
10392          let val = TSStatus::read_from_in_protocol(i_prot)?;
10393          f_0 = Some(val);
10394        },
10395        _ => {
10396          i_prot.skip(field_ident.field_type)?;
10397        },
10398      };
10399      i_prot.read_field_end()?;
10400    }
10401    i_prot.read_struct_end()?;
10402    let ret = TSIServiceDeleteStorageGroupsResult {
10403      result_value: f_0,
10404    };
10405    Ok(ret)
10406  }
10407  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10408    let struct_ident = TStructIdentifier::new("TSIServiceDeleteStorageGroupsResult");
10409    o_prot.write_struct_begin(&struct_ident)?;
10410    if let Some(ref fld_var) = self.result_value {
10411      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10412      fld_var.write_to_out_protocol(o_prot)?;
10413      o_prot.write_field_end()?
10414    }
10415    o_prot.write_field_stop()?;
10416    o_prot.write_struct_end()
10417  }
10418  fn ok_or(self) -> thrift::Result<TSStatus> {
10419    if self.result_value.is_some() {
10420      Ok(self.result_value.unwrap())
10421    } else {
10422      Err(
10423        thrift::Error::Application(
10424          ApplicationError::new(
10425            ApplicationErrorKind::MissingResult,
10426            "no result received for TSIServiceDeleteStorageGroups"
10427          )
10428        )
10429      )
10430    }
10431  }
10432}
10433
10434//
10435// TSIServiceInsertRecordArgs
10436//
10437
10438#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10439struct TSIServiceInsertRecordArgs {
10440  req: TSInsertRecordReq,
10441}
10442
10443impl TSIServiceInsertRecordArgs {
10444  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertRecordArgs> {
10445    i_prot.read_struct_begin()?;
10446    let mut f_1: Option<TSInsertRecordReq> = None;
10447    loop {
10448      let field_ident = i_prot.read_field_begin()?;
10449      if field_ident.field_type == TType::Stop {
10450        break;
10451      }
10452      let field_id = field_id(&field_ident)?;
10453      match field_id {
10454        1 => {
10455          let val = TSInsertRecordReq::read_from_in_protocol(i_prot)?;
10456          f_1 = Some(val);
10457        },
10458        _ => {
10459          i_prot.skip(field_ident.field_type)?;
10460        },
10461      };
10462      i_prot.read_field_end()?;
10463    }
10464    i_prot.read_struct_end()?;
10465    verify_required_field_exists("TSIServiceInsertRecordArgs.req", &f_1)?;
10466    let ret = TSIServiceInsertRecordArgs {
10467      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
10468    };
10469    Ok(ret)
10470  }
10471  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10472    let struct_ident = TStructIdentifier::new("insertRecord_args");
10473    o_prot.write_struct_begin(&struct_ident)?;
10474    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
10475    self.req.write_to_out_protocol(o_prot)?;
10476    o_prot.write_field_end()?;
10477    o_prot.write_field_stop()?;
10478    o_prot.write_struct_end()
10479  }
10480}
10481
10482//
10483// TSIServiceInsertRecordResult
10484//
10485
10486#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10487struct TSIServiceInsertRecordResult {
10488  result_value: Option<TSStatus>,
10489}
10490
10491impl TSIServiceInsertRecordResult {
10492  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertRecordResult> {
10493    i_prot.read_struct_begin()?;
10494    let mut f_0: Option<TSStatus> = None;
10495    loop {
10496      let field_ident = i_prot.read_field_begin()?;
10497      if field_ident.field_type == TType::Stop {
10498        break;
10499      }
10500      let field_id = field_id(&field_ident)?;
10501      match field_id {
10502        0 => {
10503          let val = TSStatus::read_from_in_protocol(i_prot)?;
10504          f_0 = Some(val);
10505        },
10506        _ => {
10507          i_prot.skip(field_ident.field_type)?;
10508        },
10509      };
10510      i_prot.read_field_end()?;
10511    }
10512    i_prot.read_struct_end()?;
10513    let ret = TSIServiceInsertRecordResult {
10514      result_value: f_0,
10515    };
10516    Ok(ret)
10517  }
10518  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10519    let struct_ident = TStructIdentifier::new("TSIServiceInsertRecordResult");
10520    o_prot.write_struct_begin(&struct_ident)?;
10521    if let Some(ref fld_var) = self.result_value {
10522      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10523      fld_var.write_to_out_protocol(o_prot)?;
10524      o_prot.write_field_end()?
10525    }
10526    o_prot.write_field_stop()?;
10527    o_prot.write_struct_end()
10528  }
10529  fn ok_or(self) -> thrift::Result<TSStatus> {
10530    if self.result_value.is_some() {
10531      Ok(self.result_value.unwrap())
10532    } else {
10533      Err(
10534        thrift::Error::Application(
10535          ApplicationError::new(
10536            ApplicationErrorKind::MissingResult,
10537            "no result received for TSIServiceInsertRecord"
10538          )
10539        )
10540      )
10541    }
10542  }
10543}
10544
10545//
10546// TSIServiceInsertStringRecordArgs
10547//
10548
10549#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10550struct TSIServiceInsertStringRecordArgs {
10551  req: TSInsertStringRecordReq,
10552}
10553
10554impl TSIServiceInsertStringRecordArgs {
10555  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertStringRecordArgs> {
10556    i_prot.read_struct_begin()?;
10557    let mut f_1: Option<TSInsertStringRecordReq> = None;
10558    loop {
10559      let field_ident = i_prot.read_field_begin()?;
10560      if field_ident.field_type == TType::Stop {
10561        break;
10562      }
10563      let field_id = field_id(&field_ident)?;
10564      match field_id {
10565        1 => {
10566          let val = TSInsertStringRecordReq::read_from_in_protocol(i_prot)?;
10567          f_1 = Some(val);
10568        },
10569        _ => {
10570          i_prot.skip(field_ident.field_type)?;
10571        },
10572      };
10573      i_prot.read_field_end()?;
10574    }
10575    i_prot.read_struct_end()?;
10576    verify_required_field_exists("TSIServiceInsertStringRecordArgs.req", &f_1)?;
10577    let ret = TSIServiceInsertStringRecordArgs {
10578      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
10579    };
10580    Ok(ret)
10581  }
10582  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10583    let struct_ident = TStructIdentifier::new("insertStringRecord_args");
10584    o_prot.write_struct_begin(&struct_ident)?;
10585    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
10586    self.req.write_to_out_protocol(o_prot)?;
10587    o_prot.write_field_end()?;
10588    o_prot.write_field_stop()?;
10589    o_prot.write_struct_end()
10590  }
10591}
10592
10593//
10594// TSIServiceInsertStringRecordResult
10595//
10596
10597#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10598struct TSIServiceInsertStringRecordResult {
10599  result_value: Option<TSStatus>,
10600}
10601
10602impl TSIServiceInsertStringRecordResult {
10603  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertStringRecordResult> {
10604    i_prot.read_struct_begin()?;
10605    let mut f_0: Option<TSStatus> = None;
10606    loop {
10607      let field_ident = i_prot.read_field_begin()?;
10608      if field_ident.field_type == TType::Stop {
10609        break;
10610      }
10611      let field_id = field_id(&field_ident)?;
10612      match field_id {
10613        0 => {
10614          let val = TSStatus::read_from_in_protocol(i_prot)?;
10615          f_0 = Some(val);
10616        },
10617        _ => {
10618          i_prot.skip(field_ident.field_type)?;
10619        },
10620      };
10621      i_prot.read_field_end()?;
10622    }
10623    i_prot.read_struct_end()?;
10624    let ret = TSIServiceInsertStringRecordResult {
10625      result_value: f_0,
10626    };
10627    Ok(ret)
10628  }
10629  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10630    let struct_ident = TStructIdentifier::new("TSIServiceInsertStringRecordResult");
10631    o_prot.write_struct_begin(&struct_ident)?;
10632    if let Some(ref fld_var) = self.result_value {
10633      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10634      fld_var.write_to_out_protocol(o_prot)?;
10635      o_prot.write_field_end()?
10636    }
10637    o_prot.write_field_stop()?;
10638    o_prot.write_struct_end()
10639  }
10640  fn ok_or(self) -> thrift::Result<TSStatus> {
10641    if self.result_value.is_some() {
10642      Ok(self.result_value.unwrap())
10643    } else {
10644      Err(
10645        thrift::Error::Application(
10646          ApplicationError::new(
10647            ApplicationErrorKind::MissingResult,
10648            "no result received for TSIServiceInsertStringRecord"
10649          )
10650        )
10651      )
10652    }
10653  }
10654}
10655
10656//
10657// TSIServiceInsertTabletArgs
10658//
10659
10660#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10661struct TSIServiceInsertTabletArgs {
10662  req: TSInsertTabletReq,
10663}
10664
10665impl TSIServiceInsertTabletArgs {
10666  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertTabletArgs> {
10667    i_prot.read_struct_begin()?;
10668    let mut f_1: Option<TSInsertTabletReq> = None;
10669    loop {
10670      let field_ident = i_prot.read_field_begin()?;
10671      if field_ident.field_type == TType::Stop {
10672        break;
10673      }
10674      let field_id = field_id(&field_ident)?;
10675      match field_id {
10676        1 => {
10677          let val = TSInsertTabletReq::read_from_in_protocol(i_prot)?;
10678          f_1 = Some(val);
10679        },
10680        _ => {
10681          i_prot.skip(field_ident.field_type)?;
10682        },
10683      };
10684      i_prot.read_field_end()?;
10685    }
10686    i_prot.read_struct_end()?;
10687    verify_required_field_exists("TSIServiceInsertTabletArgs.req", &f_1)?;
10688    let ret = TSIServiceInsertTabletArgs {
10689      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
10690    };
10691    Ok(ret)
10692  }
10693  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10694    let struct_ident = TStructIdentifier::new("insertTablet_args");
10695    o_prot.write_struct_begin(&struct_ident)?;
10696    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
10697    self.req.write_to_out_protocol(o_prot)?;
10698    o_prot.write_field_end()?;
10699    o_prot.write_field_stop()?;
10700    o_prot.write_struct_end()
10701  }
10702}
10703
10704//
10705// TSIServiceInsertTabletResult
10706//
10707
10708#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10709struct TSIServiceInsertTabletResult {
10710  result_value: Option<TSStatus>,
10711}
10712
10713impl TSIServiceInsertTabletResult {
10714  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertTabletResult> {
10715    i_prot.read_struct_begin()?;
10716    let mut f_0: Option<TSStatus> = None;
10717    loop {
10718      let field_ident = i_prot.read_field_begin()?;
10719      if field_ident.field_type == TType::Stop {
10720        break;
10721      }
10722      let field_id = field_id(&field_ident)?;
10723      match field_id {
10724        0 => {
10725          let val = TSStatus::read_from_in_protocol(i_prot)?;
10726          f_0 = Some(val);
10727        },
10728        _ => {
10729          i_prot.skip(field_ident.field_type)?;
10730        },
10731      };
10732      i_prot.read_field_end()?;
10733    }
10734    i_prot.read_struct_end()?;
10735    let ret = TSIServiceInsertTabletResult {
10736      result_value: f_0,
10737    };
10738    Ok(ret)
10739  }
10740  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10741    let struct_ident = TStructIdentifier::new("TSIServiceInsertTabletResult");
10742    o_prot.write_struct_begin(&struct_ident)?;
10743    if let Some(ref fld_var) = self.result_value {
10744      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10745      fld_var.write_to_out_protocol(o_prot)?;
10746      o_prot.write_field_end()?
10747    }
10748    o_prot.write_field_stop()?;
10749    o_prot.write_struct_end()
10750  }
10751  fn ok_or(self) -> thrift::Result<TSStatus> {
10752    if self.result_value.is_some() {
10753      Ok(self.result_value.unwrap())
10754    } else {
10755      Err(
10756        thrift::Error::Application(
10757          ApplicationError::new(
10758            ApplicationErrorKind::MissingResult,
10759            "no result received for TSIServiceInsertTablet"
10760          )
10761        )
10762      )
10763    }
10764  }
10765}
10766
10767//
10768// TSIServiceInsertTabletsArgs
10769//
10770
10771#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10772struct TSIServiceInsertTabletsArgs {
10773  req: TSInsertTabletsReq,
10774}
10775
10776impl TSIServiceInsertTabletsArgs {
10777  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertTabletsArgs> {
10778    i_prot.read_struct_begin()?;
10779    let mut f_1: Option<TSInsertTabletsReq> = None;
10780    loop {
10781      let field_ident = i_prot.read_field_begin()?;
10782      if field_ident.field_type == TType::Stop {
10783        break;
10784      }
10785      let field_id = field_id(&field_ident)?;
10786      match field_id {
10787        1 => {
10788          let val = TSInsertTabletsReq::read_from_in_protocol(i_prot)?;
10789          f_1 = Some(val);
10790        },
10791        _ => {
10792          i_prot.skip(field_ident.field_type)?;
10793        },
10794      };
10795      i_prot.read_field_end()?;
10796    }
10797    i_prot.read_struct_end()?;
10798    verify_required_field_exists("TSIServiceInsertTabletsArgs.req", &f_1)?;
10799    let ret = TSIServiceInsertTabletsArgs {
10800      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
10801    };
10802    Ok(ret)
10803  }
10804  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10805    let struct_ident = TStructIdentifier::new("insertTablets_args");
10806    o_prot.write_struct_begin(&struct_ident)?;
10807    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
10808    self.req.write_to_out_protocol(o_prot)?;
10809    o_prot.write_field_end()?;
10810    o_prot.write_field_stop()?;
10811    o_prot.write_struct_end()
10812  }
10813}
10814
10815//
10816// TSIServiceInsertTabletsResult
10817//
10818
10819#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10820struct TSIServiceInsertTabletsResult {
10821  result_value: Option<TSStatus>,
10822}
10823
10824impl TSIServiceInsertTabletsResult {
10825  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertTabletsResult> {
10826    i_prot.read_struct_begin()?;
10827    let mut f_0: Option<TSStatus> = None;
10828    loop {
10829      let field_ident = i_prot.read_field_begin()?;
10830      if field_ident.field_type == TType::Stop {
10831        break;
10832      }
10833      let field_id = field_id(&field_ident)?;
10834      match field_id {
10835        0 => {
10836          let val = TSStatus::read_from_in_protocol(i_prot)?;
10837          f_0 = Some(val);
10838        },
10839        _ => {
10840          i_prot.skip(field_ident.field_type)?;
10841        },
10842      };
10843      i_prot.read_field_end()?;
10844    }
10845    i_prot.read_struct_end()?;
10846    let ret = TSIServiceInsertTabletsResult {
10847      result_value: f_0,
10848    };
10849    Ok(ret)
10850  }
10851  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10852    let struct_ident = TStructIdentifier::new("TSIServiceInsertTabletsResult");
10853    o_prot.write_struct_begin(&struct_ident)?;
10854    if let Some(ref fld_var) = self.result_value {
10855      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10856      fld_var.write_to_out_protocol(o_prot)?;
10857      o_prot.write_field_end()?
10858    }
10859    o_prot.write_field_stop()?;
10860    o_prot.write_struct_end()
10861  }
10862  fn ok_or(self) -> thrift::Result<TSStatus> {
10863    if self.result_value.is_some() {
10864      Ok(self.result_value.unwrap())
10865    } else {
10866      Err(
10867        thrift::Error::Application(
10868          ApplicationError::new(
10869            ApplicationErrorKind::MissingResult,
10870            "no result received for TSIServiceInsertTablets"
10871          )
10872        )
10873      )
10874    }
10875  }
10876}
10877
10878//
10879// TSIServiceInsertRecordsArgs
10880//
10881
10882#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10883struct TSIServiceInsertRecordsArgs {
10884  req: TSInsertRecordsReq,
10885}
10886
10887impl TSIServiceInsertRecordsArgs {
10888  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertRecordsArgs> {
10889    i_prot.read_struct_begin()?;
10890    let mut f_1: Option<TSInsertRecordsReq> = None;
10891    loop {
10892      let field_ident = i_prot.read_field_begin()?;
10893      if field_ident.field_type == TType::Stop {
10894        break;
10895      }
10896      let field_id = field_id(&field_ident)?;
10897      match field_id {
10898        1 => {
10899          let val = TSInsertRecordsReq::read_from_in_protocol(i_prot)?;
10900          f_1 = Some(val);
10901        },
10902        _ => {
10903          i_prot.skip(field_ident.field_type)?;
10904        },
10905      };
10906      i_prot.read_field_end()?;
10907    }
10908    i_prot.read_struct_end()?;
10909    verify_required_field_exists("TSIServiceInsertRecordsArgs.req", &f_1)?;
10910    let ret = TSIServiceInsertRecordsArgs {
10911      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
10912    };
10913    Ok(ret)
10914  }
10915  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10916    let struct_ident = TStructIdentifier::new("insertRecords_args");
10917    o_prot.write_struct_begin(&struct_ident)?;
10918    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
10919    self.req.write_to_out_protocol(o_prot)?;
10920    o_prot.write_field_end()?;
10921    o_prot.write_field_stop()?;
10922    o_prot.write_struct_end()
10923  }
10924}
10925
10926//
10927// TSIServiceInsertRecordsResult
10928//
10929
10930#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10931struct TSIServiceInsertRecordsResult {
10932  result_value: Option<TSStatus>,
10933}
10934
10935impl TSIServiceInsertRecordsResult {
10936  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertRecordsResult> {
10937    i_prot.read_struct_begin()?;
10938    let mut f_0: Option<TSStatus> = None;
10939    loop {
10940      let field_ident = i_prot.read_field_begin()?;
10941      if field_ident.field_type == TType::Stop {
10942        break;
10943      }
10944      let field_id = field_id(&field_ident)?;
10945      match field_id {
10946        0 => {
10947          let val = TSStatus::read_from_in_protocol(i_prot)?;
10948          f_0 = Some(val);
10949        },
10950        _ => {
10951          i_prot.skip(field_ident.field_type)?;
10952        },
10953      };
10954      i_prot.read_field_end()?;
10955    }
10956    i_prot.read_struct_end()?;
10957    let ret = TSIServiceInsertRecordsResult {
10958      result_value: f_0,
10959    };
10960    Ok(ret)
10961  }
10962  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10963    let struct_ident = TStructIdentifier::new("TSIServiceInsertRecordsResult");
10964    o_prot.write_struct_begin(&struct_ident)?;
10965    if let Some(ref fld_var) = self.result_value {
10966      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
10967      fld_var.write_to_out_protocol(o_prot)?;
10968      o_prot.write_field_end()?
10969    }
10970    o_prot.write_field_stop()?;
10971    o_prot.write_struct_end()
10972  }
10973  fn ok_or(self) -> thrift::Result<TSStatus> {
10974    if self.result_value.is_some() {
10975      Ok(self.result_value.unwrap())
10976    } else {
10977      Err(
10978        thrift::Error::Application(
10979          ApplicationError::new(
10980            ApplicationErrorKind::MissingResult,
10981            "no result received for TSIServiceInsertRecords"
10982          )
10983        )
10984      )
10985    }
10986  }
10987}
10988
10989//
10990// TSIServiceInsertRecordsOfOneDeviceArgs
10991//
10992
10993#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
10994struct TSIServiceInsertRecordsOfOneDeviceArgs {
10995  req: TSInsertRecordsOfOneDeviceReq,
10996}
10997
10998impl TSIServiceInsertRecordsOfOneDeviceArgs {
10999  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertRecordsOfOneDeviceArgs> {
11000    i_prot.read_struct_begin()?;
11001    let mut f_1: Option<TSInsertRecordsOfOneDeviceReq> = None;
11002    loop {
11003      let field_ident = i_prot.read_field_begin()?;
11004      if field_ident.field_type == TType::Stop {
11005        break;
11006      }
11007      let field_id = field_id(&field_ident)?;
11008      match field_id {
11009        1 => {
11010          let val = TSInsertRecordsOfOneDeviceReq::read_from_in_protocol(i_prot)?;
11011          f_1 = Some(val);
11012        },
11013        _ => {
11014          i_prot.skip(field_ident.field_type)?;
11015        },
11016      };
11017      i_prot.read_field_end()?;
11018    }
11019    i_prot.read_struct_end()?;
11020    verify_required_field_exists("TSIServiceInsertRecordsOfOneDeviceArgs.req", &f_1)?;
11021    let ret = TSIServiceInsertRecordsOfOneDeviceArgs {
11022      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11023    };
11024    Ok(ret)
11025  }
11026  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11027    let struct_ident = TStructIdentifier::new("insertRecordsOfOneDevice_args");
11028    o_prot.write_struct_begin(&struct_ident)?;
11029    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11030    self.req.write_to_out_protocol(o_prot)?;
11031    o_prot.write_field_end()?;
11032    o_prot.write_field_stop()?;
11033    o_prot.write_struct_end()
11034  }
11035}
11036
11037//
11038// TSIServiceInsertRecordsOfOneDeviceResult
11039//
11040
11041#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11042struct TSIServiceInsertRecordsOfOneDeviceResult {
11043  result_value: Option<TSStatus>,
11044}
11045
11046impl TSIServiceInsertRecordsOfOneDeviceResult {
11047  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertRecordsOfOneDeviceResult> {
11048    i_prot.read_struct_begin()?;
11049    let mut f_0: Option<TSStatus> = None;
11050    loop {
11051      let field_ident = i_prot.read_field_begin()?;
11052      if field_ident.field_type == TType::Stop {
11053        break;
11054      }
11055      let field_id = field_id(&field_ident)?;
11056      match field_id {
11057        0 => {
11058          let val = TSStatus::read_from_in_protocol(i_prot)?;
11059          f_0 = Some(val);
11060        },
11061        _ => {
11062          i_prot.skip(field_ident.field_type)?;
11063        },
11064      };
11065      i_prot.read_field_end()?;
11066    }
11067    i_prot.read_struct_end()?;
11068    let ret = TSIServiceInsertRecordsOfOneDeviceResult {
11069      result_value: f_0,
11070    };
11071    Ok(ret)
11072  }
11073  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11074    let struct_ident = TStructIdentifier::new("TSIServiceInsertRecordsOfOneDeviceResult");
11075    o_prot.write_struct_begin(&struct_ident)?;
11076    if let Some(ref fld_var) = self.result_value {
11077      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11078      fld_var.write_to_out_protocol(o_prot)?;
11079      o_prot.write_field_end()?
11080    }
11081    o_prot.write_field_stop()?;
11082    o_prot.write_struct_end()
11083  }
11084  fn ok_or(self) -> thrift::Result<TSStatus> {
11085    if self.result_value.is_some() {
11086      Ok(self.result_value.unwrap())
11087    } else {
11088      Err(
11089        thrift::Error::Application(
11090          ApplicationError::new(
11091            ApplicationErrorKind::MissingResult,
11092            "no result received for TSIServiceInsertRecordsOfOneDevice"
11093          )
11094        )
11095      )
11096    }
11097  }
11098}
11099
11100//
11101// TSIServiceInsertStringRecordsArgs
11102//
11103
11104#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11105struct TSIServiceInsertStringRecordsArgs {
11106  req: TSInsertStringRecordsReq,
11107}
11108
11109impl TSIServiceInsertStringRecordsArgs {
11110  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertStringRecordsArgs> {
11111    i_prot.read_struct_begin()?;
11112    let mut f_1: Option<TSInsertStringRecordsReq> = None;
11113    loop {
11114      let field_ident = i_prot.read_field_begin()?;
11115      if field_ident.field_type == TType::Stop {
11116        break;
11117      }
11118      let field_id = field_id(&field_ident)?;
11119      match field_id {
11120        1 => {
11121          let val = TSInsertStringRecordsReq::read_from_in_protocol(i_prot)?;
11122          f_1 = Some(val);
11123        },
11124        _ => {
11125          i_prot.skip(field_ident.field_type)?;
11126        },
11127      };
11128      i_prot.read_field_end()?;
11129    }
11130    i_prot.read_struct_end()?;
11131    verify_required_field_exists("TSIServiceInsertStringRecordsArgs.req", &f_1)?;
11132    let ret = TSIServiceInsertStringRecordsArgs {
11133      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11134    };
11135    Ok(ret)
11136  }
11137  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11138    let struct_ident = TStructIdentifier::new("insertStringRecords_args");
11139    o_prot.write_struct_begin(&struct_ident)?;
11140    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11141    self.req.write_to_out_protocol(o_prot)?;
11142    o_prot.write_field_end()?;
11143    o_prot.write_field_stop()?;
11144    o_prot.write_struct_end()
11145  }
11146}
11147
11148//
11149// TSIServiceInsertStringRecordsResult
11150//
11151
11152#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11153struct TSIServiceInsertStringRecordsResult {
11154  result_value: Option<TSStatus>,
11155}
11156
11157impl TSIServiceInsertStringRecordsResult {
11158  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceInsertStringRecordsResult> {
11159    i_prot.read_struct_begin()?;
11160    let mut f_0: Option<TSStatus> = None;
11161    loop {
11162      let field_ident = i_prot.read_field_begin()?;
11163      if field_ident.field_type == TType::Stop {
11164        break;
11165      }
11166      let field_id = field_id(&field_ident)?;
11167      match field_id {
11168        0 => {
11169          let val = TSStatus::read_from_in_protocol(i_prot)?;
11170          f_0 = Some(val);
11171        },
11172        _ => {
11173          i_prot.skip(field_ident.field_type)?;
11174        },
11175      };
11176      i_prot.read_field_end()?;
11177    }
11178    i_prot.read_struct_end()?;
11179    let ret = TSIServiceInsertStringRecordsResult {
11180      result_value: f_0,
11181    };
11182    Ok(ret)
11183  }
11184  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11185    let struct_ident = TStructIdentifier::new("TSIServiceInsertStringRecordsResult");
11186    o_prot.write_struct_begin(&struct_ident)?;
11187    if let Some(ref fld_var) = self.result_value {
11188      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11189      fld_var.write_to_out_protocol(o_prot)?;
11190      o_prot.write_field_end()?
11191    }
11192    o_prot.write_field_stop()?;
11193    o_prot.write_struct_end()
11194  }
11195  fn ok_or(self) -> thrift::Result<TSStatus> {
11196    if self.result_value.is_some() {
11197      Ok(self.result_value.unwrap())
11198    } else {
11199      Err(
11200        thrift::Error::Application(
11201          ApplicationError::new(
11202            ApplicationErrorKind::MissingResult,
11203            "no result received for TSIServiceInsertStringRecords"
11204          )
11205        )
11206      )
11207    }
11208  }
11209}
11210
11211//
11212// TSIServiceTestInsertTabletArgs
11213//
11214
11215#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11216struct TSIServiceTestInsertTabletArgs {
11217  req: TSInsertTabletReq,
11218}
11219
11220impl TSIServiceTestInsertTabletArgs {
11221  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertTabletArgs> {
11222    i_prot.read_struct_begin()?;
11223    let mut f_1: Option<TSInsertTabletReq> = None;
11224    loop {
11225      let field_ident = i_prot.read_field_begin()?;
11226      if field_ident.field_type == TType::Stop {
11227        break;
11228      }
11229      let field_id = field_id(&field_ident)?;
11230      match field_id {
11231        1 => {
11232          let val = TSInsertTabletReq::read_from_in_protocol(i_prot)?;
11233          f_1 = Some(val);
11234        },
11235        _ => {
11236          i_prot.skip(field_ident.field_type)?;
11237        },
11238      };
11239      i_prot.read_field_end()?;
11240    }
11241    i_prot.read_struct_end()?;
11242    verify_required_field_exists("TSIServiceTestInsertTabletArgs.req", &f_1)?;
11243    let ret = TSIServiceTestInsertTabletArgs {
11244      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11245    };
11246    Ok(ret)
11247  }
11248  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11249    let struct_ident = TStructIdentifier::new("testInsertTablet_args");
11250    o_prot.write_struct_begin(&struct_ident)?;
11251    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11252    self.req.write_to_out_protocol(o_prot)?;
11253    o_prot.write_field_end()?;
11254    o_prot.write_field_stop()?;
11255    o_prot.write_struct_end()
11256  }
11257}
11258
11259//
11260// TSIServiceTestInsertTabletResult
11261//
11262
11263#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11264struct TSIServiceTestInsertTabletResult {
11265  result_value: Option<TSStatus>,
11266}
11267
11268impl TSIServiceTestInsertTabletResult {
11269  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertTabletResult> {
11270    i_prot.read_struct_begin()?;
11271    let mut f_0: Option<TSStatus> = None;
11272    loop {
11273      let field_ident = i_prot.read_field_begin()?;
11274      if field_ident.field_type == TType::Stop {
11275        break;
11276      }
11277      let field_id = field_id(&field_ident)?;
11278      match field_id {
11279        0 => {
11280          let val = TSStatus::read_from_in_protocol(i_prot)?;
11281          f_0 = Some(val);
11282        },
11283        _ => {
11284          i_prot.skip(field_ident.field_type)?;
11285        },
11286      };
11287      i_prot.read_field_end()?;
11288    }
11289    i_prot.read_struct_end()?;
11290    let ret = TSIServiceTestInsertTabletResult {
11291      result_value: f_0,
11292    };
11293    Ok(ret)
11294  }
11295  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11296    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertTabletResult");
11297    o_prot.write_struct_begin(&struct_ident)?;
11298    if let Some(ref fld_var) = self.result_value {
11299      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11300      fld_var.write_to_out_protocol(o_prot)?;
11301      o_prot.write_field_end()?
11302    }
11303    o_prot.write_field_stop()?;
11304    o_prot.write_struct_end()
11305  }
11306  fn ok_or(self) -> thrift::Result<TSStatus> {
11307    if self.result_value.is_some() {
11308      Ok(self.result_value.unwrap())
11309    } else {
11310      Err(
11311        thrift::Error::Application(
11312          ApplicationError::new(
11313            ApplicationErrorKind::MissingResult,
11314            "no result received for TSIServiceTestInsertTablet"
11315          )
11316        )
11317      )
11318    }
11319  }
11320}
11321
11322//
11323// TSIServiceTestInsertTabletsArgs
11324//
11325
11326#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11327struct TSIServiceTestInsertTabletsArgs {
11328  req: TSInsertTabletsReq,
11329}
11330
11331impl TSIServiceTestInsertTabletsArgs {
11332  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertTabletsArgs> {
11333    i_prot.read_struct_begin()?;
11334    let mut f_1: Option<TSInsertTabletsReq> = None;
11335    loop {
11336      let field_ident = i_prot.read_field_begin()?;
11337      if field_ident.field_type == TType::Stop {
11338        break;
11339      }
11340      let field_id = field_id(&field_ident)?;
11341      match field_id {
11342        1 => {
11343          let val = TSInsertTabletsReq::read_from_in_protocol(i_prot)?;
11344          f_1 = Some(val);
11345        },
11346        _ => {
11347          i_prot.skip(field_ident.field_type)?;
11348        },
11349      };
11350      i_prot.read_field_end()?;
11351    }
11352    i_prot.read_struct_end()?;
11353    verify_required_field_exists("TSIServiceTestInsertTabletsArgs.req", &f_1)?;
11354    let ret = TSIServiceTestInsertTabletsArgs {
11355      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11356    };
11357    Ok(ret)
11358  }
11359  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11360    let struct_ident = TStructIdentifier::new("testInsertTablets_args");
11361    o_prot.write_struct_begin(&struct_ident)?;
11362    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11363    self.req.write_to_out_protocol(o_prot)?;
11364    o_prot.write_field_end()?;
11365    o_prot.write_field_stop()?;
11366    o_prot.write_struct_end()
11367  }
11368}
11369
11370//
11371// TSIServiceTestInsertTabletsResult
11372//
11373
11374#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11375struct TSIServiceTestInsertTabletsResult {
11376  result_value: Option<TSStatus>,
11377}
11378
11379impl TSIServiceTestInsertTabletsResult {
11380  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertTabletsResult> {
11381    i_prot.read_struct_begin()?;
11382    let mut f_0: Option<TSStatus> = None;
11383    loop {
11384      let field_ident = i_prot.read_field_begin()?;
11385      if field_ident.field_type == TType::Stop {
11386        break;
11387      }
11388      let field_id = field_id(&field_ident)?;
11389      match field_id {
11390        0 => {
11391          let val = TSStatus::read_from_in_protocol(i_prot)?;
11392          f_0 = Some(val);
11393        },
11394        _ => {
11395          i_prot.skip(field_ident.field_type)?;
11396        },
11397      };
11398      i_prot.read_field_end()?;
11399    }
11400    i_prot.read_struct_end()?;
11401    let ret = TSIServiceTestInsertTabletsResult {
11402      result_value: f_0,
11403    };
11404    Ok(ret)
11405  }
11406  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11407    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertTabletsResult");
11408    o_prot.write_struct_begin(&struct_ident)?;
11409    if let Some(ref fld_var) = self.result_value {
11410      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11411      fld_var.write_to_out_protocol(o_prot)?;
11412      o_prot.write_field_end()?
11413    }
11414    o_prot.write_field_stop()?;
11415    o_prot.write_struct_end()
11416  }
11417  fn ok_or(self) -> thrift::Result<TSStatus> {
11418    if self.result_value.is_some() {
11419      Ok(self.result_value.unwrap())
11420    } else {
11421      Err(
11422        thrift::Error::Application(
11423          ApplicationError::new(
11424            ApplicationErrorKind::MissingResult,
11425            "no result received for TSIServiceTestInsertTablets"
11426          )
11427        )
11428      )
11429    }
11430  }
11431}
11432
11433//
11434// TSIServiceTestInsertRecordArgs
11435//
11436
11437#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11438struct TSIServiceTestInsertRecordArgs {
11439  req: TSInsertRecordReq,
11440}
11441
11442impl TSIServiceTestInsertRecordArgs {
11443  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertRecordArgs> {
11444    i_prot.read_struct_begin()?;
11445    let mut f_1: Option<TSInsertRecordReq> = None;
11446    loop {
11447      let field_ident = i_prot.read_field_begin()?;
11448      if field_ident.field_type == TType::Stop {
11449        break;
11450      }
11451      let field_id = field_id(&field_ident)?;
11452      match field_id {
11453        1 => {
11454          let val = TSInsertRecordReq::read_from_in_protocol(i_prot)?;
11455          f_1 = Some(val);
11456        },
11457        _ => {
11458          i_prot.skip(field_ident.field_type)?;
11459        },
11460      };
11461      i_prot.read_field_end()?;
11462    }
11463    i_prot.read_struct_end()?;
11464    verify_required_field_exists("TSIServiceTestInsertRecordArgs.req", &f_1)?;
11465    let ret = TSIServiceTestInsertRecordArgs {
11466      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11467    };
11468    Ok(ret)
11469  }
11470  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11471    let struct_ident = TStructIdentifier::new("testInsertRecord_args");
11472    o_prot.write_struct_begin(&struct_ident)?;
11473    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11474    self.req.write_to_out_protocol(o_prot)?;
11475    o_prot.write_field_end()?;
11476    o_prot.write_field_stop()?;
11477    o_prot.write_struct_end()
11478  }
11479}
11480
11481//
11482// TSIServiceTestInsertRecordResult
11483//
11484
11485#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11486struct TSIServiceTestInsertRecordResult {
11487  result_value: Option<TSStatus>,
11488}
11489
11490impl TSIServiceTestInsertRecordResult {
11491  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertRecordResult> {
11492    i_prot.read_struct_begin()?;
11493    let mut f_0: Option<TSStatus> = None;
11494    loop {
11495      let field_ident = i_prot.read_field_begin()?;
11496      if field_ident.field_type == TType::Stop {
11497        break;
11498      }
11499      let field_id = field_id(&field_ident)?;
11500      match field_id {
11501        0 => {
11502          let val = TSStatus::read_from_in_protocol(i_prot)?;
11503          f_0 = Some(val);
11504        },
11505        _ => {
11506          i_prot.skip(field_ident.field_type)?;
11507        },
11508      };
11509      i_prot.read_field_end()?;
11510    }
11511    i_prot.read_struct_end()?;
11512    let ret = TSIServiceTestInsertRecordResult {
11513      result_value: f_0,
11514    };
11515    Ok(ret)
11516  }
11517  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11518    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertRecordResult");
11519    o_prot.write_struct_begin(&struct_ident)?;
11520    if let Some(ref fld_var) = self.result_value {
11521      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11522      fld_var.write_to_out_protocol(o_prot)?;
11523      o_prot.write_field_end()?
11524    }
11525    o_prot.write_field_stop()?;
11526    o_prot.write_struct_end()
11527  }
11528  fn ok_or(self) -> thrift::Result<TSStatus> {
11529    if self.result_value.is_some() {
11530      Ok(self.result_value.unwrap())
11531    } else {
11532      Err(
11533        thrift::Error::Application(
11534          ApplicationError::new(
11535            ApplicationErrorKind::MissingResult,
11536            "no result received for TSIServiceTestInsertRecord"
11537          )
11538        )
11539      )
11540    }
11541  }
11542}
11543
11544//
11545// TSIServiceTestInsertStringRecordArgs
11546//
11547
11548#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11549struct TSIServiceTestInsertStringRecordArgs {
11550  req: TSInsertStringRecordReq,
11551}
11552
11553impl TSIServiceTestInsertStringRecordArgs {
11554  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertStringRecordArgs> {
11555    i_prot.read_struct_begin()?;
11556    let mut f_1: Option<TSInsertStringRecordReq> = None;
11557    loop {
11558      let field_ident = i_prot.read_field_begin()?;
11559      if field_ident.field_type == TType::Stop {
11560        break;
11561      }
11562      let field_id = field_id(&field_ident)?;
11563      match field_id {
11564        1 => {
11565          let val = TSInsertStringRecordReq::read_from_in_protocol(i_prot)?;
11566          f_1 = Some(val);
11567        },
11568        _ => {
11569          i_prot.skip(field_ident.field_type)?;
11570        },
11571      };
11572      i_prot.read_field_end()?;
11573    }
11574    i_prot.read_struct_end()?;
11575    verify_required_field_exists("TSIServiceTestInsertStringRecordArgs.req", &f_1)?;
11576    let ret = TSIServiceTestInsertStringRecordArgs {
11577      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11578    };
11579    Ok(ret)
11580  }
11581  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11582    let struct_ident = TStructIdentifier::new("testInsertStringRecord_args");
11583    o_prot.write_struct_begin(&struct_ident)?;
11584    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11585    self.req.write_to_out_protocol(o_prot)?;
11586    o_prot.write_field_end()?;
11587    o_prot.write_field_stop()?;
11588    o_prot.write_struct_end()
11589  }
11590}
11591
11592//
11593// TSIServiceTestInsertStringRecordResult
11594//
11595
11596#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11597struct TSIServiceTestInsertStringRecordResult {
11598  result_value: Option<TSStatus>,
11599}
11600
11601impl TSIServiceTestInsertStringRecordResult {
11602  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertStringRecordResult> {
11603    i_prot.read_struct_begin()?;
11604    let mut f_0: Option<TSStatus> = None;
11605    loop {
11606      let field_ident = i_prot.read_field_begin()?;
11607      if field_ident.field_type == TType::Stop {
11608        break;
11609      }
11610      let field_id = field_id(&field_ident)?;
11611      match field_id {
11612        0 => {
11613          let val = TSStatus::read_from_in_protocol(i_prot)?;
11614          f_0 = Some(val);
11615        },
11616        _ => {
11617          i_prot.skip(field_ident.field_type)?;
11618        },
11619      };
11620      i_prot.read_field_end()?;
11621    }
11622    i_prot.read_struct_end()?;
11623    let ret = TSIServiceTestInsertStringRecordResult {
11624      result_value: f_0,
11625    };
11626    Ok(ret)
11627  }
11628  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11629    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertStringRecordResult");
11630    o_prot.write_struct_begin(&struct_ident)?;
11631    if let Some(ref fld_var) = self.result_value {
11632      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11633      fld_var.write_to_out_protocol(o_prot)?;
11634      o_prot.write_field_end()?
11635    }
11636    o_prot.write_field_stop()?;
11637    o_prot.write_struct_end()
11638  }
11639  fn ok_or(self) -> thrift::Result<TSStatus> {
11640    if self.result_value.is_some() {
11641      Ok(self.result_value.unwrap())
11642    } else {
11643      Err(
11644        thrift::Error::Application(
11645          ApplicationError::new(
11646            ApplicationErrorKind::MissingResult,
11647            "no result received for TSIServiceTestInsertStringRecord"
11648          )
11649        )
11650      )
11651    }
11652  }
11653}
11654
11655//
11656// TSIServiceTestInsertRecordsArgs
11657//
11658
11659#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11660struct TSIServiceTestInsertRecordsArgs {
11661  req: TSInsertRecordsReq,
11662}
11663
11664impl TSIServiceTestInsertRecordsArgs {
11665  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertRecordsArgs> {
11666    i_prot.read_struct_begin()?;
11667    let mut f_1: Option<TSInsertRecordsReq> = None;
11668    loop {
11669      let field_ident = i_prot.read_field_begin()?;
11670      if field_ident.field_type == TType::Stop {
11671        break;
11672      }
11673      let field_id = field_id(&field_ident)?;
11674      match field_id {
11675        1 => {
11676          let val = TSInsertRecordsReq::read_from_in_protocol(i_prot)?;
11677          f_1 = Some(val);
11678        },
11679        _ => {
11680          i_prot.skip(field_ident.field_type)?;
11681        },
11682      };
11683      i_prot.read_field_end()?;
11684    }
11685    i_prot.read_struct_end()?;
11686    verify_required_field_exists("TSIServiceTestInsertRecordsArgs.req", &f_1)?;
11687    let ret = TSIServiceTestInsertRecordsArgs {
11688      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11689    };
11690    Ok(ret)
11691  }
11692  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11693    let struct_ident = TStructIdentifier::new("testInsertRecords_args");
11694    o_prot.write_struct_begin(&struct_ident)?;
11695    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11696    self.req.write_to_out_protocol(o_prot)?;
11697    o_prot.write_field_end()?;
11698    o_prot.write_field_stop()?;
11699    o_prot.write_struct_end()
11700  }
11701}
11702
11703//
11704// TSIServiceTestInsertRecordsResult
11705//
11706
11707#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11708struct TSIServiceTestInsertRecordsResult {
11709  result_value: Option<TSStatus>,
11710}
11711
11712impl TSIServiceTestInsertRecordsResult {
11713  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertRecordsResult> {
11714    i_prot.read_struct_begin()?;
11715    let mut f_0: Option<TSStatus> = None;
11716    loop {
11717      let field_ident = i_prot.read_field_begin()?;
11718      if field_ident.field_type == TType::Stop {
11719        break;
11720      }
11721      let field_id = field_id(&field_ident)?;
11722      match field_id {
11723        0 => {
11724          let val = TSStatus::read_from_in_protocol(i_prot)?;
11725          f_0 = Some(val);
11726        },
11727        _ => {
11728          i_prot.skip(field_ident.field_type)?;
11729        },
11730      };
11731      i_prot.read_field_end()?;
11732    }
11733    i_prot.read_struct_end()?;
11734    let ret = TSIServiceTestInsertRecordsResult {
11735      result_value: f_0,
11736    };
11737    Ok(ret)
11738  }
11739  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11740    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertRecordsResult");
11741    o_prot.write_struct_begin(&struct_ident)?;
11742    if let Some(ref fld_var) = self.result_value {
11743      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11744      fld_var.write_to_out_protocol(o_prot)?;
11745      o_prot.write_field_end()?
11746    }
11747    o_prot.write_field_stop()?;
11748    o_prot.write_struct_end()
11749  }
11750  fn ok_or(self) -> thrift::Result<TSStatus> {
11751    if self.result_value.is_some() {
11752      Ok(self.result_value.unwrap())
11753    } else {
11754      Err(
11755        thrift::Error::Application(
11756          ApplicationError::new(
11757            ApplicationErrorKind::MissingResult,
11758            "no result received for TSIServiceTestInsertRecords"
11759          )
11760        )
11761      )
11762    }
11763  }
11764}
11765
11766//
11767// TSIServiceTestInsertRecordsOfOneDeviceArgs
11768//
11769
11770#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11771struct TSIServiceTestInsertRecordsOfOneDeviceArgs {
11772  req: TSInsertRecordsOfOneDeviceReq,
11773}
11774
11775impl TSIServiceTestInsertRecordsOfOneDeviceArgs {
11776  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertRecordsOfOneDeviceArgs> {
11777    i_prot.read_struct_begin()?;
11778    let mut f_1: Option<TSInsertRecordsOfOneDeviceReq> = None;
11779    loop {
11780      let field_ident = i_prot.read_field_begin()?;
11781      if field_ident.field_type == TType::Stop {
11782        break;
11783      }
11784      let field_id = field_id(&field_ident)?;
11785      match field_id {
11786        1 => {
11787          let val = TSInsertRecordsOfOneDeviceReq::read_from_in_protocol(i_prot)?;
11788          f_1 = Some(val);
11789        },
11790        _ => {
11791          i_prot.skip(field_ident.field_type)?;
11792        },
11793      };
11794      i_prot.read_field_end()?;
11795    }
11796    i_prot.read_struct_end()?;
11797    verify_required_field_exists("TSIServiceTestInsertRecordsOfOneDeviceArgs.req", &f_1)?;
11798    let ret = TSIServiceTestInsertRecordsOfOneDeviceArgs {
11799      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11800    };
11801    Ok(ret)
11802  }
11803  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11804    let struct_ident = TStructIdentifier::new("testInsertRecordsOfOneDevice_args");
11805    o_prot.write_struct_begin(&struct_ident)?;
11806    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11807    self.req.write_to_out_protocol(o_prot)?;
11808    o_prot.write_field_end()?;
11809    o_prot.write_field_stop()?;
11810    o_prot.write_struct_end()
11811  }
11812}
11813
11814//
11815// TSIServiceTestInsertRecordsOfOneDeviceResult
11816//
11817
11818#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11819struct TSIServiceTestInsertRecordsOfOneDeviceResult {
11820  result_value: Option<TSStatus>,
11821}
11822
11823impl TSIServiceTestInsertRecordsOfOneDeviceResult {
11824  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertRecordsOfOneDeviceResult> {
11825    i_prot.read_struct_begin()?;
11826    let mut f_0: Option<TSStatus> = None;
11827    loop {
11828      let field_ident = i_prot.read_field_begin()?;
11829      if field_ident.field_type == TType::Stop {
11830        break;
11831      }
11832      let field_id = field_id(&field_ident)?;
11833      match field_id {
11834        0 => {
11835          let val = TSStatus::read_from_in_protocol(i_prot)?;
11836          f_0 = Some(val);
11837        },
11838        _ => {
11839          i_prot.skip(field_ident.field_type)?;
11840        },
11841      };
11842      i_prot.read_field_end()?;
11843    }
11844    i_prot.read_struct_end()?;
11845    let ret = TSIServiceTestInsertRecordsOfOneDeviceResult {
11846      result_value: f_0,
11847    };
11848    Ok(ret)
11849  }
11850  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11851    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertRecordsOfOneDeviceResult");
11852    o_prot.write_struct_begin(&struct_ident)?;
11853    if let Some(ref fld_var) = self.result_value {
11854      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11855      fld_var.write_to_out_protocol(o_prot)?;
11856      o_prot.write_field_end()?
11857    }
11858    o_prot.write_field_stop()?;
11859    o_prot.write_struct_end()
11860  }
11861  fn ok_or(self) -> thrift::Result<TSStatus> {
11862    if self.result_value.is_some() {
11863      Ok(self.result_value.unwrap())
11864    } else {
11865      Err(
11866        thrift::Error::Application(
11867          ApplicationError::new(
11868            ApplicationErrorKind::MissingResult,
11869            "no result received for TSIServiceTestInsertRecordsOfOneDevice"
11870          )
11871        )
11872      )
11873    }
11874  }
11875}
11876
11877//
11878// TSIServiceTestInsertStringRecordsArgs
11879//
11880
11881#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11882struct TSIServiceTestInsertStringRecordsArgs {
11883  req: TSInsertStringRecordsReq,
11884}
11885
11886impl TSIServiceTestInsertStringRecordsArgs {
11887  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertStringRecordsArgs> {
11888    i_prot.read_struct_begin()?;
11889    let mut f_1: Option<TSInsertStringRecordsReq> = None;
11890    loop {
11891      let field_ident = i_prot.read_field_begin()?;
11892      if field_ident.field_type == TType::Stop {
11893        break;
11894      }
11895      let field_id = field_id(&field_ident)?;
11896      match field_id {
11897        1 => {
11898          let val = TSInsertStringRecordsReq::read_from_in_protocol(i_prot)?;
11899          f_1 = Some(val);
11900        },
11901        _ => {
11902          i_prot.skip(field_ident.field_type)?;
11903        },
11904      };
11905      i_prot.read_field_end()?;
11906    }
11907    i_prot.read_struct_end()?;
11908    verify_required_field_exists("TSIServiceTestInsertStringRecordsArgs.req", &f_1)?;
11909    let ret = TSIServiceTestInsertStringRecordsArgs {
11910      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
11911    };
11912    Ok(ret)
11913  }
11914  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11915    let struct_ident = TStructIdentifier::new("testInsertStringRecords_args");
11916    o_prot.write_struct_begin(&struct_ident)?;
11917    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
11918    self.req.write_to_out_protocol(o_prot)?;
11919    o_prot.write_field_end()?;
11920    o_prot.write_field_stop()?;
11921    o_prot.write_struct_end()
11922  }
11923}
11924
11925//
11926// TSIServiceTestInsertStringRecordsResult
11927//
11928
11929#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11930struct TSIServiceTestInsertStringRecordsResult {
11931  result_value: Option<TSStatus>,
11932}
11933
11934impl TSIServiceTestInsertStringRecordsResult {
11935  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceTestInsertStringRecordsResult> {
11936    i_prot.read_struct_begin()?;
11937    let mut f_0: Option<TSStatus> = None;
11938    loop {
11939      let field_ident = i_prot.read_field_begin()?;
11940      if field_ident.field_type == TType::Stop {
11941        break;
11942      }
11943      let field_id = field_id(&field_ident)?;
11944      match field_id {
11945        0 => {
11946          let val = TSStatus::read_from_in_protocol(i_prot)?;
11947          f_0 = Some(val);
11948        },
11949        _ => {
11950          i_prot.skip(field_ident.field_type)?;
11951        },
11952      };
11953      i_prot.read_field_end()?;
11954    }
11955    i_prot.read_struct_end()?;
11956    let ret = TSIServiceTestInsertStringRecordsResult {
11957      result_value: f_0,
11958    };
11959    Ok(ret)
11960  }
11961  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11962    let struct_ident = TStructIdentifier::new("TSIServiceTestInsertStringRecordsResult");
11963    o_prot.write_struct_begin(&struct_ident)?;
11964    if let Some(ref fld_var) = self.result_value {
11965      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
11966      fld_var.write_to_out_protocol(o_prot)?;
11967      o_prot.write_field_end()?
11968    }
11969    o_prot.write_field_stop()?;
11970    o_prot.write_struct_end()
11971  }
11972  fn ok_or(self) -> thrift::Result<TSStatus> {
11973    if self.result_value.is_some() {
11974      Ok(self.result_value.unwrap())
11975    } else {
11976      Err(
11977        thrift::Error::Application(
11978          ApplicationError::new(
11979            ApplicationErrorKind::MissingResult,
11980            "no result received for TSIServiceTestInsertStringRecords"
11981          )
11982        )
11983      )
11984    }
11985  }
11986}
11987
11988//
11989// TSIServiceDeleteDataArgs
11990//
11991
11992#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
11993struct TSIServiceDeleteDataArgs {
11994  req: TSDeleteDataReq,
11995}
11996
11997impl TSIServiceDeleteDataArgs {
11998  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceDeleteDataArgs> {
11999    i_prot.read_struct_begin()?;
12000    let mut f_1: Option<TSDeleteDataReq> = None;
12001    loop {
12002      let field_ident = i_prot.read_field_begin()?;
12003      if field_ident.field_type == TType::Stop {
12004        break;
12005      }
12006      let field_id = field_id(&field_ident)?;
12007      match field_id {
12008        1 => {
12009          let val = TSDeleteDataReq::read_from_in_protocol(i_prot)?;
12010          f_1 = Some(val);
12011        },
12012        _ => {
12013          i_prot.skip(field_ident.field_type)?;
12014        },
12015      };
12016      i_prot.read_field_end()?;
12017    }
12018    i_prot.read_struct_end()?;
12019    verify_required_field_exists("TSIServiceDeleteDataArgs.req", &f_1)?;
12020    let ret = TSIServiceDeleteDataArgs {
12021      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12022    };
12023    Ok(ret)
12024  }
12025  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12026    let struct_ident = TStructIdentifier::new("deleteData_args");
12027    o_prot.write_struct_begin(&struct_ident)?;
12028    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12029    self.req.write_to_out_protocol(o_prot)?;
12030    o_prot.write_field_end()?;
12031    o_prot.write_field_stop()?;
12032    o_prot.write_struct_end()
12033  }
12034}
12035
12036//
12037// TSIServiceDeleteDataResult
12038//
12039
12040#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12041struct TSIServiceDeleteDataResult {
12042  result_value: Option<TSStatus>,
12043}
12044
12045impl TSIServiceDeleteDataResult {
12046  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceDeleteDataResult> {
12047    i_prot.read_struct_begin()?;
12048    let mut f_0: Option<TSStatus> = None;
12049    loop {
12050      let field_ident = i_prot.read_field_begin()?;
12051      if field_ident.field_type == TType::Stop {
12052        break;
12053      }
12054      let field_id = field_id(&field_ident)?;
12055      match field_id {
12056        0 => {
12057          let val = TSStatus::read_from_in_protocol(i_prot)?;
12058          f_0 = Some(val);
12059        },
12060        _ => {
12061          i_prot.skip(field_ident.field_type)?;
12062        },
12063      };
12064      i_prot.read_field_end()?;
12065    }
12066    i_prot.read_struct_end()?;
12067    let ret = TSIServiceDeleteDataResult {
12068      result_value: f_0,
12069    };
12070    Ok(ret)
12071  }
12072  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12073    let struct_ident = TStructIdentifier::new("TSIServiceDeleteDataResult");
12074    o_prot.write_struct_begin(&struct_ident)?;
12075    if let Some(ref fld_var) = self.result_value {
12076      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12077      fld_var.write_to_out_protocol(o_prot)?;
12078      o_prot.write_field_end()?
12079    }
12080    o_prot.write_field_stop()?;
12081    o_prot.write_struct_end()
12082  }
12083  fn ok_or(self) -> thrift::Result<TSStatus> {
12084    if self.result_value.is_some() {
12085      Ok(self.result_value.unwrap())
12086    } else {
12087      Err(
12088        thrift::Error::Application(
12089          ApplicationError::new(
12090            ApplicationErrorKind::MissingResult,
12091            "no result received for TSIServiceDeleteData"
12092          )
12093        )
12094      )
12095    }
12096  }
12097}
12098
12099//
12100// TSIServiceExecuteRawDataQueryArgs
12101//
12102
12103#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12104struct TSIServiceExecuteRawDataQueryArgs {
12105  req: TSRawDataQueryReq,
12106}
12107
12108impl TSIServiceExecuteRawDataQueryArgs {
12109  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteRawDataQueryArgs> {
12110    i_prot.read_struct_begin()?;
12111    let mut f_1: Option<TSRawDataQueryReq> = None;
12112    loop {
12113      let field_ident = i_prot.read_field_begin()?;
12114      if field_ident.field_type == TType::Stop {
12115        break;
12116      }
12117      let field_id = field_id(&field_ident)?;
12118      match field_id {
12119        1 => {
12120          let val = TSRawDataQueryReq::read_from_in_protocol(i_prot)?;
12121          f_1 = Some(val);
12122        },
12123        _ => {
12124          i_prot.skip(field_ident.field_type)?;
12125        },
12126      };
12127      i_prot.read_field_end()?;
12128    }
12129    i_prot.read_struct_end()?;
12130    verify_required_field_exists("TSIServiceExecuteRawDataQueryArgs.req", &f_1)?;
12131    let ret = TSIServiceExecuteRawDataQueryArgs {
12132      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12133    };
12134    Ok(ret)
12135  }
12136  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12137    let struct_ident = TStructIdentifier::new("executeRawDataQuery_args");
12138    o_prot.write_struct_begin(&struct_ident)?;
12139    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12140    self.req.write_to_out_protocol(o_prot)?;
12141    o_prot.write_field_end()?;
12142    o_prot.write_field_stop()?;
12143    o_prot.write_struct_end()
12144  }
12145}
12146
12147//
12148// TSIServiceExecuteRawDataQueryResult
12149//
12150
12151#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12152struct TSIServiceExecuteRawDataQueryResult {
12153  result_value: Option<TSExecuteStatementResp>,
12154}
12155
12156impl TSIServiceExecuteRawDataQueryResult {
12157  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteRawDataQueryResult> {
12158    i_prot.read_struct_begin()?;
12159    let mut f_0: Option<TSExecuteStatementResp> = None;
12160    loop {
12161      let field_ident = i_prot.read_field_begin()?;
12162      if field_ident.field_type == TType::Stop {
12163        break;
12164      }
12165      let field_id = field_id(&field_ident)?;
12166      match field_id {
12167        0 => {
12168          let val = TSExecuteStatementResp::read_from_in_protocol(i_prot)?;
12169          f_0 = Some(val);
12170        },
12171        _ => {
12172          i_prot.skip(field_ident.field_type)?;
12173        },
12174      };
12175      i_prot.read_field_end()?;
12176    }
12177    i_prot.read_struct_end()?;
12178    let ret = TSIServiceExecuteRawDataQueryResult {
12179      result_value: f_0,
12180    };
12181    Ok(ret)
12182  }
12183  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12184    let struct_ident = TStructIdentifier::new("TSIServiceExecuteRawDataQueryResult");
12185    o_prot.write_struct_begin(&struct_ident)?;
12186    if let Some(ref fld_var) = self.result_value {
12187      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12188      fld_var.write_to_out_protocol(o_prot)?;
12189      o_prot.write_field_end()?
12190    }
12191    o_prot.write_field_stop()?;
12192    o_prot.write_struct_end()
12193  }
12194  fn ok_or(self) -> thrift::Result<TSExecuteStatementResp> {
12195    if self.result_value.is_some() {
12196      Ok(self.result_value.unwrap())
12197    } else {
12198      Err(
12199        thrift::Error::Application(
12200          ApplicationError::new(
12201            ApplicationErrorKind::MissingResult,
12202            "no result received for TSIServiceExecuteRawDataQuery"
12203          )
12204        )
12205      )
12206    }
12207  }
12208}
12209
12210//
12211// TSIServiceExecuteLastDataQueryArgs
12212//
12213
12214#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12215struct TSIServiceExecuteLastDataQueryArgs {
12216  req: TSLastDataQueryReq,
12217}
12218
12219impl TSIServiceExecuteLastDataQueryArgs {
12220  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteLastDataQueryArgs> {
12221    i_prot.read_struct_begin()?;
12222    let mut f_1: Option<TSLastDataQueryReq> = None;
12223    loop {
12224      let field_ident = i_prot.read_field_begin()?;
12225      if field_ident.field_type == TType::Stop {
12226        break;
12227      }
12228      let field_id = field_id(&field_ident)?;
12229      match field_id {
12230        1 => {
12231          let val = TSLastDataQueryReq::read_from_in_protocol(i_prot)?;
12232          f_1 = Some(val);
12233        },
12234        _ => {
12235          i_prot.skip(field_ident.field_type)?;
12236        },
12237      };
12238      i_prot.read_field_end()?;
12239    }
12240    i_prot.read_struct_end()?;
12241    verify_required_field_exists("TSIServiceExecuteLastDataQueryArgs.req", &f_1)?;
12242    let ret = TSIServiceExecuteLastDataQueryArgs {
12243      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12244    };
12245    Ok(ret)
12246  }
12247  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12248    let struct_ident = TStructIdentifier::new("executeLastDataQuery_args");
12249    o_prot.write_struct_begin(&struct_ident)?;
12250    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12251    self.req.write_to_out_protocol(o_prot)?;
12252    o_prot.write_field_end()?;
12253    o_prot.write_field_stop()?;
12254    o_prot.write_struct_end()
12255  }
12256}
12257
12258//
12259// TSIServiceExecuteLastDataQueryResult
12260//
12261
12262#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12263struct TSIServiceExecuteLastDataQueryResult {
12264  result_value: Option<TSExecuteStatementResp>,
12265}
12266
12267impl TSIServiceExecuteLastDataQueryResult {
12268  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceExecuteLastDataQueryResult> {
12269    i_prot.read_struct_begin()?;
12270    let mut f_0: Option<TSExecuteStatementResp> = None;
12271    loop {
12272      let field_ident = i_prot.read_field_begin()?;
12273      if field_ident.field_type == TType::Stop {
12274        break;
12275      }
12276      let field_id = field_id(&field_ident)?;
12277      match field_id {
12278        0 => {
12279          let val = TSExecuteStatementResp::read_from_in_protocol(i_prot)?;
12280          f_0 = Some(val);
12281        },
12282        _ => {
12283          i_prot.skip(field_ident.field_type)?;
12284        },
12285      };
12286      i_prot.read_field_end()?;
12287    }
12288    i_prot.read_struct_end()?;
12289    let ret = TSIServiceExecuteLastDataQueryResult {
12290      result_value: f_0,
12291    };
12292    Ok(ret)
12293  }
12294  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12295    let struct_ident = TStructIdentifier::new("TSIServiceExecuteLastDataQueryResult");
12296    o_prot.write_struct_begin(&struct_ident)?;
12297    if let Some(ref fld_var) = self.result_value {
12298      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12299      fld_var.write_to_out_protocol(o_prot)?;
12300      o_prot.write_field_end()?
12301    }
12302    o_prot.write_field_stop()?;
12303    o_prot.write_struct_end()
12304  }
12305  fn ok_or(self) -> thrift::Result<TSExecuteStatementResp> {
12306    if self.result_value.is_some() {
12307      Ok(self.result_value.unwrap())
12308    } else {
12309      Err(
12310        thrift::Error::Application(
12311          ApplicationError::new(
12312            ApplicationErrorKind::MissingResult,
12313            "no result received for TSIServiceExecuteLastDataQuery"
12314          )
12315        )
12316      )
12317    }
12318  }
12319}
12320
12321//
12322// TSIServiceRequestStatementIdArgs
12323//
12324
12325#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12326struct TSIServiceRequestStatementIdArgs {
12327  session_id: i64,
12328}
12329
12330impl TSIServiceRequestStatementIdArgs {
12331  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceRequestStatementIdArgs> {
12332    i_prot.read_struct_begin()?;
12333    let mut f_1: Option<i64> = None;
12334    loop {
12335      let field_ident = i_prot.read_field_begin()?;
12336      if field_ident.field_type == TType::Stop {
12337        break;
12338      }
12339      let field_id = field_id(&field_ident)?;
12340      match field_id {
12341        1 => {
12342          let val = i_prot.read_i64()?;
12343          f_1 = Some(val);
12344        },
12345        _ => {
12346          i_prot.skip(field_ident.field_type)?;
12347        },
12348      };
12349      i_prot.read_field_end()?;
12350    }
12351    i_prot.read_struct_end()?;
12352    verify_required_field_exists("TSIServiceRequestStatementIdArgs.session_id", &f_1)?;
12353    let ret = TSIServiceRequestStatementIdArgs {
12354      session_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
12355    };
12356    Ok(ret)
12357  }
12358  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12359    let struct_ident = TStructIdentifier::new("requestStatementId_args");
12360    o_prot.write_struct_begin(&struct_ident)?;
12361    o_prot.write_field_begin(&TFieldIdentifier::new("sessionId", TType::I64, 1))?;
12362    o_prot.write_i64(self.session_id)?;
12363    o_prot.write_field_end()?;
12364    o_prot.write_field_stop()?;
12365    o_prot.write_struct_end()
12366  }
12367}
12368
12369//
12370// TSIServiceRequestStatementIdResult
12371//
12372
12373#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12374struct TSIServiceRequestStatementIdResult {
12375  result_value: Option<i64>,
12376}
12377
12378impl TSIServiceRequestStatementIdResult {
12379  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceRequestStatementIdResult> {
12380    i_prot.read_struct_begin()?;
12381    let mut f_0: Option<i64> = None;
12382    loop {
12383      let field_ident = i_prot.read_field_begin()?;
12384      if field_ident.field_type == TType::Stop {
12385        break;
12386      }
12387      let field_id = field_id(&field_ident)?;
12388      match field_id {
12389        0 => {
12390          let val = i_prot.read_i64()?;
12391          f_0 = Some(val);
12392        },
12393        _ => {
12394          i_prot.skip(field_ident.field_type)?;
12395        },
12396      };
12397      i_prot.read_field_end()?;
12398    }
12399    i_prot.read_struct_end()?;
12400    let ret = TSIServiceRequestStatementIdResult {
12401      result_value: f_0,
12402    };
12403    Ok(ret)
12404  }
12405  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12406    let struct_ident = TStructIdentifier::new("TSIServiceRequestStatementIdResult");
12407    o_prot.write_struct_begin(&struct_ident)?;
12408    if let Some(fld_var) = self.result_value {
12409      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I64, 0))?;
12410      o_prot.write_i64(fld_var)?;
12411      o_prot.write_field_end()?
12412    }
12413    o_prot.write_field_stop()?;
12414    o_prot.write_struct_end()
12415  }
12416  fn ok_or(self) -> thrift::Result<i64> {
12417    if self.result_value.is_some() {
12418      Ok(self.result_value.unwrap())
12419    } else {
12420      Err(
12421        thrift::Error::Application(
12422          ApplicationError::new(
12423            ApplicationErrorKind::MissingResult,
12424            "no result received for TSIServiceRequestStatementId"
12425          )
12426        )
12427      )
12428    }
12429  }
12430}
12431
12432//
12433// TSIServiceCreateSchemaTemplateArgs
12434//
12435
12436#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12437struct TSIServiceCreateSchemaTemplateArgs {
12438  req: TSCreateSchemaTemplateReq,
12439}
12440
12441impl TSIServiceCreateSchemaTemplateArgs {
12442  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateSchemaTemplateArgs> {
12443    i_prot.read_struct_begin()?;
12444    let mut f_1: Option<TSCreateSchemaTemplateReq> = None;
12445    loop {
12446      let field_ident = i_prot.read_field_begin()?;
12447      if field_ident.field_type == TType::Stop {
12448        break;
12449      }
12450      let field_id = field_id(&field_ident)?;
12451      match field_id {
12452        1 => {
12453          let val = TSCreateSchemaTemplateReq::read_from_in_protocol(i_prot)?;
12454          f_1 = Some(val);
12455        },
12456        _ => {
12457          i_prot.skip(field_ident.field_type)?;
12458        },
12459      };
12460      i_prot.read_field_end()?;
12461    }
12462    i_prot.read_struct_end()?;
12463    verify_required_field_exists("TSIServiceCreateSchemaTemplateArgs.req", &f_1)?;
12464    let ret = TSIServiceCreateSchemaTemplateArgs {
12465      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12466    };
12467    Ok(ret)
12468  }
12469  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12470    let struct_ident = TStructIdentifier::new("createSchemaTemplate_args");
12471    o_prot.write_struct_begin(&struct_ident)?;
12472    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12473    self.req.write_to_out_protocol(o_prot)?;
12474    o_prot.write_field_end()?;
12475    o_prot.write_field_stop()?;
12476    o_prot.write_struct_end()
12477  }
12478}
12479
12480//
12481// TSIServiceCreateSchemaTemplateResult
12482//
12483
12484#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12485struct TSIServiceCreateSchemaTemplateResult {
12486  result_value: Option<TSStatus>,
12487}
12488
12489impl TSIServiceCreateSchemaTemplateResult {
12490  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceCreateSchemaTemplateResult> {
12491    i_prot.read_struct_begin()?;
12492    let mut f_0: Option<TSStatus> = None;
12493    loop {
12494      let field_ident = i_prot.read_field_begin()?;
12495      if field_ident.field_type == TType::Stop {
12496        break;
12497      }
12498      let field_id = field_id(&field_ident)?;
12499      match field_id {
12500        0 => {
12501          let val = TSStatus::read_from_in_protocol(i_prot)?;
12502          f_0 = Some(val);
12503        },
12504        _ => {
12505          i_prot.skip(field_ident.field_type)?;
12506        },
12507      };
12508      i_prot.read_field_end()?;
12509    }
12510    i_prot.read_struct_end()?;
12511    let ret = TSIServiceCreateSchemaTemplateResult {
12512      result_value: f_0,
12513    };
12514    Ok(ret)
12515  }
12516  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12517    let struct_ident = TStructIdentifier::new("TSIServiceCreateSchemaTemplateResult");
12518    o_prot.write_struct_begin(&struct_ident)?;
12519    if let Some(ref fld_var) = self.result_value {
12520      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12521      fld_var.write_to_out_protocol(o_prot)?;
12522      o_prot.write_field_end()?
12523    }
12524    o_prot.write_field_stop()?;
12525    o_prot.write_struct_end()
12526  }
12527  fn ok_or(self) -> thrift::Result<TSStatus> {
12528    if self.result_value.is_some() {
12529      Ok(self.result_value.unwrap())
12530    } else {
12531      Err(
12532        thrift::Error::Application(
12533          ApplicationError::new(
12534            ApplicationErrorKind::MissingResult,
12535            "no result received for TSIServiceCreateSchemaTemplate"
12536          )
12537        )
12538      )
12539    }
12540  }
12541}
12542
12543//
12544// TSIServiceAppendSchemaTemplateArgs
12545//
12546
12547#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12548struct TSIServiceAppendSchemaTemplateArgs {
12549  req: TSAppendSchemaTemplateReq,
12550}
12551
12552impl TSIServiceAppendSchemaTemplateArgs {
12553  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceAppendSchemaTemplateArgs> {
12554    i_prot.read_struct_begin()?;
12555    let mut f_1: Option<TSAppendSchemaTemplateReq> = None;
12556    loop {
12557      let field_ident = i_prot.read_field_begin()?;
12558      if field_ident.field_type == TType::Stop {
12559        break;
12560      }
12561      let field_id = field_id(&field_ident)?;
12562      match field_id {
12563        1 => {
12564          let val = TSAppendSchemaTemplateReq::read_from_in_protocol(i_prot)?;
12565          f_1 = Some(val);
12566        },
12567        _ => {
12568          i_prot.skip(field_ident.field_type)?;
12569        },
12570      };
12571      i_prot.read_field_end()?;
12572    }
12573    i_prot.read_struct_end()?;
12574    verify_required_field_exists("TSIServiceAppendSchemaTemplateArgs.req", &f_1)?;
12575    let ret = TSIServiceAppendSchemaTemplateArgs {
12576      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12577    };
12578    Ok(ret)
12579  }
12580  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12581    let struct_ident = TStructIdentifier::new("appendSchemaTemplate_args");
12582    o_prot.write_struct_begin(&struct_ident)?;
12583    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12584    self.req.write_to_out_protocol(o_prot)?;
12585    o_prot.write_field_end()?;
12586    o_prot.write_field_stop()?;
12587    o_prot.write_struct_end()
12588  }
12589}
12590
12591//
12592// TSIServiceAppendSchemaTemplateResult
12593//
12594
12595#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12596struct TSIServiceAppendSchemaTemplateResult {
12597  result_value: Option<TSStatus>,
12598}
12599
12600impl TSIServiceAppendSchemaTemplateResult {
12601  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceAppendSchemaTemplateResult> {
12602    i_prot.read_struct_begin()?;
12603    let mut f_0: Option<TSStatus> = None;
12604    loop {
12605      let field_ident = i_prot.read_field_begin()?;
12606      if field_ident.field_type == TType::Stop {
12607        break;
12608      }
12609      let field_id = field_id(&field_ident)?;
12610      match field_id {
12611        0 => {
12612          let val = TSStatus::read_from_in_protocol(i_prot)?;
12613          f_0 = Some(val);
12614        },
12615        _ => {
12616          i_prot.skip(field_ident.field_type)?;
12617        },
12618      };
12619      i_prot.read_field_end()?;
12620    }
12621    i_prot.read_struct_end()?;
12622    let ret = TSIServiceAppendSchemaTemplateResult {
12623      result_value: f_0,
12624    };
12625    Ok(ret)
12626  }
12627  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12628    let struct_ident = TStructIdentifier::new("TSIServiceAppendSchemaTemplateResult");
12629    o_prot.write_struct_begin(&struct_ident)?;
12630    if let Some(ref fld_var) = self.result_value {
12631      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12632      fld_var.write_to_out_protocol(o_prot)?;
12633      o_prot.write_field_end()?
12634    }
12635    o_prot.write_field_stop()?;
12636    o_prot.write_struct_end()
12637  }
12638  fn ok_or(self) -> thrift::Result<TSStatus> {
12639    if self.result_value.is_some() {
12640      Ok(self.result_value.unwrap())
12641    } else {
12642      Err(
12643        thrift::Error::Application(
12644          ApplicationError::new(
12645            ApplicationErrorKind::MissingResult,
12646            "no result received for TSIServiceAppendSchemaTemplate"
12647          )
12648        )
12649      )
12650    }
12651  }
12652}
12653
12654//
12655// TSIServicePruneSchemaTemplateArgs
12656//
12657
12658#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12659struct TSIServicePruneSchemaTemplateArgs {
12660  req: TSPruneSchemaTemplateReq,
12661}
12662
12663impl TSIServicePruneSchemaTemplateArgs {
12664  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServicePruneSchemaTemplateArgs> {
12665    i_prot.read_struct_begin()?;
12666    let mut f_1: Option<TSPruneSchemaTemplateReq> = None;
12667    loop {
12668      let field_ident = i_prot.read_field_begin()?;
12669      if field_ident.field_type == TType::Stop {
12670        break;
12671      }
12672      let field_id = field_id(&field_ident)?;
12673      match field_id {
12674        1 => {
12675          let val = TSPruneSchemaTemplateReq::read_from_in_protocol(i_prot)?;
12676          f_1 = Some(val);
12677        },
12678        _ => {
12679          i_prot.skip(field_ident.field_type)?;
12680        },
12681      };
12682      i_prot.read_field_end()?;
12683    }
12684    i_prot.read_struct_end()?;
12685    verify_required_field_exists("TSIServicePruneSchemaTemplateArgs.req", &f_1)?;
12686    let ret = TSIServicePruneSchemaTemplateArgs {
12687      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12688    };
12689    Ok(ret)
12690  }
12691  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12692    let struct_ident = TStructIdentifier::new("pruneSchemaTemplate_args");
12693    o_prot.write_struct_begin(&struct_ident)?;
12694    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12695    self.req.write_to_out_protocol(o_prot)?;
12696    o_prot.write_field_end()?;
12697    o_prot.write_field_stop()?;
12698    o_prot.write_struct_end()
12699  }
12700}
12701
12702//
12703// TSIServicePruneSchemaTemplateResult
12704//
12705
12706#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12707struct TSIServicePruneSchemaTemplateResult {
12708  result_value: Option<TSStatus>,
12709}
12710
12711impl TSIServicePruneSchemaTemplateResult {
12712  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServicePruneSchemaTemplateResult> {
12713    i_prot.read_struct_begin()?;
12714    let mut f_0: Option<TSStatus> = None;
12715    loop {
12716      let field_ident = i_prot.read_field_begin()?;
12717      if field_ident.field_type == TType::Stop {
12718        break;
12719      }
12720      let field_id = field_id(&field_ident)?;
12721      match field_id {
12722        0 => {
12723          let val = TSStatus::read_from_in_protocol(i_prot)?;
12724          f_0 = Some(val);
12725        },
12726        _ => {
12727          i_prot.skip(field_ident.field_type)?;
12728        },
12729      };
12730      i_prot.read_field_end()?;
12731    }
12732    i_prot.read_struct_end()?;
12733    let ret = TSIServicePruneSchemaTemplateResult {
12734      result_value: f_0,
12735    };
12736    Ok(ret)
12737  }
12738  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12739    let struct_ident = TStructIdentifier::new("TSIServicePruneSchemaTemplateResult");
12740    o_prot.write_struct_begin(&struct_ident)?;
12741    if let Some(ref fld_var) = self.result_value {
12742      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12743      fld_var.write_to_out_protocol(o_prot)?;
12744      o_prot.write_field_end()?
12745    }
12746    o_prot.write_field_stop()?;
12747    o_prot.write_struct_end()
12748  }
12749  fn ok_or(self) -> thrift::Result<TSStatus> {
12750    if self.result_value.is_some() {
12751      Ok(self.result_value.unwrap())
12752    } else {
12753      Err(
12754        thrift::Error::Application(
12755          ApplicationError::new(
12756            ApplicationErrorKind::MissingResult,
12757            "no result received for TSIServicePruneSchemaTemplate"
12758          )
12759        )
12760      )
12761    }
12762  }
12763}
12764
12765//
12766// TSIServiceQuerySchemaTemplateArgs
12767//
12768
12769#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12770struct TSIServiceQuerySchemaTemplateArgs {
12771  req: TSQueryTemplateReq,
12772}
12773
12774impl TSIServiceQuerySchemaTemplateArgs {
12775  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceQuerySchemaTemplateArgs> {
12776    i_prot.read_struct_begin()?;
12777    let mut f_1: Option<TSQueryTemplateReq> = None;
12778    loop {
12779      let field_ident = i_prot.read_field_begin()?;
12780      if field_ident.field_type == TType::Stop {
12781        break;
12782      }
12783      let field_id = field_id(&field_ident)?;
12784      match field_id {
12785        1 => {
12786          let val = TSQueryTemplateReq::read_from_in_protocol(i_prot)?;
12787          f_1 = Some(val);
12788        },
12789        _ => {
12790          i_prot.skip(field_ident.field_type)?;
12791        },
12792      };
12793      i_prot.read_field_end()?;
12794    }
12795    i_prot.read_struct_end()?;
12796    verify_required_field_exists("TSIServiceQuerySchemaTemplateArgs.req", &f_1)?;
12797    let ret = TSIServiceQuerySchemaTemplateArgs {
12798      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12799    };
12800    Ok(ret)
12801  }
12802  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12803    let struct_ident = TStructIdentifier::new("querySchemaTemplate_args");
12804    o_prot.write_struct_begin(&struct_ident)?;
12805    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12806    self.req.write_to_out_protocol(o_prot)?;
12807    o_prot.write_field_end()?;
12808    o_prot.write_field_stop()?;
12809    o_prot.write_struct_end()
12810  }
12811}
12812
12813//
12814// TSIServiceQuerySchemaTemplateResult
12815//
12816
12817#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12818struct TSIServiceQuerySchemaTemplateResult {
12819  result_value: Option<TSQueryTemplateResp>,
12820}
12821
12822impl TSIServiceQuerySchemaTemplateResult {
12823  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceQuerySchemaTemplateResult> {
12824    i_prot.read_struct_begin()?;
12825    let mut f_0: Option<TSQueryTemplateResp> = None;
12826    loop {
12827      let field_ident = i_prot.read_field_begin()?;
12828      if field_ident.field_type == TType::Stop {
12829        break;
12830      }
12831      let field_id = field_id(&field_ident)?;
12832      match field_id {
12833        0 => {
12834          let val = TSQueryTemplateResp::read_from_in_protocol(i_prot)?;
12835          f_0 = Some(val);
12836        },
12837        _ => {
12838          i_prot.skip(field_ident.field_type)?;
12839        },
12840      };
12841      i_prot.read_field_end()?;
12842    }
12843    i_prot.read_struct_end()?;
12844    let ret = TSIServiceQuerySchemaTemplateResult {
12845      result_value: f_0,
12846    };
12847    Ok(ret)
12848  }
12849  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12850    let struct_ident = TStructIdentifier::new("TSIServiceQuerySchemaTemplateResult");
12851    o_prot.write_struct_begin(&struct_ident)?;
12852    if let Some(ref fld_var) = self.result_value {
12853      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12854      fld_var.write_to_out_protocol(o_prot)?;
12855      o_prot.write_field_end()?
12856    }
12857    o_prot.write_field_stop()?;
12858    o_prot.write_struct_end()
12859  }
12860  fn ok_or(self) -> thrift::Result<TSQueryTemplateResp> {
12861    if self.result_value.is_some() {
12862      Ok(self.result_value.unwrap())
12863    } else {
12864      Err(
12865        thrift::Error::Application(
12866          ApplicationError::new(
12867            ApplicationErrorKind::MissingResult,
12868            "no result received for TSIServiceQuerySchemaTemplate"
12869          )
12870        )
12871      )
12872    }
12873  }
12874}
12875
12876//
12877// TSIServiceSetSchemaTemplateArgs
12878//
12879
12880#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12881struct TSIServiceSetSchemaTemplateArgs {
12882  req: TSSetSchemaTemplateReq,
12883}
12884
12885impl TSIServiceSetSchemaTemplateArgs {
12886  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceSetSchemaTemplateArgs> {
12887    i_prot.read_struct_begin()?;
12888    let mut f_1: Option<TSSetSchemaTemplateReq> = None;
12889    loop {
12890      let field_ident = i_prot.read_field_begin()?;
12891      if field_ident.field_type == TType::Stop {
12892        break;
12893      }
12894      let field_id = field_id(&field_ident)?;
12895      match field_id {
12896        1 => {
12897          let val = TSSetSchemaTemplateReq::read_from_in_protocol(i_prot)?;
12898          f_1 = Some(val);
12899        },
12900        _ => {
12901          i_prot.skip(field_ident.field_type)?;
12902        },
12903      };
12904      i_prot.read_field_end()?;
12905    }
12906    i_prot.read_struct_end()?;
12907    verify_required_field_exists("TSIServiceSetSchemaTemplateArgs.req", &f_1)?;
12908    let ret = TSIServiceSetSchemaTemplateArgs {
12909      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
12910    };
12911    Ok(ret)
12912  }
12913  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12914    let struct_ident = TStructIdentifier::new("setSchemaTemplate_args");
12915    o_prot.write_struct_begin(&struct_ident)?;
12916    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
12917    self.req.write_to_out_protocol(o_prot)?;
12918    o_prot.write_field_end()?;
12919    o_prot.write_field_stop()?;
12920    o_prot.write_struct_end()
12921  }
12922}
12923
12924//
12925// TSIServiceSetSchemaTemplateResult
12926//
12927
12928#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12929struct TSIServiceSetSchemaTemplateResult {
12930  result_value: Option<TSStatus>,
12931}
12932
12933impl TSIServiceSetSchemaTemplateResult {
12934  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceSetSchemaTemplateResult> {
12935    i_prot.read_struct_begin()?;
12936    let mut f_0: Option<TSStatus> = None;
12937    loop {
12938      let field_ident = i_prot.read_field_begin()?;
12939      if field_ident.field_type == TType::Stop {
12940        break;
12941      }
12942      let field_id = field_id(&field_ident)?;
12943      match field_id {
12944        0 => {
12945          let val = TSStatus::read_from_in_protocol(i_prot)?;
12946          f_0 = Some(val);
12947        },
12948        _ => {
12949          i_prot.skip(field_ident.field_type)?;
12950        },
12951      };
12952      i_prot.read_field_end()?;
12953    }
12954    i_prot.read_struct_end()?;
12955    let ret = TSIServiceSetSchemaTemplateResult {
12956      result_value: f_0,
12957    };
12958    Ok(ret)
12959  }
12960  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12961    let struct_ident = TStructIdentifier::new("TSIServiceSetSchemaTemplateResult");
12962    o_prot.write_struct_begin(&struct_ident)?;
12963    if let Some(ref fld_var) = self.result_value {
12964      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
12965      fld_var.write_to_out_protocol(o_prot)?;
12966      o_prot.write_field_end()?
12967    }
12968    o_prot.write_field_stop()?;
12969    o_prot.write_struct_end()
12970  }
12971  fn ok_or(self) -> thrift::Result<TSStatus> {
12972    if self.result_value.is_some() {
12973      Ok(self.result_value.unwrap())
12974    } else {
12975      Err(
12976        thrift::Error::Application(
12977          ApplicationError::new(
12978            ApplicationErrorKind::MissingResult,
12979            "no result received for TSIServiceSetSchemaTemplate"
12980          )
12981        )
12982      )
12983    }
12984  }
12985}
12986
12987//
12988// TSIServiceUnsetSchemaTemplateArgs
12989//
12990
12991#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
12992struct TSIServiceUnsetSchemaTemplateArgs {
12993  req: TSUnsetSchemaTemplateReq,
12994}
12995
12996impl TSIServiceUnsetSchemaTemplateArgs {
12997  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceUnsetSchemaTemplateArgs> {
12998    i_prot.read_struct_begin()?;
12999    let mut f_1: Option<TSUnsetSchemaTemplateReq> = None;
13000    loop {
13001      let field_ident = i_prot.read_field_begin()?;
13002      if field_ident.field_type == TType::Stop {
13003        break;
13004      }
13005      let field_id = field_id(&field_ident)?;
13006      match field_id {
13007        1 => {
13008          let val = TSUnsetSchemaTemplateReq::read_from_in_protocol(i_prot)?;
13009          f_1 = Some(val);
13010        },
13011        _ => {
13012          i_prot.skip(field_ident.field_type)?;
13013        },
13014      };
13015      i_prot.read_field_end()?;
13016    }
13017    i_prot.read_struct_end()?;
13018    verify_required_field_exists("TSIServiceUnsetSchemaTemplateArgs.req", &f_1)?;
13019    let ret = TSIServiceUnsetSchemaTemplateArgs {
13020      req: f_1.expect("auto-generated code should have checked for presence of required fields"),
13021    };
13022    Ok(ret)
13023  }
13024  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13025    let struct_ident = TStructIdentifier::new("unsetSchemaTemplate_args");
13026    o_prot.write_struct_begin(&struct_ident)?;
13027    o_prot.write_field_begin(&TFieldIdentifier::new("req", TType::Struct, 1))?;
13028    self.req.write_to_out_protocol(o_prot)?;
13029    o_prot.write_field_end()?;
13030    o_prot.write_field_stop()?;
13031    o_prot.write_struct_end()
13032  }
13033}
13034
13035//
13036// TSIServiceUnsetSchemaTemplateResult
13037//
13038
13039#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
13040struct TSIServiceUnsetSchemaTemplateResult {
13041  result_value: Option<TSStatus>,
13042}
13043
13044impl TSIServiceUnsetSchemaTemplateResult {
13045  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TSIServiceUnsetSchemaTemplateResult> {
13046    i_prot.read_struct_begin()?;
13047    let mut f_0: Option<TSStatus> = None;
13048    loop {
13049      let field_ident = i_prot.read_field_begin()?;
13050      if field_ident.field_type == TType::Stop {
13051        break;
13052      }
13053      let field_id = field_id(&field_ident)?;
13054      match field_id {
13055        0 => {
13056          let val = TSStatus::read_from_in_protocol(i_prot)?;
13057          f_0 = Some(val);
13058        },
13059        _ => {
13060          i_prot.skip(field_ident.field_type)?;
13061        },
13062      };
13063      i_prot.read_field_end()?;
13064    }
13065    i_prot.read_struct_end()?;
13066    let ret = TSIServiceUnsetSchemaTemplateResult {
13067      result_value: f_0,
13068    };
13069    Ok(ret)
13070  }
13071  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13072    let struct_ident = TStructIdentifier::new("TSIServiceUnsetSchemaTemplateResult");
13073    o_prot.write_struct_begin(&struct_ident)?;
13074    if let Some(ref fld_var) = self.result_value {
13075      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
13076      fld_var.write_to_out_protocol(o_prot)?;
13077      o_prot.write_field_end()?
13078    }
13079    o_prot.write_field_stop()?;
13080    o_prot.write_struct_end()
13081  }
13082  fn ok_or(self) -> thrift::Result<TSStatus> {
13083    if self.result_value.is_some() {
13084      Ok(self.result_value.unwrap())
13085    } else {
13086      Err(
13087        thrift::Error::Application(
13088          ApplicationError::new(
13089            ApplicationErrorKind::MissingResult,
13090            "no result received for TSIServiceUnsetSchemaTemplate"
13091          )
13092        )
13093      )
13094    }
13095  }
13096}