eosio_chaintester/
interfaces.rs

1// Autogenerated by Thrift Compiler (0.15.0)
2// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
3
4#![allow(unused_imports)]
5#![allow(unused_extern_crates)]
6#![allow(clippy::too_many_arguments, clippy::type_complexity, clippy::vec_box)]
7#![cfg_attr(rustfmt, rustfmt_skip)]
8
9use std::cell::RefCell;
10use std::collections::{BTreeMap, BTreeSet};
11use std::convert::{From, TryFrom};
12use std::default::Default;
13use std::error::Error;
14use std::fmt;
15use std::fmt::{Display, Formatter};
16use std::rc::Rc;
17
18use thrift::OrderedFloat;
19use thrift::{ApplicationError, ApplicationErrorKind, ProtocolError, ProtocolErrorKind, TThriftClient};
20use thrift::protocol::{TFieldIdentifier, TListIdentifier, TMapIdentifier, TMessageIdentifier, TMessageType, TInputProtocol, TOutputProtocol, TSetIdentifier, TStructIdentifier, TType};
21use thrift::protocol::field_id;
22use thrift::protocol::verify_expected_message_type;
23use thrift::protocol::verify_expected_sequence_number;
24use thrift::protocol::verify_expected_service_call;
25use thrift::protocol::verify_required_field_exists;
26use thrift::server::TProcessor;
27
28use crate::server;
29
30fn to_uint64(value: u64) -> Uint64 {
31  return Uint64 {
32      raw_value: Some(value.to_le_bytes().to_vec())
33  };
34}
35
36fn to_fixed_array(v: Vec<u8>) -> [u8; 8] {
37  v.try_into()
38      .unwrap_or_else(|v: Vec<u8>| panic!("Expected a Vec of length {} but it was {}", 8, v.len()))
39}
40
41fn to_u64(value: Uint64) -> u64 {
42  if value.raw_value.is_none() {
43      panic!("bad raw Uint64 value 1");
44  }
45  return u64::from_le_bytes(to_fixed_array(value.raw_value.unwrap()));
46}
47
48impl From<u64> for Uint64 {
49  fn from(value: u64) -> Uint64 {
50      to_uint64(value)
51  }
52}
53
54impl From<Uint64> for u64 {
55  fn from(value: Uint64) -> u64 {
56      to_u64(value)
57  }
58}
59
60
61//
62// TransactionException
63//
64
65#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
66pub struct TransactionException {
67  pub exc: Option<String>,
68}
69
70impl TransactionException {
71  pub fn new<F1>(exc: F1) -> TransactionException where F1: Into<Option<String>> {
72    TransactionException {
73      exc: exc.into(),
74    }
75  }
76  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<TransactionException> {
77    i_prot.read_struct_begin()?;
78    let mut f_1: Option<String> = Some("".to_owned());
79    loop {
80      let field_ident = i_prot.read_field_begin()?;
81      if field_ident.field_type == TType::Stop {
82        break;
83      }
84      let field_id = field_id(&field_ident)?;
85      match field_id {
86        1 => {
87          let val = i_prot.read_string()?;
88          f_1 = Some(val);
89        },
90        _ => {
91          i_prot.skip(field_ident.field_type)?;
92        },
93      };
94      i_prot.read_field_end()?;
95    }
96    i_prot.read_struct_end()?;
97    let ret = TransactionException {
98      exc: f_1,
99    };
100    Ok(ret)
101  }
102  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
103    let struct_ident = TStructIdentifier::new("TransactionException");
104    o_prot.write_struct_begin(&struct_ident)?;
105    if let Some(ref fld_var) = self.exc {
106      o_prot.write_field_begin(&TFieldIdentifier::new("exc", TType::String, 1))?;
107      o_prot.write_string(fld_var)?;
108      o_prot.write_field_end()?
109    }
110    o_prot.write_field_stop()?;
111    o_prot.write_struct_end()
112  }
113}
114
115impl Default for TransactionException {
116  fn default() -> Self {
117    TransactionException{
118      exc: Some("".to_owned()),
119    }
120  }
121}
122
123impl Error for TransactionException {}
124
125impl From<TransactionException> for thrift::Error {
126  fn from(e: TransactionException) -> Self {
127    thrift::Error::User(Box::new(e))
128  }
129}
130
131impl Display for TransactionException {
132  fn fmt(&self, f: &mut Formatter) -> fmt::Result {
133    write!(f, "remote service threw TransactionException")
134  }
135}
136
137//
138// AssertException
139//
140
141#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
142pub struct AssertException {
143  pub error_message: Option<String>,
144}
145
146impl AssertException {
147  pub fn new<F1>(error_message: F1) -> AssertException where F1: Into<Option<String>> {
148    AssertException {
149      error_message: error_message.into(),
150    }
151  }
152  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<AssertException> {
153    i_prot.read_struct_begin()?;
154    let mut f_1: Option<String> = Some("".to_owned());
155    loop {
156      let field_ident = i_prot.read_field_begin()?;
157      if field_ident.field_type == TType::Stop {
158        break;
159      }
160      let field_id = field_id(&field_ident)?;
161      match field_id {
162        1 => {
163          let val = i_prot.read_string()?;
164          f_1 = Some(val);
165        },
166        _ => {
167          i_prot.skip(field_ident.field_type)?;
168        },
169      };
170      i_prot.read_field_end()?;
171    }
172    i_prot.read_struct_end()?;
173    let ret = AssertException {
174      error_message: f_1,
175    };
176    Ok(ret)
177  }
178  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
179    let struct_ident = TStructIdentifier::new("AssertException");
180    o_prot.write_struct_begin(&struct_ident)?;
181    if let Some(ref fld_var) = self.error_message {
182      o_prot.write_field_begin(&TFieldIdentifier::new("error_message", TType::String, 1))?;
183      o_prot.write_string(fld_var)?;
184      o_prot.write_field_end()?
185    }
186    o_prot.write_field_stop()?;
187    o_prot.write_struct_end()
188  }
189}
190
191impl Default for AssertException {
192  fn default() -> Self {
193    AssertException{
194      error_message: Some("".to_owned()),
195    }
196  }
197}
198
199impl Error for AssertException {}
200
201impl From<AssertException> for thrift::Error {
202  fn from(e: AssertException) -> Self {
203    thrift::Error::User(Box::new(e))
204  }
205}
206
207impl Display for AssertException {
208  fn fmt(&self, f: &mut Formatter) -> fmt::Result {
209    write!(f, "remote service threw AssertException")
210  }
211}
212
213//
214// Action
215//
216
217#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
218pub struct Action {
219  pub account: Option<String>,
220  pub action: Option<String>,
221  pub permissions: Option<String>,
222  pub arguments: Option<String>,
223}
224
225impl Action {
226  pub fn new<F1, F2, F3, F4>(account: F1, action: F2, permissions: F3, arguments: F4) -> Action where F1: Into<Option<String>>, F2: Into<Option<String>>, F3: Into<Option<String>>, F4: Into<Option<String>> {
227    Action {
228      account: account.into(),
229      action: action.into(),
230      permissions: permissions.into(),
231      arguments: arguments.into(),
232    }
233  }
234  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<Action> {
235    i_prot.read_struct_begin()?;
236    let mut f_1: Option<String> = Some("".to_owned());
237    let mut f_2: Option<String> = Some("".to_owned());
238    let mut f_3: Option<String> = Some("".to_owned());
239    let mut f_4: Option<String> = Some("".to_owned());
240    loop {
241      let field_ident = i_prot.read_field_begin()?;
242      if field_ident.field_type == TType::Stop {
243        break;
244      }
245      let field_id = field_id(&field_ident)?;
246      match field_id {
247        1 => {
248          let val = i_prot.read_string()?;
249          f_1 = Some(val);
250        },
251        2 => {
252          let val = i_prot.read_string()?;
253          f_2 = Some(val);
254        },
255        3 => {
256          let val = i_prot.read_string()?;
257          f_3 = Some(val);
258        },
259        4 => {
260          let val = i_prot.read_string()?;
261          f_4 = Some(val);
262        },
263        _ => {
264          i_prot.skip(field_ident.field_type)?;
265        },
266      };
267      i_prot.read_field_end()?;
268    }
269    i_prot.read_struct_end()?;
270    let ret = Action {
271      account: f_1,
272      action: f_2,
273      permissions: f_3,
274      arguments: f_4,
275    };
276    Ok(ret)
277  }
278  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
279    let struct_ident = TStructIdentifier::new("Action");
280    o_prot.write_struct_begin(&struct_ident)?;
281    if let Some(ref fld_var) = self.account {
282      o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::String, 1))?;
283      o_prot.write_string(fld_var)?;
284      o_prot.write_field_end()?
285    }
286    if let Some(ref fld_var) = self.action {
287      o_prot.write_field_begin(&TFieldIdentifier::new("action", TType::String, 2))?;
288      o_prot.write_string(fld_var)?;
289      o_prot.write_field_end()?
290    }
291    if let Some(ref fld_var) = self.permissions {
292      o_prot.write_field_begin(&TFieldIdentifier::new("permissions", TType::String, 3))?;
293      o_prot.write_string(fld_var)?;
294      o_prot.write_field_end()?
295    }
296    if let Some(ref fld_var) = self.arguments {
297      o_prot.write_field_begin(&TFieldIdentifier::new("arguments", TType::String, 4))?;
298      o_prot.write_string(fld_var)?;
299      o_prot.write_field_end()?
300    }
301    o_prot.write_field_stop()?;
302    o_prot.write_struct_end()
303  }
304}
305
306impl Default for Action {
307  fn default() -> Self {
308    Action{
309      account: Some("".to_owned()),
310      action: Some("".to_owned()),
311      permissions: Some("".to_owned()),
312      arguments: Some("".to_owned()),
313    }
314  }
315}
316
317//
318// Uint64
319//
320
321#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
322pub struct Uint64 {
323  pub raw_value: Option<Vec<u8>>,
324}
325
326impl Uint64 {
327  pub fn new<F1>(raw_value: F1) -> Uint64 where F1: Into<Option<Vec<u8>>> {
328    Uint64 {
329      raw_value: raw_value.into(),
330    }
331  }
332  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<Uint64> {
333    i_prot.read_struct_begin()?;
334    let mut f_1: Option<Vec<u8>> = Some(Vec::new());
335    loop {
336      let field_ident = i_prot.read_field_begin()?;
337      if field_ident.field_type == TType::Stop {
338        break;
339      }
340      let field_id = field_id(&field_ident)?;
341      match field_id {
342        1 => {
343          let val = i_prot.read_bytes()?;
344          f_1 = Some(val);
345        },
346        _ => {
347          i_prot.skip(field_ident.field_type)?;
348        },
349      };
350      i_prot.read_field_end()?;
351    }
352    i_prot.read_struct_end()?;
353    let ret = Uint64 {
354      raw_value: f_1,
355    };
356    Ok(ret)
357  }
358  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
359    let struct_ident = TStructIdentifier::new("Uint64");
360    o_prot.write_struct_begin(&struct_ident)?;
361    if let Some(ref fld_var) = self.raw_value {
362      o_prot.write_field_begin(&TFieldIdentifier::new("rawValue", TType::String, 1))?;
363      o_prot.write_bytes(fld_var)?;
364      o_prot.write_field_end()?
365    }
366    o_prot.write_field_stop()?;
367    o_prot.write_struct_end()
368  }
369}
370
371impl Default for Uint64 {
372  fn default() -> Self {
373    Uint64{
374      raw_value: Some(Vec::new()),
375    }
376  }
377}
378
379//
380// DataBuffer
381//
382
383#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
384pub struct DataBuffer {
385  pub size: Option<i32>,
386  pub buffer: Option<Vec<u8>>,
387}
388
389impl DataBuffer {
390  pub fn new<F1, F2>(size: F1, buffer: F2) -> DataBuffer where F1: Into<Option<i32>>, F2: Into<Option<Vec<u8>>> {
391    DataBuffer {
392      size: size.into(),
393      buffer: buffer.into(),
394    }
395  }
396  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<DataBuffer> {
397    i_prot.read_struct_begin()?;
398    let mut f_1: Option<i32> = Some(0);
399    let mut f_2: Option<Vec<u8>> = Some(Vec::new());
400    loop {
401      let field_ident = i_prot.read_field_begin()?;
402      if field_ident.field_type == TType::Stop {
403        break;
404      }
405      let field_id = field_id(&field_ident)?;
406      match field_id {
407        1 => {
408          let val = i_prot.read_i32()?;
409          f_1 = Some(val);
410        },
411        2 => {
412          let val = i_prot.read_bytes()?;
413          f_2 = Some(val);
414        },
415        _ => {
416          i_prot.skip(field_ident.field_type)?;
417        },
418      };
419      i_prot.read_field_end()?;
420    }
421    i_prot.read_struct_end()?;
422    let ret = DataBuffer {
423      size: f_1,
424      buffer: f_2,
425    };
426    Ok(ret)
427  }
428  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
429    let struct_ident = TStructIdentifier::new("DataBuffer");
430    o_prot.write_struct_begin(&struct_ident)?;
431    if let Some(fld_var) = self.size {
432      o_prot.write_field_begin(&TFieldIdentifier::new("size", TType::I32, 1))?;
433      o_prot.write_i32(fld_var)?;
434      o_prot.write_field_end()?
435    }
436    if let Some(ref fld_var) = self.buffer {
437      o_prot.write_field_begin(&TFieldIdentifier::new("buffer", TType::String, 2))?;
438      o_prot.write_bytes(fld_var)?;
439      o_prot.write_field_end()?
440    }
441    o_prot.write_field_stop()?;
442    o_prot.write_struct_end()
443  }
444}
445
446impl Default for DataBuffer {
447  fn default() -> Self {
448    DataBuffer{
449      size: Some(0),
450      buffer: Some(Vec::new()),
451    }
452  }
453}
454
455//
456// NextPreviousReturn
457//
458
459#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
460pub struct NextPreviousReturn {
461  pub iterator: Option<i32>,
462  pub primary: Option<Uint64>,
463}
464
465impl NextPreviousReturn {
466  pub fn new<F1, F2>(iterator: F1, primary: F2) -> NextPreviousReturn where F1: Into<Option<i32>>, F2: Into<Option<Uint64>> {
467    NextPreviousReturn {
468      iterator: iterator.into(),
469      primary: primary.into(),
470    }
471  }
472  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<NextPreviousReturn> {
473    i_prot.read_struct_begin()?;
474    let mut f_1: Option<i32> = Some(0);
475    let mut f_2: Option<Uint64> = None;
476    loop {
477      let field_ident = i_prot.read_field_begin()?;
478      if field_ident.field_type == TType::Stop {
479        break;
480      }
481      let field_id = field_id(&field_ident)?;
482      match field_id {
483        1 => {
484          let val = i_prot.read_i32()?;
485          f_1 = Some(val);
486        },
487        2 => {
488          let val = Uint64::read_from_in_protocol(i_prot)?;
489          f_2 = Some(val);
490        },
491        _ => {
492          i_prot.skip(field_ident.field_type)?;
493        },
494      };
495      i_prot.read_field_end()?;
496    }
497    i_prot.read_struct_end()?;
498    let ret = NextPreviousReturn {
499      iterator: f_1,
500      primary: f_2,
501    };
502    Ok(ret)
503  }
504  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
505    let struct_ident = TStructIdentifier::new("NextPreviousReturn");
506    o_prot.write_struct_begin(&struct_ident)?;
507    if let Some(fld_var) = self.iterator {
508      o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
509      o_prot.write_i32(fld_var)?;
510      o_prot.write_field_end()?
511    }
512    if let Some(ref fld_var) = self.primary {
513      o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 2))?;
514      fld_var.write_to_out_protocol(o_prot)?;
515      o_prot.write_field_end()?
516    }
517    o_prot.write_field_stop()?;
518    o_prot.write_struct_end()
519  }
520}
521
522impl Default for NextPreviousReturn {
523  fn default() -> Self {
524    NextPreviousReturn{
525      iterator: Some(0),
526      primary: None,
527    }
528  }
529}
530
531//
532// IteratorPrimaryReturn
533//
534
535#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
536pub struct IteratorPrimaryReturn {
537  pub iterator: Option<i32>,
538  pub primary: Option<Uint64>,
539}
540
541impl IteratorPrimaryReturn {
542  pub fn new<F1, F2>(iterator: F1, primary: F2) -> IteratorPrimaryReturn where F1: Into<Option<i32>>, F2: Into<Option<Uint64>> {
543    IteratorPrimaryReturn {
544      iterator: iterator.into(),
545      primary: primary.into(),
546    }
547  }
548  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IteratorPrimaryReturn> {
549    i_prot.read_struct_begin()?;
550    let mut f_1: Option<i32> = Some(0);
551    let mut f_2: Option<Uint64> = None;
552    loop {
553      let field_ident = i_prot.read_field_begin()?;
554      if field_ident.field_type == TType::Stop {
555        break;
556      }
557      let field_id = field_id(&field_ident)?;
558      match field_id {
559        1 => {
560          let val = i_prot.read_i32()?;
561          f_1 = Some(val);
562        },
563        2 => {
564          let val = Uint64::read_from_in_protocol(i_prot)?;
565          f_2 = Some(val);
566        },
567        _ => {
568          i_prot.skip(field_ident.field_type)?;
569        },
570      };
571      i_prot.read_field_end()?;
572    }
573    i_prot.read_struct_end()?;
574    let ret = IteratorPrimaryReturn {
575      iterator: f_1,
576      primary: f_2,
577    };
578    Ok(ret)
579  }
580  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
581    let struct_ident = TStructIdentifier::new("IteratorPrimaryReturn");
582    o_prot.write_struct_begin(&struct_ident)?;
583    if let Some(fld_var) = self.iterator {
584      o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
585      o_prot.write_i32(fld_var)?;
586      o_prot.write_field_end()?
587    }
588    if let Some(ref fld_var) = self.primary {
589      o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 2))?;
590      fld_var.write_to_out_protocol(o_prot)?;
591      o_prot.write_field_end()?
592    }
593    o_prot.write_field_stop()?;
594    o_prot.write_struct_end()
595  }
596}
597
598impl Default for IteratorPrimaryReturn {
599  fn default() -> Self {
600    IteratorPrimaryReturn{
601      iterator: Some(0),
602      primary: None,
603    }
604  }
605}
606
607//
608// FindPrimaryReturn
609//
610
611#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
612pub struct FindPrimaryReturn {
613  pub iterator: Option<i32>,
614  pub secondary: Option<Vec<u8>>,
615}
616
617impl FindPrimaryReturn {
618  pub fn new<F1, F2>(iterator: F1, secondary: F2) -> FindPrimaryReturn where F1: Into<Option<i32>>, F2: Into<Option<Vec<u8>>> {
619    FindPrimaryReturn {
620      iterator: iterator.into(),
621      secondary: secondary.into(),
622    }
623  }
624  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<FindPrimaryReturn> {
625    i_prot.read_struct_begin()?;
626    let mut f_1: Option<i32> = Some(0);
627    let mut f_2: Option<Vec<u8>> = Some(Vec::new());
628    loop {
629      let field_ident = i_prot.read_field_begin()?;
630      if field_ident.field_type == TType::Stop {
631        break;
632      }
633      let field_id = field_id(&field_ident)?;
634      match field_id {
635        1 => {
636          let val = i_prot.read_i32()?;
637          f_1 = Some(val);
638        },
639        2 => {
640          let val = i_prot.read_bytes()?;
641          f_2 = Some(val);
642        },
643        _ => {
644          i_prot.skip(field_ident.field_type)?;
645        },
646      };
647      i_prot.read_field_end()?;
648    }
649    i_prot.read_struct_end()?;
650    let ret = FindPrimaryReturn {
651      iterator: f_1,
652      secondary: f_2,
653    };
654    Ok(ret)
655  }
656  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
657    let struct_ident = TStructIdentifier::new("FindPrimaryReturn");
658    o_prot.write_struct_begin(&struct_ident)?;
659    if let Some(fld_var) = self.iterator {
660      o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
661      o_prot.write_i32(fld_var)?;
662      o_prot.write_field_end()?
663    }
664    if let Some(ref fld_var) = self.secondary {
665      o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 2))?;
666      o_prot.write_bytes(fld_var)?;
667      o_prot.write_field_end()?
668    }
669    o_prot.write_field_stop()?;
670    o_prot.write_struct_end()
671  }
672}
673
674impl Default for FindPrimaryReturn {
675  fn default() -> Self {
676    FindPrimaryReturn{
677      iterator: Some(0),
678      secondary: Some(Vec::new()),
679    }
680  }
681}
682
683//
684// FindSecondaryReturn
685//
686
687#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
688pub struct FindSecondaryReturn {
689  pub iterator: Option<i32>,
690  pub primary: Option<Uint64>,
691}
692
693impl FindSecondaryReturn {
694  pub fn new<F1, F2>(iterator: F1, primary: F2) -> FindSecondaryReturn where F1: Into<Option<i32>>, F2: Into<Option<Uint64>> {
695    FindSecondaryReturn {
696      iterator: iterator.into(),
697      primary: primary.into(),
698    }
699  }
700  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<FindSecondaryReturn> {
701    i_prot.read_struct_begin()?;
702    let mut f_1: Option<i32> = Some(0);
703    let mut f_2: Option<Uint64> = None;
704    loop {
705      let field_ident = i_prot.read_field_begin()?;
706      if field_ident.field_type == TType::Stop {
707        break;
708      }
709      let field_id = field_id(&field_ident)?;
710      match field_id {
711        1 => {
712          let val = i_prot.read_i32()?;
713          f_1 = Some(val);
714        },
715        2 => {
716          let val = Uint64::read_from_in_protocol(i_prot)?;
717          f_2 = Some(val);
718        },
719        _ => {
720          i_prot.skip(field_ident.field_type)?;
721        },
722      };
723      i_prot.read_field_end()?;
724    }
725    i_prot.read_struct_end()?;
726    let ret = FindSecondaryReturn {
727      iterator: f_1,
728      primary: f_2,
729    };
730    Ok(ret)
731  }
732  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
733    let struct_ident = TStructIdentifier::new("FindSecondaryReturn");
734    o_prot.write_struct_begin(&struct_ident)?;
735    if let Some(fld_var) = self.iterator {
736      o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
737      o_prot.write_i32(fld_var)?;
738      o_prot.write_field_end()?
739    }
740    if let Some(ref fld_var) = self.primary {
741      o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 2))?;
742      fld_var.write_to_out_protocol(o_prot)?;
743      o_prot.write_field_end()?
744    }
745    o_prot.write_field_stop()?;
746    o_prot.write_struct_end()
747  }
748}
749
750impl Default for FindSecondaryReturn {
751  fn default() -> Self {
752    FindSecondaryReturn{
753      iterator: Some(0),
754      primary: None,
755    }
756  }
757}
758
759//
760// LowerBoundUpperBoundReturn
761//
762
763#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
764pub struct LowerBoundUpperBoundReturn {
765  pub iterator: Option<i32>,
766  pub secondary: Option<Vec<u8>>,
767  pub primary: Option<Uint64>,
768}
769
770impl LowerBoundUpperBoundReturn {
771  pub fn new<F1, F2, F3>(iterator: F1, secondary: F2, primary: F3) -> LowerBoundUpperBoundReturn where F1: Into<Option<i32>>, F2: Into<Option<Vec<u8>>>, F3: Into<Option<Uint64>> {
772    LowerBoundUpperBoundReturn {
773      iterator: iterator.into(),
774      secondary: secondary.into(),
775      primary: primary.into(),
776    }
777  }
778  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<LowerBoundUpperBoundReturn> {
779    i_prot.read_struct_begin()?;
780    let mut f_1: Option<i32> = Some(0);
781    let mut f_2: Option<Vec<u8>> = Some(Vec::new());
782    let mut f_3: Option<Uint64> = None;
783    loop {
784      let field_ident = i_prot.read_field_begin()?;
785      if field_ident.field_type == TType::Stop {
786        break;
787      }
788      let field_id = field_id(&field_ident)?;
789      match field_id {
790        1 => {
791          let val = i_prot.read_i32()?;
792          f_1 = Some(val);
793        },
794        2 => {
795          let val = i_prot.read_bytes()?;
796          f_2 = Some(val);
797        },
798        3 => {
799          let val = Uint64::read_from_in_protocol(i_prot)?;
800          f_3 = Some(val);
801        },
802        _ => {
803          i_prot.skip(field_ident.field_type)?;
804        },
805      };
806      i_prot.read_field_end()?;
807    }
808    i_prot.read_struct_end()?;
809    let ret = LowerBoundUpperBoundReturn {
810      iterator: f_1,
811      secondary: f_2,
812      primary: f_3,
813    };
814    Ok(ret)
815  }
816  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
817    let struct_ident = TStructIdentifier::new("LowerBoundUpperBoundReturn");
818    o_prot.write_struct_begin(&struct_ident)?;
819    if let Some(fld_var) = self.iterator {
820      o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
821      o_prot.write_i32(fld_var)?;
822      o_prot.write_field_end()?
823    }
824    if let Some(ref fld_var) = self.secondary {
825      o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 2))?;
826      o_prot.write_bytes(fld_var)?;
827      o_prot.write_field_end()?
828    }
829    if let Some(ref fld_var) = self.primary {
830      o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 3))?;
831      fld_var.write_to_out_protocol(o_prot)?;
832      o_prot.write_field_end()?
833    }
834    o_prot.write_field_stop()?;
835    o_prot.write_struct_end()
836  }
837}
838
839impl Default for LowerBoundUpperBoundReturn {
840  fn default() -> Self {
841    LowerBoundUpperBoundReturn{
842      iterator: Some(0),
843      secondary: Some(Vec::new()),
844      primary: None,
845    }
846  }
847}
848
849//
850// GetResourceLimitsReturn
851//
852
853#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
854pub struct GetResourceLimitsReturn {
855  pub ram_bytes: Option<i64>,
856  pub net_weight: Option<i64>,
857  pub cpu_weight: Option<i64>,
858}
859
860impl GetResourceLimitsReturn {
861  pub fn new<F1, F2, F3>(ram_bytes: F1, net_weight: F2, cpu_weight: F3) -> GetResourceLimitsReturn where F1: Into<Option<i64>>, F2: Into<Option<i64>>, F3: Into<Option<i64>> {
862    GetResourceLimitsReturn {
863      ram_bytes: ram_bytes.into(),
864      net_weight: net_weight.into(),
865      cpu_weight: cpu_weight.into(),
866    }
867  }
868  pub fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<GetResourceLimitsReturn> {
869    i_prot.read_struct_begin()?;
870    let mut f_1: Option<i64> = Some(0);
871    let mut f_2: Option<i64> = Some(0);
872    let mut f_3: Option<i64> = Some(0);
873    loop {
874      let field_ident = i_prot.read_field_begin()?;
875      if field_ident.field_type == TType::Stop {
876        break;
877      }
878      let field_id = field_id(&field_ident)?;
879      match field_id {
880        1 => {
881          let val = i_prot.read_i64()?;
882          f_1 = Some(val);
883        },
884        2 => {
885          let val = i_prot.read_i64()?;
886          f_2 = Some(val);
887        },
888        3 => {
889          let val = i_prot.read_i64()?;
890          f_3 = Some(val);
891        },
892        _ => {
893          i_prot.skip(field_ident.field_type)?;
894        },
895      };
896      i_prot.read_field_end()?;
897    }
898    i_prot.read_struct_end()?;
899    let ret = GetResourceLimitsReturn {
900      ram_bytes: f_1,
901      net_weight: f_2,
902      cpu_weight: f_3,
903    };
904    Ok(ret)
905  }
906  pub fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
907    let struct_ident = TStructIdentifier::new("GetResourceLimitsReturn");
908    o_prot.write_struct_begin(&struct_ident)?;
909    if let Some(fld_var) = self.ram_bytes {
910      o_prot.write_field_begin(&TFieldIdentifier::new("ram_bytes", TType::I64, 1))?;
911      o_prot.write_i64(fld_var)?;
912      o_prot.write_field_end()?
913    }
914    if let Some(fld_var) = self.net_weight {
915      o_prot.write_field_begin(&TFieldIdentifier::new("net_weight", TType::I64, 2))?;
916      o_prot.write_i64(fld_var)?;
917      o_prot.write_field_end()?
918    }
919    if let Some(fld_var) = self.cpu_weight {
920      o_prot.write_field_begin(&TFieldIdentifier::new("cpu_weight", TType::I64, 3))?;
921      o_prot.write_i64(fld_var)?;
922      o_prot.write_field_end()?
923    }
924    o_prot.write_field_stop()?;
925    o_prot.write_struct_end()
926  }
927}
928
929impl Default for GetResourceLimitsReturn {
930  fn default() -> Self {
931    GetResourceLimitsReturn{
932      ram_bytes: Some(0),
933      net_weight: Some(0),
934      cpu_weight: Some(0),
935    }
936  }
937}
938
939//
940// IPCChainTester service client
941//
942
943pub trait TIPCChainTesterSyncClient {
944  fn init_vm_api(&mut self) -> thrift::Result<()>;
945  fn init_apply_request(&mut self) -> thrift::Result<()>;
946  fn enable_debug_contract(&mut self, id: i32, contract: String, enable: bool) -> thrift::Result<()>;
947  fn is_debug_contract_enabled(&mut self, id: i32, contract: String) -> thrift::Result<bool>;
948  fn pack_abi(&mut self, abi: String) -> thrift::Result<Vec<u8>>;
949  fn pack_action_args(&mut self, id: i32, contract: String, action: String, action_args: String) -> thrift::Result<Vec<u8>>;
950  fn unpack_action_args(&mut self, id: i32, contract: String, action: String, raw_args: Vec<u8>) -> thrift::Result<Vec<u8>>;
951  fn new_chain(&mut self) -> thrift::Result<i32>;
952  fn free_chain(&mut self, id: i32) -> thrift::Result<i32>;
953  fn get_info(&mut self, id: i32) -> thrift::Result<String>;
954  fn get_account(&mut self, id: i32, account: String) -> thrift::Result<String>;
955  fn import_key(&mut self, id: i32, pub_key: String, priv_key: String) -> thrift::Result<bool>;
956  fn get_required_keys(&mut self, id: i32, transaction: String, available_keys: Vec<String>) -> thrift::Result<String>;
957  fn produce_block(&mut self, id: i32) -> thrift::Result<()>;
958  fn push_action(&mut self, id: i32, account: String, action: String, arguments: String, permissions: String) -> thrift::Result<Vec<u8>>;
959  fn push_actions(&mut self, id: i32, actions: Vec<Box<Action>>) -> thrift::Result<Vec<u8>>;
960  fn get_table_rows(&mut self, id: i32, json: bool, code: String, scope: String, table: String, lower_bound: String, upper_bound: String, limit: i64, key_type: String, index_position: String, reverse: bool, show_payer: bool) -> thrift::Result<String>;
961}
962
963pub trait TIPCChainTesterSyncClientMarker {}
964
965pub struct IPCChainTesterSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
966  _i_prot: IP,
967  _o_prot: OP,
968  _sequence_number: i32,
969}
970
971impl <IP, OP> IPCChainTesterSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
972  pub fn new(input_protocol: IP, output_protocol: OP) -> IPCChainTesterSyncClient<IP, OP> {
973    IPCChainTesterSyncClient { _i_prot: input_protocol, _o_prot: output_protocol, _sequence_number: 0 }
974  }
975}
976
977impl <IP, OP> TThriftClient for IPCChainTesterSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
978  fn i_prot_mut(&mut self) -> &mut dyn TInputProtocol { &mut self._i_prot }
979  fn o_prot_mut(&mut self) -> &mut dyn TOutputProtocol { &mut self._o_prot }
980  fn sequence_number(&self) -> i32 { self._sequence_number }
981  fn increment_sequence_number(&mut self) -> i32 { self._sequence_number += 1; self._sequence_number }
982}
983
984impl <IP, OP> TIPCChainTesterSyncClientMarker for IPCChainTesterSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {}
985
986impl <C: TThriftClient + TIPCChainTesterSyncClientMarker> TIPCChainTesterSyncClient for C {
987  fn init_vm_api(&mut self) -> thrift::Result<()> {
988    (
989      {
990        self.increment_sequence_number();
991        let message_ident = TMessageIdentifier::new("init_vm_api", TMessageType::OneWay, self.sequence_number());
992        let call_args = IPCChainTesterInitVmApiArgs {  };
993        self.o_prot_mut().write_message_begin(&message_ident)?;
994        call_args.write_to_out_protocol(self.o_prot_mut())?;
995        self.o_prot_mut().write_message_end()?;
996        self.o_prot_mut().flush()
997      }
998    )?;
999    Ok(())
1000  }
1001  fn init_apply_request(&mut self) -> thrift::Result<()> {
1002    (
1003      {
1004        self.increment_sequence_number();
1005        let message_ident = TMessageIdentifier::new("init_apply_request", TMessageType::OneWay, self.sequence_number());
1006        let call_args = IPCChainTesterInitApplyRequestArgs {  };
1007        self.o_prot_mut().write_message_begin(&message_ident)?;
1008        call_args.write_to_out_protocol(self.o_prot_mut())?;
1009        self.o_prot_mut().write_message_end()?;
1010        self.o_prot_mut().flush()
1011      }
1012    )?;
1013    Ok(())
1014  }
1015  fn enable_debug_contract(&mut self, id: i32, contract: String, enable: bool) -> thrift::Result<()> {
1016    (
1017      {
1018        self.increment_sequence_number();
1019        let message_ident = TMessageIdentifier::new("enable_debug_contract", TMessageType::Call, self.sequence_number());
1020        let call_args = IPCChainTesterEnableDebugContractArgs { id, contract, enable };
1021        self.o_prot_mut().write_message_begin(&message_ident)?;
1022        call_args.write_to_out_protocol(self.o_prot_mut())?;
1023        self.o_prot_mut().write_message_end()?;
1024        self.o_prot_mut().flush()
1025      }
1026    )?;
1027    {
1028      let message_ident = self.i_prot_mut().read_message_begin()?;
1029      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1030      verify_expected_service_call("enable_debug_contract", &message_ident.name)?;
1031      if message_ident.message_type == TMessageType::Exception {
1032        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1033        self.i_prot_mut().read_message_end()?;
1034        return Err(thrift::Error::Application(remote_error))
1035      }
1036      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1037      let result = IPCChainTesterEnableDebugContractResult::read_from_in_protocol(self.i_prot_mut())?;
1038      self.i_prot_mut().read_message_end()?;
1039      result.ok_or()
1040    }
1041  }
1042  fn is_debug_contract_enabled(&mut self, id: i32, contract: String) -> thrift::Result<bool> {
1043    (
1044      {
1045        self.increment_sequence_number();
1046        let message_ident = TMessageIdentifier::new("is_debug_contract_enabled", TMessageType::Call, self.sequence_number());
1047        let call_args = IPCChainTesterIsDebugContractEnabledArgs { id, contract };
1048        self.o_prot_mut().write_message_begin(&message_ident)?;
1049        call_args.write_to_out_protocol(self.o_prot_mut())?;
1050        self.o_prot_mut().write_message_end()?;
1051        self.o_prot_mut().flush()
1052      }
1053    )?;
1054    {
1055      let message_ident = self.i_prot_mut().read_message_begin()?;
1056      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1057      verify_expected_service_call("is_debug_contract_enabled", &message_ident.name)?;
1058      if message_ident.message_type == TMessageType::Exception {
1059        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1060        self.i_prot_mut().read_message_end()?;
1061        return Err(thrift::Error::Application(remote_error))
1062      }
1063      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1064      let result = IPCChainTesterIsDebugContractEnabledResult::read_from_in_protocol(self.i_prot_mut())?;
1065      self.i_prot_mut().read_message_end()?;
1066      result.ok_or()
1067    }
1068  }
1069  fn pack_abi(&mut self, abi: String) -> thrift::Result<Vec<u8>> {
1070    (
1071      {
1072        self.increment_sequence_number();
1073        let message_ident = TMessageIdentifier::new("pack_abi", TMessageType::Call, self.sequence_number());
1074        let call_args = IPCChainTesterPackAbiArgs { abi };
1075        self.o_prot_mut().write_message_begin(&message_ident)?;
1076        call_args.write_to_out_protocol(self.o_prot_mut())?;
1077        self.o_prot_mut().write_message_end()?;
1078        self.o_prot_mut().flush()
1079      }
1080    )?;
1081    {
1082      let message_ident = self.i_prot_mut().read_message_begin()?;
1083      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1084      verify_expected_service_call("pack_abi", &message_ident.name)?;
1085      if message_ident.message_type == TMessageType::Exception {
1086        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1087        self.i_prot_mut().read_message_end()?;
1088        return Err(thrift::Error::Application(remote_error))
1089      }
1090      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1091      let result = IPCChainTesterPackAbiResult::read_from_in_protocol(self.i_prot_mut())?;
1092      self.i_prot_mut().read_message_end()?;
1093      result.ok_or()
1094    }
1095  }
1096  fn pack_action_args(&mut self, id: i32, contract: String, action: String, action_args: String) -> thrift::Result<Vec<u8>> {
1097    (
1098      {
1099        self.increment_sequence_number();
1100        let message_ident = TMessageIdentifier::new("pack_action_args", TMessageType::Call, self.sequence_number());
1101        let call_args = IPCChainTesterPackActionArgsArgs { id, contract, action, action_args };
1102        self.o_prot_mut().write_message_begin(&message_ident)?;
1103        call_args.write_to_out_protocol(self.o_prot_mut())?;
1104        self.o_prot_mut().write_message_end()?;
1105        self.o_prot_mut().flush()
1106      }
1107    )?;
1108    {
1109      let message_ident = self.i_prot_mut().read_message_begin()?;
1110      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1111      verify_expected_service_call("pack_action_args", &message_ident.name)?;
1112      if message_ident.message_type == TMessageType::Exception {
1113        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1114        self.i_prot_mut().read_message_end()?;
1115        return Err(thrift::Error::Application(remote_error))
1116      }
1117      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1118      let result = IPCChainTesterPackActionArgsResult::read_from_in_protocol(self.i_prot_mut())?;
1119      self.i_prot_mut().read_message_end()?;
1120      result.ok_or()
1121    }
1122  }
1123  fn unpack_action_args(&mut self, id: i32, contract: String, action: String, raw_args: Vec<u8>) -> thrift::Result<Vec<u8>> {
1124    (
1125      {
1126        self.increment_sequence_number();
1127        let message_ident = TMessageIdentifier::new("unpack_action_args", TMessageType::Call, self.sequence_number());
1128        let call_args = IPCChainTesterUnpackActionArgsArgs { id, contract, action, raw_args };
1129        self.o_prot_mut().write_message_begin(&message_ident)?;
1130        call_args.write_to_out_protocol(self.o_prot_mut())?;
1131        self.o_prot_mut().write_message_end()?;
1132        self.o_prot_mut().flush()
1133      }
1134    )?;
1135    {
1136      let message_ident = self.i_prot_mut().read_message_begin()?;
1137      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1138      verify_expected_service_call("unpack_action_args", &message_ident.name)?;
1139      if message_ident.message_type == TMessageType::Exception {
1140        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1141        self.i_prot_mut().read_message_end()?;
1142        return Err(thrift::Error::Application(remote_error))
1143      }
1144      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1145      let result = IPCChainTesterUnpackActionArgsResult::read_from_in_protocol(self.i_prot_mut())?;
1146      self.i_prot_mut().read_message_end()?;
1147      result.ok_or()
1148    }
1149  }
1150  fn new_chain(&mut self) -> thrift::Result<i32> {
1151    (
1152      {
1153        self.increment_sequence_number();
1154        let message_ident = TMessageIdentifier::new("new_chain", TMessageType::Call, self.sequence_number());
1155        let call_args = IPCChainTesterNewChainArgs {  };
1156        self.o_prot_mut().write_message_begin(&message_ident)?;
1157        call_args.write_to_out_protocol(self.o_prot_mut())?;
1158        self.o_prot_mut().write_message_end()?;
1159        self.o_prot_mut().flush()
1160      }
1161    )?;
1162    {
1163      let message_ident = self.i_prot_mut().read_message_begin()?;
1164      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1165      verify_expected_service_call("new_chain", &message_ident.name)?;
1166      if message_ident.message_type == TMessageType::Exception {
1167        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1168        self.i_prot_mut().read_message_end()?;
1169        return Err(thrift::Error::Application(remote_error))
1170      }
1171      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1172      let result = IPCChainTesterNewChainResult::read_from_in_protocol(self.i_prot_mut())?;
1173      self.i_prot_mut().read_message_end()?;
1174      result.ok_or()
1175    }
1176  }
1177  fn free_chain(&mut self, id: i32) -> thrift::Result<i32> {
1178    (
1179      {
1180        self.increment_sequence_number();
1181        let message_ident = TMessageIdentifier::new("free_chain", TMessageType::Call, self.sequence_number());
1182        let call_args = IPCChainTesterFreeChainArgs { id };
1183        self.o_prot_mut().write_message_begin(&message_ident)?;
1184        call_args.write_to_out_protocol(self.o_prot_mut())?;
1185        self.o_prot_mut().write_message_end()?;
1186        self.o_prot_mut().flush()
1187      }
1188    )?;
1189    {
1190      let message_ident = self.i_prot_mut().read_message_begin()?;
1191      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1192      verify_expected_service_call("free_chain", &message_ident.name)?;
1193      if message_ident.message_type == TMessageType::Exception {
1194        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1195        self.i_prot_mut().read_message_end()?;
1196        return Err(thrift::Error::Application(remote_error))
1197      }
1198      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1199      let result = IPCChainTesterFreeChainResult::read_from_in_protocol(self.i_prot_mut())?;
1200      self.i_prot_mut().read_message_end()?;
1201      result.ok_or()
1202    }
1203  }
1204  fn get_info(&mut self, id: i32) -> thrift::Result<String> {
1205    (
1206      {
1207        self.increment_sequence_number();
1208        let message_ident = TMessageIdentifier::new("get_info", TMessageType::Call, self.sequence_number());
1209        let call_args = IPCChainTesterGetInfoArgs { id };
1210        self.o_prot_mut().write_message_begin(&message_ident)?;
1211        call_args.write_to_out_protocol(self.o_prot_mut())?;
1212        self.o_prot_mut().write_message_end()?;
1213        self.o_prot_mut().flush()
1214      }
1215    )?;
1216    {
1217      let message_ident = self.i_prot_mut().read_message_begin()?;
1218      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1219      verify_expected_service_call("get_info", &message_ident.name)?;
1220      if message_ident.message_type == TMessageType::Exception {
1221        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1222        self.i_prot_mut().read_message_end()?;
1223        return Err(thrift::Error::Application(remote_error))
1224      }
1225      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1226      let result = IPCChainTesterGetInfoResult::read_from_in_protocol(self.i_prot_mut())?;
1227      self.i_prot_mut().read_message_end()?;
1228      result.ok_or()
1229    }
1230  }
1231  fn get_account(&mut self, id: i32, account: String) -> thrift::Result<String> {
1232    (
1233      {
1234        self.increment_sequence_number();
1235        let message_ident = TMessageIdentifier::new("get_account", TMessageType::Call, self.sequence_number());
1236        let call_args = IPCChainTesterGetAccountArgs { id, account };
1237        self.o_prot_mut().write_message_begin(&message_ident)?;
1238        call_args.write_to_out_protocol(self.o_prot_mut())?;
1239        self.o_prot_mut().write_message_end()?;
1240        self.o_prot_mut().flush()
1241      }
1242    )?;
1243    {
1244      let message_ident = self.i_prot_mut().read_message_begin()?;
1245      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1246      verify_expected_service_call("get_account", &message_ident.name)?;
1247      if message_ident.message_type == TMessageType::Exception {
1248        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1249        self.i_prot_mut().read_message_end()?;
1250        return Err(thrift::Error::Application(remote_error))
1251      }
1252      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1253      let result = IPCChainTesterGetAccountResult::read_from_in_protocol(self.i_prot_mut())?;
1254      self.i_prot_mut().read_message_end()?;
1255      result.ok_or()
1256    }
1257  }
1258  fn import_key(&mut self, id: i32, pub_key: String, priv_key: String) -> thrift::Result<bool> {
1259    (
1260      {
1261        self.increment_sequence_number();
1262        let message_ident = TMessageIdentifier::new("import_key", TMessageType::Call, self.sequence_number());
1263        let call_args = IPCChainTesterImportKeyArgs { id, pub_key, priv_key };
1264        self.o_prot_mut().write_message_begin(&message_ident)?;
1265        call_args.write_to_out_protocol(self.o_prot_mut())?;
1266        self.o_prot_mut().write_message_end()?;
1267        self.o_prot_mut().flush()
1268      }
1269    )?;
1270    {
1271      let message_ident = self.i_prot_mut().read_message_begin()?;
1272      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1273      verify_expected_service_call("import_key", &message_ident.name)?;
1274      if message_ident.message_type == TMessageType::Exception {
1275        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1276        self.i_prot_mut().read_message_end()?;
1277        return Err(thrift::Error::Application(remote_error))
1278      }
1279      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1280      let result = IPCChainTesterImportKeyResult::read_from_in_protocol(self.i_prot_mut())?;
1281      self.i_prot_mut().read_message_end()?;
1282      result.ok_or()
1283    }
1284  }
1285  fn get_required_keys(&mut self, id: i32, transaction: String, available_keys: Vec<String>) -> thrift::Result<String> {
1286    (
1287      {
1288        self.increment_sequence_number();
1289        let message_ident = TMessageIdentifier::new("get_required_keys", TMessageType::Call, self.sequence_number());
1290        let call_args = IPCChainTesterGetRequiredKeysArgs { id, transaction, available_keys };
1291        self.o_prot_mut().write_message_begin(&message_ident)?;
1292        call_args.write_to_out_protocol(self.o_prot_mut())?;
1293        self.o_prot_mut().write_message_end()?;
1294        self.o_prot_mut().flush()
1295      }
1296    )?;
1297    {
1298      let message_ident = self.i_prot_mut().read_message_begin()?;
1299      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1300      verify_expected_service_call("get_required_keys", &message_ident.name)?;
1301      if message_ident.message_type == TMessageType::Exception {
1302        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1303        self.i_prot_mut().read_message_end()?;
1304        return Err(thrift::Error::Application(remote_error))
1305      }
1306      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1307      let result = IPCChainTesterGetRequiredKeysResult::read_from_in_protocol(self.i_prot_mut())?;
1308      self.i_prot_mut().read_message_end()?;
1309      result.ok_or()
1310    }
1311  }
1312  fn produce_block(&mut self, id: i32) -> thrift::Result<()> {
1313    (
1314      {
1315        self.increment_sequence_number();
1316        let message_ident = TMessageIdentifier::new("produce_block", TMessageType::Call, self.sequence_number());
1317        let call_args = IPCChainTesterProduceBlockArgs { id };
1318        self.o_prot_mut().write_message_begin(&message_ident)?;
1319        call_args.write_to_out_protocol(self.o_prot_mut())?;
1320        self.o_prot_mut().write_message_end()?;
1321        self.o_prot_mut().flush()
1322      }
1323    )?;
1324    {
1325      let message_ident = self.i_prot_mut().read_message_begin()?;
1326      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1327      verify_expected_service_call("produce_block", &message_ident.name)?;
1328      if message_ident.message_type == TMessageType::Exception {
1329        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1330        self.i_prot_mut().read_message_end()?;
1331        return Err(thrift::Error::Application(remote_error))
1332      }
1333      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1334      let result = IPCChainTesterProduceBlockResult::read_from_in_protocol(self.i_prot_mut())?;
1335      self.i_prot_mut().read_message_end()?;
1336      result.ok_or()
1337    }
1338  }
1339  fn push_action(&mut self, id: i32, account: String, action: String, arguments: String, permissions: String) -> thrift::Result<Vec<u8>> {
1340    (
1341      {
1342        self.increment_sequence_number();
1343        let message_ident = TMessageIdentifier::new("push_action", TMessageType::Call, self.sequence_number());
1344        let call_args = IPCChainTesterPushActionArgs { id, account, action, arguments, permissions };
1345        self.o_prot_mut().write_message_begin(&message_ident)?;
1346        call_args.write_to_out_protocol(self.o_prot_mut())?;
1347        self.o_prot_mut().write_message_end()?;
1348        self.o_prot_mut().flush()
1349      }
1350    )?;
1351    server::run_apply_request_server()?;
1352    {
1353      let message_ident = self.i_prot_mut().read_message_begin()?;
1354      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1355      verify_expected_service_call("push_action", &message_ident.name)?;
1356      if message_ident.message_type == TMessageType::Exception {
1357        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1358        self.i_prot_mut().read_message_end()?;
1359        return Err(thrift::Error::Application(remote_error))
1360      }
1361      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1362      let result = IPCChainTesterPushActionResult::read_from_in_protocol(self.i_prot_mut())?;
1363      self.i_prot_mut().read_message_end()?;
1364      result.ok_or()
1365    }
1366  }
1367  fn push_actions(&mut self, id: i32, actions: Vec<Box<Action>>) -> thrift::Result<Vec<u8>> {
1368    (
1369      {
1370        self.increment_sequence_number();
1371        let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Call, self.sequence_number());
1372        let call_args = IPCChainTesterPushActionsArgs { id, actions };
1373        self.o_prot_mut().write_message_begin(&message_ident)?;
1374        call_args.write_to_out_protocol(self.o_prot_mut())?;
1375        self.o_prot_mut().write_message_end()?;
1376        self.o_prot_mut().flush()
1377      }
1378    )?;
1379    server::run_apply_request_server()?;
1380    {
1381      let message_ident = self.i_prot_mut().read_message_begin()?;
1382      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1383      verify_expected_service_call("push_actions", &message_ident.name)?;
1384      if message_ident.message_type == TMessageType::Exception {
1385        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1386        self.i_prot_mut().read_message_end()?;
1387        return Err(thrift::Error::Application(remote_error))
1388      }
1389      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1390      let result = IPCChainTesterPushActionsResult::read_from_in_protocol(self.i_prot_mut())?;
1391      self.i_prot_mut().read_message_end()?;
1392      result.ok_or()
1393    }
1394  }
1395  fn get_table_rows(&mut self, id: i32, json: bool, code: String, scope: String, table: String, lower_bound: String, upper_bound: String, limit: i64, key_type: String, index_position: String, reverse: bool, show_payer: bool) -> thrift::Result<String> {
1396    (
1397      {
1398        self.increment_sequence_number();
1399        let message_ident = TMessageIdentifier::new("get_table_rows", TMessageType::Call, self.sequence_number());
1400        let call_args = IPCChainTesterGetTableRowsArgs { id, json, code, scope, table, lower_bound, upper_bound, limit, key_type, index_position, reverse, show_payer };
1401        self.o_prot_mut().write_message_begin(&message_ident)?;
1402        call_args.write_to_out_protocol(self.o_prot_mut())?;
1403        self.o_prot_mut().write_message_end()?;
1404        self.o_prot_mut().flush()
1405      }
1406    )?;
1407    {
1408      let message_ident = self.i_prot_mut().read_message_begin()?;
1409      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
1410      verify_expected_service_call("get_table_rows", &message_ident.name)?;
1411      if message_ident.message_type == TMessageType::Exception {
1412        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
1413        self.i_prot_mut().read_message_end()?;
1414        return Err(thrift::Error::Application(remote_error))
1415      }
1416      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
1417      let result = IPCChainTesterGetTableRowsResult::read_from_in_protocol(self.i_prot_mut())?;
1418      self.i_prot_mut().read_message_end()?;
1419      result.ok_or()
1420    }
1421  }
1422}
1423
1424//
1425// IPCChainTester service processor
1426//
1427
1428pub trait IPCChainTesterSyncHandler {
1429  fn handle_init_vm_api(&self) -> thrift::Result<()>;
1430  fn handle_init_apply_request(&self) -> thrift::Result<()>;
1431  fn handle_enable_debug_contract(&self, id: i32, contract: String, enable: bool) -> thrift::Result<()>;
1432  fn handle_is_debug_contract_enabled(&self, id: i32, contract: String) -> thrift::Result<bool>;
1433  fn handle_pack_abi(&self, abi: String) -> thrift::Result<Vec<u8>>;
1434  fn handle_pack_action_args(&self, id: i32, contract: String, action: String, action_args: String) -> thrift::Result<Vec<u8>>;
1435  fn handle_unpack_action_args(&self, id: i32, contract: String, action: String, raw_args: Vec<u8>) -> thrift::Result<Vec<u8>>;
1436  fn handle_new_chain(&self) -> thrift::Result<i32>;
1437  fn handle_free_chain(&self, id: i32) -> thrift::Result<i32>;
1438  fn handle_get_info(&self, id: i32) -> thrift::Result<String>;
1439  fn handle_get_account(&self, id: i32, account: String) -> thrift::Result<String>;
1440  fn handle_import_key(&self, id: i32, pub_key: String, priv_key: String) -> thrift::Result<bool>;
1441  fn handle_get_required_keys(&self, id: i32, transaction: String, available_keys: Vec<String>) -> thrift::Result<String>;
1442  fn handle_produce_block(&self, id: i32) -> thrift::Result<()>;
1443  fn handle_push_action(&self, id: i32, account: String, action: String, arguments: String, permissions: String) -> thrift::Result<Vec<u8>>;
1444  fn handle_push_actions(&self, id: i32, actions: Vec<Box<Action>>) -> thrift::Result<Vec<u8>>;
1445  fn handle_get_table_rows(&self, id: i32, json: bool, code: String, scope: String, table: String, lower_bound: String, upper_bound: String, limit: i64, key_type: String, index_position: String, reverse: bool, show_payer: bool) -> thrift::Result<String>;
1446}
1447
1448pub struct IPCChainTesterSyncProcessor<H: IPCChainTesterSyncHandler> {
1449  handler: H,
1450}
1451
1452impl <H: IPCChainTesterSyncHandler> IPCChainTesterSyncProcessor<H> {
1453  pub fn new(handler: H) -> IPCChainTesterSyncProcessor<H> {
1454    IPCChainTesterSyncProcessor {
1455      handler,
1456    }
1457  }
1458  fn process_init_vm_api(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1459    TIPCChainTesterProcessFunctions::process_init_vm_api(&self.handler, incoming_sequence_number, i_prot, o_prot)
1460  }
1461  fn process_init_apply_request(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1462    TIPCChainTesterProcessFunctions::process_init_apply_request(&self.handler, incoming_sequence_number, i_prot, o_prot)
1463  }
1464  fn process_enable_debug_contract(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1465    TIPCChainTesterProcessFunctions::process_enable_debug_contract(&self.handler, incoming_sequence_number, i_prot, o_prot)
1466  }
1467  fn process_is_debug_contract_enabled(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1468    TIPCChainTesterProcessFunctions::process_is_debug_contract_enabled(&self.handler, incoming_sequence_number, i_prot, o_prot)
1469  }
1470  fn process_pack_abi(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1471    TIPCChainTesterProcessFunctions::process_pack_abi(&self.handler, incoming_sequence_number, i_prot, o_prot)
1472  }
1473  fn process_pack_action_args(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1474    TIPCChainTesterProcessFunctions::process_pack_action_args(&self.handler, incoming_sequence_number, i_prot, o_prot)
1475  }
1476  fn process_unpack_action_args(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1477    TIPCChainTesterProcessFunctions::process_unpack_action_args(&self.handler, incoming_sequence_number, i_prot, o_prot)
1478  }
1479  fn process_new_chain(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1480    TIPCChainTesterProcessFunctions::process_new_chain(&self.handler, incoming_sequence_number, i_prot, o_prot)
1481  }
1482  fn process_free_chain(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1483    TIPCChainTesterProcessFunctions::process_free_chain(&self.handler, incoming_sequence_number, i_prot, o_prot)
1484  }
1485  fn process_get_info(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1486    TIPCChainTesterProcessFunctions::process_get_info(&self.handler, incoming_sequence_number, i_prot, o_prot)
1487  }
1488  fn process_get_account(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1489    TIPCChainTesterProcessFunctions::process_get_account(&self.handler, incoming_sequence_number, i_prot, o_prot)
1490  }
1491  fn process_import_key(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1492    TIPCChainTesterProcessFunctions::process_import_key(&self.handler, incoming_sequence_number, i_prot, o_prot)
1493  }
1494  fn process_get_required_keys(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1495    TIPCChainTesterProcessFunctions::process_get_required_keys(&self.handler, incoming_sequence_number, i_prot, o_prot)
1496  }
1497  fn process_produce_block(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1498    TIPCChainTesterProcessFunctions::process_produce_block(&self.handler, incoming_sequence_number, i_prot, o_prot)
1499  }
1500  fn process_push_action(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1501    TIPCChainTesterProcessFunctions::process_push_action(&self.handler, incoming_sequence_number, i_prot, o_prot)
1502  }
1503  fn process_push_actions(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1504    TIPCChainTesterProcessFunctions::process_push_actions(&self.handler, incoming_sequence_number, i_prot, o_prot)
1505  }
1506  fn process_get_table_rows(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1507    TIPCChainTesterProcessFunctions::process_get_table_rows(&self.handler, incoming_sequence_number, i_prot, o_prot)
1508  }
1509}
1510
1511pub struct TIPCChainTesterProcessFunctions;
1512
1513impl TIPCChainTesterProcessFunctions {
1514  pub fn process_init_vm_api<H: IPCChainTesterSyncHandler>(handler: &H, _: i32, i_prot: &mut dyn TInputProtocol, _: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1515    let _ = IPCChainTesterInitVmApiArgs::read_from_in_protocol(i_prot)?;
1516    match handler.handle_init_vm_api() {
1517      Ok(_) => {
1518        Ok(())
1519      },
1520      Err(e) => {
1521        match e {
1522          thrift::Error::Application(app_err) => {
1523            Err(thrift::Error::Application(app_err))
1524          },
1525          _ => {
1526            let ret_err = {
1527              ApplicationError::new(
1528                ApplicationErrorKind::Unknown,
1529                e.to_string()
1530              )
1531            };
1532            Err(thrift::Error::Application(ret_err))
1533          },
1534        }
1535      },
1536    }
1537  }
1538  pub fn process_init_apply_request<H: IPCChainTesterSyncHandler>(handler: &H, _: i32, i_prot: &mut dyn TInputProtocol, _: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1539    let _ = IPCChainTesterInitApplyRequestArgs::read_from_in_protocol(i_prot)?;
1540    match handler.handle_init_apply_request() {
1541      Ok(_) => {
1542        Ok(())
1543      },
1544      Err(e) => {
1545        match e {
1546          thrift::Error::Application(app_err) => {
1547            Err(thrift::Error::Application(app_err))
1548          },
1549          _ => {
1550            let ret_err = {
1551              ApplicationError::new(
1552                ApplicationErrorKind::Unknown,
1553                e.to_string()
1554              )
1555            };
1556            Err(thrift::Error::Application(ret_err))
1557          },
1558        }
1559      },
1560    }
1561  }
1562  pub fn process_enable_debug_contract<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1563    let args = IPCChainTesterEnableDebugContractArgs::read_from_in_protocol(i_prot)?;
1564    match handler.handle_enable_debug_contract(args.id, args.contract, args.enable) {
1565      Ok(_) => {
1566        let message_ident = TMessageIdentifier::new("enable_debug_contract", TMessageType::Reply, incoming_sequence_number);
1567        o_prot.write_message_begin(&message_ident)?;
1568        let ret = IPCChainTesterEnableDebugContractResult {  };
1569        ret.write_to_out_protocol(o_prot)?;
1570        o_prot.write_message_end()?;
1571        o_prot.flush()
1572      },
1573      Err(e) => {
1574        match e {
1575          thrift::Error::Application(app_err) => {
1576            let message_ident = TMessageIdentifier::new("enable_debug_contract", TMessageType::Exception, incoming_sequence_number);
1577            o_prot.write_message_begin(&message_ident)?;
1578            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1579            o_prot.write_message_end()?;
1580            o_prot.flush()
1581          },
1582          _ => {
1583            let ret_err = {
1584              ApplicationError::new(
1585                ApplicationErrorKind::Unknown,
1586                e.to_string()
1587              )
1588            };
1589            let message_ident = TMessageIdentifier::new("enable_debug_contract", TMessageType::Exception, incoming_sequence_number);
1590            o_prot.write_message_begin(&message_ident)?;
1591            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1592            o_prot.write_message_end()?;
1593            o_prot.flush()
1594          },
1595        }
1596      },
1597    }
1598  }
1599  pub fn process_is_debug_contract_enabled<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1600    let args = IPCChainTesterIsDebugContractEnabledArgs::read_from_in_protocol(i_prot)?;
1601    match handler.handle_is_debug_contract_enabled(args.id, args.contract) {
1602      Ok(handler_return) => {
1603        let message_ident = TMessageIdentifier::new("is_debug_contract_enabled", TMessageType::Reply, incoming_sequence_number);
1604        o_prot.write_message_begin(&message_ident)?;
1605        let ret = IPCChainTesterIsDebugContractEnabledResult { result_value: Some(handler_return) };
1606        ret.write_to_out_protocol(o_prot)?;
1607        o_prot.write_message_end()?;
1608        o_prot.flush()
1609      },
1610      Err(e) => {
1611        match e {
1612          thrift::Error::Application(app_err) => {
1613            let message_ident = TMessageIdentifier::new("is_debug_contract_enabled", TMessageType::Exception, incoming_sequence_number);
1614            o_prot.write_message_begin(&message_ident)?;
1615            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1616            o_prot.write_message_end()?;
1617            o_prot.flush()
1618          },
1619          _ => {
1620            let ret_err = {
1621              ApplicationError::new(
1622                ApplicationErrorKind::Unknown,
1623                e.to_string()
1624              )
1625            };
1626            let message_ident = TMessageIdentifier::new("is_debug_contract_enabled", TMessageType::Exception, incoming_sequence_number);
1627            o_prot.write_message_begin(&message_ident)?;
1628            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1629            o_prot.write_message_end()?;
1630            o_prot.flush()
1631          },
1632        }
1633      },
1634    }
1635  }
1636  pub fn process_pack_abi<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1637    let args = IPCChainTesterPackAbiArgs::read_from_in_protocol(i_prot)?;
1638    match handler.handle_pack_abi(args.abi) {
1639      Ok(handler_return) => {
1640        let message_ident = TMessageIdentifier::new("pack_abi", TMessageType::Reply, incoming_sequence_number);
1641        o_prot.write_message_begin(&message_ident)?;
1642        let ret = IPCChainTesterPackAbiResult { result_value: Some(handler_return) };
1643        ret.write_to_out_protocol(o_prot)?;
1644        o_prot.write_message_end()?;
1645        o_prot.flush()
1646      },
1647      Err(e) => {
1648        match e {
1649          thrift::Error::Application(app_err) => {
1650            let message_ident = TMessageIdentifier::new("pack_abi", TMessageType::Exception, incoming_sequence_number);
1651            o_prot.write_message_begin(&message_ident)?;
1652            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1653            o_prot.write_message_end()?;
1654            o_prot.flush()
1655          },
1656          _ => {
1657            let ret_err = {
1658              ApplicationError::new(
1659                ApplicationErrorKind::Unknown,
1660                e.to_string()
1661              )
1662            };
1663            let message_ident = TMessageIdentifier::new("pack_abi", TMessageType::Exception, incoming_sequence_number);
1664            o_prot.write_message_begin(&message_ident)?;
1665            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1666            o_prot.write_message_end()?;
1667            o_prot.flush()
1668          },
1669        }
1670      },
1671    }
1672  }
1673  pub fn process_pack_action_args<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1674    let args = IPCChainTesterPackActionArgsArgs::read_from_in_protocol(i_prot)?;
1675    match handler.handle_pack_action_args(args.id, args.contract, args.action, args.action_args) {
1676      Ok(handler_return) => {
1677        let message_ident = TMessageIdentifier::new("pack_action_args", TMessageType::Reply, incoming_sequence_number);
1678        o_prot.write_message_begin(&message_ident)?;
1679        let ret = IPCChainTesterPackActionArgsResult { result_value: Some(handler_return) };
1680        ret.write_to_out_protocol(o_prot)?;
1681        o_prot.write_message_end()?;
1682        o_prot.flush()
1683      },
1684      Err(e) => {
1685        match e {
1686          thrift::Error::Application(app_err) => {
1687            let message_ident = TMessageIdentifier::new("pack_action_args", TMessageType::Exception, incoming_sequence_number);
1688            o_prot.write_message_begin(&message_ident)?;
1689            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1690            o_prot.write_message_end()?;
1691            o_prot.flush()
1692          },
1693          _ => {
1694            let ret_err = {
1695              ApplicationError::new(
1696                ApplicationErrorKind::Unknown,
1697                e.to_string()
1698              )
1699            };
1700            let message_ident = TMessageIdentifier::new("pack_action_args", TMessageType::Exception, incoming_sequence_number);
1701            o_prot.write_message_begin(&message_ident)?;
1702            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1703            o_prot.write_message_end()?;
1704            o_prot.flush()
1705          },
1706        }
1707      },
1708    }
1709  }
1710  pub fn process_unpack_action_args<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1711    let args = IPCChainTesterUnpackActionArgsArgs::read_from_in_protocol(i_prot)?;
1712    match handler.handle_unpack_action_args(args.id, args.contract, args.action, args.raw_args) {
1713      Ok(handler_return) => {
1714        let message_ident = TMessageIdentifier::new("unpack_action_args", TMessageType::Reply, incoming_sequence_number);
1715        o_prot.write_message_begin(&message_ident)?;
1716        let ret = IPCChainTesterUnpackActionArgsResult { result_value: Some(handler_return) };
1717        ret.write_to_out_protocol(o_prot)?;
1718        o_prot.write_message_end()?;
1719        o_prot.flush()
1720      },
1721      Err(e) => {
1722        match e {
1723          thrift::Error::Application(app_err) => {
1724            let message_ident = TMessageIdentifier::new("unpack_action_args", TMessageType::Exception, incoming_sequence_number);
1725            o_prot.write_message_begin(&message_ident)?;
1726            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1727            o_prot.write_message_end()?;
1728            o_prot.flush()
1729          },
1730          _ => {
1731            let ret_err = {
1732              ApplicationError::new(
1733                ApplicationErrorKind::Unknown,
1734                e.to_string()
1735              )
1736            };
1737            let message_ident = TMessageIdentifier::new("unpack_action_args", TMessageType::Exception, incoming_sequence_number);
1738            o_prot.write_message_begin(&message_ident)?;
1739            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1740            o_prot.write_message_end()?;
1741            o_prot.flush()
1742          },
1743        }
1744      },
1745    }
1746  }
1747  pub fn process_new_chain<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1748    let _ = IPCChainTesterNewChainArgs::read_from_in_protocol(i_prot)?;
1749    match handler.handle_new_chain() {
1750      Ok(handler_return) => {
1751        let message_ident = TMessageIdentifier::new("new_chain", TMessageType::Reply, incoming_sequence_number);
1752        o_prot.write_message_begin(&message_ident)?;
1753        let ret = IPCChainTesterNewChainResult { result_value: Some(handler_return) };
1754        ret.write_to_out_protocol(o_prot)?;
1755        o_prot.write_message_end()?;
1756        o_prot.flush()
1757      },
1758      Err(e) => {
1759        match e {
1760          thrift::Error::Application(app_err) => {
1761            let message_ident = TMessageIdentifier::new("new_chain", TMessageType::Exception, incoming_sequence_number);
1762            o_prot.write_message_begin(&message_ident)?;
1763            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1764            o_prot.write_message_end()?;
1765            o_prot.flush()
1766          },
1767          _ => {
1768            let ret_err = {
1769              ApplicationError::new(
1770                ApplicationErrorKind::Unknown,
1771                e.to_string()
1772              )
1773            };
1774            let message_ident = TMessageIdentifier::new("new_chain", TMessageType::Exception, incoming_sequence_number);
1775            o_prot.write_message_begin(&message_ident)?;
1776            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1777            o_prot.write_message_end()?;
1778            o_prot.flush()
1779          },
1780        }
1781      },
1782    }
1783  }
1784  pub fn process_free_chain<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1785    let args = IPCChainTesterFreeChainArgs::read_from_in_protocol(i_prot)?;
1786    match handler.handle_free_chain(args.id) {
1787      Ok(handler_return) => {
1788        let message_ident = TMessageIdentifier::new("free_chain", TMessageType::Reply, incoming_sequence_number);
1789        o_prot.write_message_begin(&message_ident)?;
1790        let ret = IPCChainTesterFreeChainResult { result_value: Some(handler_return) };
1791        ret.write_to_out_protocol(o_prot)?;
1792        o_prot.write_message_end()?;
1793        o_prot.flush()
1794      },
1795      Err(e) => {
1796        match e {
1797          thrift::Error::Application(app_err) => {
1798            let message_ident = TMessageIdentifier::new("free_chain", TMessageType::Exception, incoming_sequence_number);
1799            o_prot.write_message_begin(&message_ident)?;
1800            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1801            o_prot.write_message_end()?;
1802            o_prot.flush()
1803          },
1804          _ => {
1805            let ret_err = {
1806              ApplicationError::new(
1807                ApplicationErrorKind::Unknown,
1808                e.to_string()
1809              )
1810            };
1811            let message_ident = TMessageIdentifier::new("free_chain", TMessageType::Exception, incoming_sequence_number);
1812            o_prot.write_message_begin(&message_ident)?;
1813            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1814            o_prot.write_message_end()?;
1815            o_prot.flush()
1816          },
1817        }
1818      },
1819    }
1820  }
1821  pub fn process_get_info<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1822    let args = IPCChainTesterGetInfoArgs::read_from_in_protocol(i_prot)?;
1823    match handler.handle_get_info(args.id) {
1824      Ok(handler_return) => {
1825        let message_ident = TMessageIdentifier::new("get_info", TMessageType::Reply, incoming_sequence_number);
1826        o_prot.write_message_begin(&message_ident)?;
1827        let ret = IPCChainTesterGetInfoResult { result_value: Some(handler_return) };
1828        ret.write_to_out_protocol(o_prot)?;
1829        o_prot.write_message_end()?;
1830        o_prot.flush()
1831      },
1832      Err(e) => {
1833        match e {
1834          thrift::Error::Application(app_err) => {
1835            let message_ident = TMessageIdentifier::new("get_info", TMessageType::Exception, incoming_sequence_number);
1836            o_prot.write_message_begin(&message_ident)?;
1837            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1838            o_prot.write_message_end()?;
1839            o_prot.flush()
1840          },
1841          _ => {
1842            let ret_err = {
1843              ApplicationError::new(
1844                ApplicationErrorKind::Unknown,
1845                e.to_string()
1846              )
1847            };
1848            let message_ident = TMessageIdentifier::new("get_info", TMessageType::Exception, incoming_sequence_number);
1849            o_prot.write_message_begin(&message_ident)?;
1850            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1851            o_prot.write_message_end()?;
1852            o_prot.flush()
1853          },
1854        }
1855      },
1856    }
1857  }
1858  pub fn process_get_account<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1859    let args = IPCChainTesterGetAccountArgs::read_from_in_protocol(i_prot)?;
1860    match handler.handle_get_account(args.id, args.account) {
1861      Ok(handler_return) => {
1862        let message_ident = TMessageIdentifier::new("get_account", TMessageType::Reply, incoming_sequence_number);
1863        o_prot.write_message_begin(&message_ident)?;
1864        let ret = IPCChainTesterGetAccountResult { result_value: Some(handler_return) };
1865        ret.write_to_out_protocol(o_prot)?;
1866        o_prot.write_message_end()?;
1867        o_prot.flush()
1868      },
1869      Err(e) => {
1870        match e {
1871          thrift::Error::Application(app_err) => {
1872            let message_ident = TMessageIdentifier::new("get_account", TMessageType::Exception, incoming_sequence_number);
1873            o_prot.write_message_begin(&message_ident)?;
1874            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1875            o_prot.write_message_end()?;
1876            o_prot.flush()
1877          },
1878          _ => {
1879            let ret_err = {
1880              ApplicationError::new(
1881                ApplicationErrorKind::Unknown,
1882                e.to_string()
1883              )
1884            };
1885            let message_ident = TMessageIdentifier::new("get_account", TMessageType::Exception, incoming_sequence_number);
1886            o_prot.write_message_begin(&message_ident)?;
1887            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1888            o_prot.write_message_end()?;
1889            o_prot.flush()
1890          },
1891        }
1892      },
1893    }
1894  }
1895  pub fn process_import_key<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1896    let args = IPCChainTesterImportKeyArgs::read_from_in_protocol(i_prot)?;
1897    match handler.handle_import_key(args.id, args.pub_key, args.priv_key) {
1898      Ok(handler_return) => {
1899        let message_ident = TMessageIdentifier::new("import_key", TMessageType::Reply, incoming_sequence_number);
1900        o_prot.write_message_begin(&message_ident)?;
1901        let ret = IPCChainTesterImportKeyResult { result_value: Some(handler_return) };
1902        ret.write_to_out_protocol(o_prot)?;
1903        o_prot.write_message_end()?;
1904        o_prot.flush()
1905      },
1906      Err(e) => {
1907        match e {
1908          thrift::Error::Application(app_err) => {
1909            let message_ident = TMessageIdentifier::new("import_key", TMessageType::Exception, incoming_sequence_number);
1910            o_prot.write_message_begin(&message_ident)?;
1911            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1912            o_prot.write_message_end()?;
1913            o_prot.flush()
1914          },
1915          _ => {
1916            let ret_err = {
1917              ApplicationError::new(
1918                ApplicationErrorKind::Unknown,
1919                e.to_string()
1920              )
1921            };
1922            let message_ident = TMessageIdentifier::new("import_key", TMessageType::Exception, incoming_sequence_number);
1923            o_prot.write_message_begin(&message_ident)?;
1924            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1925            o_prot.write_message_end()?;
1926            o_prot.flush()
1927          },
1928        }
1929      },
1930    }
1931  }
1932  pub fn process_get_required_keys<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1933    let args = IPCChainTesterGetRequiredKeysArgs::read_from_in_protocol(i_prot)?;
1934    match handler.handle_get_required_keys(args.id, args.transaction, args.available_keys) {
1935      Ok(handler_return) => {
1936        let message_ident = TMessageIdentifier::new("get_required_keys", TMessageType::Reply, incoming_sequence_number);
1937        o_prot.write_message_begin(&message_ident)?;
1938        let ret = IPCChainTesterGetRequiredKeysResult { result_value: Some(handler_return) };
1939        ret.write_to_out_protocol(o_prot)?;
1940        o_prot.write_message_end()?;
1941        o_prot.flush()
1942      },
1943      Err(e) => {
1944        match e {
1945          thrift::Error::Application(app_err) => {
1946            let message_ident = TMessageIdentifier::new("get_required_keys", TMessageType::Exception, incoming_sequence_number);
1947            o_prot.write_message_begin(&message_ident)?;
1948            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1949            o_prot.write_message_end()?;
1950            o_prot.flush()
1951          },
1952          _ => {
1953            let ret_err = {
1954              ApplicationError::new(
1955                ApplicationErrorKind::Unknown,
1956                e.to_string()
1957              )
1958            };
1959            let message_ident = TMessageIdentifier::new("get_required_keys", TMessageType::Exception, incoming_sequence_number);
1960            o_prot.write_message_begin(&message_ident)?;
1961            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1962            o_prot.write_message_end()?;
1963            o_prot.flush()
1964          },
1965        }
1966      },
1967    }
1968  }
1969  pub fn process_produce_block<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
1970    let args = IPCChainTesterProduceBlockArgs::read_from_in_protocol(i_prot)?;
1971    match handler.handle_produce_block(args.id) {
1972      Ok(_) => {
1973        let message_ident = TMessageIdentifier::new("produce_block", TMessageType::Reply, incoming_sequence_number);
1974        o_prot.write_message_begin(&message_ident)?;
1975        let ret = IPCChainTesterProduceBlockResult {  };
1976        ret.write_to_out_protocol(o_prot)?;
1977        o_prot.write_message_end()?;
1978        o_prot.flush()
1979      },
1980      Err(e) => {
1981        match e {
1982          thrift::Error::Application(app_err) => {
1983            let message_ident = TMessageIdentifier::new("produce_block", TMessageType::Exception, incoming_sequence_number);
1984            o_prot.write_message_begin(&message_ident)?;
1985            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
1986            o_prot.write_message_end()?;
1987            o_prot.flush()
1988          },
1989          _ => {
1990            let ret_err = {
1991              ApplicationError::new(
1992                ApplicationErrorKind::Unknown,
1993                e.to_string()
1994              )
1995            };
1996            let message_ident = TMessageIdentifier::new("produce_block", TMessageType::Exception, incoming_sequence_number);
1997            o_prot.write_message_begin(&message_ident)?;
1998            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
1999            o_prot.write_message_end()?;
2000            o_prot.flush()
2001          },
2002        }
2003      },
2004    }
2005  }
2006  pub fn process_push_action<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2007    let args = IPCChainTesterPushActionArgs::read_from_in_protocol(i_prot)?;
2008    match handler.handle_push_action(args.id, args.account, args.action, args.arguments, args.permissions) {
2009      Ok(handler_return) => {
2010        let message_ident = TMessageIdentifier::new("push_action", TMessageType::Reply, incoming_sequence_number);
2011        o_prot.write_message_begin(&message_ident)?;
2012        let ret = IPCChainTesterPushActionResult { result_value: Some(handler_return) };
2013        ret.write_to_out_protocol(o_prot)?;
2014        o_prot.write_message_end()?;
2015        o_prot.flush()
2016      },
2017      Err(e) => {
2018        match e {
2019          thrift::Error::Application(app_err) => {
2020            let message_ident = TMessageIdentifier::new("push_action", TMessageType::Exception, incoming_sequence_number);
2021            o_prot.write_message_begin(&message_ident)?;
2022            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
2023            o_prot.write_message_end()?;
2024            o_prot.flush()
2025          },
2026          _ => {
2027            let ret_err = {
2028              ApplicationError::new(
2029                ApplicationErrorKind::Unknown,
2030                e.to_string()
2031              )
2032            };
2033            let message_ident = TMessageIdentifier::new("push_action", TMessageType::Exception, incoming_sequence_number);
2034            o_prot.write_message_begin(&message_ident)?;
2035            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
2036            o_prot.write_message_end()?;
2037            o_prot.flush()
2038          },
2039        }
2040      },
2041    }
2042  }
2043  pub fn process_push_actions<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2044    let args = IPCChainTesterPushActionsArgs::read_from_in_protocol(i_prot)?;
2045    match handler.handle_push_actions(args.id, args.actions) {
2046      Ok(handler_return) => {
2047        let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Reply, incoming_sequence_number);
2048        o_prot.write_message_begin(&message_ident)?;
2049        let ret = IPCChainTesterPushActionsResult { result_value: Some(handler_return) };
2050        ret.write_to_out_protocol(o_prot)?;
2051        o_prot.write_message_end()?;
2052        o_prot.flush()
2053      },
2054      Err(e) => {
2055        match e {
2056          thrift::Error::Application(app_err) => {
2057            let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Exception, incoming_sequence_number);
2058            o_prot.write_message_begin(&message_ident)?;
2059            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
2060            o_prot.write_message_end()?;
2061            o_prot.flush()
2062          },
2063          _ => {
2064            let ret_err = {
2065              ApplicationError::new(
2066                ApplicationErrorKind::Unknown,
2067                e.to_string()
2068              )
2069            };
2070            let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Exception, incoming_sequence_number);
2071            o_prot.write_message_begin(&message_ident)?;
2072            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
2073            o_prot.write_message_end()?;
2074            o_prot.flush()
2075          },
2076        }
2077      },
2078    }
2079  }
2080  pub fn process_get_table_rows<H: IPCChainTesterSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2081    let args = IPCChainTesterGetTableRowsArgs::read_from_in_protocol(i_prot)?;
2082    match handler.handle_get_table_rows(args.id, args.json, args.code, args.scope, args.table, args.lower_bound, args.upper_bound, args.limit, args.key_type, args.index_position, args.reverse, args.show_payer) {
2083      Ok(handler_return) => {
2084        let message_ident = TMessageIdentifier::new("get_table_rows", TMessageType::Reply, incoming_sequence_number);
2085        o_prot.write_message_begin(&message_ident)?;
2086        let ret = IPCChainTesterGetTableRowsResult { result_value: Some(handler_return) };
2087        ret.write_to_out_protocol(o_prot)?;
2088        o_prot.write_message_end()?;
2089        o_prot.flush()
2090      },
2091      Err(e) => {
2092        match e {
2093          thrift::Error::Application(app_err) => {
2094            let message_ident = TMessageIdentifier::new("get_table_rows", TMessageType::Exception, incoming_sequence_number);
2095            o_prot.write_message_begin(&message_ident)?;
2096            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
2097            o_prot.write_message_end()?;
2098            o_prot.flush()
2099          },
2100          _ => {
2101            let ret_err = {
2102              ApplicationError::new(
2103                ApplicationErrorKind::Unknown,
2104                e.to_string()
2105              )
2106            };
2107            let message_ident = TMessageIdentifier::new("get_table_rows", TMessageType::Exception, incoming_sequence_number);
2108            o_prot.write_message_begin(&message_ident)?;
2109            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
2110            o_prot.write_message_end()?;
2111            o_prot.flush()
2112          },
2113        }
2114      },
2115    }
2116  }
2117}
2118
2119impl <H: IPCChainTesterSyncHandler> TProcessor for IPCChainTesterSyncProcessor<H> {
2120  fn process(&self, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2121    let message_ident = i_prot.read_message_begin()?;
2122    let res = match &*message_ident.name {
2123      "init_vm_api" => {
2124        self.process_init_vm_api(message_ident.sequence_number, i_prot, o_prot)
2125      },
2126      "init_apply_request" => {
2127        self.process_init_apply_request(message_ident.sequence_number, i_prot, o_prot)
2128      },
2129      "enable_debug_contract" => {
2130        self.process_enable_debug_contract(message_ident.sequence_number, i_prot, o_prot)
2131      },
2132      "is_debug_contract_enabled" => {
2133        self.process_is_debug_contract_enabled(message_ident.sequence_number, i_prot, o_prot)
2134      },
2135      "pack_abi" => {
2136        self.process_pack_abi(message_ident.sequence_number, i_prot, o_prot)
2137      },
2138      "pack_action_args" => {
2139        self.process_pack_action_args(message_ident.sequence_number, i_prot, o_prot)
2140      },
2141      "unpack_action_args" => {
2142        self.process_unpack_action_args(message_ident.sequence_number, i_prot, o_prot)
2143      },
2144      "new_chain" => {
2145        self.process_new_chain(message_ident.sequence_number, i_prot, o_prot)
2146      },
2147      "free_chain" => {
2148        self.process_free_chain(message_ident.sequence_number, i_prot, o_prot)
2149      },
2150      "get_info" => {
2151        self.process_get_info(message_ident.sequence_number, i_prot, o_prot)
2152      },
2153      "get_account" => {
2154        self.process_get_account(message_ident.sequence_number, i_prot, o_prot)
2155      },
2156      "import_key" => {
2157        self.process_import_key(message_ident.sequence_number, i_prot, o_prot)
2158      },
2159      "get_required_keys" => {
2160        self.process_get_required_keys(message_ident.sequence_number, i_prot, o_prot)
2161      },
2162      "produce_block" => {
2163        self.process_produce_block(message_ident.sequence_number, i_prot, o_prot)
2164      },
2165      "push_action" => {
2166        self.process_push_action(message_ident.sequence_number, i_prot, o_prot)
2167      },
2168      "push_actions" => {
2169        self.process_push_actions(message_ident.sequence_number, i_prot, o_prot)
2170      },
2171      "get_table_rows" => {
2172        self.process_get_table_rows(message_ident.sequence_number, i_prot, o_prot)
2173      },
2174      method => {
2175        Err(
2176          thrift::Error::Application(
2177            ApplicationError::new(
2178              ApplicationErrorKind::UnknownMethod,
2179              format!("unknown method {}", method)
2180            )
2181          )
2182        )
2183      },
2184    };
2185    thrift::server::handle_process_result(&message_ident, res, o_prot)
2186  }
2187}
2188
2189//
2190// IPCChainTesterInitVmApiArgs
2191//
2192
2193#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2194struct IPCChainTesterInitVmApiArgs {
2195}
2196
2197impl IPCChainTesterInitVmApiArgs {
2198  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterInitVmApiArgs> {
2199    i_prot.read_struct_begin()?;
2200    loop {
2201      let field_ident = i_prot.read_field_begin()?;
2202      if field_ident.field_type == TType::Stop {
2203        break;
2204      }
2205      let field_id = field_id(&field_ident)?;
2206      match field_id {
2207        _ => {
2208          i_prot.skip(field_ident.field_type)?;
2209        },
2210      };
2211      i_prot.read_field_end()?;
2212    }
2213    i_prot.read_struct_end()?;
2214    let ret = IPCChainTesterInitVmApiArgs {};
2215    Ok(ret)
2216  }
2217  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2218    let struct_ident = TStructIdentifier::new("init_vm_api_args");
2219    o_prot.write_struct_begin(&struct_ident)?;
2220    o_prot.write_field_stop()?;
2221    o_prot.write_struct_end()
2222  }
2223}
2224
2225//
2226// IPCChainTesterInitApplyRequestArgs
2227//
2228
2229#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2230struct IPCChainTesterInitApplyRequestArgs {
2231}
2232
2233impl IPCChainTesterInitApplyRequestArgs {
2234  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterInitApplyRequestArgs> {
2235    i_prot.read_struct_begin()?;
2236    loop {
2237      let field_ident = i_prot.read_field_begin()?;
2238      if field_ident.field_type == TType::Stop {
2239        break;
2240      }
2241      let field_id = field_id(&field_ident)?;
2242      match field_id {
2243        _ => {
2244          i_prot.skip(field_ident.field_type)?;
2245        },
2246      };
2247      i_prot.read_field_end()?;
2248    }
2249    i_prot.read_struct_end()?;
2250    let ret = IPCChainTesterInitApplyRequestArgs {};
2251    Ok(ret)
2252  }
2253  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2254    let struct_ident = TStructIdentifier::new("init_apply_request_args");
2255    o_prot.write_struct_begin(&struct_ident)?;
2256    o_prot.write_field_stop()?;
2257    o_prot.write_struct_end()
2258  }
2259}
2260
2261//
2262// IPCChainTesterEnableDebugContractArgs
2263//
2264
2265#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2266struct IPCChainTesterEnableDebugContractArgs {
2267  id: i32,
2268  contract: String,
2269  enable: bool,
2270}
2271
2272impl IPCChainTesterEnableDebugContractArgs {
2273  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterEnableDebugContractArgs> {
2274    i_prot.read_struct_begin()?;
2275    let mut f_1: Option<i32> = None;
2276    let mut f_2: Option<String> = None;
2277    let mut f_3: Option<bool> = None;
2278    loop {
2279      let field_ident = i_prot.read_field_begin()?;
2280      if field_ident.field_type == TType::Stop {
2281        break;
2282      }
2283      let field_id = field_id(&field_ident)?;
2284      match field_id {
2285        1 => {
2286          let val = i_prot.read_i32()?;
2287          f_1 = Some(val);
2288        },
2289        2 => {
2290          let val = i_prot.read_string()?;
2291          f_2 = Some(val);
2292        },
2293        3 => {
2294          let val = i_prot.read_bool()?;
2295          f_3 = Some(val);
2296        },
2297        _ => {
2298          i_prot.skip(field_ident.field_type)?;
2299        },
2300      };
2301      i_prot.read_field_end()?;
2302    }
2303    i_prot.read_struct_end()?;
2304    verify_required_field_exists("IPCChainTesterEnableDebugContractArgs.id", &f_1)?;
2305    verify_required_field_exists("IPCChainTesterEnableDebugContractArgs.contract", &f_2)?;
2306    verify_required_field_exists("IPCChainTesterEnableDebugContractArgs.enable", &f_3)?;
2307    let ret = IPCChainTesterEnableDebugContractArgs {
2308      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2309      contract: f_2.expect("auto-generated code should have checked for presence of required fields"),
2310      enable: f_3.expect("auto-generated code should have checked for presence of required fields"),
2311    };
2312    Ok(ret)
2313  }
2314  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2315    let struct_ident = TStructIdentifier::new("enable_debug_contract_args");
2316    o_prot.write_struct_begin(&struct_ident)?;
2317    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
2318    o_prot.write_i32(self.id)?;
2319    o_prot.write_field_end()?;
2320    o_prot.write_field_begin(&TFieldIdentifier::new("contract", TType::String, 2))?;
2321    o_prot.write_string(&self.contract)?;
2322    o_prot.write_field_end()?;
2323    o_prot.write_field_begin(&TFieldIdentifier::new("enable", TType::Bool, 3))?;
2324    o_prot.write_bool(self.enable)?;
2325    o_prot.write_field_end()?;
2326    o_prot.write_field_stop()?;
2327    o_prot.write_struct_end()
2328  }
2329}
2330
2331//
2332// IPCChainTesterEnableDebugContractResult
2333//
2334
2335#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2336struct IPCChainTesterEnableDebugContractResult {
2337}
2338
2339impl IPCChainTesterEnableDebugContractResult {
2340  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterEnableDebugContractResult> {
2341    i_prot.read_struct_begin()?;
2342    loop {
2343      let field_ident = i_prot.read_field_begin()?;
2344      if field_ident.field_type == TType::Stop {
2345        break;
2346      }
2347      let field_id = field_id(&field_ident)?;
2348      match field_id {
2349        _ => {
2350          i_prot.skip(field_ident.field_type)?;
2351        },
2352      };
2353      i_prot.read_field_end()?;
2354    }
2355    i_prot.read_struct_end()?;
2356    let ret = IPCChainTesterEnableDebugContractResult {};
2357    Ok(ret)
2358  }
2359  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2360    let struct_ident = TStructIdentifier::new("IPCChainTesterEnableDebugContractResult");
2361    o_prot.write_struct_begin(&struct_ident)?;
2362    o_prot.write_field_stop()?;
2363    o_prot.write_struct_end()
2364  }
2365  fn ok_or(self) -> thrift::Result<()> {
2366    Ok(())
2367  }
2368}
2369
2370//
2371// IPCChainTesterIsDebugContractEnabledArgs
2372//
2373
2374#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2375struct IPCChainTesterIsDebugContractEnabledArgs {
2376  id: i32,
2377  contract: String,
2378}
2379
2380impl IPCChainTesterIsDebugContractEnabledArgs {
2381  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterIsDebugContractEnabledArgs> {
2382    i_prot.read_struct_begin()?;
2383    let mut f_1: Option<i32> = None;
2384    let mut f_2: Option<String> = None;
2385    loop {
2386      let field_ident = i_prot.read_field_begin()?;
2387      if field_ident.field_type == TType::Stop {
2388        break;
2389      }
2390      let field_id = field_id(&field_ident)?;
2391      match field_id {
2392        1 => {
2393          let val = i_prot.read_i32()?;
2394          f_1 = Some(val);
2395        },
2396        2 => {
2397          let val = i_prot.read_string()?;
2398          f_2 = Some(val);
2399        },
2400        _ => {
2401          i_prot.skip(field_ident.field_type)?;
2402        },
2403      };
2404      i_prot.read_field_end()?;
2405    }
2406    i_prot.read_struct_end()?;
2407    verify_required_field_exists("IPCChainTesterIsDebugContractEnabledArgs.id", &f_1)?;
2408    verify_required_field_exists("IPCChainTesterIsDebugContractEnabledArgs.contract", &f_2)?;
2409    let ret = IPCChainTesterIsDebugContractEnabledArgs {
2410      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2411      contract: f_2.expect("auto-generated code should have checked for presence of required fields"),
2412    };
2413    Ok(ret)
2414  }
2415  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2416    let struct_ident = TStructIdentifier::new("is_debug_contract_enabled_args");
2417    o_prot.write_struct_begin(&struct_ident)?;
2418    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
2419    o_prot.write_i32(self.id)?;
2420    o_prot.write_field_end()?;
2421    o_prot.write_field_begin(&TFieldIdentifier::new("contract", TType::String, 2))?;
2422    o_prot.write_string(&self.contract)?;
2423    o_prot.write_field_end()?;
2424    o_prot.write_field_stop()?;
2425    o_prot.write_struct_end()
2426  }
2427}
2428
2429//
2430// IPCChainTesterIsDebugContractEnabledResult
2431//
2432
2433#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2434struct IPCChainTesterIsDebugContractEnabledResult {
2435  result_value: Option<bool>,
2436}
2437
2438impl IPCChainTesterIsDebugContractEnabledResult {
2439  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterIsDebugContractEnabledResult> {
2440    i_prot.read_struct_begin()?;
2441    let mut f_0: Option<bool> = None;
2442    loop {
2443      let field_ident = i_prot.read_field_begin()?;
2444      if field_ident.field_type == TType::Stop {
2445        break;
2446      }
2447      let field_id = field_id(&field_ident)?;
2448      match field_id {
2449        0 => {
2450          let val = i_prot.read_bool()?;
2451          f_0 = Some(val);
2452        },
2453        _ => {
2454          i_prot.skip(field_ident.field_type)?;
2455        },
2456      };
2457      i_prot.read_field_end()?;
2458    }
2459    i_prot.read_struct_end()?;
2460    let ret = IPCChainTesterIsDebugContractEnabledResult {
2461      result_value: f_0,
2462    };
2463    Ok(ret)
2464  }
2465  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2466    let struct_ident = TStructIdentifier::new("IPCChainTesterIsDebugContractEnabledResult");
2467    o_prot.write_struct_begin(&struct_ident)?;
2468    if let Some(fld_var) = self.result_value {
2469      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Bool, 0))?;
2470      o_prot.write_bool(fld_var)?;
2471      o_prot.write_field_end()?
2472    }
2473    o_prot.write_field_stop()?;
2474    o_prot.write_struct_end()
2475  }
2476  fn ok_or(self) -> thrift::Result<bool> {
2477    if self.result_value.is_some() {
2478      Ok(self.result_value.unwrap())
2479    } else {
2480      Err(
2481        thrift::Error::Application(
2482          ApplicationError::new(
2483            ApplicationErrorKind::MissingResult,
2484            "no result received for IPCChainTesterIsDebugContractEnabled"
2485          )
2486        )
2487      )
2488    }
2489  }
2490}
2491
2492//
2493// IPCChainTesterPackAbiArgs
2494//
2495
2496#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2497struct IPCChainTesterPackAbiArgs {
2498  abi: String,
2499}
2500
2501impl IPCChainTesterPackAbiArgs {
2502  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPackAbiArgs> {
2503    i_prot.read_struct_begin()?;
2504    let mut f_1: Option<String> = None;
2505    loop {
2506      let field_ident = i_prot.read_field_begin()?;
2507      if field_ident.field_type == TType::Stop {
2508        break;
2509      }
2510      let field_id = field_id(&field_ident)?;
2511      match field_id {
2512        1 => {
2513          let val = i_prot.read_string()?;
2514          f_1 = Some(val);
2515        },
2516        _ => {
2517          i_prot.skip(field_ident.field_type)?;
2518        },
2519      };
2520      i_prot.read_field_end()?;
2521    }
2522    i_prot.read_struct_end()?;
2523    verify_required_field_exists("IPCChainTesterPackAbiArgs.abi", &f_1)?;
2524    let ret = IPCChainTesterPackAbiArgs {
2525      abi: f_1.expect("auto-generated code should have checked for presence of required fields"),
2526    };
2527    Ok(ret)
2528  }
2529  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2530    let struct_ident = TStructIdentifier::new("pack_abi_args");
2531    o_prot.write_struct_begin(&struct_ident)?;
2532    o_prot.write_field_begin(&TFieldIdentifier::new("abi", TType::String, 1))?;
2533    o_prot.write_string(&self.abi)?;
2534    o_prot.write_field_end()?;
2535    o_prot.write_field_stop()?;
2536    o_prot.write_struct_end()
2537  }
2538}
2539
2540//
2541// IPCChainTesterPackAbiResult
2542//
2543
2544#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2545struct IPCChainTesterPackAbiResult {
2546  result_value: Option<Vec<u8>>,
2547}
2548
2549impl IPCChainTesterPackAbiResult {
2550  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPackAbiResult> {
2551    i_prot.read_struct_begin()?;
2552    let mut f_0: Option<Vec<u8>> = None;
2553    loop {
2554      let field_ident = i_prot.read_field_begin()?;
2555      if field_ident.field_type == TType::Stop {
2556        break;
2557      }
2558      let field_id = field_id(&field_ident)?;
2559      match field_id {
2560        0 => {
2561          let val = i_prot.read_bytes()?;
2562          f_0 = Some(val);
2563        },
2564        _ => {
2565          i_prot.skip(field_ident.field_type)?;
2566        },
2567      };
2568      i_prot.read_field_end()?;
2569    }
2570    i_prot.read_struct_end()?;
2571    let ret = IPCChainTesterPackAbiResult {
2572      result_value: f_0,
2573    };
2574    Ok(ret)
2575  }
2576  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2577    let struct_ident = TStructIdentifier::new("IPCChainTesterPackAbiResult");
2578    o_prot.write_struct_begin(&struct_ident)?;
2579    if let Some(ref fld_var) = self.result_value {
2580      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
2581      o_prot.write_bytes(fld_var)?;
2582      o_prot.write_field_end()?
2583    }
2584    o_prot.write_field_stop()?;
2585    o_prot.write_struct_end()
2586  }
2587  fn ok_or(self) -> thrift::Result<Vec<u8>> {
2588    if self.result_value.is_some() {
2589      Ok(self.result_value.unwrap())
2590    } else {
2591      Err(
2592        thrift::Error::Application(
2593          ApplicationError::new(
2594            ApplicationErrorKind::MissingResult,
2595            "no result received for IPCChainTesterPackAbi"
2596          )
2597        )
2598      )
2599    }
2600  }
2601}
2602
2603//
2604// IPCChainTesterPackActionArgsArgs
2605//
2606
2607#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2608struct IPCChainTesterPackActionArgsArgs {
2609  id: i32,
2610  contract: String,
2611  action: String,
2612  action_args: String,
2613}
2614
2615impl IPCChainTesterPackActionArgsArgs {
2616  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPackActionArgsArgs> {
2617    i_prot.read_struct_begin()?;
2618    let mut f_1: Option<i32> = None;
2619    let mut f_2: Option<String> = None;
2620    let mut f_3: Option<String> = None;
2621    let mut f_4: Option<String> = None;
2622    loop {
2623      let field_ident = i_prot.read_field_begin()?;
2624      if field_ident.field_type == TType::Stop {
2625        break;
2626      }
2627      let field_id = field_id(&field_ident)?;
2628      match field_id {
2629        1 => {
2630          let val = i_prot.read_i32()?;
2631          f_1 = Some(val);
2632        },
2633        2 => {
2634          let val = i_prot.read_string()?;
2635          f_2 = Some(val);
2636        },
2637        3 => {
2638          let val = i_prot.read_string()?;
2639          f_3 = Some(val);
2640        },
2641        4 => {
2642          let val = i_prot.read_string()?;
2643          f_4 = Some(val);
2644        },
2645        _ => {
2646          i_prot.skip(field_ident.field_type)?;
2647        },
2648      };
2649      i_prot.read_field_end()?;
2650    }
2651    i_prot.read_struct_end()?;
2652    verify_required_field_exists("IPCChainTesterPackActionArgsArgs.id", &f_1)?;
2653    verify_required_field_exists("IPCChainTesterPackActionArgsArgs.contract", &f_2)?;
2654    verify_required_field_exists("IPCChainTesterPackActionArgsArgs.action", &f_3)?;
2655    verify_required_field_exists("IPCChainTesterPackActionArgsArgs.action_args", &f_4)?;
2656    let ret = IPCChainTesterPackActionArgsArgs {
2657      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2658      contract: f_2.expect("auto-generated code should have checked for presence of required fields"),
2659      action: f_3.expect("auto-generated code should have checked for presence of required fields"),
2660      action_args: f_4.expect("auto-generated code should have checked for presence of required fields"),
2661    };
2662    Ok(ret)
2663  }
2664  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2665    let struct_ident = TStructIdentifier::new("pack_action_args_args");
2666    o_prot.write_struct_begin(&struct_ident)?;
2667    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
2668    o_prot.write_i32(self.id)?;
2669    o_prot.write_field_end()?;
2670    o_prot.write_field_begin(&TFieldIdentifier::new("contract", TType::String, 2))?;
2671    o_prot.write_string(&self.contract)?;
2672    o_prot.write_field_end()?;
2673    o_prot.write_field_begin(&TFieldIdentifier::new("action", TType::String, 3))?;
2674    o_prot.write_string(&self.action)?;
2675    o_prot.write_field_end()?;
2676    o_prot.write_field_begin(&TFieldIdentifier::new("action_args", TType::String, 4))?;
2677    o_prot.write_string(&self.action_args)?;
2678    o_prot.write_field_end()?;
2679    o_prot.write_field_stop()?;
2680    o_prot.write_struct_end()
2681  }
2682}
2683
2684//
2685// IPCChainTesterPackActionArgsResult
2686//
2687
2688#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2689struct IPCChainTesterPackActionArgsResult {
2690  result_value: Option<Vec<u8>>,
2691}
2692
2693impl IPCChainTesterPackActionArgsResult {
2694  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPackActionArgsResult> {
2695    i_prot.read_struct_begin()?;
2696    let mut f_0: Option<Vec<u8>> = None;
2697    loop {
2698      let field_ident = i_prot.read_field_begin()?;
2699      if field_ident.field_type == TType::Stop {
2700        break;
2701      }
2702      let field_id = field_id(&field_ident)?;
2703      match field_id {
2704        0 => {
2705          let val = i_prot.read_bytes()?;
2706          f_0 = Some(val);
2707        },
2708        _ => {
2709          i_prot.skip(field_ident.field_type)?;
2710        },
2711      };
2712      i_prot.read_field_end()?;
2713    }
2714    i_prot.read_struct_end()?;
2715    let ret = IPCChainTesterPackActionArgsResult {
2716      result_value: f_0,
2717    };
2718    Ok(ret)
2719  }
2720  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2721    let struct_ident = TStructIdentifier::new("IPCChainTesterPackActionArgsResult");
2722    o_prot.write_struct_begin(&struct_ident)?;
2723    if let Some(ref fld_var) = self.result_value {
2724      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
2725      o_prot.write_bytes(fld_var)?;
2726      o_prot.write_field_end()?
2727    }
2728    o_prot.write_field_stop()?;
2729    o_prot.write_struct_end()
2730  }
2731  fn ok_or(self) -> thrift::Result<Vec<u8>> {
2732    if self.result_value.is_some() {
2733      Ok(self.result_value.unwrap())
2734    } else {
2735      Err(
2736        thrift::Error::Application(
2737          ApplicationError::new(
2738            ApplicationErrorKind::MissingResult,
2739            "no result received for IPCChainTesterPackActionArgs"
2740          )
2741        )
2742      )
2743    }
2744  }
2745}
2746
2747//
2748// IPCChainTesterUnpackActionArgsArgs
2749//
2750
2751#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2752struct IPCChainTesterUnpackActionArgsArgs {
2753  id: i32,
2754  contract: String,
2755  action: String,
2756  raw_args: Vec<u8>,
2757}
2758
2759impl IPCChainTesterUnpackActionArgsArgs {
2760  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterUnpackActionArgsArgs> {
2761    i_prot.read_struct_begin()?;
2762    let mut f_1: Option<i32> = None;
2763    let mut f_2: Option<String> = None;
2764    let mut f_3: Option<String> = None;
2765    let mut f_4: Option<Vec<u8>> = None;
2766    loop {
2767      let field_ident = i_prot.read_field_begin()?;
2768      if field_ident.field_type == TType::Stop {
2769        break;
2770      }
2771      let field_id = field_id(&field_ident)?;
2772      match field_id {
2773        1 => {
2774          let val = i_prot.read_i32()?;
2775          f_1 = Some(val);
2776        },
2777        2 => {
2778          let val = i_prot.read_string()?;
2779          f_2 = Some(val);
2780        },
2781        3 => {
2782          let val = i_prot.read_string()?;
2783          f_3 = Some(val);
2784        },
2785        4 => {
2786          let val = i_prot.read_bytes()?;
2787          f_4 = Some(val);
2788        },
2789        _ => {
2790          i_prot.skip(field_ident.field_type)?;
2791        },
2792      };
2793      i_prot.read_field_end()?;
2794    }
2795    i_prot.read_struct_end()?;
2796    verify_required_field_exists("IPCChainTesterUnpackActionArgsArgs.id", &f_1)?;
2797    verify_required_field_exists("IPCChainTesterUnpackActionArgsArgs.contract", &f_2)?;
2798    verify_required_field_exists("IPCChainTesterUnpackActionArgsArgs.action", &f_3)?;
2799    verify_required_field_exists("IPCChainTesterUnpackActionArgsArgs.raw_args", &f_4)?;
2800    let ret = IPCChainTesterUnpackActionArgsArgs {
2801      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
2802      contract: f_2.expect("auto-generated code should have checked for presence of required fields"),
2803      action: f_3.expect("auto-generated code should have checked for presence of required fields"),
2804      raw_args: f_4.expect("auto-generated code should have checked for presence of required fields"),
2805    };
2806    Ok(ret)
2807  }
2808  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2809    let struct_ident = TStructIdentifier::new("unpack_action_args_args");
2810    o_prot.write_struct_begin(&struct_ident)?;
2811    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
2812    o_prot.write_i32(self.id)?;
2813    o_prot.write_field_end()?;
2814    o_prot.write_field_begin(&TFieldIdentifier::new("contract", TType::String, 2))?;
2815    o_prot.write_string(&self.contract)?;
2816    o_prot.write_field_end()?;
2817    o_prot.write_field_begin(&TFieldIdentifier::new("action", TType::String, 3))?;
2818    o_prot.write_string(&self.action)?;
2819    o_prot.write_field_end()?;
2820    o_prot.write_field_begin(&TFieldIdentifier::new("raw_args", TType::String, 4))?;
2821    o_prot.write_bytes(&self.raw_args)?;
2822    o_prot.write_field_end()?;
2823    o_prot.write_field_stop()?;
2824    o_prot.write_struct_end()
2825  }
2826}
2827
2828//
2829// IPCChainTesterUnpackActionArgsResult
2830//
2831
2832#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2833struct IPCChainTesterUnpackActionArgsResult {
2834  result_value: Option<Vec<u8>>,
2835}
2836
2837impl IPCChainTesterUnpackActionArgsResult {
2838  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterUnpackActionArgsResult> {
2839    i_prot.read_struct_begin()?;
2840    let mut f_0: Option<Vec<u8>> = None;
2841    loop {
2842      let field_ident = i_prot.read_field_begin()?;
2843      if field_ident.field_type == TType::Stop {
2844        break;
2845      }
2846      let field_id = field_id(&field_ident)?;
2847      match field_id {
2848        0 => {
2849          let val = i_prot.read_bytes()?;
2850          f_0 = Some(val);
2851        },
2852        _ => {
2853          i_prot.skip(field_ident.field_type)?;
2854        },
2855      };
2856      i_prot.read_field_end()?;
2857    }
2858    i_prot.read_struct_end()?;
2859    let ret = IPCChainTesterUnpackActionArgsResult {
2860      result_value: f_0,
2861    };
2862    Ok(ret)
2863  }
2864  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2865    let struct_ident = TStructIdentifier::new("IPCChainTesterUnpackActionArgsResult");
2866    o_prot.write_struct_begin(&struct_ident)?;
2867    if let Some(ref fld_var) = self.result_value {
2868      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
2869      o_prot.write_bytes(fld_var)?;
2870      o_prot.write_field_end()?
2871    }
2872    o_prot.write_field_stop()?;
2873    o_prot.write_struct_end()
2874  }
2875  fn ok_or(self) -> thrift::Result<Vec<u8>> {
2876    if self.result_value.is_some() {
2877      Ok(self.result_value.unwrap())
2878    } else {
2879      Err(
2880        thrift::Error::Application(
2881          ApplicationError::new(
2882            ApplicationErrorKind::MissingResult,
2883            "no result received for IPCChainTesterUnpackActionArgs"
2884          )
2885        )
2886      )
2887    }
2888  }
2889}
2890
2891//
2892// IPCChainTesterNewChainArgs
2893//
2894
2895#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2896struct IPCChainTesterNewChainArgs {
2897}
2898
2899impl IPCChainTesterNewChainArgs {
2900  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterNewChainArgs> {
2901    i_prot.read_struct_begin()?;
2902    loop {
2903      let field_ident = i_prot.read_field_begin()?;
2904      if field_ident.field_type == TType::Stop {
2905        break;
2906      }
2907      let field_id = field_id(&field_ident)?;
2908      match field_id {
2909        _ => {
2910          i_prot.skip(field_ident.field_type)?;
2911        },
2912      };
2913      i_prot.read_field_end()?;
2914    }
2915    i_prot.read_struct_end()?;
2916    let ret = IPCChainTesterNewChainArgs {};
2917    Ok(ret)
2918  }
2919  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2920    let struct_ident = TStructIdentifier::new("new_chain_args");
2921    o_prot.write_struct_begin(&struct_ident)?;
2922    o_prot.write_field_stop()?;
2923    o_prot.write_struct_end()
2924  }
2925}
2926
2927//
2928// IPCChainTesterNewChainResult
2929//
2930
2931#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2932struct IPCChainTesterNewChainResult {
2933  result_value: Option<i32>,
2934}
2935
2936impl IPCChainTesterNewChainResult {
2937  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterNewChainResult> {
2938    i_prot.read_struct_begin()?;
2939    let mut f_0: Option<i32> = None;
2940    loop {
2941      let field_ident = i_prot.read_field_begin()?;
2942      if field_ident.field_type == TType::Stop {
2943        break;
2944      }
2945      let field_id = field_id(&field_ident)?;
2946      match field_id {
2947        0 => {
2948          let val = i_prot.read_i32()?;
2949          f_0 = Some(val);
2950        },
2951        _ => {
2952          i_prot.skip(field_ident.field_type)?;
2953        },
2954      };
2955      i_prot.read_field_end()?;
2956    }
2957    i_prot.read_struct_end()?;
2958    let ret = IPCChainTesterNewChainResult {
2959      result_value: f_0,
2960    };
2961    Ok(ret)
2962  }
2963  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
2964    let struct_ident = TStructIdentifier::new("IPCChainTesterNewChainResult");
2965    o_prot.write_struct_begin(&struct_ident)?;
2966    if let Some(fld_var) = self.result_value {
2967      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
2968      o_prot.write_i32(fld_var)?;
2969      o_prot.write_field_end()?
2970    }
2971    o_prot.write_field_stop()?;
2972    o_prot.write_struct_end()
2973  }
2974  fn ok_or(self) -> thrift::Result<i32> {
2975    if self.result_value.is_some() {
2976      Ok(self.result_value.unwrap())
2977    } else {
2978      Err(
2979        thrift::Error::Application(
2980          ApplicationError::new(
2981            ApplicationErrorKind::MissingResult,
2982            "no result received for IPCChainTesterNewChain"
2983          )
2984        )
2985      )
2986    }
2987  }
2988}
2989
2990//
2991// IPCChainTesterFreeChainArgs
2992//
2993
2994#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
2995struct IPCChainTesterFreeChainArgs {
2996  id: i32,
2997}
2998
2999impl IPCChainTesterFreeChainArgs {
3000  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterFreeChainArgs> {
3001    i_prot.read_struct_begin()?;
3002    let mut f_1: Option<i32> = None;
3003    loop {
3004      let field_ident = i_prot.read_field_begin()?;
3005      if field_ident.field_type == TType::Stop {
3006        break;
3007      }
3008      let field_id = field_id(&field_ident)?;
3009      match field_id {
3010        1 => {
3011          let val = i_prot.read_i32()?;
3012          f_1 = Some(val);
3013        },
3014        _ => {
3015          i_prot.skip(field_ident.field_type)?;
3016        },
3017      };
3018      i_prot.read_field_end()?;
3019    }
3020    i_prot.read_struct_end()?;
3021    verify_required_field_exists("IPCChainTesterFreeChainArgs.id", &f_1)?;
3022    let ret = IPCChainTesterFreeChainArgs {
3023      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3024    };
3025    Ok(ret)
3026  }
3027  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3028    let struct_ident = TStructIdentifier::new("free_chain_args");
3029    o_prot.write_struct_begin(&struct_ident)?;
3030    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3031    o_prot.write_i32(self.id)?;
3032    o_prot.write_field_end()?;
3033    o_prot.write_field_stop()?;
3034    o_prot.write_struct_end()
3035  }
3036}
3037
3038//
3039// IPCChainTesterFreeChainResult
3040//
3041
3042#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3043struct IPCChainTesterFreeChainResult {
3044  result_value: Option<i32>,
3045}
3046
3047impl IPCChainTesterFreeChainResult {
3048  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterFreeChainResult> {
3049    i_prot.read_struct_begin()?;
3050    let mut f_0: Option<i32> = None;
3051    loop {
3052      let field_ident = i_prot.read_field_begin()?;
3053      if field_ident.field_type == TType::Stop {
3054        break;
3055      }
3056      let field_id = field_id(&field_ident)?;
3057      match field_id {
3058        0 => {
3059          let val = i_prot.read_i32()?;
3060          f_0 = Some(val);
3061        },
3062        _ => {
3063          i_prot.skip(field_ident.field_type)?;
3064        },
3065      };
3066      i_prot.read_field_end()?;
3067    }
3068    i_prot.read_struct_end()?;
3069    let ret = IPCChainTesterFreeChainResult {
3070      result_value: f_0,
3071    };
3072    Ok(ret)
3073  }
3074  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3075    let struct_ident = TStructIdentifier::new("IPCChainTesterFreeChainResult");
3076    o_prot.write_struct_begin(&struct_ident)?;
3077    if let Some(fld_var) = self.result_value {
3078      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
3079      o_prot.write_i32(fld_var)?;
3080      o_prot.write_field_end()?
3081    }
3082    o_prot.write_field_stop()?;
3083    o_prot.write_struct_end()
3084  }
3085  fn ok_or(self) -> thrift::Result<i32> {
3086    if self.result_value.is_some() {
3087      Ok(self.result_value.unwrap())
3088    } else {
3089      Err(
3090        thrift::Error::Application(
3091          ApplicationError::new(
3092            ApplicationErrorKind::MissingResult,
3093            "no result received for IPCChainTesterFreeChain"
3094          )
3095        )
3096      )
3097    }
3098  }
3099}
3100
3101//
3102// IPCChainTesterGetInfoArgs
3103//
3104
3105#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3106struct IPCChainTesterGetInfoArgs {
3107  id: i32,
3108}
3109
3110impl IPCChainTesterGetInfoArgs {
3111  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetInfoArgs> {
3112    i_prot.read_struct_begin()?;
3113    let mut f_1: Option<i32> = None;
3114    loop {
3115      let field_ident = i_prot.read_field_begin()?;
3116      if field_ident.field_type == TType::Stop {
3117        break;
3118      }
3119      let field_id = field_id(&field_ident)?;
3120      match field_id {
3121        1 => {
3122          let val = i_prot.read_i32()?;
3123          f_1 = Some(val);
3124        },
3125        _ => {
3126          i_prot.skip(field_ident.field_type)?;
3127        },
3128      };
3129      i_prot.read_field_end()?;
3130    }
3131    i_prot.read_struct_end()?;
3132    verify_required_field_exists("IPCChainTesterGetInfoArgs.id", &f_1)?;
3133    let ret = IPCChainTesterGetInfoArgs {
3134      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3135    };
3136    Ok(ret)
3137  }
3138  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3139    let struct_ident = TStructIdentifier::new("get_info_args");
3140    o_prot.write_struct_begin(&struct_ident)?;
3141    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3142    o_prot.write_i32(self.id)?;
3143    o_prot.write_field_end()?;
3144    o_prot.write_field_stop()?;
3145    o_prot.write_struct_end()
3146  }
3147}
3148
3149//
3150// IPCChainTesterGetInfoResult
3151//
3152
3153#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3154struct IPCChainTesterGetInfoResult {
3155  result_value: Option<String>,
3156}
3157
3158impl IPCChainTesterGetInfoResult {
3159  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetInfoResult> {
3160    i_prot.read_struct_begin()?;
3161    let mut f_0: Option<String> = None;
3162    loop {
3163      let field_ident = i_prot.read_field_begin()?;
3164      if field_ident.field_type == TType::Stop {
3165        break;
3166      }
3167      let field_id = field_id(&field_ident)?;
3168      match field_id {
3169        0 => {
3170          let val = i_prot.read_string()?;
3171          f_0 = Some(val);
3172        },
3173        _ => {
3174          i_prot.skip(field_ident.field_type)?;
3175        },
3176      };
3177      i_prot.read_field_end()?;
3178    }
3179    i_prot.read_struct_end()?;
3180    let ret = IPCChainTesterGetInfoResult {
3181      result_value: f_0,
3182    };
3183    Ok(ret)
3184  }
3185  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3186    let struct_ident = TStructIdentifier::new("IPCChainTesterGetInfoResult");
3187    o_prot.write_struct_begin(&struct_ident)?;
3188    if let Some(ref fld_var) = self.result_value {
3189      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
3190      o_prot.write_string(fld_var)?;
3191      o_prot.write_field_end()?
3192    }
3193    o_prot.write_field_stop()?;
3194    o_prot.write_struct_end()
3195  }
3196  fn ok_or(self) -> thrift::Result<String> {
3197    if self.result_value.is_some() {
3198      Ok(self.result_value.unwrap())
3199    } else {
3200      Err(
3201        thrift::Error::Application(
3202          ApplicationError::new(
3203            ApplicationErrorKind::MissingResult,
3204            "no result received for IPCChainTesterGetInfo"
3205          )
3206        )
3207      )
3208    }
3209  }
3210}
3211
3212//
3213// IPCChainTesterGetAccountArgs
3214//
3215
3216#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3217struct IPCChainTesterGetAccountArgs {
3218  id: i32,
3219  account: String,
3220}
3221
3222impl IPCChainTesterGetAccountArgs {
3223  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetAccountArgs> {
3224    i_prot.read_struct_begin()?;
3225    let mut f_1: Option<i32> = None;
3226    let mut f_2: Option<String> = None;
3227    loop {
3228      let field_ident = i_prot.read_field_begin()?;
3229      if field_ident.field_type == TType::Stop {
3230        break;
3231      }
3232      let field_id = field_id(&field_ident)?;
3233      match field_id {
3234        1 => {
3235          let val = i_prot.read_i32()?;
3236          f_1 = Some(val);
3237        },
3238        2 => {
3239          let val = i_prot.read_string()?;
3240          f_2 = Some(val);
3241        },
3242        _ => {
3243          i_prot.skip(field_ident.field_type)?;
3244        },
3245      };
3246      i_prot.read_field_end()?;
3247    }
3248    i_prot.read_struct_end()?;
3249    verify_required_field_exists("IPCChainTesterGetAccountArgs.id", &f_1)?;
3250    verify_required_field_exists("IPCChainTesterGetAccountArgs.account", &f_2)?;
3251    let ret = IPCChainTesterGetAccountArgs {
3252      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3253      account: f_2.expect("auto-generated code should have checked for presence of required fields"),
3254    };
3255    Ok(ret)
3256  }
3257  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3258    let struct_ident = TStructIdentifier::new("get_account_args");
3259    o_prot.write_struct_begin(&struct_ident)?;
3260    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3261    o_prot.write_i32(self.id)?;
3262    o_prot.write_field_end()?;
3263    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::String, 2))?;
3264    o_prot.write_string(&self.account)?;
3265    o_prot.write_field_end()?;
3266    o_prot.write_field_stop()?;
3267    o_prot.write_struct_end()
3268  }
3269}
3270
3271//
3272// IPCChainTesterGetAccountResult
3273//
3274
3275#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3276struct IPCChainTesterGetAccountResult {
3277  result_value: Option<String>,
3278}
3279
3280impl IPCChainTesterGetAccountResult {
3281  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetAccountResult> {
3282    i_prot.read_struct_begin()?;
3283    let mut f_0: Option<String> = None;
3284    loop {
3285      let field_ident = i_prot.read_field_begin()?;
3286      if field_ident.field_type == TType::Stop {
3287        break;
3288      }
3289      let field_id = field_id(&field_ident)?;
3290      match field_id {
3291        0 => {
3292          let val = i_prot.read_string()?;
3293          f_0 = Some(val);
3294        },
3295        _ => {
3296          i_prot.skip(field_ident.field_type)?;
3297        },
3298      };
3299      i_prot.read_field_end()?;
3300    }
3301    i_prot.read_struct_end()?;
3302    let ret = IPCChainTesterGetAccountResult {
3303      result_value: f_0,
3304    };
3305    Ok(ret)
3306  }
3307  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3308    let struct_ident = TStructIdentifier::new("IPCChainTesterGetAccountResult");
3309    o_prot.write_struct_begin(&struct_ident)?;
3310    if let Some(ref fld_var) = self.result_value {
3311      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
3312      o_prot.write_string(fld_var)?;
3313      o_prot.write_field_end()?
3314    }
3315    o_prot.write_field_stop()?;
3316    o_prot.write_struct_end()
3317  }
3318  fn ok_or(self) -> thrift::Result<String> {
3319    if self.result_value.is_some() {
3320      Ok(self.result_value.unwrap())
3321    } else {
3322      Err(
3323        thrift::Error::Application(
3324          ApplicationError::new(
3325            ApplicationErrorKind::MissingResult,
3326            "no result received for IPCChainTesterGetAccount"
3327          )
3328        )
3329      )
3330    }
3331  }
3332}
3333
3334//
3335// IPCChainTesterImportKeyArgs
3336//
3337
3338#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3339struct IPCChainTesterImportKeyArgs {
3340  id: i32,
3341  pub_key: String,
3342  priv_key: String,
3343}
3344
3345impl IPCChainTesterImportKeyArgs {
3346  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterImportKeyArgs> {
3347    i_prot.read_struct_begin()?;
3348    let mut f_1: Option<i32> = None;
3349    let mut f_2: Option<String> = None;
3350    let mut f_3: Option<String> = None;
3351    loop {
3352      let field_ident = i_prot.read_field_begin()?;
3353      if field_ident.field_type == TType::Stop {
3354        break;
3355      }
3356      let field_id = field_id(&field_ident)?;
3357      match field_id {
3358        1 => {
3359          let val = i_prot.read_i32()?;
3360          f_1 = Some(val);
3361        },
3362        2 => {
3363          let val = i_prot.read_string()?;
3364          f_2 = Some(val);
3365        },
3366        3 => {
3367          let val = i_prot.read_string()?;
3368          f_3 = Some(val);
3369        },
3370        _ => {
3371          i_prot.skip(field_ident.field_type)?;
3372        },
3373      };
3374      i_prot.read_field_end()?;
3375    }
3376    i_prot.read_struct_end()?;
3377    verify_required_field_exists("IPCChainTesterImportKeyArgs.id", &f_1)?;
3378    verify_required_field_exists("IPCChainTesterImportKeyArgs.pub_key", &f_2)?;
3379    verify_required_field_exists("IPCChainTesterImportKeyArgs.priv_key", &f_3)?;
3380    let ret = IPCChainTesterImportKeyArgs {
3381      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3382      pub_key: f_2.expect("auto-generated code should have checked for presence of required fields"),
3383      priv_key: f_3.expect("auto-generated code should have checked for presence of required fields"),
3384    };
3385    Ok(ret)
3386  }
3387  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3388    let struct_ident = TStructIdentifier::new("import_key_args");
3389    o_prot.write_struct_begin(&struct_ident)?;
3390    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3391    o_prot.write_i32(self.id)?;
3392    o_prot.write_field_end()?;
3393    o_prot.write_field_begin(&TFieldIdentifier::new("pub_key", TType::String, 2))?;
3394    o_prot.write_string(&self.pub_key)?;
3395    o_prot.write_field_end()?;
3396    o_prot.write_field_begin(&TFieldIdentifier::new("priv_key", TType::String, 3))?;
3397    o_prot.write_string(&self.priv_key)?;
3398    o_prot.write_field_end()?;
3399    o_prot.write_field_stop()?;
3400    o_prot.write_struct_end()
3401  }
3402}
3403
3404//
3405// IPCChainTesterImportKeyResult
3406//
3407
3408#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3409struct IPCChainTesterImportKeyResult {
3410  result_value: Option<bool>,
3411}
3412
3413impl IPCChainTesterImportKeyResult {
3414  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterImportKeyResult> {
3415    i_prot.read_struct_begin()?;
3416    let mut f_0: Option<bool> = None;
3417    loop {
3418      let field_ident = i_prot.read_field_begin()?;
3419      if field_ident.field_type == TType::Stop {
3420        break;
3421      }
3422      let field_id = field_id(&field_ident)?;
3423      match field_id {
3424        0 => {
3425          let val = i_prot.read_bool()?;
3426          f_0 = Some(val);
3427        },
3428        _ => {
3429          i_prot.skip(field_ident.field_type)?;
3430        },
3431      };
3432      i_prot.read_field_end()?;
3433    }
3434    i_prot.read_struct_end()?;
3435    let ret = IPCChainTesterImportKeyResult {
3436      result_value: f_0,
3437    };
3438    Ok(ret)
3439  }
3440  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3441    let struct_ident = TStructIdentifier::new("IPCChainTesterImportKeyResult");
3442    o_prot.write_struct_begin(&struct_ident)?;
3443    if let Some(fld_var) = self.result_value {
3444      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Bool, 0))?;
3445      o_prot.write_bool(fld_var)?;
3446      o_prot.write_field_end()?
3447    }
3448    o_prot.write_field_stop()?;
3449    o_prot.write_struct_end()
3450  }
3451  fn ok_or(self) -> thrift::Result<bool> {
3452    if self.result_value.is_some() {
3453      Ok(self.result_value.unwrap())
3454    } else {
3455      Err(
3456        thrift::Error::Application(
3457          ApplicationError::new(
3458            ApplicationErrorKind::MissingResult,
3459            "no result received for IPCChainTesterImportKey"
3460          )
3461        )
3462      )
3463    }
3464  }
3465}
3466
3467//
3468// IPCChainTesterGetRequiredKeysArgs
3469//
3470
3471#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3472struct IPCChainTesterGetRequiredKeysArgs {
3473  id: i32,
3474  transaction: String,
3475  available_keys: Vec<String>,
3476}
3477
3478impl IPCChainTesterGetRequiredKeysArgs {
3479  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetRequiredKeysArgs> {
3480    i_prot.read_struct_begin()?;
3481    let mut f_1: Option<i32> = None;
3482    let mut f_2: Option<String> = None;
3483    let mut f_3: Option<Vec<String>> = None;
3484    loop {
3485      let field_ident = i_prot.read_field_begin()?;
3486      if field_ident.field_type == TType::Stop {
3487        break;
3488      }
3489      let field_id = field_id(&field_ident)?;
3490      match field_id {
3491        1 => {
3492          let val = i_prot.read_i32()?;
3493          f_1 = Some(val);
3494        },
3495        2 => {
3496          let val = i_prot.read_string()?;
3497          f_2 = Some(val);
3498        },
3499        3 => {
3500          let list_ident = i_prot.read_list_begin()?;
3501          let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize);
3502          for _ in 0..list_ident.size {
3503            let list_elem_0 = i_prot.read_string()?;
3504            val.push(list_elem_0);
3505          }
3506          i_prot.read_list_end()?;
3507          f_3 = Some(val);
3508        },
3509        _ => {
3510          i_prot.skip(field_ident.field_type)?;
3511        },
3512      };
3513      i_prot.read_field_end()?;
3514    }
3515    i_prot.read_struct_end()?;
3516    verify_required_field_exists("IPCChainTesterGetRequiredKeysArgs.id", &f_1)?;
3517    verify_required_field_exists("IPCChainTesterGetRequiredKeysArgs.transaction", &f_2)?;
3518    verify_required_field_exists("IPCChainTesterGetRequiredKeysArgs.available_keys", &f_3)?;
3519    let ret = IPCChainTesterGetRequiredKeysArgs {
3520      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3521      transaction: f_2.expect("auto-generated code should have checked for presence of required fields"),
3522      available_keys: f_3.expect("auto-generated code should have checked for presence of required fields"),
3523    };
3524    Ok(ret)
3525  }
3526  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3527    let struct_ident = TStructIdentifier::new("get_required_keys_args");
3528    o_prot.write_struct_begin(&struct_ident)?;
3529    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3530    o_prot.write_i32(self.id)?;
3531    o_prot.write_field_end()?;
3532    o_prot.write_field_begin(&TFieldIdentifier::new("transaction", TType::String, 2))?;
3533    o_prot.write_string(&self.transaction)?;
3534    o_prot.write_field_end()?;
3535    o_prot.write_field_begin(&TFieldIdentifier::new("available_keys", TType::List, 3))?;
3536    o_prot.write_list_begin(&TListIdentifier::new(TType::String, self.available_keys.len() as i32))?;
3537    for e in &self.available_keys {
3538      o_prot.write_string(e)?;
3539    }
3540    o_prot.write_list_end()?;
3541    o_prot.write_field_end()?;
3542    o_prot.write_field_stop()?;
3543    o_prot.write_struct_end()
3544  }
3545}
3546
3547//
3548// IPCChainTesterGetRequiredKeysResult
3549//
3550
3551#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3552struct IPCChainTesterGetRequiredKeysResult {
3553  result_value: Option<String>,
3554}
3555
3556impl IPCChainTesterGetRequiredKeysResult {
3557  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetRequiredKeysResult> {
3558    i_prot.read_struct_begin()?;
3559    let mut f_0: Option<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        0 => {
3568          let val = i_prot.read_string()?;
3569          f_0 = Some(val);
3570        },
3571        _ => {
3572          i_prot.skip(field_ident.field_type)?;
3573        },
3574      };
3575      i_prot.read_field_end()?;
3576    }
3577    i_prot.read_struct_end()?;
3578    let ret = IPCChainTesterGetRequiredKeysResult {
3579      result_value: f_0,
3580    };
3581    Ok(ret)
3582  }
3583  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3584    let struct_ident = TStructIdentifier::new("IPCChainTesterGetRequiredKeysResult");
3585    o_prot.write_struct_begin(&struct_ident)?;
3586    if let Some(ref fld_var) = self.result_value {
3587      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
3588      o_prot.write_string(fld_var)?;
3589      o_prot.write_field_end()?
3590    }
3591    o_prot.write_field_stop()?;
3592    o_prot.write_struct_end()
3593  }
3594  fn ok_or(self) -> thrift::Result<String> {
3595    if self.result_value.is_some() {
3596      Ok(self.result_value.unwrap())
3597    } else {
3598      Err(
3599        thrift::Error::Application(
3600          ApplicationError::new(
3601            ApplicationErrorKind::MissingResult,
3602            "no result received for IPCChainTesterGetRequiredKeys"
3603          )
3604        )
3605      )
3606    }
3607  }
3608}
3609
3610//
3611// IPCChainTesterProduceBlockArgs
3612//
3613
3614#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3615struct IPCChainTesterProduceBlockArgs {
3616  id: i32,
3617}
3618
3619impl IPCChainTesterProduceBlockArgs {
3620  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterProduceBlockArgs> {
3621    i_prot.read_struct_begin()?;
3622    let mut f_1: Option<i32> = None;
3623    loop {
3624      let field_ident = i_prot.read_field_begin()?;
3625      if field_ident.field_type == TType::Stop {
3626        break;
3627      }
3628      let field_id = field_id(&field_ident)?;
3629      match field_id {
3630        1 => {
3631          let val = i_prot.read_i32()?;
3632          f_1 = Some(val);
3633        },
3634        _ => {
3635          i_prot.skip(field_ident.field_type)?;
3636        },
3637      };
3638      i_prot.read_field_end()?;
3639    }
3640    i_prot.read_struct_end()?;
3641    verify_required_field_exists("IPCChainTesterProduceBlockArgs.id", &f_1)?;
3642    let ret = IPCChainTesterProduceBlockArgs {
3643      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3644    };
3645    Ok(ret)
3646  }
3647  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3648    let struct_ident = TStructIdentifier::new("produce_block_args");
3649    o_prot.write_struct_begin(&struct_ident)?;
3650    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3651    o_prot.write_i32(self.id)?;
3652    o_prot.write_field_end()?;
3653    o_prot.write_field_stop()?;
3654    o_prot.write_struct_end()
3655  }
3656}
3657
3658//
3659// IPCChainTesterProduceBlockResult
3660//
3661
3662#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3663struct IPCChainTesterProduceBlockResult {
3664}
3665
3666impl IPCChainTesterProduceBlockResult {
3667  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterProduceBlockResult> {
3668    i_prot.read_struct_begin()?;
3669    loop {
3670      let field_ident = i_prot.read_field_begin()?;
3671      if field_ident.field_type == TType::Stop {
3672        break;
3673      }
3674      let field_id = field_id(&field_ident)?;
3675      match field_id {
3676        _ => {
3677          i_prot.skip(field_ident.field_type)?;
3678        },
3679      };
3680      i_prot.read_field_end()?;
3681    }
3682    i_prot.read_struct_end()?;
3683    let ret = IPCChainTesterProduceBlockResult {};
3684    Ok(ret)
3685  }
3686  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3687    let struct_ident = TStructIdentifier::new("IPCChainTesterProduceBlockResult");
3688    o_prot.write_struct_begin(&struct_ident)?;
3689    o_prot.write_field_stop()?;
3690    o_prot.write_struct_end()
3691  }
3692  fn ok_or(self) -> thrift::Result<()> {
3693    Ok(())
3694  }
3695}
3696
3697//
3698// IPCChainTesterPushActionArgs
3699//
3700
3701#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3702struct IPCChainTesterPushActionArgs {
3703  id: i32,
3704  account: String,
3705  action: String,
3706  arguments: String,
3707  permissions: String,
3708}
3709
3710impl IPCChainTesterPushActionArgs {
3711  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPushActionArgs> {
3712    i_prot.read_struct_begin()?;
3713    let mut f_1: Option<i32> = None;
3714    let mut f_2: Option<String> = None;
3715    let mut f_3: Option<String> = None;
3716    let mut f_4: Option<String> = None;
3717    let mut f_5: Option<String> = None;
3718    loop {
3719      let field_ident = i_prot.read_field_begin()?;
3720      if field_ident.field_type == TType::Stop {
3721        break;
3722      }
3723      let field_id = field_id(&field_ident)?;
3724      match field_id {
3725        1 => {
3726          let val = i_prot.read_i32()?;
3727          f_1 = Some(val);
3728        },
3729        2 => {
3730          let val = i_prot.read_string()?;
3731          f_2 = Some(val);
3732        },
3733        3 => {
3734          let val = i_prot.read_string()?;
3735          f_3 = Some(val);
3736        },
3737        4 => {
3738          let val = i_prot.read_string()?;
3739          f_4 = Some(val);
3740        },
3741        5 => {
3742          let val = i_prot.read_string()?;
3743          f_5 = Some(val);
3744        },
3745        _ => {
3746          i_prot.skip(field_ident.field_type)?;
3747        },
3748      };
3749      i_prot.read_field_end()?;
3750    }
3751    i_prot.read_struct_end()?;
3752    verify_required_field_exists("IPCChainTesterPushActionArgs.id", &f_1)?;
3753    verify_required_field_exists("IPCChainTesterPushActionArgs.account", &f_2)?;
3754    verify_required_field_exists("IPCChainTesterPushActionArgs.action", &f_3)?;
3755    verify_required_field_exists("IPCChainTesterPushActionArgs.arguments", &f_4)?;
3756    verify_required_field_exists("IPCChainTesterPushActionArgs.permissions", &f_5)?;
3757    let ret = IPCChainTesterPushActionArgs {
3758      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3759      account: f_2.expect("auto-generated code should have checked for presence of required fields"),
3760      action: f_3.expect("auto-generated code should have checked for presence of required fields"),
3761      arguments: f_4.expect("auto-generated code should have checked for presence of required fields"),
3762      permissions: f_5.expect("auto-generated code should have checked for presence of required fields"),
3763    };
3764    Ok(ret)
3765  }
3766  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3767    let struct_ident = TStructIdentifier::new("push_action_args");
3768    o_prot.write_struct_begin(&struct_ident)?;
3769    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3770    o_prot.write_i32(self.id)?;
3771    o_prot.write_field_end()?;
3772    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::String, 2))?;
3773    o_prot.write_string(&self.account)?;
3774    o_prot.write_field_end()?;
3775    o_prot.write_field_begin(&TFieldIdentifier::new("action", TType::String, 3))?;
3776    o_prot.write_string(&self.action)?;
3777    o_prot.write_field_end()?;
3778    o_prot.write_field_begin(&TFieldIdentifier::new("arguments", TType::String, 4))?;
3779    o_prot.write_string(&self.arguments)?;
3780    o_prot.write_field_end()?;
3781    o_prot.write_field_begin(&TFieldIdentifier::new("permissions", TType::String, 5))?;
3782    o_prot.write_string(&self.permissions)?;
3783    o_prot.write_field_end()?;
3784    o_prot.write_field_stop()?;
3785    o_prot.write_struct_end()
3786  }
3787}
3788
3789//
3790// IPCChainTesterPushActionResult
3791//
3792
3793#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3794struct IPCChainTesterPushActionResult {
3795  result_value: Option<Vec<u8>>,
3796}
3797
3798impl IPCChainTesterPushActionResult {
3799  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPushActionResult> {
3800    i_prot.read_struct_begin()?;
3801    let mut f_0: Option<Vec<u8>> = None;
3802    loop {
3803      let field_ident = i_prot.read_field_begin()?;
3804      if field_ident.field_type == TType::Stop {
3805        break;
3806      }
3807      let field_id = field_id(&field_ident)?;
3808      match field_id {
3809        0 => {
3810          let val = i_prot.read_bytes()?;
3811          f_0 = Some(val);
3812        },
3813        _ => {
3814          i_prot.skip(field_ident.field_type)?;
3815        },
3816      };
3817      i_prot.read_field_end()?;
3818    }
3819    i_prot.read_struct_end()?;
3820    let ret = IPCChainTesterPushActionResult {
3821      result_value: f_0,
3822    };
3823    Ok(ret)
3824  }
3825  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3826    let struct_ident = TStructIdentifier::new("IPCChainTesterPushActionResult");
3827    o_prot.write_struct_begin(&struct_ident)?;
3828    if let Some(ref fld_var) = self.result_value {
3829      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
3830      o_prot.write_bytes(fld_var)?;
3831      o_prot.write_field_end()?
3832    }
3833    o_prot.write_field_stop()?;
3834    o_prot.write_struct_end()
3835  }
3836  fn ok_or(self) -> thrift::Result<Vec<u8>> {
3837    if self.result_value.is_some() {
3838      Ok(self.result_value.unwrap())
3839    } else {
3840      Err(
3841        thrift::Error::Application(
3842          ApplicationError::new(
3843            ApplicationErrorKind::MissingResult,
3844            "no result received for IPCChainTesterPushAction"
3845          )
3846        )
3847      )
3848    }
3849  }
3850}
3851
3852//
3853// IPCChainTesterPushActionsArgs
3854//
3855
3856#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3857struct IPCChainTesterPushActionsArgs {
3858  id: i32,
3859  actions: Vec<Box<Action>>,
3860}
3861
3862impl IPCChainTesterPushActionsArgs {
3863  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPushActionsArgs> {
3864    i_prot.read_struct_begin()?;
3865    let mut f_1: Option<i32> = None;
3866    let mut f_2: Option<Vec<Box<Action>>> = None;
3867    loop {
3868      let field_ident = i_prot.read_field_begin()?;
3869      if field_ident.field_type == TType::Stop {
3870        break;
3871      }
3872      let field_id = field_id(&field_ident)?;
3873      match field_id {
3874        1 => {
3875          let val = i_prot.read_i32()?;
3876          f_1 = Some(val);
3877        },
3878        2 => {
3879          let list_ident = i_prot.read_list_begin()?;
3880          let mut val: Vec<Box<Action>> = Vec::with_capacity(list_ident.size as usize);
3881          for _ in 0..list_ident.size {
3882            let list_elem_1 = Box::new(Action::read_from_in_protocol(i_prot)?);
3883            val.push(list_elem_1);
3884          }
3885          i_prot.read_list_end()?;
3886          f_2 = Some(val);
3887        },
3888        _ => {
3889          i_prot.skip(field_ident.field_type)?;
3890        },
3891      };
3892      i_prot.read_field_end()?;
3893    }
3894    i_prot.read_struct_end()?;
3895    verify_required_field_exists("IPCChainTesterPushActionsArgs.id", &f_1)?;
3896    verify_required_field_exists("IPCChainTesterPushActionsArgs.actions", &f_2)?;
3897    let ret = IPCChainTesterPushActionsArgs {
3898      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
3899      actions: f_2.expect("auto-generated code should have checked for presence of required fields"),
3900    };
3901    Ok(ret)
3902  }
3903  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3904    let struct_ident = TStructIdentifier::new("push_actions_args");
3905    o_prot.write_struct_begin(&struct_ident)?;
3906    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
3907    o_prot.write_i32(self.id)?;
3908    o_prot.write_field_end()?;
3909    o_prot.write_field_begin(&TFieldIdentifier::new("actions", TType::List, 2))?;
3910    o_prot.write_list_begin(&TListIdentifier::new(TType::Struct, self.actions.len() as i32))?;
3911    for e in &self.actions {
3912      e.write_to_out_protocol(o_prot)?;
3913    }
3914    o_prot.write_list_end()?;
3915    o_prot.write_field_end()?;
3916    o_prot.write_field_stop()?;
3917    o_prot.write_struct_end()
3918  }
3919}
3920
3921//
3922// IPCChainTesterPushActionsResult
3923//
3924
3925#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3926struct IPCChainTesterPushActionsResult {
3927  result_value: Option<Vec<u8>>,
3928}
3929
3930impl IPCChainTesterPushActionsResult {
3931  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterPushActionsResult> {
3932    i_prot.read_struct_begin()?;
3933    let mut f_0: Option<Vec<u8>> = None;
3934    loop {
3935      let field_ident = i_prot.read_field_begin()?;
3936      if field_ident.field_type == TType::Stop {
3937        break;
3938      }
3939      let field_id = field_id(&field_ident)?;
3940      match field_id {
3941        0 => {
3942          let val = i_prot.read_bytes()?;
3943          f_0 = Some(val);
3944        },
3945        _ => {
3946          i_prot.skip(field_ident.field_type)?;
3947        },
3948      };
3949      i_prot.read_field_end()?;
3950    }
3951    i_prot.read_struct_end()?;
3952    let ret = IPCChainTesterPushActionsResult {
3953      result_value: f_0,
3954    };
3955    Ok(ret)
3956  }
3957  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
3958    let struct_ident = TStructIdentifier::new("IPCChainTesterPushActionsResult");
3959    o_prot.write_struct_begin(&struct_ident)?;
3960    if let Some(ref fld_var) = self.result_value {
3961      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
3962      o_prot.write_bytes(fld_var)?;
3963      o_prot.write_field_end()?
3964    }
3965    o_prot.write_field_stop()?;
3966    o_prot.write_struct_end()
3967  }
3968  fn ok_or(self) -> thrift::Result<Vec<u8>> {
3969    if self.result_value.is_some() {
3970      Ok(self.result_value.unwrap())
3971    } else {
3972      Err(
3973        thrift::Error::Application(
3974          ApplicationError::new(
3975            ApplicationErrorKind::MissingResult,
3976            "no result received for IPCChainTesterPushActions"
3977          )
3978        )
3979      )
3980    }
3981  }
3982}
3983
3984//
3985// IPCChainTesterGetTableRowsArgs
3986//
3987
3988#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
3989struct IPCChainTesterGetTableRowsArgs {
3990  id: i32,
3991  json: bool,
3992  code: String,
3993  scope: String,
3994  table: String,
3995  lower_bound: String,
3996  upper_bound: String,
3997  limit: i64,
3998  key_type: String,
3999  index_position: String,
4000  reverse: bool,
4001  show_payer: bool,
4002}
4003
4004impl IPCChainTesterGetTableRowsArgs {
4005  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetTableRowsArgs> {
4006    i_prot.read_struct_begin()?;
4007    let mut f_1: Option<i32> = None;
4008    let mut f_2: Option<bool> = None;
4009    let mut f_3: Option<String> = None;
4010    let mut f_4: Option<String> = None;
4011    let mut f_5: Option<String> = None;
4012    let mut f_6: Option<String> = None;
4013    let mut f_7: Option<String> = None;
4014    let mut f_8: Option<i64> = None;
4015    let mut f_9: Option<String> = None;
4016    let mut f_10: Option<String> = None;
4017    let mut f_11: Option<bool> = None;
4018    let mut f_12: Option<bool> = None;
4019    loop {
4020      let field_ident = i_prot.read_field_begin()?;
4021      if field_ident.field_type == TType::Stop {
4022        break;
4023      }
4024      let field_id = field_id(&field_ident)?;
4025      match field_id {
4026        1 => {
4027          let val = i_prot.read_i32()?;
4028          f_1 = Some(val);
4029        },
4030        2 => {
4031          let val = i_prot.read_bool()?;
4032          f_2 = Some(val);
4033        },
4034        3 => {
4035          let val = i_prot.read_string()?;
4036          f_3 = Some(val);
4037        },
4038        4 => {
4039          let val = i_prot.read_string()?;
4040          f_4 = Some(val);
4041        },
4042        5 => {
4043          let val = i_prot.read_string()?;
4044          f_5 = Some(val);
4045        },
4046        6 => {
4047          let val = i_prot.read_string()?;
4048          f_6 = Some(val);
4049        },
4050        7 => {
4051          let val = i_prot.read_string()?;
4052          f_7 = Some(val);
4053        },
4054        8 => {
4055          let val = i_prot.read_i64()?;
4056          f_8 = Some(val);
4057        },
4058        9 => {
4059          let val = i_prot.read_string()?;
4060          f_9 = Some(val);
4061        },
4062        10 => {
4063          let val = i_prot.read_string()?;
4064          f_10 = Some(val);
4065        },
4066        11 => {
4067          let val = i_prot.read_bool()?;
4068          f_11 = Some(val);
4069        },
4070        12 => {
4071          let val = i_prot.read_bool()?;
4072          f_12 = Some(val);
4073        },
4074        _ => {
4075          i_prot.skip(field_ident.field_type)?;
4076        },
4077      };
4078      i_prot.read_field_end()?;
4079    }
4080    i_prot.read_struct_end()?;
4081    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.id", &f_1)?;
4082    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.json", &f_2)?;
4083    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.code", &f_3)?;
4084    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.scope", &f_4)?;
4085    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.table", &f_5)?;
4086    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.lower_bound", &f_6)?;
4087    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.upper_bound", &f_7)?;
4088    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.limit", &f_8)?;
4089    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.key_type", &f_9)?;
4090    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.index_position", &f_10)?;
4091    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.reverse", &f_11)?;
4092    verify_required_field_exists("IPCChainTesterGetTableRowsArgs.show_payer", &f_12)?;
4093    let ret = IPCChainTesterGetTableRowsArgs {
4094      id: f_1.expect("auto-generated code should have checked for presence of required fields"),
4095      json: f_2.expect("auto-generated code should have checked for presence of required fields"),
4096      code: f_3.expect("auto-generated code should have checked for presence of required fields"),
4097      scope: f_4.expect("auto-generated code should have checked for presence of required fields"),
4098      table: f_5.expect("auto-generated code should have checked for presence of required fields"),
4099      lower_bound: f_6.expect("auto-generated code should have checked for presence of required fields"),
4100      upper_bound: f_7.expect("auto-generated code should have checked for presence of required fields"),
4101      limit: f_8.expect("auto-generated code should have checked for presence of required fields"),
4102      key_type: f_9.expect("auto-generated code should have checked for presence of required fields"),
4103      index_position: f_10.expect("auto-generated code should have checked for presence of required fields"),
4104      reverse: f_11.expect("auto-generated code should have checked for presence of required fields"),
4105      show_payer: f_12.expect("auto-generated code should have checked for presence of required fields"),
4106    };
4107    Ok(ret)
4108  }
4109  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4110    let struct_ident = TStructIdentifier::new("get_table_rows_args");
4111    o_prot.write_struct_begin(&struct_ident)?;
4112    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::I32, 1))?;
4113    o_prot.write_i32(self.id)?;
4114    o_prot.write_field_end()?;
4115    o_prot.write_field_begin(&TFieldIdentifier::new("json", TType::Bool, 2))?;
4116    o_prot.write_bool(self.json)?;
4117    o_prot.write_field_end()?;
4118    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::String, 3))?;
4119    o_prot.write_string(&self.code)?;
4120    o_prot.write_field_end()?;
4121    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::String, 4))?;
4122    o_prot.write_string(&self.scope)?;
4123    o_prot.write_field_end()?;
4124    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::String, 5))?;
4125    o_prot.write_string(&self.table)?;
4126    o_prot.write_field_end()?;
4127    o_prot.write_field_begin(&TFieldIdentifier::new("lower_bound", TType::String, 6))?;
4128    o_prot.write_string(&self.lower_bound)?;
4129    o_prot.write_field_end()?;
4130    o_prot.write_field_begin(&TFieldIdentifier::new("upper_bound", TType::String, 7))?;
4131    o_prot.write_string(&self.upper_bound)?;
4132    o_prot.write_field_end()?;
4133    o_prot.write_field_begin(&TFieldIdentifier::new("limit", TType::I64, 8))?;
4134    o_prot.write_i64(self.limit)?;
4135    o_prot.write_field_end()?;
4136    o_prot.write_field_begin(&TFieldIdentifier::new("key_type", TType::String, 9))?;
4137    o_prot.write_string(&self.key_type)?;
4138    o_prot.write_field_end()?;
4139    o_prot.write_field_begin(&TFieldIdentifier::new("index_position", TType::String, 10))?;
4140    o_prot.write_string(&self.index_position)?;
4141    o_prot.write_field_end()?;
4142    o_prot.write_field_begin(&TFieldIdentifier::new("reverse", TType::Bool, 11))?;
4143    o_prot.write_bool(self.reverse)?;
4144    o_prot.write_field_end()?;
4145    o_prot.write_field_begin(&TFieldIdentifier::new("show_payer", TType::Bool, 12))?;
4146    o_prot.write_bool(self.show_payer)?;
4147    o_prot.write_field_end()?;
4148    o_prot.write_field_stop()?;
4149    o_prot.write_struct_end()
4150  }
4151}
4152
4153//
4154// IPCChainTesterGetTableRowsResult
4155//
4156
4157#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4158struct IPCChainTesterGetTableRowsResult {
4159  result_value: Option<String>,
4160}
4161
4162impl IPCChainTesterGetTableRowsResult {
4163  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<IPCChainTesterGetTableRowsResult> {
4164    i_prot.read_struct_begin()?;
4165    let mut f_0: Option<String> = None;
4166    loop {
4167      let field_ident = i_prot.read_field_begin()?;
4168      if field_ident.field_type == TType::Stop {
4169        break;
4170      }
4171      let field_id = field_id(&field_ident)?;
4172      match field_id {
4173        0 => {
4174          let val = i_prot.read_string()?;
4175          f_0 = Some(val);
4176        },
4177        _ => {
4178          i_prot.skip(field_ident.field_type)?;
4179        },
4180      };
4181      i_prot.read_field_end()?;
4182    }
4183    i_prot.read_struct_end()?;
4184    let ret = IPCChainTesterGetTableRowsResult {
4185      result_value: f_0,
4186    };
4187    Ok(ret)
4188  }
4189  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4190    let struct_ident = TStructIdentifier::new("IPCChainTesterGetTableRowsResult");
4191    o_prot.write_struct_begin(&struct_ident)?;
4192    if let Some(ref fld_var) = self.result_value {
4193      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
4194      o_prot.write_string(fld_var)?;
4195      o_prot.write_field_end()?
4196    }
4197    o_prot.write_field_stop()?;
4198    o_prot.write_struct_end()
4199  }
4200  fn ok_or(self) -> thrift::Result<String> {
4201    if self.result_value.is_some() {
4202      Ok(self.result_value.unwrap())
4203    } else {
4204      Err(
4205        thrift::Error::Application(
4206          ApplicationError::new(
4207            ApplicationErrorKind::MissingResult,
4208            "no result received for IPCChainTesterGetTableRows"
4209          )
4210        )
4211      )
4212    }
4213  }
4214}
4215
4216//
4217// PushActions service client
4218//
4219
4220pub trait TPushActionsSyncClient {
4221  fn push_actions(&mut self, actions: Vec<Action>) -> thrift::Result<i32>;
4222}
4223
4224pub trait TPushActionsSyncClientMarker {}
4225
4226pub struct PushActionsSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
4227  _i_prot: IP,
4228  _o_prot: OP,
4229  _sequence_number: i32,
4230}
4231
4232impl <IP, OP> PushActionsSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
4233  pub fn new(input_protocol: IP, output_protocol: OP) -> PushActionsSyncClient<IP, OP> {
4234    PushActionsSyncClient { _i_prot: input_protocol, _o_prot: output_protocol, _sequence_number: 0 }
4235  }
4236}
4237
4238impl <IP, OP> TThriftClient for PushActionsSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
4239  fn i_prot_mut(&mut self) -> &mut dyn TInputProtocol { &mut self._i_prot }
4240  fn o_prot_mut(&mut self) -> &mut dyn TOutputProtocol { &mut self._o_prot }
4241  fn sequence_number(&self) -> i32 { self._sequence_number }
4242  fn increment_sequence_number(&mut self) -> i32 { self._sequence_number += 1; self._sequence_number }
4243}
4244
4245impl <IP, OP> TPushActionsSyncClientMarker for PushActionsSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {}
4246
4247impl <C: TThriftClient + TPushActionsSyncClientMarker> TPushActionsSyncClient for C {
4248  fn push_actions(&mut self, actions: Vec<Action>) -> thrift::Result<i32> {
4249    (
4250      {
4251        self.increment_sequence_number();
4252        let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Call, self.sequence_number());
4253        let call_args = PushActionsPushActionsArgs { actions };
4254        self.o_prot_mut().write_message_begin(&message_ident)?;
4255        call_args.write_to_out_protocol(self.o_prot_mut())?;
4256        self.o_prot_mut().write_message_end()?;
4257        self.o_prot_mut().flush()
4258      }
4259    )?;
4260    {
4261      let message_ident = self.i_prot_mut().read_message_begin()?;
4262      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
4263      verify_expected_service_call("push_actions", &message_ident.name)?;
4264      if message_ident.message_type == TMessageType::Exception {
4265        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
4266        self.i_prot_mut().read_message_end()?;
4267        return Err(thrift::Error::Application(remote_error))
4268      }
4269      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
4270      let result = PushActionsPushActionsResult::read_from_in_protocol(self.i_prot_mut())?;
4271      self.i_prot_mut().read_message_end()?;
4272      result.ok_or()
4273    }
4274  }
4275}
4276
4277//
4278// PushActions service processor
4279//
4280
4281pub trait PushActionsSyncHandler {
4282  fn handle_push_actions(&self, actions: Vec<Action>) -> thrift::Result<i32>;
4283}
4284
4285pub struct PushActionsSyncProcessor<H: PushActionsSyncHandler> {
4286  handler: H,
4287}
4288
4289impl <H: PushActionsSyncHandler> PushActionsSyncProcessor<H> {
4290  pub fn new(handler: H) -> PushActionsSyncProcessor<H> {
4291    PushActionsSyncProcessor {
4292      handler,
4293    }
4294  }
4295  fn process_push_actions(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4296    TPushActionsProcessFunctions::process_push_actions(&self.handler, incoming_sequence_number, i_prot, o_prot)
4297  }
4298}
4299
4300pub struct TPushActionsProcessFunctions;
4301
4302impl TPushActionsProcessFunctions {
4303  pub fn process_push_actions<H: PushActionsSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4304    let args = PushActionsPushActionsArgs::read_from_in_protocol(i_prot)?;
4305    match handler.handle_push_actions(args.actions) {
4306      Ok(handler_return) => {
4307        let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Reply, incoming_sequence_number);
4308        o_prot.write_message_begin(&message_ident)?;
4309        let ret = PushActionsPushActionsResult { result_value: Some(handler_return) };
4310        ret.write_to_out_protocol(o_prot)?;
4311        o_prot.write_message_end()?;
4312        o_prot.flush()
4313      },
4314      Err(e) => {
4315        match e {
4316          thrift::Error::Application(app_err) => {
4317            let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Exception, incoming_sequence_number);
4318            o_prot.write_message_begin(&message_ident)?;
4319            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
4320            o_prot.write_message_end()?;
4321            o_prot.flush()
4322          },
4323          _ => {
4324            let ret_err = {
4325              ApplicationError::new(
4326                ApplicationErrorKind::Unknown,
4327                e.to_string()
4328              )
4329            };
4330            let message_ident = TMessageIdentifier::new("push_actions", TMessageType::Exception, incoming_sequence_number);
4331            o_prot.write_message_begin(&message_ident)?;
4332            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
4333            o_prot.write_message_end()?;
4334            o_prot.flush()
4335          },
4336        }
4337      },
4338    }
4339  }
4340}
4341
4342impl <H: PushActionsSyncHandler> TProcessor for PushActionsSyncProcessor<H> {
4343  fn process(&self, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4344    let message_ident = i_prot.read_message_begin()?;
4345    let res = match &*message_ident.name {
4346      "push_actions" => {
4347        self.process_push_actions(message_ident.sequence_number, i_prot, o_prot)
4348      },
4349      method => {
4350        Err(
4351          thrift::Error::Application(
4352            ApplicationError::new(
4353              ApplicationErrorKind::UnknownMethod,
4354              format!("unknown method {}", method)
4355            )
4356          )
4357        )
4358      },
4359    };
4360    thrift::server::handle_process_result(&message_ident, res, o_prot)
4361  }
4362}
4363
4364//
4365// PushActionsPushActionsArgs
4366//
4367
4368#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4369struct PushActionsPushActionsArgs {
4370  actions: Vec<Action>,
4371}
4372
4373impl PushActionsPushActionsArgs {
4374  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<PushActionsPushActionsArgs> {
4375    i_prot.read_struct_begin()?;
4376    let mut f_1: Option<Vec<Action>> = None;
4377    loop {
4378      let field_ident = i_prot.read_field_begin()?;
4379      if field_ident.field_type == TType::Stop {
4380        break;
4381      }
4382      let field_id = field_id(&field_ident)?;
4383      match field_id {
4384        1 => {
4385          let list_ident = i_prot.read_list_begin()?;
4386          let mut val: Vec<Action> = Vec::with_capacity(list_ident.size as usize);
4387          for _ in 0..list_ident.size {
4388            let list_elem_2 = Action::read_from_in_protocol(i_prot)?;
4389            val.push(list_elem_2);
4390          }
4391          i_prot.read_list_end()?;
4392          f_1 = Some(val);
4393        },
4394        _ => {
4395          i_prot.skip(field_ident.field_type)?;
4396        },
4397      };
4398      i_prot.read_field_end()?;
4399    }
4400    i_prot.read_struct_end()?;
4401    verify_required_field_exists("PushActionsPushActionsArgs.actions", &f_1)?;
4402    let ret = PushActionsPushActionsArgs {
4403      actions: f_1.expect("auto-generated code should have checked for presence of required fields"),
4404    };
4405    Ok(ret)
4406  }
4407  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4408    let struct_ident = TStructIdentifier::new("push_actions_args");
4409    o_prot.write_struct_begin(&struct_ident)?;
4410    o_prot.write_field_begin(&TFieldIdentifier::new("actions", TType::List, 1))?;
4411    o_prot.write_list_begin(&TListIdentifier::new(TType::Struct, self.actions.len() as i32))?;
4412    for e in &self.actions {
4413      e.write_to_out_protocol(o_prot)?;
4414    }
4415    o_prot.write_list_end()?;
4416    o_prot.write_field_end()?;
4417    o_prot.write_field_stop()?;
4418    o_prot.write_struct_end()
4419  }
4420}
4421
4422//
4423// PushActionsPushActionsResult
4424//
4425
4426#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4427struct PushActionsPushActionsResult {
4428  result_value: Option<i32>,
4429}
4430
4431impl PushActionsPushActionsResult {
4432  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<PushActionsPushActionsResult> {
4433    i_prot.read_struct_begin()?;
4434    let mut f_0: Option<i32> = None;
4435    loop {
4436      let field_ident = i_prot.read_field_begin()?;
4437      if field_ident.field_type == TType::Stop {
4438        break;
4439      }
4440      let field_id = field_id(&field_ident)?;
4441      match field_id {
4442        0 => {
4443          let val = i_prot.read_i32()?;
4444          f_0 = Some(val);
4445        },
4446        _ => {
4447          i_prot.skip(field_ident.field_type)?;
4448        },
4449      };
4450      i_prot.read_field_end()?;
4451    }
4452    i_prot.read_struct_end()?;
4453    let ret = PushActionsPushActionsResult {
4454      result_value: f_0,
4455    };
4456    Ok(ret)
4457  }
4458  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4459    let struct_ident = TStructIdentifier::new("PushActionsPushActionsResult");
4460    o_prot.write_struct_begin(&struct_ident)?;
4461    if let Some(fld_var) = self.result_value {
4462      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
4463      o_prot.write_i32(fld_var)?;
4464      o_prot.write_field_end()?
4465    }
4466    o_prot.write_field_stop()?;
4467    o_prot.write_struct_end()
4468  }
4469  fn ok_or(self) -> thrift::Result<i32> {
4470    if self.result_value.is_some() {
4471      Ok(self.result_value.unwrap())
4472    } else {
4473      Err(
4474        thrift::Error::Application(
4475          ApplicationError::new(
4476            ApplicationErrorKind::MissingResult,
4477            "no result received for PushActionsPushActions"
4478          )
4479        )
4480      )
4481    }
4482  }
4483}
4484
4485//
4486// ApplyRequest service client
4487//
4488
4489pub trait TApplyRequestSyncClient {
4490  fn apply_request(&mut self, receiver: Uint64, first_receiver: Uint64, action: Uint64) -> thrift::Result<i32>;
4491  fn apply_end(&mut self) -> thrift::Result<i32>;
4492}
4493
4494pub trait TApplyRequestSyncClientMarker {}
4495
4496pub struct ApplyRequestSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
4497  _i_prot: IP,
4498  _o_prot: OP,
4499  _sequence_number: i32,
4500}
4501
4502impl <IP, OP> ApplyRequestSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
4503  pub fn new(input_protocol: IP, output_protocol: OP) -> ApplyRequestSyncClient<IP, OP> {
4504    ApplyRequestSyncClient { _i_prot: input_protocol, _o_prot: output_protocol, _sequence_number: 0 }
4505  }
4506}
4507
4508impl <IP, OP> TThriftClient for ApplyRequestSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
4509  fn i_prot_mut(&mut self) -> &mut dyn TInputProtocol { &mut self._i_prot }
4510  fn o_prot_mut(&mut self) -> &mut dyn TOutputProtocol { &mut self._o_prot }
4511  fn sequence_number(&self) -> i32 { self._sequence_number }
4512  fn increment_sequence_number(&mut self) -> i32 { self._sequence_number += 1; self._sequence_number }
4513}
4514
4515impl <IP, OP> TApplyRequestSyncClientMarker for ApplyRequestSyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {}
4516
4517impl <C: TThriftClient + TApplyRequestSyncClientMarker> TApplyRequestSyncClient for C {
4518  fn apply_request(&mut self, receiver: Uint64, first_receiver: Uint64, action: Uint64) -> thrift::Result<i32> {
4519    (
4520      {
4521        self.increment_sequence_number();
4522        let message_ident = TMessageIdentifier::new("apply_request", TMessageType::Call, self.sequence_number());
4523        let call_args = ApplyRequestApplyRequestArgs { receiver, first_receiver, action };
4524        self.o_prot_mut().write_message_begin(&message_ident)?;
4525        call_args.write_to_out_protocol(self.o_prot_mut())?;
4526        self.o_prot_mut().write_message_end()?;
4527        self.o_prot_mut().flush()
4528      }
4529    )?;
4530    {
4531      let message_ident = self.i_prot_mut().read_message_begin()?;
4532      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
4533      verify_expected_service_call("apply_request", &message_ident.name)?;
4534      if message_ident.message_type == TMessageType::Exception {
4535        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
4536        self.i_prot_mut().read_message_end()?;
4537        return Err(thrift::Error::Application(remote_error))
4538      }
4539      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
4540      let result = ApplyRequestApplyRequestResult::read_from_in_protocol(self.i_prot_mut())?;
4541      self.i_prot_mut().read_message_end()?;
4542      result.ok_or()
4543    }
4544  }
4545  fn apply_end(&mut self) -> thrift::Result<i32> {
4546    (
4547      {
4548        self.increment_sequence_number();
4549        let message_ident = TMessageIdentifier::new("apply_end", TMessageType::Call, self.sequence_number());
4550        let call_args = ApplyRequestApplyEndArgs {  };
4551        self.o_prot_mut().write_message_begin(&message_ident)?;
4552        call_args.write_to_out_protocol(self.o_prot_mut())?;
4553        self.o_prot_mut().write_message_end()?;
4554        self.o_prot_mut().flush()
4555      }
4556    )?;
4557    {
4558      let message_ident = self.i_prot_mut().read_message_begin()?;
4559      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
4560      verify_expected_service_call("apply_end", &message_ident.name)?;
4561      if message_ident.message_type == TMessageType::Exception {
4562        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
4563        self.i_prot_mut().read_message_end()?;
4564        return Err(thrift::Error::Application(remote_error))
4565      }
4566      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
4567      let result = ApplyRequestApplyEndResult::read_from_in_protocol(self.i_prot_mut())?;
4568      self.i_prot_mut().read_message_end()?;
4569      result.ok_or()
4570    }
4571  }
4572}
4573
4574//
4575// ApplyRequest service processor
4576//
4577
4578pub trait ApplyRequestSyncHandler {
4579  fn handle_apply_request(&self, receiver: Uint64, first_receiver: Uint64, action: Uint64) -> thrift::Result<i32>;
4580  fn handle_apply_end(&self) -> thrift::Result<i32>;
4581}
4582
4583pub struct ApplyRequestSyncProcessor<H: ApplyRequestSyncHandler> {
4584  handler: H,
4585}
4586
4587impl <H: ApplyRequestSyncHandler> ApplyRequestSyncProcessor<H> {
4588  pub fn new(handler: H) -> ApplyRequestSyncProcessor<H> {
4589    ApplyRequestSyncProcessor {
4590      handler,
4591    }
4592  }
4593  fn process_apply_request(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4594    TApplyRequestProcessFunctions::process_apply_request(&self.handler, incoming_sequence_number, i_prot, o_prot)
4595  }
4596  fn process_apply_end(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4597    TApplyRequestProcessFunctions::process_apply_end(&self.handler, incoming_sequence_number, i_prot, o_prot)
4598  }
4599}
4600
4601pub struct TApplyRequestProcessFunctions;
4602
4603impl TApplyRequestProcessFunctions {
4604  pub fn process_apply_request<H: ApplyRequestSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4605    let args = ApplyRequestApplyRequestArgs::read_from_in_protocol(i_prot)?;
4606    match handler.handle_apply_request(args.receiver, args.first_receiver, args.action) {
4607      Ok(handler_return) => {
4608        let message_ident = TMessageIdentifier::new("apply_request", TMessageType::Reply, incoming_sequence_number);
4609        o_prot.write_message_begin(&message_ident)?;
4610        let ret = ApplyRequestApplyRequestResult { result_value: Some(handler_return) };
4611        ret.write_to_out_protocol(o_prot)?;
4612        o_prot.write_message_end()?;
4613        o_prot.flush()
4614      },
4615      Err(e) => {
4616        match e {
4617          thrift::Error::Application(app_err) => {
4618            let message_ident = TMessageIdentifier::new("apply_request", TMessageType::Exception, incoming_sequence_number);
4619            o_prot.write_message_begin(&message_ident)?;
4620            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
4621            o_prot.write_message_end()?;
4622            o_prot.flush()
4623          },
4624          _ => {
4625            let ret_err = {
4626              ApplicationError::new(
4627                ApplicationErrorKind::Unknown,
4628                e.to_string()
4629              )
4630            };
4631            let message_ident = TMessageIdentifier::new("apply_request", TMessageType::Exception, incoming_sequence_number);
4632            o_prot.write_message_begin(&message_ident)?;
4633            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
4634            o_prot.write_message_end()?;
4635            o_prot.flush()
4636          },
4637        }
4638      },
4639    }
4640  }
4641  pub fn process_apply_end<H: ApplyRequestSyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4642    let _ = ApplyRequestApplyEndArgs::read_from_in_protocol(i_prot)?;
4643    match handler.handle_apply_end() {
4644      Ok(handler_return) => {
4645        let message_ident = TMessageIdentifier::new("apply_end", TMessageType::Reply, incoming_sequence_number);
4646        o_prot.write_message_begin(&message_ident)?;
4647        let ret = ApplyRequestApplyEndResult { result_value: Some(handler_return) };
4648        ret.write_to_out_protocol(o_prot)?;
4649        o_prot.write_message_end()?;
4650        o_prot.flush()
4651      },
4652      Err(e) => {
4653        match e {
4654          thrift::Error::Application(app_err) => {
4655            let message_ident = TMessageIdentifier::new("apply_end", TMessageType::Exception, incoming_sequence_number);
4656            o_prot.write_message_begin(&message_ident)?;
4657            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
4658            o_prot.write_message_end()?;
4659            o_prot.flush()
4660          },
4661          _ => {
4662            let ret_err = {
4663              ApplicationError::new(
4664                ApplicationErrorKind::Unknown,
4665                e.to_string()
4666              )
4667            };
4668            let message_ident = TMessageIdentifier::new("apply_end", TMessageType::Exception, incoming_sequence_number);
4669            o_prot.write_message_begin(&message_ident)?;
4670            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
4671            o_prot.write_message_end()?;
4672            o_prot.flush()
4673          },
4674        }
4675      },
4676    }
4677  }
4678}
4679
4680impl <H: ApplyRequestSyncHandler> TProcessor for ApplyRequestSyncProcessor<H> {
4681  fn process(&self, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4682    let message_ident = i_prot.read_message_begin()?;
4683    let res = match &*message_ident.name {
4684      "apply_request" => {
4685        self.process_apply_request(message_ident.sequence_number, i_prot, o_prot)
4686      },
4687      "apply_end" => {
4688        self.process_apply_end(message_ident.sequence_number, i_prot, o_prot)
4689      },
4690      method => {
4691        Err(
4692          thrift::Error::Application(
4693            ApplicationError::new(
4694              ApplicationErrorKind::UnknownMethod,
4695              format!("unknown method {}", method)
4696            )
4697          )
4698        )
4699      },
4700    };
4701    thrift::server::handle_process_result(&message_ident, res, o_prot)
4702  }
4703}
4704
4705//
4706// ApplyRequestApplyRequestArgs
4707//
4708
4709#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4710struct ApplyRequestApplyRequestArgs {
4711  receiver: Uint64,
4712  first_receiver: Uint64,
4713  action: Uint64,
4714}
4715
4716impl ApplyRequestApplyRequestArgs {
4717  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequestApplyRequestArgs> {
4718    i_prot.read_struct_begin()?;
4719    let mut f_1: Option<Uint64> = None;
4720    let mut f_2: Option<Uint64> = None;
4721    let mut f_3: Option<Uint64> = None;
4722    loop {
4723      let field_ident = i_prot.read_field_begin()?;
4724      if field_ident.field_type == TType::Stop {
4725        break;
4726      }
4727      let field_id = field_id(&field_ident)?;
4728      match field_id {
4729        1 => {
4730          let val = Uint64::read_from_in_protocol(i_prot)?;
4731          f_1 = Some(val);
4732        },
4733        2 => {
4734          let val = Uint64::read_from_in_protocol(i_prot)?;
4735          f_2 = Some(val);
4736        },
4737        3 => {
4738          let val = Uint64::read_from_in_protocol(i_prot)?;
4739          f_3 = Some(val);
4740        },
4741        _ => {
4742          i_prot.skip(field_ident.field_type)?;
4743        },
4744      };
4745      i_prot.read_field_end()?;
4746    }
4747    i_prot.read_struct_end()?;
4748    verify_required_field_exists("ApplyRequestApplyRequestArgs.receiver", &f_1)?;
4749    verify_required_field_exists("ApplyRequestApplyRequestArgs.first_receiver", &f_2)?;
4750    verify_required_field_exists("ApplyRequestApplyRequestArgs.action", &f_3)?;
4751    let ret = ApplyRequestApplyRequestArgs {
4752      receiver: f_1.expect("auto-generated code should have checked for presence of required fields"),
4753      first_receiver: f_2.expect("auto-generated code should have checked for presence of required fields"),
4754      action: f_3.expect("auto-generated code should have checked for presence of required fields"),
4755    };
4756    Ok(ret)
4757  }
4758  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4759    let struct_ident = TStructIdentifier::new("apply_request_args");
4760    o_prot.write_struct_begin(&struct_ident)?;
4761    o_prot.write_field_begin(&TFieldIdentifier::new("receiver", TType::Struct, 1))?;
4762    self.receiver.write_to_out_protocol(o_prot)?;
4763    o_prot.write_field_end()?;
4764    o_prot.write_field_begin(&TFieldIdentifier::new("firstReceiver", TType::Struct, 2))?;
4765    self.first_receiver.write_to_out_protocol(o_prot)?;
4766    o_prot.write_field_end()?;
4767    o_prot.write_field_begin(&TFieldIdentifier::new("action", TType::Struct, 3))?;
4768    self.action.write_to_out_protocol(o_prot)?;
4769    o_prot.write_field_end()?;
4770    o_prot.write_field_stop()?;
4771    o_prot.write_struct_end()
4772  }
4773}
4774
4775//
4776// ApplyRequestApplyRequestResult
4777//
4778
4779#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4780struct ApplyRequestApplyRequestResult {
4781  result_value: Option<i32>,
4782}
4783
4784impl ApplyRequestApplyRequestResult {
4785  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequestApplyRequestResult> {
4786    i_prot.read_struct_begin()?;
4787    let mut f_0: Option<i32> = None;
4788    loop {
4789      let field_ident = i_prot.read_field_begin()?;
4790      if field_ident.field_type == TType::Stop {
4791        break;
4792      }
4793      let field_id = field_id(&field_ident)?;
4794      match field_id {
4795        0 => {
4796          let val = i_prot.read_i32()?;
4797          f_0 = Some(val);
4798        },
4799        _ => {
4800          i_prot.skip(field_ident.field_type)?;
4801        },
4802      };
4803      i_prot.read_field_end()?;
4804    }
4805    i_prot.read_struct_end()?;
4806    let ret = ApplyRequestApplyRequestResult {
4807      result_value: f_0,
4808    };
4809    Ok(ret)
4810  }
4811  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4812    let struct_ident = TStructIdentifier::new("ApplyRequestApplyRequestResult");
4813    o_prot.write_struct_begin(&struct_ident)?;
4814    if let Some(fld_var) = self.result_value {
4815      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
4816      o_prot.write_i32(fld_var)?;
4817      o_prot.write_field_end()?
4818    }
4819    o_prot.write_field_stop()?;
4820    o_prot.write_struct_end()
4821  }
4822  fn ok_or(self) -> thrift::Result<i32> {
4823    if self.result_value.is_some() {
4824      Ok(self.result_value.unwrap())
4825    } else {
4826      Err(
4827        thrift::Error::Application(
4828          ApplicationError::new(
4829            ApplicationErrorKind::MissingResult,
4830            "no result received for ApplyRequestApplyRequest"
4831          )
4832        )
4833      )
4834    }
4835  }
4836}
4837
4838//
4839// ApplyRequestApplyEndArgs
4840//
4841
4842#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4843struct ApplyRequestApplyEndArgs {
4844}
4845
4846impl ApplyRequestApplyEndArgs {
4847  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequestApplyEndArgs> {
4848    i_prot.read_struct_begin()?;
4849    loop {
4850      let field_ident = i_prot.read_field_begin()?;
4851      if field_ident.field_type == TType::Stop {
4852        break;
4853      }
4854      let field_id = field_id(&field_ident)?;
4855      match field_id {
4856        _ => {
4857          i_prot.skip(field_ident.field_type)?;
4858        },
4859      };
4860      i_prot.read_field_end()?;
4861    }
4862    i_prot.read_struct_end()?;
4863    let ret = ApplyRequestApplyEndArgs {};
4864    Ok(ret)
4865  }
4866  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4867    let struct_ident = TStructIdentifier::new("apply_end_args");
4868    o_prot.write_struct_begin(&struct_ident)?;
4869    o_prot.write_field_stop()?;
4870    o_prot.write_struct_end()
4871  }
4872}
4873
4874//
4875// ApplyRequestApplyEndResult
4876//
4877
4878#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4879struct ApplyRequestApplyEndResult {
4880  result_value: Option<i32>,
4881}
4882
4883impl ApplyRequestApplyEndResult {
4884  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequestApplyEndResult> {
4885    i_prot.read_struct_begin()?;
4886    let mut f_0: Option<i32> = None;
4887    loop {
4888      let field_ident = i_prot.read_field_begin()?;
4889      if field_ident.field_type == TType::Stop {
4890        break;
4891      }
4892      let field_id = field_id(&field_ident)?;
4893      match field_id {
4894        0 => {
4895          let val = i_prot.read_i32()?;
4896          f_0 = Some(val);
4897        },
4898        _ => {
4899          i_prot.skip(field_ident.field_type)?;
4900        },
4901      };
4902      i_prot.read_field_end()?;
4903    }
4904    i_prot.read_struct_end()?;
4905    let ret = ApplyRequestApplyEndResult {
4906      result_value: f_0,
4907    };
4908    Ok(ret)
4909  }
4910  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
4911    let struct_ident = TStructIdentifier::new("ApplyRequestApplyEndResult");
4912    o_prot.write_struct_begin(&struct_ident)?;
4913    if let Some(fld_var) = self.result_value {
4914      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
4915      o_prot.write_i32(fld_var)?;
4916      o_prot.write_field_end()?
4917    }
4918    o_prot.write_field_stop()?;
4919    o_prot.write_struct_end()
4920  }
4921  fn ok_or(self) -> thrift::Result<i32> {
4922    if self.result_value.is_some() {
4923      Ok(self.result_value.unwrap())
4924    } else {
4925      Err(
4926        thrift::Error::Application(
4927          ApplicationError::new(
4928            ApplicationErrorKind::MissingResult,
4929            "no result received for ApplyRequestApplyEnd"
4930          )
4931        )
4932      )
4933    }
4934  }
4935}
4936
4937//
4938// Apply service client
4939//
4940
4941pub trait TApplySyncClient {
4942  fn end_apply(&mut self) -> thrift::Result<i32>;
4943  fn get_active_producers(&mut self) -> thrift::Result<Vec<u8>>;
4944  fn get_resource_limits(&mut self, account: Uint64) -> thrift::Result<GetResourceLimitsReturn>;
4945  fn set_resource_limits(&mut self, account: Uint64, ram_bytes: i64, net_weight: i64, cpu_weight: i64) -> thrift::Result<()>;
4946  fn set_proposed_producers(&mut self, producer_data: Vec<u8>) -> thrift::Result<i64>;
4947  fn set_proposed_producers_ex(&mut self, producer_data_format: Uint64, producer_data: Vec<u8>) -> thrift::Result<i64>;
4948  fn is_privileged(&mut self, account: Uint64) -> thrift::Result<bool>;
4949  fn set_privileged(&mut self, account: Uint64, is_priv: bool) -> thrift::Result<()>;
4950  fn set_blockchain_parameters_packed(&mut self, data: Vec<u8>) -> thrift::Result<()>;
4951  fn get_blockchain_parameters_packed(&mut self) -> thrift::Result<Vec<u8>>;
4952  fn preactivate_feature(&mut self, feature_digest: Vec<u8>) -> thrift::Result<()>;
4953  fn check_transaction_authorization(&mut self, trx_data: Vec<u8>, pubkeys_data: Vec<u8>, perms_data: Vec<u8>) -> thrift::Result<i32>;
4954  fn check_permission_authorization(&mut self, account: Uint64, permission: Uint64, pubkeys_data: Vec<u8>, perms_data: Vec<u8>, delay_us: Uint64) -> thrift::Result<i32>;
4955  fn get_permission_last_used(&mut self, account: Uint64, permission: Uint64) -> thrift::Result<i64>;
4956  fn get_account_creation_time(&mut self, account: Uint64) -> thrift::Result<i64>;
4957  fn prints(&mut self, cstr: String) -> thrift::Result<()>;
4958  fn prints_l(&mut self, cstr: Vec<u8>) -> thrift::Result<()>;
4959  fn printi(&mut self, n: i64) -> thrift::Result<()>;
4960  fn printui(&mut self, n: Uint64) -> thrift::Result<()>;
4961  fn printi128(&mut self, value: Vec<u8>) -> thrift::Result<()>;
4962  fn printui128(&mut self, value: Vec<u8>) -> thrift::Result<()>;
4963  fn printsf(&mut self, value: Vec<u8>) -> thrift::Result<()>;
4964  fn printdf(&mut self, value: Vec<u8>) -> thrift::Result<()>;
4965  fn printqf(&mut self, value: Vec<u8>) -> thrift::Result<()>;
4966  fn printn(&mut self, name: Uint64) -> thrift::Result<()>;
4967  fn printhex(&mut self, data: Vec<u8>) -> thrift::Result<()>;
4968  fn action_data_size(&mut self) -> thrift::Result<i32>;
4969  fn read_action_data(&mut self) -> thrift::Result<Vec<u8>>;
4970  fn require_recipient(&mut self, name: Uint64) -> thrift::Result<()>;
4971  fn require_auth(&mut self, name: Uint64) -> thrift::Result<()>;
4972  fn has_auth(&mut self, name: Uint64) -> thrift::Result<bool>;
4973  fn require_auth2(&mut self, name: Uint64, permission: Uint64) -> thrift::Result<()>;
4974  fn is_account(&mut self, name: Uint64) -> thrift::Result<bool>;
4975  fn send_inline(&mut self, serialized_action: Vec<u8>) -> thrift::Result<()>;
4976  fn send_context_free_inline(&mut self, serialized_data: Vec<u8>) -> thrift::Result<()>;
4977  fn publication_time(&mut self) -> thrift::Result<Uint64>;
4978  fn current_receiver(&mut self) -> thrift::Result<Uint64>;
4979  fn eosio_assert(&mut self, test: bool, msg: Vec<u8>) -> thrift::Result<()>;
4980  fn eosio_assert_message(&mut self, test: bool, msg: Vec<u8>) -> thrift::Result<()>;
4981  fn eosio_assert_code(&mut self, test: bool, code: Uint64) -> thrift::Result<()>;
4982  fn eosio_exit(&mut self, code: i32) -> thrift::Result<()>;
4983  fn current_time(&mut self) -> thrift::Result<Uint64>;
4984  fn is_feature_activated(&mut self, feature_digest: Vec<u8>) -> thrift::Result<bool>;
4985  fn get_sender(&mut self) -> thrift::Result<Uint64>;
4986  fn assert_sha256(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
4987  fn assert_sha1(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
4988  fn assert_sha512(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
4989  fn assert_ripemd160(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
4990  fn sha256(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
4991  fn sha1(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
4992  fn sha512(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
4993  fn ripemd160(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
4994  fn recover_key(&mut self, digest: Vec<u8>, sig: Vec<u8>) -> thrift::Result<Vec<u8>>;
4995  fn assert_recover_key(&mut self, digest: Vec<u8>, sig: Vec<u8>, pub_: Vec<u8>) -> thrift::Result<()>;
4996  fn send_deferred(&mut self, sender_id: Vec<u8>, payer: Uint64, serialized_transaction: Vec<u8>, replace_existing: i32) -> thrift::Result<()>;
4997  fn cancel_deferred(&mut self, sender_id: Vec<u8>) -> thrift::Result<i32>;
4998  fn read_transaction(&mut self) -> thrift::Result<Vec<u8>>;
4999  fn transaction_size(&mut self) -> thrift::Result<i32>;
5000  fn tapos_block_num(&mut self) -> thrift::Result<i32>;
5001  fn tapos_block_prefix(&mut self) -> thrift::Result<i32>;
5002  fn expiration(&mut self) -> thrift::Result<i64>;
5003  fn get_action(&mut self, _type: i32, index: i32) -> thrift::Result<Vec<u8>>;
5004  fn get_context_free_data(&mut self, index: i32) -> thrift::Result<Vec<u8>>;
5005  fn db_store_i64(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, data: Vec<u8>) -> thrift::Result<i32>;
5006  fn db_update_i64(&mut self, iterator: i32, payer: Uint64, data: Vec<u8>) -> thrift::Result<()>;
5007  fn db_remove_i64(&mut self, iterator: i32) -> thrift::Result<()>;
5008  fn db_get_i64(&mut self, iterator: i32) -> thrift::Result<Vec<u8>>;
5009  fn db_next_i64(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5010  fn db_previous_i64(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5011  fn db_find_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32>;
5012  fn db_lowerbound_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32>;
5013  fn db_upperbound_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32>;
5014  fn db_end_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
5015  fn db_idx64_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Uint64) -> thrift::Result<i32>;
5016  fn db_idx64_update(&mut self, iterator: i32, payer: Uint64, secondary: Uint64) -> thrift::Result<()>;
5017  fn db_idx64_remove(&mut self, iterator: i32) -> thrift::Result<()>;
5018  fn db_idx64_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5019  fn db_idx64_previous(&mut self, iteratory: i32) -> thrift::Result<NextPreviousReturn>;
5020  fn db_idx64_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
5021  fn db_idx64_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64) -> thrift::Result<FindSecondaryReturn>;
5022  fn db_idx64_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5023  fn db_idx64_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5024  fn db_idx64_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
5025  fn db_idx128_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32>;
5026  fn db_idx128_update(&mut self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()>;
5027  fn db_idx128_remove(&mut self, iterator: i32) -> thrift::Result<()>;
5028  fn db_idx128_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5029  fn db_idx128_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5030  fn db_idx128_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
5031  fn db_idx128_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
5032  fn db_idx128_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5033  fn db_idx128_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5034  fn db_idx128_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
5035  fn db_idx256_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, data: Vec<u8>) -> thrift::Result<i32>;
5036  fn db_idx256_update(&mut self, iterator: i32, payer: Uint64, data: Vec<u8>) -> thrift::Result<()>;
5037  fn db_idx256_remove(&mut self, iterator: i32) -> thrift::Result<()>;
5038  fn db_idx256_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5039  fn db_idx256_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5040  fn db_idx256_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
5041  fn db_idx256_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
5042  fn db_idx256_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5043  fn db_idx256_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5044  fn db_idx256_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
5045  fn db_idx_double_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32>;
5046  fn db_idx_double_update(&mut self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()>;
5047  fn db_idx_double_remove(&mut self, iterator: i32) -> thrift::Result<()>;
5048  fn db_idx_double_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5049  fn db_idx_double_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5050  fn db_idx_double_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
5051  fn db_idx_double_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
5052  fn db_idx_double_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5053  fn db_idx_double_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5054  fn db_idx_double_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
5055  fn db_idx_long_double_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32>;
5056  fn db_idx_long_double_update(&mut self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()>;
5057  fn db_idx_long_double_remove(&mut self, iterator: i32) -> thrift::Result<()>;
5058  fn db_idx_long_double_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5059  fn db_idx_long_double_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
5060  fn db_idx_long_double_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
5061  fn db_idx_long_double_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
5062  fn db_idx_long_double_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5063  fn db_idx_long_double_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
5064  fn db_idx_long_double_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
5065}
5066
5067pub trait TApplySyncClientMarker {}
5068
5069pub struct ApplySyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
5070  _i_prot: IP,
5071  _o_prot: OP,
5072  _sequence_number: i32,
5073}
5074
5075impl <IP, OP> ApplySyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
5076  pub fn new(input_protocol: IP, output_protocol: OP) -> ApplySyncClient<IP, OP> {
5077    ApplySyncClient { _i_prot: input_protocol, _o_prot: output_protocol, _sequence_number: 0 }
5078  }
5079}
5080
5081impl <IP, OP> TThriftClient for ApplySyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {
5082  fn i_prot_mut(&mut self) -> &mut dyn TInputProtocol { &mut self._i_prot }
5083  fn o_prot_mut(&mut self) -> &mut dyn TOutputProtocol { &mut self._o_prot }
5084  fn sequence_number(&self) -> i32 { self._sequence_number }
5085  fn increment_sequence_number(&mut self) -> i32 { self._sequence_number += 1; self._sequence_number }
5086}
5087
5088impl <IP, OP> TApplySyncClientMarker for ApplySyncClient<IP, OP> where IP: TInputProtocol, OP: TOutputProtocol {}
5089
5090impl <C: TThriftClient + TApplySyncClientMarker> TApplySyncClient for C {
5091  fn end_apply(&mut self) -> thrift::Result<i32> {
5092    (
5093      {
5094        self.increment_sequence_number();
5095        let message_ident = TMessageIdentifier::new("end_apply", TMessageType::Call, self.sequence_number());
5096        let call_args = ApplyEndApplyArgs {  };
5097        self.o_prot_mut().write_message_begin(&message_ident)?;
5098        call_args.write_to_out_protocol(self.o_prot_mut())?;
5099        self.o_prot_mut().write_message_end()?;
5100        self.o_prot_mut().flush()
5101      }
5102    )?;
5103    {
5104      let message_ident = self.i_prot_mut().read_message_begin()?;
5105      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5106      verify_expected_service_call("end_apply", &message_ident.name)?;
5107      if message_ident.message_type == TMessageType::Exception {
5108        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5109        self.i_prot_mut().read_message_end()?;
5110        return Err(thrift::Error::Application(remote_error))
5111      }
5112      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5113      let result = ApplyEndApplyResult::read_from_in_protocol(self.i_prot_mut())?;
5114      self.i_prot_mut().read_message_end()?;
5115      result.ok_or()
5116    }
5117  }
5118  fn get_active_producers(&mut self) -> thrift::Result<Vec<u8>> {
5119    (
5120      {
5121        self.increment_sequence_number();
5122        let message_ident = TMessageIdentifier::new("get_active_producers", TMessageType::Call, self.sequence_number());
5123        let call_args = ApplyGetActiveProducersArgs {  };
5124        self.o_prot_mut().write_message_begin(&message_ident)?;
5125        call_args.write_to_out_protocol(self.o_prot_mut())?;
5126        self.o_prot_mut().write_message_end()?;
5127        self.o_prot_mut().flush()
5128      }
5129    )?;
5130    {
5131      let message_ident = self.i_prot_mut().read_message_begin()?;
5132      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5133      verify_expected_service_call("get_active_producers", &message_ident.name)?;
5134      if message_ident.message_type == TMessageType::Exception {
5135        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5136        self.i_prot_mut().read_message_end()?;
5137        return Err(thrift::Error::Application(remote_error))
5138      }
5139      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5140      let result = ApplyGetActiveProducersResult::read_from_in_protocol(self.i_prot_mut())?;
5141      self.i_prot_mut().read_message_end()?;
5142      result.ok_or()
5143    }
5144  }
5145  fn get_resource_limits(&mut self, account: Uint64) -> thrift::Result<GetResourceLimitsReturn> {
5146    (
5147      {
5148        self.increment_sequence_number();
5149        let message_ident = TMessageIdentifier::new("get_resource_limits", TMessageType::Call, self.sequence_number());
5150        let call_args = ApplyGetResourceLimitsArgs { account };
5151        self.o_prot_mut().write_message_begin(&message_ident)?;
5152        call_args.write_to_out_protocol(self.o_prot_mut())?;
5153        self.o_prot_mut().write_message_end()?;
5154        self.o_prot_mut().flush()
5155      }
5156    )?;
5157    {
5158      let message_ident = self.i_prot_mut().read_message_begin()?;
5159      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5160      verify_expected_service_call("get_resource_limits", &message_ident.name)?;
5161      if message_ident.message_type == TMessageType::Exception {
5162        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5163        self.i_prot_mut().read_message_end()?;
5164        return Err(thrift::Error::Application(remote_error))
5165      }
5166      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5167      let result = ApplyGetResourceLimitsResult::read_from_in_protocol(self.i_prot_mut())?;
5168      self.i_prot_mut().read_message_end()?;
5169      result.ok_or()
5170    }
5171  }
5172  fn set_resource_limits(&mut self, account: Uint64, ram_bytes: i64, net_weight: i64, cpu_weight: i64) -> thrift::Result<()> {
5173    (
5174      {
5175        self.increment_sequence_number();
5176        let message_ident = TMessageIdentifier::new("set_resource_limits", TMessageType::Call, self.sequence_number());
5177        let call_args = ApplySetResourceLimitsArgs { account, ram_bytes, net_weight, cpu_weight };
5178        self.o_prot_mut().write_message_begin(&message_ident)?;
5179        call_args.write_to_out_protocol(self.o_prot_mut())?;
5180        self.o_prot_mut().write_message_end()?;
5181        self.o_prot_mut().flush()
5182      }
5183    )?;
5184    {
5185      let message_ident = self.i_prot_mut().read_message_begin()?;
5186      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5187      verify_expected_service_call("set_resource_limits", &message_ident.name)?;
5188      if message_ident.message_type == TMessageType::Exception {
5189        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5190        self.i_prot_mut().read_message_end()?;
5191        return Err(thrift::Error::Application(remote_error))
5192      }
5193      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5194      let result = ApplySetResourceLimitsResult::read_from_in_protocol(self.i_prot_mut())?;
5195      self.i_prot_mut().read_message_end()?;
5196      result.ok_or()
5197    }
5198  }
5199  fn set_proposed_producers(&mut self, producer_data: Vec<u8>) -> thrift::Result<i64> {
5200    (
5201      {
5202        self.increment_sequence_number();
5203        let message_ident = TMessageIdentifier::new("set_proposed_producers", TMessageType::Call, self.sequence_number());
5204        let call_args = ApplySetProposedProducersArgs { producer_data };
5205        self.o_prot_mut().write_message_begin(&message_ident)?;
5206        call_args.write_to_out_protocol(self.o_prot_mut())?;
5207        self.o_prot_mut().write_message_end()?;
5208        self.o_prot_mut().flush()
5209      }
5210    )?;
5211    {
5212      let message_ident = self.i_prot_mut().read_message_begin()?;
5213      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5214      verify_expected_service_call("set_proposed_producers", &message_ident.name)?;
5215      if message_ident.message_type == TMessageType::Exception {
5216        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5217        self.i_prot_mut().read_message_end()?;
5218        return Err(thrift::Error::Application(remote_error))
5219      }
5220      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5221      let result = ApplySetProposedProducersResult::read_from_in_protocol(self.i_prot_mut())?;
5222      self.i_prot_mut().read_message_end()?;
5223      result.ok_or()
5224    }
5225  }
5226  fn set_proposed_producers_ex(&mut self, producer_data_format: Uint64, producer_data: Vec<u8>) -> thrift::Result<i64> {
5227    (
5228      {
5229        self.increment_sequence_number();
5230        let message_ident = TMessageIdentifier::new("set_proposed_producers_ex", TMessageType::Call, self.sequence_number());
5231        let call_args = ApplySetProposedProducersExArgs { producer_data_format, producer_data };
5232        self.o_prot_mut().write_message_begin(&message_ident)?;
5233        call_args.write_to_out_protocol(self.o_prot_mut())?;
5234        self.o_prot_mut().write_message_end()?;
5235        self.o_prot_mut().flush()
5236      }
5237    )?;
5238    {
5239      let message_ident = self.i_prot_mut().read_message_begin()?;
5240      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5241      verify_expected_service_call("set_proposed_producers_ex", &message_ident.name)?;
5242      if message_ident.message_type == TMessageType::Exception {
5243        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5244        self.i_prot_mut().read_message_end()?;
5245        return Err(thrift::Error::Application(remote_error))
5246      }
5247      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5248      let result = ApplySetProposedProducersExResult::read_from_in_protocol(self.i_prot_mut())?;
5249      self.i_prot_mut().read_message_end()?;
5250      result.ok_or()
5251    }
5252  }
5253  fn is_privileged(&mut self, account: Uint64) -> thrift::Result<bool> {
5254    (
5255      {
5256        self.increment_sequence_number();
5257        let message_ident = TMessageIdentifier::new("is_privileged", TMessageType::Call, self.sequence_number());
5258        let call_args = ApplyIsPrivilegedArgs { account };
5259        self.o_prot_mut().write_message_begin(&message_ident)?;
5260        call_args.write_to_out_protocol(self.o_prot_mut())?;
5261        self.o_prot_mut().write_message_end()?;
5262        self.o_prot_mut().flush()
5263      }
5264    )?;
5265    {
5266      let message_ident = self.i_prot_mut().read_message_begin()?;
5267      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5268      verify_expected_service_call("is_privileged", &message_ident.name)?;
5269      if message_ident.message_type == TMessageType::Exception {
5270        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5271        self.i_prot_mut().read_message_end()?;
5272        return Err(thrift::Error::Application(remote_error))
5273      }
5274      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5275      let result = ApplyIsPrivilegedResult::read_from_in_protocol(self.i_prot_mut())?;
5276      self.i_prot_mut().read_message_end()?;
5277      result.ok_or()
5278    }
5279  }
5280  fn set_privileged(&mut self, account: Uint64, is_priv: bool) -> thrift::Result<()> {
5281    (
5282      {
5283        self.increment_sequence_number();
5284        let message_ident = TMessageIdentifier::new("set_privileged", TMessageType::Call, self.sequence_number());
5285        let call_args = ApplySetPrivilegedArgs { account, is_priv };
5286        self.o_prot_mut().write_message_begin(&message_ident)?;
5287        call_args.write_to_out_protocol(self.o_prot_mut())?;
5288        self.o_prot_mut().write_message_end()?;
5289        self.o_prot_mut().flush()
5290      }
5291    )?;
5292    {
5293      let message_ident = self.i_prot_mut().read_message_begin()?;
5294      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5295      verify_expected_service_call("set_privileged", &message_ident.name)?;
5296      if message_ident.message_type == TMessageType::Exception {
5297        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5298        self.i_prot_mut().read_message_end()?;
5299        return Err(thrift::Error::Application(remote_error))
5300      }
5301      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5302      let result = ApplySetPrivilegedResult::read_from_in_protocol(self.i_prot_mut())?;
5303      self.i_prot_mut().read_message_end()?;
5304      result.ok_or()
5305    }
5306  }
5307  fn set_blockchain_parameters_packed(&mut self, data: Vec<u8>) -> thrift::Result<()> {
5308    (
5309      {
5310        self.increment_sequence_number();
5311        let message_ident = TMessageIdentifier::new("set_blockchain_parameters_packed", TMessageType::Call, self.sequence_number());
5312        let call_args = ApplySetBlockchainParametersPackedArgs { data };
5313        self.o_prot_mut().write_message_begin(&message_ident)?;
5314        call_args.write_to_out_protocol(self.o_prot_mut())?;
5315        self.o_prot_mut().write_message_end()?;
5316        self.o_prot_mut().flush()
5317      }
5318    )?;
5319    {
5320      let message_ident = self.i_prot_mut().read_message_begin()?;
5321      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5322      verify_expected_service_call("set_blockchain_parameters_packed", &message_ident.name)?;
5323      if message_ident.message_type == TMessageType::Exception {
5324        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5325        self.i_prot_mut().read_message_end()?;
5326        return Err(thrift::Error::Application(remote_error))
5327      }
5328      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5329      let result = ApplySetBlockchainParametersPackedResult::read_from_in_protocol(self.i_prot_mut())?;
5330      self.i_prot_mut().read_message_end()?;
5331      result.ok_or()
5332    }
5333  }
5334  fn get_blockchain_parameters_packed(&mut self) -> thrift::Result<Vec<u8>> {
5335    (
5336      {
5337        self.increment_sequence_number();
5338        let message_ident = TMessageIdentifier::new("get_blockchain_parameters_packed", TMessageType::Call, self.sequence_number());
5339        let call_args = ApplyGetBlockchainParametersPackedArgs {  };
5340        self.o_prot_mut().write_message_begin(&message_ident)?;
5341        call_args.write_to_out_protocol(self.o_prot_mut())?;
5342        self.o_prot_mut().write_message_end()?;
5343        self.o_prot_mut().flush()
5344      }
5345    )?;
5346    {
5347      let message_ident = self.i_prot_mut().read_message_begin()?;
5348      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5349      verify_expected_service_call("get_blockchain_parameters_packed", &message_ident.name)?;
5350      if message_ident.message_type == TMessageType::Exception {
5351        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5352        self.i_prot_mut().read_message_end()?;
5353        return Err(thrift::Error::Application(remote_error))
5354      }
5355      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5356      let result = ApplyGetBlockchainParametersPackedResult::read_from_in_protocol(self.i_prot_mut())?;
5357      self.i_prot_mut().read_message_end()?;
5358      result.ok_or()
5359    }
5360  }
5361  fn preactivate_feature(&mut self, feature_digest: Vec<u8>) -> thrift::Result<()> {
5362    (
5363      {
5364        self.increment_sequence_number();
5365        let message_ident = TMessageIdentifier::new("preactivate_feature", TMessageType::Call, self.sequence_number());
5366        let call_args = ApplyPreactivateFeatureArgs { feature_digest };
5367        self.o_prot_mut().write_message_begin(&message_ident)?;
5368        call_args.write_to_out_protocol(self.o_prot_mut())?;
5369        self.o_prot_mut().write_message_end()?;
5370        self.o_prot_mut().flush()
5371      }
5372    )?;
5373    {
5374      let message_ident = self.i_prot_mut().read_message_begin()?;
5375      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5376      verify_expected_service_call("preactivate_feature", &message_ident.name)?;
5377      if message_ident.message_type == TMessageType::Exception {
5378        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5379        self.i_prot_mut().read_message_end()?;
5380        return Err(thrift::Error::Application(remote_error))
5381      }
5382      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5383      let result = ApplyPreactivateFeatureResult::read_from_in_protocol(self.i_prot_mut())?;
5384      self.i_prot_mut().read_message_end()?;
5385      result.ok_or()
5386    }
5387  }
5388  fn check_transaction_authorization(&mut self, trx_data: Vec<u8>, pubkeys_data: Vec<u8>, perms_data: Vec<u8>) -> thrift::Result<i32> {
5389    (
5390      {
5391        self.increment_sequence_number();
5392        let message_ident = TMessageIdentifier::new("check_transaction_authorization", TMessageType::Call, self.sequence_number());
5393        let call_args = ApplyCheckTransactionAuthorizationArgs { trx_data, pubkeys_data, perms_data };
5394        self.o_prot_mut().write_message_begin(&message_ident)?;
5395        call_args.write_to_out_protocol(self.o_prot_mut())?;
5396        self.o_prot_mut().write_message_end()?;
5397        self.o_prot_mut().flush()
5398      }
5399    )?;
5400    {
5401      let message_ident = self.i_prot_mut().read_message_begin()?;
5402      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5403      verify_expected_service_call("check_transaction_authorization", &message_ident.name)?;
5404      if message_ident.message_type == TMessageType::Exception {
5405        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5406        self.i_prot_mut().read_message_end()?;
5407        return Err(thrift::Error::Application(remote_error))
5408      }
5409      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5410      let result = ApplyCheckTransactionAuthorizationResult::read_from_in_protocol(self.i_prot_mut())?;
5411      self.i_prot_mut().read_message_end()?;
5412      result.ok_or()
5413    }
5414  }
5415  fn check_permission_authorization(&mut self, account: Uint64, permission: Uint64, pubkeys_data: Vec<u8>, perms_data: Vec<u8>, delay_us: Uint64) -> thrift::Result<i32> {
5416    (
5417      {
5418        self.increment_sequence_number();
5419        let message_ident = TMessageIdentifier::new("check_permission_authorization", TMessageType::Call, self.sequence_number());
5420        let call_args = ApplyCheckPermissionAuthorizationArgs { account, permission, pubkeys_data, perms_data, delay_us };
5421        self.o_prot_mut().write_message_begin(&message_ident)?;
5422        call_args.write_to_out_protocol(self.o_prot_mut())?;
5423        self.o_prot_mut().write_message_end()?;
5424        self.o_prot_mut().flush()
5425      }
5426    )?;
5427    {
5428      let message_ident = self.i_prot_mut().read_message_begin()?;
5429      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5430      verify_expected_service_call("check_permission_authorization", &message_ident.name)?;
5431      if message_ident.message_type == TMessageType::Exception {
5432        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5433        self.i_prot_mut().read_message_end()?;
5434        return Err(thrift::Error::Application(remote_error))
5435      }
5436      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5437      let result = ApplyCheckPermissionAuthorizationResult::read_from_in_protocol(self.i_prot_mut())?;
5438      self.i_prot_mut().read_message_end()?;
5439      result.ok_or()
5440    }
5441  }
5442  fn get_permission_last_used(&mut self, account: Uint64, permission: Uint64) -> thrift::Result<i64> {
5443    (
5444      {
5445        self.increment_sequence_number();
5446        let message_ident = TMessageIdentifier::new("get_permission_last_used", TMessageType::Call, self.sequence_number());
5447        let call_args = ApplyGetPermissionLastUsedArgs { account, permission };
5448        self.o_prot_mut().write_message_begin(&message_ident)?;
5449        call_args.write_to_out_protocol(self.o_prot_mut())?;
5450        self.o_prot_mut().write_message_end()?;
5451        self.o_prot_mut().flush()
5452      }
5453    )?;
5454    {
5455      let message_ident = self.i_prot_mut().read_message_begin()?;
5456      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5457      verify_expected_service_call("get_permission_last_used", &message_ident.name)?;
5458      if message_ident.message_type == TMessageType::Exception {
5459        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5460        self.i_prot_mut().read_message_end()?;
5461        return Err(thrift::Error::Application(remote_error))
5462      }
5463      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5464      let result = ApplyGetPermissionLastUsedResult::read_from_in_protocol(self.i_prot_mut())?;
5465      self.i_prot_mut().read_message_end()?;
5466      result.ok_or()
5467    }
5468  }
5469  fn get_account_creation_time(&mut self, account: Uint64) -> thrift::Result<i64> {
5470    (
5471      {
5472        self.increment_sequence_number();
5473        let message_ident = TMessageIdentifier::new("get_account_creation_time", TMessageType::Call, self.sequence_number());
5474        let call_args = ApplyGetAccountCreationTimeArgs { account };
5475        self.o_prot_mut().write_message_begin(&message_ident)?;
5476        call_args.write_to_out_protocol(self.o_prot_mut())?;
5477        self.o_prot_mut().write_message_end()?;
5478        self.o_prot_mut().flush()
5479      }
5480    )?;
5481    {
5482      let message_ident = self.i_prot_mut().read_message_begin()?;
5483      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5484      verify_expected_service_call("get_account_creation_time", &message_ident.name)?;
5485      if message_ident.message_type == TMessageType::Exception {
5486        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5487        self.i_prot_mut().read_message_end()?;
5488        return Err(thrift::Error::Application(remote_error))
5489      }
5490      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5491      let result = ApplyGetAccountCreationTimeResult::read_from_in_protocol(self.i_prot_mut())?;
5492      self.i_prot_mut().read_message_end()?;
5493      result.ok_or()
5494    }
5495  }
5496  fn prints(&mut self, cstr: String) -> thrift::Result<()> {
5497    (
5498      {
5499        self.increment_sequence_number();
5500        let message_ident = TMessageIdentifier::new("prints", TMessageType::Call, self.sequence_number());
5501        let call_args = ApplyPrintsArgs { cstr };
5502        self.o_prot_mut().write_message_begin(&message_ident)?;
5503        call_args.write_to_out_protocol(self.o_prot_mut())?;
5504        self.o_prot_mut().write_message_end()?;
5505        self.o_prot_mut().flush()
5506      }
5507    )?;
5508    {
5509      let message_ident = self.i_prot_mut().read_message_begin()?;
5510      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5511      verify_expected_service_call("prints", &message_ident.name)?;
5512      if message_ident.message_type == TMessageType::Exception {
5513        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5514        self.i_prot_mut().read_message_end()?;
5515        return Err(thrift::Error::Application(remote_error))
5516      }
5517      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5518      let result = ApplyPrintsResult::read_from_in_protocol(self.i_prot_mut())?;
5519      self.i_prot_mut().read_message_end()?;
5520      result.ok_or()
5521    }
5522  }
5523  fn prints_l(&mut self, cstr: Vec<u8>) -> thrift::Result<()> {
5524    (
5525      {
5526        self.increment_sequence_number();
5527        let message_ident = TMessageIdentifier::new("prints_l", TMessageType::Call, self.sequence_number());
5528        let call_args = ApplyPrintsLArgs { cstr };
5529        self.o_prot_mut().write_message_begin(&message_ident)?;
5530        call_args.write_to_out_protocol(self.o_prot_mut())?;
5531        self.o_prot_mut().write_message_end()?;
5532        self.o_prot_mut().flush()
5533      }
5534    )?;
5535    {
5536      let message_ident = self.i_prot_mut().read_message_begin()?;
5537      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5538      verify_expected_service_call("prints_l", &message_ident.name)?;
5539      if message_ident.message_type == TMessageType::Exception {
5540        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5541        self.i_prot_mut().read_message_end()?;
5542        return Err(thrift::Error::Application(remote_error))
5543      }
5544      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5545      let result = ApplyPrintsLResult::read_from_in_protocol(self.i_prot_mut())?;
5546      self.i_prot_mut().read_message_end()?;
5547      result.ok_or()
5548    }
5549  }
5550  fn printi(&mut self, n: i64) -> thrift::Result<()> {
5551    (
5552      {
5553        self.increment_sequence_number();
5554        let message_ident = TMessageIdentifier::new("printi", TMessageType::Call, self.sequence_number());
5555        let call_args = ApplyPrintiArgs { n };
5556        self.o_prot_mut().write_message_begin(&message_ident)?;
5557        call_args.write_to_out_protocol(self.o_prot_mut())?;
5558        self.o_prot_mut().write_message_end()?;
5559        self.o_prot_mut().flush()
5560      }
5561    )?;
5562    {
5563      let message_ident = self.i_prot_mut().read_message_begin()?;
5564      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5565      verify_expected_service_call("printi", &message_ident.name)?;
5566      if message_ident.message_type == TMessageType::Exception {
5567        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5568        self.i_prot_mut().read_message_end()?;
5569        return Err(thrift::Error::Application(remote_error))
5570      }
5571      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5572      let result = ApplyPrintiResult::read_from_in_protocol(self.i_prot_mut())?;
5573      self.i_prot_mut().read_message_end()?;
5574      result.ok_or()
5575    }
5576  }
5577  fn printui(&mut self, n: Uint64) -> thrift::Result<()> {
5578    (
5579      {
5580        self.increment_sequence_number();
5581        let message_ident = TMessageIdentifier::new("printui", TMessageType::Call, self.sequence_number());
5582        let call_args = ApplyPrintuiArgs { n };
5583        self.o_prot_mut().write_message_begin(&message_ident)?;
5584        call_args.write_to_out_protocol(self.o_prot_mut())?;
5585        self.o_prot_mut().write_message_end()?;
5586        self.o_prot_mut().flush()
5587      }
5588    )?;
5589    {
5590      let message_ident = self.i_prot_mut().read_message_begin()?;
5591      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5592      verify_expected_service_call("printui", &message_ident.name)?;
5593      if message_ident.message_type == TMessageType::Exception {
5594        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5595        self.i_prot_mut().read_message_end()?;
5596        return Err(thrift::Error::Application(remote_error))
5597      }
5598      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5599      let result = ApplyPrintuiResult::read_from_in_protocol(self.i_prot_mut())?;
5600      self.i_prot_mut().read_message_end()?;
5601      result.ok_or()
5602    }
5603  }
5604  fn printi128(&mut self, value: Vec<u8>) -> thrift::Result<()> {
5605    (
5606      {
5607        self.increment_sequence_number();
5608        let message_ident = TMessageIdentifier::new("printi128", TMessageType::Call, self.sequence_number());
5609        let call_args = ApplyPrinti128Args { value };
5610        self.o_prot_mut().write_message_begin(&message_ident)?;
5611        call_args.write_to_out_protocol(self.o_prot_mut())?;
5612        self.o_prot_mut().write_message_end()?;
5613        self.o_prot_mut().flush()
5614      }
5615    )?;
5616    {
5617      let message_ident = self.i_prot_mut().read_message_begin()?;
5618      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5619      verify_expected_service_call("printi128", &message_ident.name)?;
5620      if message_ident.message_type == TMessageType::Exception {
5621        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5622        self.i_prot_mut().read_message_end()?;
5623        return Err(thrift::Error::Application(remote_error))
5624      }
5625      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5626      let result = ApplyPrinti128Result::read_from_in_protocol(self.i_prot_mut())?;
5627      self.i_prot_mut().read_message_end()?;
5628      result.ok_or()
5629    }
5630  }
5631  fn printui128(&mut self, value: Vec<u8>) -> thrift::Result<()> {
5632    (
5633      {
5634        self.increment_sequence_number();
5635        let message_ident = TMessageIdentifier::new("printui128", TMessageType::Call, self.sequence_number());
5636        let call_args = ApplyPrintui128Args { value };
5637        self.o_prot_mut().write_message_begin(&message_ident)?;
5638        call_args.write_to_out_protocol(self.o_prot_mut())?;
5639        self.o_prot_mut().write_message_end()?;
5640        self.o_prot_mut().flush()
5641      }
5642    )?;
5643    {
5644      let message_ident = self.i_prot_mut().read_message_begin()?;
5645      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5646      verify_expected_service_call("printui128", &message_ident.name)?;
5647      if message_ident.message_type == TMessageType::Exception {
5648        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5649        self.i_prot_mut().read_message_end()?;
5650        return Err(thrift::Error::Application(remote_error))
5651      }
5652      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5653      let result = ApplyPrintui128Result::read_from_in_protocol(self.i_prot_mut())?;
5654      self.i_prot_mut().read_message_end()?;
5655      result.ok_or()
5656    }
5657  }
5658  fn printsf(&mut self, value: Vec<u8>) -> thrift::Result<()> {
5659    (
5660      {
5661        self.increment_sequence_number();
5662        let message_ident = TMessageIdentifier::new("printsf", TMessageType::Call, self.sequence_number());
5663        let call_args = ApplyPrintsfArgs { value };
5664        self.o_prot_mut().write_message_begin(&message_ident)?;
5665        call_args.write_to_out_protocol(self.o_prot_mut())?;
5666        self.o_prot_mut().write_message_end()?;
5667        self.o_prot_mut().flush()
5668      }
5669    )?;
5670    {
5671      let message_ident = self.i_prot_mut().read_message_begin()?;
5672      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5673      verify_expected_service_call("printsf", &message_ident.name)?;
5674      if message_ident.message_type == TMessageType::Exception {
5675        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5676        self.i_prot_mut().read_message_end()?;
5677        return Err(thrift::Error::Application(remote_error))
5678      }
5679      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5680      let result = ApplyPrintsfResult::read_from_in_protocol(self.i_prot_mut())?;
5681      self.i_prot_mut().read_message_end()?;
5682      result.ok_or()
5683    }
5684  }
5685  fn printdf(&mut self, value: Vec<u8>) -> thrift::Result<()> {
5686    (
5687      {
5688        self.increment_sequence_number();
5689        let message_ident = TMessageIdentifier::new("printdf", TMessageType::Call, self.sequence_number());
5690        let call_args = ApplyPrintdfArgs { value };
5691        self.o_prot_mut().write_message_begin(&message_ident)?;
5692        call_args.write_to_out_protocol(self.o_prot_mut())?;
5693        self.o_prot_mut().write_message_end()?;
5694        self.o_prot_mut().flush()
5695      }
5696    )?;
5697    {
5698      let message_ident = self.i_prot_mut().read_message_begin()?;
5699      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5700      verify_expected_service_call("printdf", &message_ident.name)?;
5701      if message_ident.message_type == TMessageType::Exception {
5702        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5703        self.i_prot_mut().read_message_end()?;
5704        return Err(thrift::Error::Application(remote_error))
5705      }
5706      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5707      let result = ApplyPrintdfResult::read_from_in_protocol(self.i_prot_mut())?;
5708      self.i_prot_mut().read_message_end()?;
5709      result.ok_or()
5710    }
5711  }
5712  fn printqf(&mut self, value: Vec<u8>) -> thrift::Result<()> {
5713    (
5714      {
5715        self.increment_sequence_number();
5716        let message_ident = TMessageIdentifier::new("printqf", TMessageType::Call, self.sequence_number());
5717        let call_args = ApplyPrintqfArgs { value };
5718        self.o_prot_mut().write_message_begin(&message_ident)?;
5719        call_args.write_to_out_protocol(self.o_prot_mut())?;
5720        self.o_prot_mut().write_message_end()?;
5721        self.o_prot_mut().flush()
5722      }
5723    )?;
5724    {
5725      let message_ident = self.i_prot_mut().read_message_begin()?;
5726      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5727      verify_expected_service_call("printqf", &message_ident.name)?;
5728      if message_ident.message_type == TMessageType::Exception {
5729        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5730        self.i_prot_mut().read_message_end()?;
5731        return Err(thrift::Error::Application(remote_error))
5732      }
5733      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5734      let result = ApplyPrintqfResult::read_from_in_protocol(self.i_prot_mut())?;
5735      self.i_prot_mut().read_message_end()?;
5736      result.ok_or()
5737    }
5738  }
5739  fn printn(&mut self, name: Uint64) -> thrift::Result<()> {
5740    (
5741      {
5742        self.increment_sequence_number();
5743        let message_ident = TMessageIdentifier::new("printn", TMessageType::Call, self.sequence_number());
5744        let call_args = ApplyPrintnArgs { name };
5745        self.o_prot_mut().write_message_begin(&message_ident)?;
5746        call_args.write_to_out_protocol(self.o_prot_mut())?;
5747        self.o_prot_mut().write_message_end()?;
5748        self.o_prot_mut().flush()
5749      }
5750    )?;
5751    {
5752      let message_ident = self.i_prot_mut().read_message_begin()?;
5753      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5754      verify_expected_service_call("printn", &message_ident.name)?;
5755      if message_ident.message_type == TMessageType::Exception {
5756        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5757        self.i_prot_mut().read_message_end()?;
5758        return Err(thrift::Error::Application(remote_error))
5759      }
5760      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5761      let result = ApplyPrintnResult::read_from_in_protocol(self.i_prot_mut())?;
5762      self.i_prot_mut().read_message_end()?;
5763      result.ok_or()
5764    }
5765  }
5766  fn printhex(&mut self, data: Vec<u8>) -> thrift::Result<()> {
5767    (
5768      {
5769        self.increment_sequence_number();
5770        let message_ident = TMessageIdentifier::new("printhex", TMessageType::Call, self.sequence_number());
5771        let call_args = ApplyPrinthexArgs { data };
5772        self.o_prot_mut().write_message_begin(&message_ident)?;
5773        call_args.write_to_out_protocol(self.o_prot_mut())?;
5774        self.o_prot_mut().write_message_end()?;
5775        self.o_prot_mut().flush()
5776      }
5777    )?;
5778    {
5779      let message_ident = self.i_prot_mut().read_message_begin()?;
5780      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5781      verify_expected_service_call("printhex", &message_ident.name)?;
5782      if message_ident.message_type == TMessageType::Exception {
5783        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5784        self.i_prot_mut().read_message_end()?;
5785        return Err(thrift::Error::Application(remote_error))
5786      }
5787      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5788      let result = ApplyPrinthexResult::read_from_in_protocol(self.i_prot_mut())?;
5789      self.i_prot_mut().read_message_end()?;
5790      result.ok_or()
5791    }
5792  }
5793  fn action_data_size(&mut self) -> thrift::Result<i32> {
5794    (
5795      {
5796        self.increment_sequence_number();
5797        let message_ident = TMessageIdentifier::new("action_data_size", TMessageType::Call, self.sequence_number());
5798        let call_args = ApplyActionDataSizeArgs {  };
5799        self.o_prot_mut().write_message_begin(&message_ident)?;
5800        call_args.write_to_out_protocol(self.o_prot_mut())?;
5801        self.o_prot_mut().write_message_end()?;
5802        self.o_prot_mut().flush()
5803      }
5804    )?;
5805    {
5806      let message_ident = self.i_prot_mut().read_message_begin()?;
5807      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5808      verify_expected_service_call("action_data_size", &message_ident.name)?;
5809      if message_ident.message_type == TMessageType::Exception {
5810        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5811        self.i_prot_mut().read_message_end()?;
5812        return Err(thrift::Error::Application(remote_error))
5813      }
5814      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5815      let result = ApplyActionDataSizeResult::read_from_in_protocol(self.i_prot_mut())?;
5816      self.i_prot_mut().read_message_end()?;
5817      result.ok_or()
5818    }
5819  }
5820  fn read_action_data(&mut self) -> thrift::Result<Vec<u8>> {
5821    (
5822      {
5823        self.increment_sequence_number();
5824        let message_ident = TMessageIdentifier::new("read_action_data", TMessageType::Call, self.sequence_number());
5825        let call_args = ApplyReadActionDataArgs {  };
5826        self.o_prot_mut().write_message_begin(&message_ident)?;
5827        call_args.write_to_out_protocol(self.o_prot_mut())?;
5828        self.o_prot_mut().write_message_end()?;
5829        self.o_prot_mut().flush()
5830      }
5831    )?;
5832    {
5833      let message_ident = self.i_prot_mut().read_message_begin()?;
5834      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5835      verify_expected_service_call("read_action_data", &message_ident.name)?;
5836      if message_ident.message_type == TMessageType::Exception {
5837        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5838        self.i_prot_mut().read_message_end()?;
5839        return Err(thrift::Error::Application(remote_error))
5840      }
5841      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5842      let result = ApplyReadActionDataResult::read_from_in_protocol(self.i_prot_mut())?;
5843      self.i_prot_mut().read_message_end()?;
5844      result.ok_or()
5845    }
5846  }
5847  fn require_recipient(&mut self, name: Uint64) -> thrift::Result<()> {
5848    (
5849      {
5850        self.increment_sequence_number();
5851        let message_ident = TMessageIdentifier::new("require_recipient", TMessageType::Call, self.sequence_number());
5852        let call_args = ApplyRequireRecipientArgs { name };
5853        self.o_prot_mut().write_message_begin(&message_ident)?;
5854        call_args.write_to_out_protocol(self.o_prot_mut())?;
5855        self.o_prot_mut().write_message_end()?;
5856        self.o_prot_mut().flush()
5857      }
5858    )?;
5859    {
5860      let message_ident = self.i_prot_mut().read_message_begin()?;
5861      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5862      verify_expected_service_call("require_recipient", &message_ident.name)?;
5863      if message_ident.message_type == TMessageType::Exception {
5864        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5865        self.i_prot_mut().read_message_end()?;
5866        return Err(thrift::Error::Application(remote_error))
5867      }
5868      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5869      let result = ApplyRequireRecipientResult::read_from_in_protocol(self.i_prot_mut())?;
5870      self.i_prot_mut().read_message_end()?;
5871      result.ok_or()
5872    }
5873  }
5874  fn require_auth(&mut self, name: Uint64) -> thrift::Result<()> {
5875    (
5876      {
5877        self.increment_sequence_number();
5878        let message_ident = TMessageIdentifier::new("require_auth", TMessageType::Call, self.sequence_number());
5879        let call_args = ApplyRequireAuthArgs { name };
5880        self.o_prot_mut().write_message_begin(&message_ident)?;
5881        call_args.write_to_out_protocol(self.o_prot_mut())?;
5882        self.o_prot_mut().write_message_end()?;
5883        self.o_prot_mut().flush()
5884      }
5885    )?;
5886    {
5887      let message_ident = self.i_prot_mut().read_message_begin()?;
5888      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5889      verify_expected_service_call("require_auth", &message_ident.name)?;
5890      if message_ident.message_type == TMessageType::Exception {
5891        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5892        self.i_prot_mut().read_message_end()?;
5893        return Err(thrift::Error::Application(remote_error))
5894      }
5895      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5896      let result = ApplyRequireAuthResult::read_from_in_protocol(self.i_prot_mut())?;
5897      self.i_prot_mut().read_message_end()?;
5898      result.ok_or()
5899    }
5900  }
5901  fn has_auth(&mut self, name: Uint64) -> thrift::Result<bool> {
5902    (
5903      {
5904        self.increment_sequence_number();
5905        let message_ident = TMessageIdentifier::new("has_auth", TMessageType::Call, self.sequence_number());
5906        let call_args = ApplyHasAuthArgs { name };
5907        self.o_prot_mut().write_message_begin(&message_ident)?;
5908        call_args.write_to_out_protocol(self.o_prot_mut())?;
5909        self.o_prot_mut().write_message_end()?;
5910        self.o_prot_mut().flush()
5911      }
5912    )?;
5913    {
5914      let message_ident = self.i_prot_mut().read_message_begin()?;
5915      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5916      verify_expected_service_call("has_auth", &message_ident.name)?;
5917      if message_ident.message_type == TMessageType::Exception {
5918        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5919        self.i_prot_mut().read_message_end()?;
5920        return Err(thrift::Error::Application(remote_error))
5921      }
5922      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5923      let result = ApplyHasAuthResult::read_from_in_protocol(self.i_prot_mut())?;
5924      self.i_prot_mut().read_message_end()?;
5925      result.ok_or()
5926    }
5927  }
5928  fn require_auth2(&mut self, name: Uint64, permission: Uint64) -> thrift::Result<()> {
5929    (
5930      {
5931        self.increment_sequence_number();
5932        let message_ident = TMessageIdentifier::new("require_auth2", TMessageType::Call, self.sequence_number());
5933        let call_args = ApplyRequireAuth2Args { name, permission };
5934        self.o_prot_mut().write_message_begin(&message_ident)?;
5935        call_args.write_to_out_protocol(self.o_prot_mut())?;
5936        self.o_prot_mut().write_message_end()?;
5937        self.o_prot_mut().flush()
5938      }
5939    )?;
5940    {
5941      let message_ident = self.i_prot_mut().read_message_begin()?;
5942      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5943      verify_expected_service_call("require_auth2", &message_ident.name)?;
5944      if message_ident.message_type == TMessageType::Exception {
5945        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5946        self.i_prot_mut().read_message_end()?;
5947        return Err(thrift::Error::Application(remote_error))
5948      }
5949      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5950      let result = ApplyRequireAuth2Result::read_from_in_protocol(self.i_prot_mut())?;
5951      self.i_prot_mut().read_message_end()?;
5952      result.ok_or()
5953    }
5954  }
5955  fn is_account(&mut self, name: Uint64) -> thrift::Result<bool> {
5956    (
5957      {
5958        self.increment_sequence_number();
5959        let message_ident = TMessageIdentifier::new("is_account", TMessageType::Call, self.sequence_number());
5960        let call_args = ApplyIsAccountArgs { name };
5961        self.o_prot_mut().write_message_begin(&message_ident)?;
5962        call_args.write_to_out_protocol(self.o_prot_mut())?;
5963        self.o_prot_mut().write_message_end()?;
5964        self.o_prot_mut().flush()
5965      }
5966    )?;
5967    {
5968      let message_ident = self.i_prot_mut().read_message_begin()?;
5969      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5970      verify_expected_service_call("is_account", &message_ident.name)?;
5971      if message_ident.message_type == TMessageType::Exception {
5972        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
5973        self.i_prot_mut().read_message_end()?;
5974        return Err(thrift::Error::Application(remote_error))
5975      }
5976      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
5977      let result = ApplyIsAccountResult::read_from_in_protocol(self.i_prot_mut())?;
5978      self.i_prot_mut().read_message_end()?;
5979      result.ok_or()
5980    }
5981  }
5982  fn send_inline(&mut self, serialized_action: Vec<u8>) -> thrift::Result<()> {
5983    (
5984      {
5985        self.increment_sequence_number();
5986        let message_ident = TMessageIdentifier::new("send_inline", TMessageType::Call, self.sequence_number());
5987        let call_args = ApplySendInlineArgs { serialized_action };
5988        self.o_prot_mut().write_message_begin(&message_ident)?;
5989        call_args.write_to_out_protocol(self.o_prot_mut())?;
5990        self.o_prot_mut().write_message_end()?;
5991        self.o_prot_mut().flush()
5992      }
5993    )?;
5994    {
5995      let message_ident = self.i_prot_mut().read_message_begin()?;
5996      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
5997      verify_expected_service_call("send_inline", &message_ident.name)?;
5998      if message_ident.message_type == TMessageType::Exception {
5999        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6000        self.i_prot_mut().read_message_end()?;
6001        return Err(thrift::Error::Application(remote_error))
6002      }
6003      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6004      let result = ApplySendInlineResult::read_from_in_protocol(self.i_prot_mut())?;
6005      self.i_prot_mut().read_message_end()?;
6006      result.ok_or()
6007    }
6008  }
6009  fn send_context_free_inline(&mut self, serialized_data: Vec<u8>) -> thrift::Result<()> {
6010    (
6011      {
6012        self.increment_sequence_number();
6013        let message_ident = TMessageIdentifier::new("send_context_free_inline", TMessageType::Call, self.sequence_number());
6014        let call_args = ApplySendContextFreeInlineArgs { serialized_data };
6015        self.o_prot_mut().write_message_begin(&message_ident)?;
6016        call_args.write_to_out_protocol(self.o_prot_mut())?;
6017        self.o_prot_mut().write_message_end()?;
6018        self.o_prot_mut().flush()
6019      }
6020    )?;
6021    {
6022      let message_ident = self.i_prot_mut().read_message_begin()?;
6023      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6024      verify_expected_service_call("send_context_free_inline", &message_ident.name)?;
6025      if message_ident.message_type == TMessageType::Exception {
6026        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6027        self.i_prot_mut().read_message_end()?;
6028        return Err(thrift::Error::Application(remote_error))
6029      }
6030      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6031      let result = ApplySendContextFreeInlineResult::read_from_in_protocol(self.i_prot_mut())?;
6032      self.i_prot_mut().read_message_end()?;
6033      result.ok_or()
6034    }
6035  }
6036  fn publication_time(&mut self) -> thrift::Result<Uint64> {
6037    (
6038      {
6039        self.increment_sequence_number();
6040        let message_ident = TMessageIdentifier::new("publication_time", TMessageType::Call, self.sequence_number());
6041        let call_args = ApplyPublicationTimeArgs {  };
6042        self.o_prot_mut().write_message_begin(&message_ident)?;
6043        call_args.write_to_out_protocol(self.o_prot_mut())?;
6044        self.o_prot_mut().write_message_end()?;
6045        self.o_prot_mut().flush()
6046      }
6047    )?;
6048    {
6049      let message_ident = self.i_prot_mut().read_message_begin()?;
6050      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6051      verify_expected_service_call("publication_time", &message_ident.name)?;
6052      if message_ident.message_type == TMessageType::Exception {
6053        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6054        self.i_prot_mut().read_message_end()?;
6055        return Err(thrift::Error::Application(remote_error))
6056      }
6057      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6058      let result = ApplyPublicationTimeResult::read_from_in_protocol(self.i_prot_mut())?;
6059      self.i_prot_mut().read_message_end()?;
6060      result.ok_or()
6061    }
6062  }
6063  fn current_receiver(&mut self) -> thrift::Result<Uint64> {
6064    (
6065      {
6066        self.increment_sequence_number();
6067        let message_ident = TMessageIdentifier::new("current_receiver", TMessageType::Call, self.sequence_number());
6068        let call_args = ApplyCurrentReceiverArgs {  };
6069        self.o_prot_mut().write_message_begin(&message_ident)?;
6070        call_args.write_to_out_protocol(self.o_prot_mut())?;
6071        self.o_prot_mut().write_message_end()?;
6072        self.o_prot_mut().flush()
6073      }
6074    )?;
6075    {
6076      let message_ident = self.i_prot_mut().read_message_begin()?;
6077      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6078      verify_expected_service_call("current_receiver", &message_ident.name)?;
6079      if message_ident.message_type == TMessageType::Exception {
6080        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6081        self.i_prot_mut().read_message_end()?;
6082        return Err(thrift::Error::Application(remote_error))
6083      }
6084      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6085      let result = ApplyCurrentReceiverResult::read_from_in_protocol(self.i_prot_mut())?;
6086      self.i_prot_mut().read_message_end()?;
6087      result.ok_or()
6088    }
6089  }
6090  fn eosio_assert(&mut self, test: bool, msg: Vec<u8>) -> thrift::Result<()> {
6091    (
6092      {
6093        self.increment_sequence_number();
6094        let message_ident = TMessageIdentifier::new("eosio_assert", TMessageType::Call, self.sequence_number());
6095        let call_args = ApplyEosioAssertArgs { test, msg };
6096        self.o_prot_mut().write_message_begin(&message_ident)?;
6097        call_args.write_to_out_protocol(self.o_prot_mut())?;
6098        self.o_prot_mut().write_message_end()?;
6099        self.o_prot_mut().flush()
6100      }
6101    )?;
6102    {
6103      let message_ident = self.i_prot_mut().read_message_begin()?;
6104      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6105      verify_expected_service_call("eosio_assert", &message_ident.name)?;
6106      if message_ident.message_type == TMessageType::Exception {
6107        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6108        self.i_prot_mut().read_message_end()?;
6109        return Err(thrift::Error::Application(remote_error))
6110      }
6111      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6112      let result = ApplyEosioAssertResult::read_from_in_protocol(self.i_prot_mut())?;
6113      self.i_prot_mut().read_message_end()?;
6114      result.ok_or()
6115    }
6116  }
6117  fn eosio_assert_message(&mut self, test: bool, msg: Vec<u8>) -> thrift::Result<()> {
6118    (
6119      {
6120        self.increment_sequence_number();
6121        let message_ident = TMessageIdentifier::new("eosio_assert_message", TMessageType::Call, self.sequence_number());
6122        let call_args = ApplyEosioAssertMessageArgs { test, msg };
6123        self.o_prot_mut().write_message_begin(&message_ident)?;
6124        call_args.write_to_out_protocol(self.o_prot_mut())?;
6125        self.o_prot_mut().write_message_end()?;
6126        self.o_prot_mut().flush()
6127      }
6128    )?;
6129    {
6130      let message_ident = self.i_prot_mut().read_message_begin()?;
6131      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6132      verify_expected_service_call("eosio_assert_message", &message_ident.name)?;
6133      if message_ident.message_type == TMessageType::Exception {
6134        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6135        self.i_prot_mut().read_message_end()?;
6136        return Err(thrift::Error::Application(remote_error))
6137      }
6138      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6139      let result = ApplyEosioAssertMessageResult::read_from_in_protocol(self.i_prot_mut())?;
6140      self.i_prot_mut().read_message_end()?;
6141      result.ok_or()
6142    }
6143  }
6144  fn eosio_assert_code(&mut self, test: bool, code: Uint64) -> thrift::Result<()> {
6145    (
6146      {
6147        self.increment_sequence_number();
6148        let message_ident = TMessageIdentifier::new("eosio_assert_code", TMessageType::Call, self.sequence_number());
6149        let call_args = ApplyEosioAssertCodeArgs { test, code };
6150        self.o_prot_mut().write_message_begin(&message_ident)?;
6151        call_args.write_to_out_protocol(self.o_prot_mut())?;
6152        self.o_prot_mut().write_message_end()?;
6153        self.o_prot_mut().flush()
6154      }
6155    )?;
6156    {
6157      let message_ident = self.i_prot_mut().read_message_begin()?;
6158      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6159      verify_expected_service_call("eosio_assert_code", &message_ident.name)?;
6160      if message_ident.message_type == TMessageType::Exception {
6161        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6162        self.i_prot_mut().read_message_end()?;
6163        return Err(thrift::Error::Application(remote_error))
6164      }
6165      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6166      let result = ApplyEosioAssertCodeResult::read_from_in_protocol(self.i_prot_mut())?;
6167      self.i_prot_mut().read_message_end()?;
6168      result.ok_or()
6169    }
6170  }
6171  fn eosio_exit(&mut self, code: i32) -> thrift::Result<()> {
6172    (
6173      {
6174        self.increment_sequence_number();
6175        let message_ident = TMessageIdentifier::new("eosio_exit", TMessageType::Call, self.sequence_number());
6176        let call_args = ApplyEosioExitArgs { code };
6177        self.o_prot_mut().write_message_begin(&message_ident)?;
6178        call_args.write_to_out_protocol(self.o_prot_mut())?;
6179        self.o_prot_mut().write_message_end()?;
6180        self.o_prot_mut().flush()
6181      }
6182    )?;
6183    {
6184      let message_ident = self.i_prot_mut().read_message_begin()?;
6185      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6186      verify_expected_service_call("eosio_exit", &message_ident.name)?;
6187      if message_ident.message_type == TMessageType::Exception {
6188        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6189        self.i_prot_mut().read_message_end()?;
6190        return Err(thrift::Error::Application(remote_error))
6191      }
6192      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6193      let result = ApplyEosioExitResult::read_from_in_protocol(self.i_prot_mut())?;
6194      self.i_prot_mut().read_message_end()?;
6195      result.ok_or()
6196    }
6197  }
6198  fn current_time(&mut self) -> thrift::Result<Uint64> {
6199    (
6200      {
6201        self.increment_sequence_number();
6202        let message_ident = TMessageIdentifier::new("current_time", TMessageType::Call, self.sequence_number());
6203        let call_args = ApplyCurrentTimeArgs {  };
6204        self.o_prot_mut().write_message_begin(&message_ident)?;
6205        call_args.write_to_out_protocol(self.o_prot_mut())?;
6206        self.o_prot_mut().write_message_end()?;
6207        self.o_prot_mut().flush()
6208      }
6209    )?;
6210    {
6211      let message_ident = self.i_prot_mut().read_message_begin()?;
6212      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6213      verify_expected_service_call("current_time", &message_ident.name)?;
6214      if message_ident.message_type == TMessageType::Exception {
6215        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6216        self.i_prot_mut().read_message_end()?;
6217        return Err(thrift::Error::Application(remote_error))
6218      }
6219      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6220      let result = ApplyCurrentTimeResult::read_from_in_protocol(self.i_prot_mut())?;
6221      self.i_prot_mut().read_message_end()?;
6222      result.ok_or()
6223    }
6224  }
6225  fn is_feature_activated(&mut self, feature_digest: Vec<u8>) -> thrift::Result<bool> {
6226    (
6227      {
6228        self.increment_sequence_number();
6229        let message_ident = TMessageIdentifier::new("is_feature_activated", TMessageType::Call, self.sequence_number());
6230        let call_args = ApplyIsFeatureActivatedArgs { feature_digest };
6231        self.o_prot_mut().write_message_begin(&message_ident)?;
6232        call_args.write_to_out_protocol(self.o_prot_mut())?;
6233        self.o_prot_mut().write_message_end()?;
6234        self.o_prot_mut().flush()
6235      }
6236    )?;
6237    {
6238      let message_ident = self.i_prot_mut().read_message_begin()?;
6239      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6240      verify_expected_service_call("is_feature_activated", &message_ident.name)?;
6241      if message_ident.message_type == TMessageType::Exception {
6242        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6243        self.i_prot_mut().read_message_end()?;
6244        return Err(thrift::Error::Application(remote_error))
6245      }
6246      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6247      let result = ApplyIsFeatureActivatedResult::read_from_in_protocol(self.i_prot_mut())?;
6248      self.i_prot_mut().read_message_end()?;
6249      result.ok_or()
6250    }
6251  }
6252  fn get_sender(&mut self) -> thrift::Result<Uint64> {
6253    (
6254      {
6255        self.increment_sequence_number();
6256        let message_ident = TMessageIdentifier::new("get_sender", TMessageType::Call, self.sequence_number());
6257        let call_args = ApplyGetSenderArgs {  };
6258        self.o_prot_mut().write_message_begin(&message_ident)?;
6259        call_args.write_to_out_protocol(self.o_prot_mut())?;
6260        self.o_prot_mut().write_message_end()?;
6261        self.o_prot_mut().flush()
6262      }
6263    )?;
6264    {
6265      let message_ident = self.i_prot_mut().read_message_begin()?;
6266      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6267      verify_expected_service_call("get_sender", &message_ident.name)?;
6268      if message_ident.message_type == TMessageType::Exception {
6269        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6270        self.i_prot_mut().read_message_end()?;
6271        return Err(thrift::Error::Application(remote_error))
6272      }
6273      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6274      let result = ApplyGetSenderResult::read_from_in_protocol(self.i_prot_mut())?;
6275      self.i_prot_mut().read_message_end()?;
6276      result.ok_or()
6277    }
6278  }
6279  fn assert_sha256(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()> {
6280    (
6281      {
6282        self.increment_sequence_number();
6283        let message_ident = TMessageIdentifier::new("assert_sha256", TMessageType::Call, self.sequence_number());
6284        let call_args = ApplyAssertSha256Args { data, hash };
6285        self.o_prot_mut().write_message_begin(&message_ident)?;
6286        call_args.write_to_out_protocol(self.o_prot_mut())?;
6287        self.o_prot_mut().write_message_end()?;
6288        self.o_prot_mut().flush()
6289      }
6290    )?;
6291    {
6292      let message_ident = self.i_prot_mut().read_message_begin()?;
6293      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6294      verify_expected_service_call("assert_sha256", &message_ident.name)?;
6295      if message_ident.message_type == TMessageType::Exception {
6296        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6297        self.i_prot_mut().read_message_end()?;
6298        return Err(thrift::Error::Application(remote_error))
6299      }
6300      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6301      let result = ApplyAssertSha256Result::read_from_in_protocol(self.i_prot_mut())?;
6302      self.i_prot_mut().read_message_end()?;
6303      result.ok_or()
6304    }
6305  }
6306  fn assert_sha1(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()> {
6307    (
6308      {
6309        self.increment_sequence_number();
6310        let message_ident = TMessageIdentifier::new("assert_sha1", TMessageType::Call, self.sequence_number());
6311        let call_args = ApplyAssertSha1Args { data, hash };
6312        self.o_prot_mut().write_message_begin(&message_ident)?;
6313        call_args.write_to_out_protocol(self.o_prot_mut())?;
6314        self.o_prot_mut().write_message_end()?;
6315        self.o_prot_mut().flush()
6316      }
6317    )?;
6318    {
6319      let message_ident = self.i_prot_mut().read_message_begin()?;
6320      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6321      verify_expected_service_call("assert_sha1", &message_ident.name)?;
6322      if message_ident.message_type == TMessageType::Exception {
6323        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6324        self.i_prot_mut().read_message_end()?;
6325        return Err(thrift::Error::Application(remote_error))
6326      }
6327      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6328      let result = ApplyAssertSha1Result::read_from_in_protocol(self.i_prot_mut())?;
6329      self.i_prot_mut().read_message_end()?;
6330      result.ok_or()
6331    }
6332  }
6333  fn assert_sha512(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()> {
6334    (
6335      {
6336        self.increment_sequence_number();
6337        let message_ident = TMessageIdentifier::new("assert_sha512", TMessageType::Call, self.sequence_number());
6338        let call_args = ApplyAssertSha512Args { data, hash };
6339        self.o_prot_mut().write_message_begin(&message_ident)?;
6340        call_args.write_to_out_protocol(self.o_prot_mut())?;
6341        self.o_prot_mut().write_message_end()?;
6342        self.o_prot_mut().flush()
6343      }
6344    )?;
6345    {
6346      let message_ident = self.i_prot_mut().read_message_begin()?;
6347      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6348      verify_expected_service_call("assert_sha512", &message_ident.name)?;
6349      if message_ident.message_type == TMessageType::Exception {
6350        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6351        self.i_prot_mut().read_message_end()?;
6352        return Err(thrift::Error::Application(remote_error))
6353      }
6354      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6355      let result = ApplyAssertSha512Result::read_from_in_protocol(self.i_prot_mut())?;
6356      self.i_prot_mut().read_message_end()?;
6357      result.ok_or()
6358    }
6359  }
6360  fn assert_ripemd160(&mut self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()> {
6361    (
6362      {
6363        self.increment_sequence_number();
6364        let message_ident = TMessageIdentifier::new("assert_ripemd160", TMessageType::Call, self.sequence_number());
6365        let call_args = ApplyAssertRipemd160Args { data, hash };
6366        self.o_prot_mut().write_message_begin(&message_ident)?;
6367        call_args.write_to_out_protocol(self.o_prot_mut())?;
6368        self.o_prot_mut().write_message_end()?;
6369        self.o_prot_mut().flush()
6370      }
6371    )?;
6372    {
6373      let message_ident = self.i_prot_mut().read_message_begin()?;
6374      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6375      verify_expected_service_call("assert_ripemd160", &message_ident.name)?;
6376      if message_ident.message_type == TMessageType::Exception {
6377        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6378        self.i_prot_mut().read_message_end()?;
6379        return Err(thrift::Error::Application(remote_error))
6380      }
6381      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6382      let result = ApplyAssertRipemd160Result::read_from_in_protocol(self.i_prot_mut())?;
6383      self.i_prot_mut().read_message_end()?;
6384      result.ok_or()
6385    }
6386  }
6387  fn sha256(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>> {
6388    (
6389      {
6390        self.increment_sequence_number();
6391        let message_ident = TMessageIdentifier::new("sha256", TMessageType::Call, self.sequence_number());
6392        let call_args = ApplySha256Args { data };
6393        self.o_prot_mut().write_message_begin(&message_ident)?;
6394        call_args.write_to_out_protocol(self.o_prot_mut())?;
6395        self.o_prot_mut().write_message_end()?;
6396        self.o_prot_mut().flush()
6397      }
6398    )?;
6399    {
6400      let message_ident = self.i_prot_mut().read_message_begin()?;
6401      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6402      verify_expected_service_call("sha256", &message_ident.name)?;
6403      if message_ident.message_type == TMessageType::Exception {
6404        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6405        self.i_prot_mut().read_message_end()?;
6406        return Err(thrift::Error::Application(remote_error))
6407      }
6408      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6409      let result = ApplySha256Result::read_from_in_protocol(self.i_prot_mut())?;
6410      self.i_prot_mut().read_message_end()?;
6411      result.ok_or()
6412    }
6413  }
6414  fn sha1(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>> {
6415    (
6416      {
6417        self.increment_sequence_number();
6418        let message_ident = TMessageIdentifier::new("sha1", TMessageType::Call, self.sequence_number());
6419        let call_args = ApplySha1Args { data };
6420        self.o_prot_mut().write_message_begin(&message_ident)?;
6421        call_args.write_to_out_protocol(self.o_prot_mut())?;
6422        self.o_prot_mut().write_message_end()?;
6423        self.o_prot_mut().flush()
6424      }
6425    )?;
6426    {
6427      let message_ident = self.i_prot_mut().read_message_begin()?;
6428      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6429      verify_expected_service_call("sha1", &message_ident.name)?;
6430      if message_ident.message_type == TMessageType::Exception {
6431        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6432        self.i_prot_mut().read_message_end()?;
6433        return Err(thrift::Error::Application(remote_error))
6434      }
6435      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6436      let result = ApplySha1Result::read_from_in_protocol(self.i_prot_mut())?;
6437      self.i_prot_mut().read_message_end()?;
6438      result.ok_or()
6439    }
6440  }
6441  fn sha512(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>> {
6442    (
6443      {
6444        self.increment_sequence_number();
6445        let message_ident = TMessageIdentifier::new("sha512", TMessageType::Call, self.sequence_number());
6446        let call_args = ApplySha512Args { data };
6447        self.o_prot_mut().write_message_begin(&message_ident)?;
6448        call_args.write_to_out_protocol(self.o_prot_mut())?;
6449        self.o_prot_mut().write_message_end()?;
6450        self.o_prot_mut().flush()
6451      }
6452    )?;
6453    {
6454      let message_ident = self.i_prot_mut().read_message_begin()?;
6455      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6456      verify_expected_service_call("sha512", &message_ident.name)?;
6457      if message_ident.message_type == TMessageType::Exception {
6458        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6459        self.i_prot_mut().read_message_end()?;
6460        return Err(thrift::Error::Application(remote_error))
6461      }
6462      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6463      let result = ApplySha512Result::read_from_in_protocol(self.i_prot_mut())?;
6464      self.i_prot_mut().read_message_end()?;
6465      result.ok_or()
6466    }
6467  }
6468  fn ripemd160(&mut self, data: Vec<u8>) -> thrift::Result<Vec<u8>> {
6469    (
6470      {
6471        self.increment_sequence_number();
6472        let message_ident = TMessageIdentifier::new("ripemd160", TMessageType::Call, self.sequence_number());
6473        let call_args = ApplyRipemd160Args { data };
6474        self.o_prot_mut().write_message_begin(&message_ident)?;
6475        call_args.write_to_out_protocol(self.o_prot_mut())?;
6476        self.o_prot_mut().write_message_end()?;
6477        self.o_prot_mut().flush()
6478      }
6479    )?;
6480    {
6481      let message_ident = self.i_prot_mut().read_message_begin()?;
6482      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6483      verify_expected_service_call("ripemd160", &message_ident.name)?;
6484      if message_ident.message_type == TMessageType::Exception {
6485        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6486        self.i_prot_mut().read_message_end()?;
6487        return Err(thrift::Error::Application(remote_error))
6488      }
6489      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6490      let result = ApplyRipemd160Result::read_from_in_protocol(self.i_prot_mut())?;
6491      self.i_prot_mut().read_message_end()?;
6492      result.ok_or()
6493    }
6494  }
6495  fn recover_key(&mut self, digest: Vec<u8>, sig: Vec<u8>) -> thrift::Result<Vec<u8>> {
6496    (
6497      {
6498        self.increment_sequence_number();
6499        let message_ident = TMessageIdentifier::new("recover_key", TMessageType::Call, self.sequence_number());
6500        let call_args = ApplyRecoverKeyArgs { digest, sig };
6501        self.o_prot_mut().write_message_begin(&message_ident)?;
6502        call_args.write_to_out_protocol(self.o_prot_mut())?;
6503        self.o_prot_mut().write_message_end()?;
6504        self.o_prot_mut().flush()
6505      }
6506    )?;
6507    {
6508      let message_ident = self.i_prot_mut().read_message_begin()?;
6509      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6510      verify_expected_service_call("recover_key", &message_ident.name)?;
6511      if message_ident.message_type == TMessageType::Exception {
6512        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6513        self.i_prot_mut().read_message_end()?;
6514        return Err(thrift::Error::Application(remote_error))
6515      }
6516      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6517      let result = ApplyRecoverKeyResult::read_from_in_protocol(self.i_prot_mut())?;
6518      self.i_prot_mut().read_message_end()?;
6519      result.ok_or()
6520    }
6521  }
6522  fn assert_recover_key(&mut self, digest: Vec<u8>, sig: Vec<u8>, pub_: Vec<u8>) -> thrift::Result<()> {
6523    (
6524      {
6525        self.increment_sequence_number();
6526        let message_ident = TMessageIdentifier::new("assert_recover_key", TMessageType::Call, self.sequence_number());
6527        let call_args = ApplyAssertRecoverKeyArgs { digest, sig, pub_ };
6528        self.o_prot_mut().write_message_begin(&message_ident)?;
6529        call_args.write_to_out_protocol(self.o_prot_mut())?;
6530        self.o_prot_mut().write_message_end()?;
6531        self.o_prot_mut().flush()
6532      }
6533    )?;
6534    {
6535      let message_ident = self.i_prot_mut().read_message_begin()?;
6536      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6537      verify_expected_service_call("assert_recover_key", &message_ident.name)?;
6538      if message_ident.message_type == TMessageType::Exception {
6539        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6540        self.i_prot_mut().read_message_end()?;
6541        return Err(thrift::Error::Application(remote_error))
6542      }
6543      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6544      let result = ApplyAssertRecoverKeyResult::read_from_in_protocol(self.i_prot_mut())?;
6545      self.i_prot_mut().read_message_end()?;
6546      result.ok_or()
6547    }
6548  }
6549  fn send_deferred(&mut self, sender_id: Vec<u8>, payer: Uint64, serialized_transaction: Vec<u8>, replace_existing: i32) -> thrift::Result<()> {
6550    (
6551      {
6552        self.increment_sequence_number();
6553        let message_ident = TMessageIdentifier::new("send_deferred", TMessageType::Call, self.sequence_number());
6554        let call_args = ApplySendDeferredArgs { sender_id, payer, serialized_transaction, replace_existing };
6555        self.o_prot_mut().write_message_begin(&message_ident)?;
6556        call_args.write_to_out_protocol(self.o_prot_mut())?;
6557        self.o_prot_mut().write_message_end()?;
6558        self.o_prot_mut().flush()
6559      }
6560    )?;
6561    {
6562      let message_ident = self.i_prot_mut().read_message_begin()?;
6563      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6564      verify_expected_service_call("send_deferred", &message_ident.name)?;
6565      if message_ident.message_type == TMessageType::Exception {
6566        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6567        self.i_prot_mut().read_message_end()?;
6568        return Err(thrift::Error::Application(remote_error))
6569      }
6570      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6571      let result = ApplySendDeferredResult::read_from_in_protocol(self.i_prot_mut())?;
6572      self.i_prot_mut().read_message_end()?;
6573      result.ok_or()
6574    }
6575  }
6576  fn cancel_deferred(&mut self, sender_id: Vec<u8>) -> thrift::Result<i32> {
6577    (
6578      {
6579        self.increment_sequence_number();
6580        let message_ident = TMessageIdentifier::new("cancel_deferred", TMessageType::Call, self.sequence_number());
6581        let call_args = ApplyCancelDeferredArgs { sender_id };
6582        self.o_prot_mut().write_message_begin(&message_ident)?;
6583        call_args.write_to_out_protocol(self.o_prot_mut())?;
6584        self.o_prot_mut().write_message_end()?;
6585        self.o_prot_mut().flush()
6586      }
6587    )?;
6588    {
6589      let message_ident = self.i_prot_mut().read_message_begin()?;
6590      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6591      verify_expected_service_call("cancel_deferred", &message_ident.name)?;
6592      if message_ident.message_type == TMessageType::Exception {
6593        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6594        self.i_prot_mut().read_message_end()?;
6595        return Err(thrift::Error::Application(remote_error))
6596      }
6597      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6598      let result = ApplyCancelDeferredResult::read_from_in_protocol(self.i_prot_mut())?;
6599      self.i_prot_mut().read_message_end()?;
6600      result.ok_or()
6601    }
6602  }
6603  fn read_transaction(&mut self) -> thrift::Result<Vec<u8>> {
6604    (
6605      {
6606        self.increment_sequence_number();
6607        let message_ident = TMessageIdentifier::new("read_transaction", TMessageType::Call, self.sequence_number());
6608        let call_args = ApplyReadTransactionArgs {  };
6609        self.o_prot_mut().write_message_begin(&message_ident)?;
6610        call_args.write_to_out_protocol(self.o_prot_mut())?;
6611        self.o_prot_mut().write_message_end()?;
6612        self.o_prot_mut().flush()
6613      }
6614    )?;
6615    {
6616      let message_ident = self.i_prot_mut().read_message_begin()?;
6617      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6618      verify_expected_service_call("read_transaction", &message_ident.name)?;
6619      if message_ident.message_type == TMessageType::Exception {
6620        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6621        self.i_prot_mut().read_message_end()?;
6622        return Err(thrift::Error::Application(remote_error))
6623      }
6624      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6625      let result = ApplyReadTransactionResult::read_from_in_protocol(self.i_prot_mut())?;
6626      self.i_prot_mut().read_message_end()?;
6627      result.ok_or()
6628    }
6629  }
6630  fn transaction_size(&mut self) -> thrift::Result<i32> {
6631    (
6632      {
6633        self.increment_sequence_number();
6634        let message_ident = TMessageIdentifier::new("transaction_size", TMessageType::Call, self.sequence_number());
6635        let call_args = ApplyTransactionSizeArgs {  };
6636        self.o_prot_mut().write_message_begin(&message_ident)?;
6637        call_args.write_to_out_protocol(self.o_prot_mut())?;
6638        self.o_prot_mut().write_message_end()?;
6639        self.o_prot_mut().flush()
6640      }
6641    )?;
6642    {
6643      let message_ident = self.i_prot_mut().read_message_begin()?;
6644      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6645      verify_expected_service_call("transaction_size", &message_ident.name)?;
6646      if message_ident.message_type == TMessageType::Exception {
6647        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6648        self.i_prot_mut().read_message_end()?;
6649        return Err(thrift::Error::Application(remote_error))
6650      }
6651      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6652      let result = ApplyTransactionSizeResult::read_from_in_protocol(self.i_prot_mut())?;
6653      self.i_prot_mut().read_message_end()?;
6654      result.ok_or()
6655    }
6656  }
6657  fn tapos_block_num(&mut self) -> thrift::Result<i32> {
6658    (
6659      {
6660        self.increment_sequence_number();
6661        let message_ident = TMessageIdentifier::new("tapos_block_num", TMessageType::Call, self.sequence_number());
6662        let call_args = ApplyTaposBlockNumArgs {  };
6663        self.o_prot_mut().write_message_begin(&message_ident)?;
6664        call_args.write_to_out_protocol(self.o_prot_mut())?;
6665        self.o_prot_mut().write_message_end()?;
6666        self.o_prot_mut().flush()
6667      }
6668    )?;
6669    {
6670      let message_ident = self.i_prot_mut().read_message_begin()?;
6671      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6672      verify_expected_service_call("tapos_block_num", &message_ident.name)?;
6673      if message_ident.message_type == TMessageType::Exception {
6674        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6675        self.i_prot_mut().read_message_end()?;
6676        return Err(thrift::Error::Application(remote_error))
6677      }
6678      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6679      let result = ApplyTaposBlockNumResult::read_from_in_protocol(self.i_prot_mut())?;
6680      self.i_prot_mut().read_message_end()?;
6681      result.ok_or()
6682    }
6683  }
6684  fn tapos_block_prefix(&mut self) -> thrift::Result<i32> {
6685    (
6686      {
6687        self.increment_sequence_number();
6688        let message_ident = TMessageIdentifier::new("tapos_block_prefix", TMessageType::Call, self.sequence_number());
6689        let call_args = ApplyTaposBlockPrefixArgs {  };
6690        self.o_prot_mut().write_message_begin(&message_ident)?;
6691        call_args.write_to_out_protocol(self.o_prot_mut())?;
6692        self.o_prot_mut().write_message_end()?;
6693        self.o_prot_mut().flush()
6694      }
6695    )?;
6696    {
6697      let message_ident = self.i_prot_mut().read_message_begin()?;
6698      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6699      verify_expected_service_call("tapos_block_prefix", &message_ident.name)?;
6700      if message_ident.message_type == TMessageType::Exception {
6701        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6702        self.i_prot_mut().read_message_end()?;
6703        return Err(thrift::Error::Application(remote_error))
6704      }
6705      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6706      let result = ApplyTaposBlockPrefixResult::read_from_in_protocol(self.i_prot_mut())?;
6707      self.i_prot_mut().read_message_end()?;
6708      result.ok_or()
6709    }
6710  }
6711  fn expiration(&mut self) -> thrift::Result<i64> {
6712    (
6713      {
6714        self.increment_sequence_number();
6715        let message_ident = TMessageIdentifier::new("expiration", TMessageType::Call, self.sequence_number());
6716        let call_args = ApplyExpirationArgs {  };
6717        self.o_prot_mut().write_message_begin(&message_ident)?;
6718        call_args.write_to_out_protocol(self.o_prot_mut())?;
6719        self.o_prot_mut().write_message_end()?;
6720        self.o_prot_mut().flush()
6721      }
6722    )?;
6723    {
6724      let message_ident = self.i_prot_mut().read_message_begin()?;
6725      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6726      verify_expected_service_call("expiration", &message_ident.name)?;
6727      if message_ident.message_type == TMessageType::Exception {
6728        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6729        self.i_prot_mut().read_message_end()?;
6730        return Err(thrift::Error::Application(remote_error))
6731      }
6732      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6733      let result = ApplyExpirationResult::read_from_in_protocol(self.i_prot_mut())?;
6734      self.i_prot_mut().read_message_end()?;
6735      result.ok_or()
6736    }
6737  }
6738  fn get_action(&mut self, _type: i32, index: i32) -> thrift::Result<Vec<u8>> {
6739    (
6740      {
6741        self.increment_sequence_number();
6742        let message_ident = TMessageIdentifier::new("get_action", TMessageType::Call, self.sequence_number());
6743        let call_args = ApplyGetActionArgs { _type, index };
6744        self.o_prot_mut().write_message_begin(&message_ident)?;
6745        call_args.write_to_out_protocol(self.o_prot_mut())?;
6746        self.o_prot_mut().write_message_end()?;
6747        self.o_prot_mut().flush()
6748      }
6749    )?;
6750    {
6751      let message_ident = self.i_prot_mut().read_message_begin()?;
6752      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6753      verify_expected_service_call("get_action", &message_ident.name)?;
6754      if message_ident.message_type == TMessageType::Exception {
6755        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6756        self.i_prot_mut().read_message_end()?;
6757        return Err(thrift::Error::Application(remote_error))
6758      }
6759      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6760      let result = ApplyGetActionResult::read_from_in_protocol(self.i_prot_mut())?;
6761      self.i_prot_mut().read_message_end()?;
6762      result.ok_or()
6763    }
6764  }
6765  fn get_context_free_data(&mut self, index: i32) -> thrift::Result<Vec<u8>> {
6766    (
6767      {
6768        self.increment_sequence_number();
6769        let message_ident = TMessageIdentifier::new("get_context_free_data", TMessageType::Call, self.sequence_number());
6770        let call_args = ApplyGetContextFreeDataArgs { index };
6771        self.o_prot_mut().write_message_begin(&message_ident)?;
6772        call_args.write_to_out_protocol(self.o_prot_mut())?;
6773        self.o_prot_mut().write_message_end()?;
6774        self.o_prot_mut().flush()
6775      }
6776    )?;
6777    {
6778      let message_ident = self.i_prot_mut().read_message_begin()?;
6779      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6780      verify_expected_service_call("get_context_free_data", &message_ident.name)?;
6781      if message_ident.message_type == TMessageType::Exception {
6782        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6783        self.i_prot_mut().read_message_end()?;
6784        return Err(thrift::Error::Application(remote_error))
6785      }
6786      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6787      let result = ApplyGetContextFreeDataResult::read_from_in_protocol(self.i_prot_mut())?;
6788      self.i_prot_mut().read_message_end()?;
6789      result.ok_or()
6790    }
6791  }
6792  fn db_store_i64(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, data: Vec<u8>) -> thrift::Result<i32> {
6793    (
6794      {
6795        self.increment_sequence_number();
6796        let message_ident = TMessageIdentifier::new("db_store_i64", TMessageType::Call, self.sequence_number());
6797        let call_args = ApplyDbStoreI64Args { scope, table, payer, id, data };
6798        self.o_prot_mut().write_message_begin(&message_ident)?;
6799        call_args.write_to_out_protocol(self.o_prot_mut())?;
6800        self.o_prot_mut().write_message_end()?;
6801        self.o_prot_mut().flush()
6802      }
6803    )?;
6804    {
6805      let message_ident = self.i_prot_mut().read_message_begin()?;
6806      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6807      verify_expected_service_call("db_store_i64", &message_ident.name)?;
6808      if message_ident.message_type == TMessageType::Exception {
6809        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6810        self.i_prot_mut().read_message_end()?;
6811        return Err(thrift::Error::Application(remote_error))
6812      }
6813      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6814      let result = ApplyDbStoreI64Result::read_from_in_protocol(self.i_prot_mut())?;
6815      self.i_prot_mut().read_message_end()?;
6816      result.ok_or()
6817    }
6818  }
6819  fn db_update_i64(&mut self, iterator: i32, payer: Uint64, data: Vec<u8>) -> thrift::Result<()> {
6820    (
6821      {
6822        self.increment_sequence_number();
6823        let message_ident = TMessageIdentifier::new("db_update_i64", TMessageType::Call, self.sequence_number());
6824        let call_args = ApplyDbUpdateI64Args { iterator, payer, data };
6825        self.o_prot_mut().write_message_begin(&message_ident)?;
6826        call_args.write_to_out_protocol(self.o_prot_mut())?;
6827        self.o_prot_mut().write_message_end()?;
6828        self.o_prot_mut().flush()
6829      }
6830    )?;
6831    {
6832      let message_ident = self.i_prot_mut().read_message_begin()?;
6833      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6834      verify_expected_service_call("db_update_i64", &message_ident.name)?;
6835      if message_ident.message_type == TMessageType::Exception {
6836        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6837        self.i_prot_mut().read_message_end()?;
6838        return Err(thrift::Error::Application(remote_error))
6839      }
6840      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6841      let result = ApplyDbUpdateI64Result::read_from_in_protocol(self.i_prot_mut())?;
6842      self.i_prot_mut().read_message_end()?;
6843      result.ok_or()
6844    }
6845  }
6846  fn db_remove_i64(&mut self, iterator: i32) -> thrift::Result<()> {
6847    (
6848      {
6849        self.increment_sequence_number();
6850        let message_ident = TMessageIdentifier::new("db_remove_i64", TMessageType::Call, self.sequence_number());
6851        let call_args = ApplyDbRemoveI64Args { iterator };
6852        self.o_prot_mut().write_message_begin(&message_ident)?;
6853        call_args.write_to_out_protocol(self.o_prot_mut())?;
6854        self.o_prot_mut().write_message_end()?;
6855        self.o_prot_mut().flush()
6856      }
6857    )?;
6858    {
6859      let message_ident = self.i_prot_mut().read_message_begin()?;
6860      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6861      verify_expected_service_call("db_remove_i64", &message_ident.name)?;
6862      if message_ident.message_type == TMessageType::Exception {
6863        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6864        self.i_prot_mut().read_message_end()?;
6865        return Err(thrift::Error::Application(remote_error))
6866      }
6867      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6868      let result = ApplyDbRemoveI64Result::read_from_in_protocol(self.i_prot_mut())?;
6869      self.i_prot_mut().read_message_end()?;
6870      result.ok_or()
6871    }
6872  }
6873  fn db_get_i64(&mut self, iterator: i32) -> thrift::Result<Vec<u8>> {
6874    (
6875      {
6876        self.increment_sequence_number();
6877        let message_ident = TMessageIdentifier::new("db_get_i64", TMessageType::Call, self.sequence_number());
6878        let call_args = ApplyDbGetI64Args { iterator };
6879        self.o_prot_mut().write_message_begin(&message_ident)?;
6880        call_args.write_to_out_protocol(self.o_prot_mut())?;
6881        self.o_prot_mut().write_message_end()?;
6882        self.o_prot_mut().flush()
6883      }
6884    )?;
6885    {
6886      let message_ident = self.i_prot_mut().read_message_begin()?;
6887      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6888      verify_expected_service_call("db_get_i64", &message_ident.name)?;
6889      if message_ident.message_type == TMessageType::Exception {
6890        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6891        self.i_prot_mut().read_message_end()?;
6892        return Err(thrift::Error::Application(remote_error))
6893      }
6894      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6895      let result = ApplyDbGetI64Result::read_from_in_protocol(self.i_prot_mut())?;
6896      self.i_prot_mut().read_message_end()?;
6897      result.ok_or()
6898    }
6899  }
6900  fn db_next_i64(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
6901    (
6902      {
6903        self.increment_sequence_number();
6904        let message_ident = TMessageIdentifier::new("db_next_i64", TMessageType::Call, self.sequence_number());
6905        let call_args = ApplyDbNextI64Args { iterator };
6906        self.o_prot_mut().write_message_begin(&message_ident)?;
6907        call_args.write_to_out_protocol(self.o_prot_mut())?;
6908        self.o_prot_mut().write_message_end()?;
6909        self.o_prot_mut().flush()
6910      }
6911    )?;
6912    {
6913      let message_ident = self.i_prot_mut().read_message_begin()?;
6914      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6915      verify_expected_service_call("db_next_i64", &message_ident.name)?;
6916      if message_ident.message_type == TMessageType::Exception {
6917        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6918        self.i_prot_mut().read_message_end()?;
6919        return Err(thrift::Error::Application(remote_error))
6920      }
6921      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6922      let result = ApplyDbNextI64Result::read_from_in_protocol(self.i_prot_mut())?;
6923      self.i_prot_mut().read_message_end()?;
6924      result.ok_or()
6925    }
6926  }
6927  fn db_previous_i64(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
6928    (
6929      {
6930        self.increment_sequence_number();
6931        let message_ident = TMessageIdentifier::new("db_previous_i64", TMessageType::Call, self.sequence_number());
6932        let call_args = ApplyDbPreviousI64Args { iterator };
6933        self.o_prot_mut().write_message_begin(&message_ident)?;
6934        call_args.write_to_out_protocol(self.o_prot_mut())?;
6935        self.o_prot_mut().write_message_end()?;
6936        self.o_prot_mut().flush()
6937      }
6938    )?;
6939    {
6940      let message_ident = self.i_prot_mut().read_message_begin()?;
6941      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6942      verify_expected_service_call("db_previous_i64", &message_ident.name)?;
6943      if message_ident.message_type == TMessageType::Exception {
6944        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6945        self.i_prot_mut().read_message_end()?;
6946        return Err(thrift::Error::Application(remote_error))
6947      }
6948      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6949      let result = ApplyDbPreviousI64Result::read_from_in_protocol(self.i_prot_mut())?;
6950      self.i_prot_mut().read_message_end()?;
6951      result.ok_or()
6952    }
6953  }
6954  fn db_find_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32> {
6955    (
6956      {
6957        self.increment_sequence_number();
6958        let message_ident = TMessageIdentifier::new("db_find_i64", TMessageType::Call, self.sequence_number());
6959        let call_args = ApplyDbFindI64Args { code, scope, table, id };
6960        self.o_prot_mut().write_message_begin(&message_ident)?;
6961        call_args.write_to_out_protocol(self.o_prot_mut())?;
6962        self.o_prot_mut().write_message_end()?;
6963        self.o_prot_mut().flush()
6964      }
6965    )?;
6966    {
6967      let message_ident = self.i_prot_mut().read_message_begin()?;
6968      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6969      verify_expected_service_call("db_find_i64", &message_ident.name)?;
6970      if message_ident.message_type == TMessageType::Exception {
6971        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6972        self.i_prot_mut().read_message_end()?;
6973        return Err(thrift::Error::Application(remote_error))
6974      }
6975      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
6976      let result = ApplyDbFindI64Result::read_from_in_protocol(self.i_prot_mut())?;
6977      self.i_prot_mut().read_message_end()?;
6978      result.ok_or()
6979    }
6980  }
6981  fn db_lowerbound_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32> {
6982    (
6983      {
6984        self.increment_sequence_number();
6985        let message_ident = TMessageIdentifier::new("db_lowerbound_i64", TMessageType::Call, self.sequence_number());
6986        let call_args = ApplyDbLowerboundI64Args { code, scope, table, id };
6987        self.o_prot_mut().write_message_begin(&message_ident)?;
6988        call_args.write_to_out_protocol(self.o_prot_mut())?;
6989        self.o_prot_mut().write_message_end()?;
6990        self.o_prot_mut().flush()
6991      }
6992    )?;
6993    {
6994      let message_ident = self.i_prot_mut().read_message_begin()?;
6995      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
6996      verify_expected_service_call("db_lowerbound_i64", &message_ident.name)?;
6997      if message_ident.message_type == TMessageType::Exception {
6998        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
6999        self.i_prot_mut().read_message_end()?;
7000        return Err(thrift::Error::Application(remote_error))
7001      }
7002      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7003      let result = ApplyDbLowerboundI64Result::read_from_in_protocol(self.i_prot_mut())?;
7004      self.i_prot_mut().read_message_end()?;
7005      result.ok_or()
7006    }
7007  }
7008  fn db_upperbound_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32> {
7009    (
7010      {
7011        self.increment_sequence_number();
7012        let message_ident = TMessageIdentifier::new("db_upperbound_i64", TMessageType::Call, self.sequence_number());
7013        let call_args = ApplyDbUpperboundI64Args { code, scope, table, id };
7014        self.o_prot_mut().write_message_begin(&message_ident)?;
7015        call_args.write_to_out_protocol(self.o_prot_mut())?;
7016        self.o_prot_mut().write_message_end()?;
7017        self.o_prot_mut().flush()
7018      }
7019    )?;
7020    {
7021      let message_ident = self.i_prot_mut().read_message_begin()?;
7022      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7023      verify_expected_service_call("db_upperbound_i64", &message_ident.name)?;
7024      if message_ident.message_type == TMessageType::Exception {
7025        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7026        self.i_prot_mut().read_message_end()?;
7027        return Err(thrift::Error::Application(remote_error))
7028      }
7029      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7030      let result = ApplyDbUpperboundI64Result::read_from_in_protocol(self.i_prot_mut())?;
7031      self.i_prot_mut().read_message_end()?;
7032      result.ok_or()
7033    }
7034  }
7035  fn db_end_i64(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32> {
7036    (
7037      {
7038        self.increment_sequence_number();
7039        let message_ident = TMessageIdentifier::new("db_end_i64", TMessageType::Call, self.sequence_number());
7040        let call_args = ApplyDbEndI64Args { code, scope, table };
7041        self.o_prot_mut().write_message_begin(&message_ident)?;
7042        call_args.write_to_out_protocol(self.o_prot_mut())?;
7043        self.o_prot_mut().write_message_end()?;
7044        self.o_prot_mut().flush()
7045      }
7046    )?;
7047    {
7048      let message_ident = self.i_prot_mut().read_message_begin()?;
7049      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7050      verify_expected_service_call("db_end_i64", &message_ident.name)?;
7051      if message_ident.message_type == TMessageType::Exception {
7052        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7053        self.i_prot_mut().read_message_end()?;
7054        return Err(thrift::Error::Application(remote_error))
7055      }
7056      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7057      let result = ApplyDbEndI64Result::read_from_in_protocol(self.i_prot_mut())?;
7058      self.i_prot_mut().read_message_end()?;
7059      result.ok_or()
7060    }
7061  }
7062  fn db_idx64_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Uint64) -> thrift::Result<i32> {
7063    (
7064      {
7065        self.increment_sequence_number();
7066        let message_ident = TMessageIdentifier::new("db_idx64_store", TMessageType::Call, self.sequence_number());
7067        let call_args = ApplyDbIdx64StoreArgs { scope, table, payer, id, secondary };
7068        self.o_prot_mut().write_message_begin(&message_ident)?;
7069        call_args.write_to_out_protocol(self.o_prot_mut())?;
7070        self.o_prot_mut().write_message_end()?;
7071        self.o_prot_mut().flush()
7072      }
7073    )?;
7074    {
7075      let message_ident = self.i_prot_mut().read_message_begin()?;
7076      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7077      verify_expected_service_call("db_idx64_store", &message_ident.name)?;
7078      if message_ident.message_type == TMessageType::Exception {
7079        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7080        self.i_prot_mut().read_message_end()?;
7081        return Err(thrift::Error::Application(remote_error))
7082      }
7083      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7084      let result = ApplyDbIdx64StoreResult::read_from_in_protocol(self.i_prot_mut())?;
7085      self.i_prot_mut().read_message_end()?;
7086      result.ok_or()
7087    }
7088  }
7089  fn db_idx64_update(&mut self, iterator: i32, payer: Uint64, secondary: Uint64) -> thrift::Result<()> {
7090    (
7091      {
7092        self.increment_sequence_number();
7093        let message_ident = TMessageIdentifier::new("db_idx64_update", TMessageType::Call, self.sequence_number());
7094        let call_args = ApplyDbIdx64UpdateArgs { iterator, payer, secondary };
7095        self.o_prot_mut().write_message_begin(&message_ident)?;
7096        call_args.write_to_out_protocol(self.o_prot_mut())?;
7097        self.o_prot_mut().write_message_end()?;
7098        self.o_prot_mut().flush()
7099      }
7100    )?;
7101    {
7102      let message_ident = self.i_prot_mut().read_message_begin()?;
7103      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7104      verify_expected_service_call("db_idx64_update", &message_ident.name)?;
7105      if message_ident.message_type == TMessageType::Exception {
7106        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7107        self.i_prot_mut().read_message_end()?;
7108        return Err(thrift::Error::Application(remote_error))
7109      }
7110      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7111      let result = ApplyDbIdx64UpdateResult::read_from_in_protocol(self.i_prot_mut())?;
7112      self.i_prot_mut().read_message_end()?;
7113      result.ok_or()
7114    }
7115  }
7116  fn db_idx64_remove(&mut self, iterator: i32) -> thrift::Result<()> {
7117    (
7118      {
7119        self.increment_sequence_number();
7120        let message_ident = TMessageIdentifier::new("db_idx64_remove", TMessageType::Call, self.sequence_number());
7121        let call_args = ApplyDbIdx64RemoveArgs { iterator };
7122        self.o_prot_mut().write_message_begin(&message_ident)?;
7123        call_args.write_to_out_protocol(self.o_prot_mut())?;
7124        self.o_prot_mut().write_message_end()?;
7125        self.o_prot_mut().flush()
7126      }
7127    )?;
7128    {
7129      let message_ident = self.i_prot_mut().read_message_begin()?;
7130      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7131      verify_expected_service_call("db_idx64_remove", &message_ident.name)?;
7132      if message_ident.message_type == TMessageType::Exception {
7133        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7134        self.i_prot_mut().read_message_end()?;
7135        return Err(thrift::Error::Application(remote_error))
7136      }
7137      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7138      let result = ApplyDbIdx64RemoveResult::read_from_in_protocol(self.i_prot_mut())?;
7139      self.i_prot_mut().read_message_end()?;
7140      result.ok_or()
7141    }
7142  }
7143  fn db_idx64_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7144    (
7145      {
7146        self.increment_sequence_number();
7147        let message_ident = TMessageIdentifier::new("db_idx64_next", TMessageType::Call, self.sequence_number());
7148        let call_args = ApplyDbIdx64NextArgs { iterator };
7149        self.o_prot_mut().write_message_begin(&message_ident)?;
7150        call_args.write_to_out_protocol(self.o_prot_mut())?;
7151        self.o_prot_mut().write_message_end()?;
7152        self.o_prot_mut().flush()
7153      }
7154    )?;
7155    {
7156      let message_ident = self.i_prot_mut().read_message_begin()?;
7157      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7158      verify_expected_service_call("db_idx64_next", &message_ident.name)?;
7159      if message_ident.message_type == TMessageType::Exception {
7160        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7161        self.i_prot_mut().read_message_end()?;
7162        return Err(thrift::Error::Application(remote_error))
7163      }
7164      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7165      let result = ApplyDbIdx64NextResult::read_from_in_protocol(self.i_prot_mut())?;
7166      self.i_prot_mut().read_message_end()?;
7167      result.ok_or()
7168    }
7169  }
7170  fn db_idx64_previous(&mut self, iteratory: i32) -> thrift::Result<NextPreviousReturn> {
7171    (
7172      {
7173        self.increment_sequence_number();
7174        let message_ident = TMessageIdentifier::new("db_idx64_previous", TMessageType::Call, self.sequence_number());
7175        let call_args = ApplyDbIdx64PreviousArgs { iteratory };
7176        self.o_prot_mut().write_message_begin(&message_ident)?;
7177        call_args.write_to_out_protocol(self.o_prot_mut())?;
7178        self.o_prot_mut().write_message_end()?;
7179        self.o_prot_mut().flush()
7180      }
7181    )?;
7182    {
7183      let message_ident = self.i_prot_mut().read_message_begin()?;
7184      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7185      verify_expected_service_call("db_idx64_previous", &message_ident.name)?;
7186      if message_ident.message_type == TMessageType::Exception {
7187        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7188        self.i_prot_mut().read_message_end()?;
7189        return Err(thrift::Error::Application(remote_error))
7190      }
7191      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7192      let result = ApplyDbIdx64PreviousResult::read_from_in_protocol(self.i_prot_mut())?;
7193      self.i_prot_mut().read_message_end()?;
7194      result.ok_or()
7195    }
7196  }
7197  fn db_idx64_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn> {
7198    (
7199      {
7200        self.increment_sequence_number();
7201        let message_ident = TMessageIdentifier::new("db_idx64_find_primary", TMessageType::Call, self.sequence_number());
7202        let call_args = ApplyDbIdx64FindPrimaryArgs { code, scope, table, primary };
7203        self.o_prot_mut().write_message_begin(&message_ident)?;
7204        call_args.write_to_out_protocol(self.o_prot_mut())?;
7205        self.o_prot_mut().write_message_end()?;
7206        self.o_prot_mut().flush()
7207      }
7208    )?;
7209    {
7210      let message_ident = self.i_prot_mut().read_message_begin()?;
7211      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7212      verify_expected_service_call("db_idx64_find_primary", &message_ident.name)?;
7213      if message_ident.message_type == TMessageType::Exception {
7214        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7215        self.i_prot_mut().read_message_end()?;
7216        return Err(thrift::Error::Application(remote_error))
7217      }
7218      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7219      let result = ApplyDbIdx64FindPrimaryResult::read_from_in_protocol(self.i_prot_mut())?;
7220      self.i_prot_mut().read_message_end()?;
7221      result.ok_or()
7222    }
7223  }
7224  fn db_idx64_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64) -> thrift::Result<FindSecondaryReturn> {
7225    (
7226      {
7227        self.increment_sequence_number();
7228        let message_ident = TMessageIdentifier::new("db_idx64_find_secondary", TMessageType::Call, self.sequence_number());
7229        let call_args = ApplyDbIdx64FindSecondaryArgs { code, scope, table, secondary };
7230        self.o_prot_mut().write_message_begin(&message_ident)?;
7231        call_args.write_to_out_protocol(self.o_prot_mut())?;
7232        self.o_prot_mut().write_message_end()?;
7233        self.o_prot_mut().flush()
7234      }
7235    )?;
7236    {
7237      let message_ident = self.i_prot_mut().read_message_begin()?;
7238      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7239      verify_expected_service_call("db_idx64_find_secondary", &message_ident.name)?;
7240      if message_ident.message_type == TMessageType::Exception {
7241        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7242        self.i_prot_mut().read_message_end()?;
7243        return Err(thrift::Error::Application(remote_error))
7244      }
7245      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7246      let result = ApplyDbIdx64FindSecondaryResult::read_from_in_protocol(self.i_prot_mut())?;
7247      self.i_prot_mut().read_message_end()?;
7248      result.ok_or()
7249    }
7250  }
7251  fn db_idx64_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
7252    (
7253      {
7254        self.increment_sequence_number();
7255        let message_ident = TMessageIdentifier::new("db_idx64_lowerbound", TMessageType::Call, self.sequence_number());
7256        let call_args = ApplyDbIdx64LowerboundArgs { code, scope, table, secondary, primary };
7257        self.o_prot_mut().write_message_begin(&message_ident)?;
7258        call_args.write_to_out_protocol(self.o_prot_mut())?;
7259        self.o_prot_mut().write_message_end()?;
7260        self.o_prot_mut().flush()
7261      }
7262    )?;
7263    {
7264      let message_ident = self.i_prot_mut().read_message_begin()?;
7265      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7266      verify_expected_service_call("db_idx64_lowerbound", &message_ident.name)?;
7267      if message_ident.message_type == TMessageType::Exception {
7268        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7269        self.i_prot_mut().read_message_end()?;
7270        return Err(thrift::Error::Application(remote_error))
7271      }
7272      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7273      let result = ApplyDbIdx64LowerboundResult::read_from_in_protocol(self.i_prot_mut())?;
7274      self.i_prot_mut().read_message_end()?;
7275      result.ok_or()
7276    }
7277  }
7278  fn db_idx64_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
7279    (
7280      {
7281        self.increment_sequence_number();
7282        let message_ident = TMessageIdentifier::new("db_idx64_upperbound", TMessageType::Call, self.sequence_number());
7283        let call_args = ApplyDbIdx64UpperboundArgs { code, scope, table, secondary, primary };
7284        self.o_prot_mut().write_message_begin(&message_ident)?;
7285        call_args.write_to_out_protocol(self.o_prot_mut())?;
7286        self.o_prot_mut().write_message_end()?;
7287        self.o_prot_mut().flush()
7288      }
7289    )?;
7290    {
7291      let message_ident = self.i_prot_mut().read_message_begin()?;
7292      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7293      verify_expected_service_call("db_idx64_upperbound", &message_ident.name)?;
7294      if message_ident.message_type == TMessageType::Exception {
7295        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7296        self.i_prot_mut().read_message_end()?;
7297        return Err(thrift::Error::Application(remote_error))
7298      }
7299      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7300      let result = ApplyDbIdx64UpperboundResult::read_from_in_protocol(self.i_prot_mut())?;
7301      self.i_prot_mut().read_message_end()?;
7302      result.ok_or()
7303    }
7304  }
7305  fn db_idx64_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32> {
7306    (
7307      {
7308        self.increment_sequence_number();
7309        let message_ident = TMessageIdentifier::new("db_idx64_end", TMessageType::Call, self.sequence_number());
7310        let call_args = ApplyDbIdx64EndArgs { code, scope, table };
7311        self.o_prot_mut().write_message_begin(&message_ident)?;
7312        call_args.write_to_out_protocol(self.o_prot_mut())?;
7313        self.o_prot_mut().write_message_end()?;
7314        self.o_prot_mut().flush()
7315      }
7316    )?;
7317    {
7318      let message_ident = self.i_prot_mut().read_message_begin()?;
7319      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7320      verify_expected_service_call("db_idx64_end", &message_ident.name)?;
7321      if message_ident.message_type == TMessageType::Exception {
7322        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7323        self.i_prot_mut().read_message_end()?;
7324        return Err(thrift::Error::Application(remote_error))
7325      }
7326      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7327      let result = ApplyDbIdx64EndResult::read_from_in_protocol(self.i_prot_mut())?;
7328      self.i_prot_mut().read_message_end()?;
7329      result.ok_or()
7330    }
7331  }
7332  fn db_idx128_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32> {
7333    (
7334      {
7335        self.increment_sequence_number();
7336        let message_ident = TMessageIdentifier::new("db_idx128_store", TMessageType::Call, self.sequence_number());
7337        let call_args = ApplyDbIdx128StoreArgs { scope, table, payer, id, secondary };
7338        self.o_prot_mut().write_message_begin(&message_ident)?;
7339        call_args.write_to_out_protocol(self.o_prot_mut())?;
7340        self.o_prot_mut().write_message_end()?;
7341        self.o_prot_mut().flush()
7342      }
7343    )?;
7344    {
7345      let message_ident = self.i_prot_mut().read_message_begin()?;
7346      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7347      verify_expected_service_call("db_idx128_store", &message_ident.name)?;
7348      if message_ident.message_type == TMessageType::Exception {
7349        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7350        self.i_prot_mut().read_message_end()?;
7351        return Err(thrift::Error::Application(remote_error))
7352      }
7353      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7354      let result = ApplyDbIdx128StoreResult::read_from_in_protocol(self.i_prot_mut())?;
7355      self.i_prot_mut().read_message_end()?;
7356      result.ok_or()
7357    }
7358  }
7359  fn db_idx128_update(&mut self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()> {
7360    (
7361      {
7362        self.increment_sequence_number();
7363        let message_ident = TMessageIdentifier::new("db_idx128_update", TMessageType::Call, self.sequence_number());
7364        let call_args = ApplyDbIdx128UpdateArgs { iterator, payer, secondary };
7365        self.o_prot_mut().write_message_begin(&message_ident)?;
7366        call_args.write_to_out_protocol(self.o_prot_mut())?;
7367        self.o_prot_mut().write_message_end()?;
7368        self.o_prot_mut().flush()
7369      }
7370    )?;
7371    {
7372      let message_ident = self.i_prot_mut().read_message_begin()?;
7373      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7374      verify_expected_service_call("db_idx128_update", &message_ident.name)?;
7375      if message_ident.message_type == TMessageType::Exception {
7376        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7377        self.i_prot_mut().read_message_end()?;
7378        return Err(thrift::Error::Application(remote_error))
7379      }
7380      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7381      let result = ApplyDbIdx128UpdateResult::read_from_in_protocol(self.i_prot_mut())?;
7382      self.i_prot_mut().read_message_end()?;
7383      result.ok_or()
7384    }
7385  }
7386  fn db_idx128_remove(&mut self, iterator: i32) -> thrift::Result<()> {
7387    (
7388      {
7389        self.increment_sequence_number();
7390        let message_ident = TMessageIdentifier::new("db_idx128_remove", TMessageType::Call, self.sequence_number());
7391        let call_args = ApplyDbIdx128RemoveArgs { iterator };
7392        self.o_prot_mut().write_message_begin(&message_ident)?;
7393        call_args.write_to_out_protocol(self.o_prot_mut())?;
7394        self.o_prot_mut().write_message_end()?;
7395        self.o_prot_mut().flush()
7396      }
7397    )?;
7398    {
7399      let message_ident = self.i_prot_mut().read_message_begin()?;
7400      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7401      verify_expected_service_call("db_idx128_remove", &message_ident.name)?;
7402      if message_ident.message_type == TMessageType::Exception {
7403        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7404        self.i_prot_mut().read_message_end()?;
7405        return Err(thrift::Error::Application(remote_error))
7406      }
7407      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7408      let result = ApplyDbIdx128RemoveResult::read_from_in_protocol(self.i_prot_mut())?;
7409      self.i_prot_mut().read_message_end()?;
7410      result.ok_or()
7411    }
7412  }
7413  fn db_idx128_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7414    (
7415      {
7416        self.increment_sequence_number();
7417        let message_ident = TMessageIdentifier::new("db_idx128_next", TMessageType::Call, self.sequence_number());
7418        let call_args = ApplyDbIdx128NextArgs { iterator };
7419        self.o_prot_mut().write_message_begin(&message_ident)?;
7420        call_args.write_to_out_protocol(self.o_prot_mut())?;
7421        self.o_prot_mut().write_message_end()?;
7422        self.o_prot_mut().flush()
7423      }
7424    )?;
7425    {
7426      let message_ident = self.i_prot_mut().read_message_begin()?;
7427      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7428      verify_expected_service_call("db_idx128_next", &message_ident.name)?;
7429      if message_ident.message_type == TMessageType::Exception {
7430        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7431        self.i_prot_mut().read_message_end()?;
7432        return Err(thrift::Error::Application(remote_error))
7433      }
7434      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7435      let result = ApplyDbIdx128NextResult::read_from_in_protocol(self.i_prot_mut())?;
7436      self.i_prot_mut().read_message_end()?;
7437      result.ok_or()
7438    }
7439  }
7440  fn db_idx128_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7441    (
7442      {
7443        self.increment_sequence_number();
7444        let message_ident = TMessageIdentifier::new("db_idx128_previous", TMessageType::Call, self.sequence_number());
7445        let call_args = ApplyDbIdx128PreviousArgs { iterator };
7446        self.o_prot_mut().write_message_begin(&message_ident)?;
7447        call_args.write_to_out_protocol(self.o_prot_mut())?;
7448        self.o_prot_mut().write_message_end()?;
7449        self.o_prot_mut().flush()
7450      }
7451    )?;
7452    {
7453      let message_ident = self.i_prot_mut().read_message_begin()?;
7454      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7455      verify_expected_service_call("db_idx128_previous", &message_ident.name)?;
7456      if message_ident.message_type == TMessageType::Exception {
7457        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7458        self.i_prot_mut().read_message_end()?;
7459        return Err(thrift::Error::Application(remote_error))
7460      }
7461      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7462      let result = ApplyDbIdx128PreviousResult::read_from_in_protocol(self.i_prot_mut())?;
7463      self.i_prot_mut().read_message_end()?;
7464      result.ok_or()
7465    }
7466  }
7467  fn db_idx128_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn> {
7468    (
7469      {
7470        self.increment_sequence_number();
7471        let message_ident = TMessageIdentifier::new("db_idx128_find_primary", TMessageType::Call, self.sequence_number());
7472        let call_args = ApplyDbIdx128FindPrimaryArgs { code, scope, table, primary };
7473        self.o_prot_mut().write_message_begin(&message_ident)?;
7474        call_args.write_to_out_protocol(self.o_prot_mut())?;
7475        self.o_prot_mut().write_message_end()?;
7476        self.o_prot_mut().flush()
7477      }
7478    )?;
7479    {
7480      let message_ident = self.i_prot_mut().read_message_begin()?;
7481      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7482      verify_expected_service_call("db_idx128_find_primary", &message_ident.name)?;
7483      if message_ident.message_type == TMessageType::Exception {
7484        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7485        self.i_prot_mut().read_message_end()?;
7486        return Err(thrift::Error::Application(remote_error))
7487      }
7488      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7489      let result = ApplyDbIdx128FindPrimaryResult::read_from_in_protocol(self.i_prot_mut())?;
7490      self.i_prot_mut().read_message_end()?;
7491      result.ok_or()
7492    }
7493  }
7494  fn db_idx128_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn> {
7495    (
7496      {
7497        self.increment_sequence_number();
7498        let message_ident = TMessageIdentifier::new("db_idx128_find_secondary", TMessageType::Call, self.sequence_number());
7499        let call_args = ApplyDbIdx128FindSecondaryArgs { code, scope, table, secondary };
7500        self.o_prot_mut().write_message_begin(&message_ident)?;
7501        call_args.write_to_out_protocol(self.o_prot_mut())?;
7502        self.o_prot_mut().write_message_end()?;
7503        self.o_prot_mut().flush()
7504      }
7505    )?;
7506    {
7507      let message_ident = self.i_prot_mut().read_message_begin()?;
7508      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7509      verify_expected_service_call("db_idx128_find_secondary", &message_ident.name)?;
7510      if message_ident.message_type == TMessageType::Exception {
7511        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7512        self.i_prot_mut().read_message_end()?;
7513        return Err(thrift::Error::Application(remote_error))
7514      }
7515      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7516      let result = ApplyDbIdx128FindSecondaryResult::read_from_in_protocol(self.i_prot_mut())?;
7517      self.i_prot_mut().read_message_end()?;
7518      result.ok_or()
7519    }
7520  }
7521  fn db_idx128_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
7522    (
7523      {
7524        self.increment_sequence_number();
7525        let message_ident = TMessageIdentifier::new("db_idx128_lowerbound", TMessageType::Call, self.sequence_number());
7526        let call_args = ApplyDbIdx128LowerboundArgs { code, scope, table, secondary, primary };
7527        self.o_prot_mut().write_message_begin(&message_ident)?;
7528        call_args.write_to_out_protocol(self.o_prot_mut())?;
7529        self.o_prot_mut().write_message_end()?;
7530        self.o_prot_mut().flush()
7531      }
7532    )?;
7533    {
7534      let message_ident = self.i_prot_mut().read_message_begin()?;
7535      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7536      verify_expected_service_call("db_idx128_lowerbound", &message_ident.name)?;
7537      if message_ident.message_type == TMessageType::Exception {
7538        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7539        self.i_prot_mut().read_message_end()?;
7540        return Err(thrift::Error::Application(remote_error))
7541      }
7542      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7543      let result = ApplyDbIdx128LowerboundResult::read_from_in_protocol(self.i_prot_mut())?;
7544      self.i_prot_mut().read_message_end()?;
7545      result.ok_or()
7546    }
7547  }
7548  fn db_idx128_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
7549    (
7550      {
7551        self.increment_sequence_number();
7552        let message_ident = TMessageIdentifier::new("db_idx128_upperbound", TMessageType::Call, self.sequence_number());
7553        let call_args = ApplyDbIdx128UpperboundArgs { code, scope, table, secondary, primary };
7554        self.o_prot_mut().write_message_begin(&message_ident)?;
7555        call_args.write_to_out_protocol(self.o_prot_mut())?;
7556        self.o_prot_mut().write_message_end()?;
7557        self.o_prot_mut().flush()
7558      }
7559    )?;
7560    {
7561      let message_ident = self.i_prot_mut().read_message_begin()?;
7562      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7563      verify_expected_service_call("db_idx128_upperbound", &message_ident.name)?;
7564      if message_ident.message_type == TMessageType::Exception {
7565        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7566        self.i_prot_mut().read_message_end()?;
7567        return Err(thrift::Error::Application(remote_error))
7568      }
7569      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7570      let result = ApplyDbIdx128UpperboundResult::read_from_in_protocol(self.i_prot_mut())?;
7571      self.i_prot_mut().read_message_end()?;
7572      result.ok_or()
7573    }
7574  }
7575  fn db_idx128_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32> {
7576    (
7577      {
7578        self.increment_sequence_number();
7579        let message_ident = TMessageIdentifier::new("db_idx128_end", TMessageType::Call, self.sequence_number());
7580        let call_args = ApplyDbIdx128EndArgs { code, scope, table };
7581        self.o_prot_mut().write_message_begin(&message_ident)?;
7582        call_args.write_to_out_protocol(self.o_prot_mut())?;
7583        self.o_prot_mut().write_message_end()?;
7584        self.o_prot_mut().flush()
7585      }
7586    )?;
7587    {
7588      let message_ident = self.i_prot_mut().read_message_begin()?;
7589      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7590      verify_expected_service_call("db_idx128_end", &message_ident.name)?;
7591      if message_ident.message_type == TMessageType::Exception {
7592        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7593        self.i_prot_mut().read_message_end()?;
7594        return Err(thrift::Error::Application(remote_error))
7595      }
7596      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7597      let result = ApplyDbIdx128EndResult::read_from_in_protocol(self.i_prot_mut())?;
7598      self.i_prot_mut().read_message_end()?;
7599      result.ok_or()
7600    }
7601  }
7602  fn db_idx256_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, data: Vec<u8>) -> thrift::Result<i32> {
7603    (
7604      {
7605        self.increment_sequence_number();
7606        let message_ident = TMessageIdentifier::new("db_idx256_store", TMessageType::Call, self.sequence_number());
7607        let call_args = ApplyDbIdx256StoreArgs { scope, table, payer, id, data };
7608        self.o_prot_mut().write_message_begin(&message_ident)?;
7609        call_args.write_to_out_protocol(self.o_prot_mut())?;
7610        self.o_prot_mut().write_message_end()?;
7611        self.o_prot_mut().flush()
7612      }
7613    )?;
7614    {
7615      let message_ident = self.i_prot_mut().read_message_begin()?;
7616      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7617      verify_expected_service_call("db_idx256_store", &message_ident.name)?;
7618      if message_ident.message_type == TMessageType::Exception {
7619        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7620        self.i_prot_mut().read_message_end()?;
7621        return Err(thrift::Error::Application(remote_error))
7622      }
7623      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7624      let result = ApplyDbIdx256StoreResult::read_from_in_protocol(self.i_prot_mut())?;
7625      self.i_prot_mut().read_message_end()?;
7626      result.ok_or()
7627    }
7628  }
7629  fn db_idx256_update(&mut self, iterator: i32, payer: Uint64, data: Vec<u8>) -> thrift::Result<()> {
7630    (
7631      {
7632        self.increment_sequence_number();
7633        let message_ident = TMessageIdentifier::new("db_idx256_update", TMessageType::Call, self.sequence_number());
7634        let call_args = ApplyDbIdx256UpdateArgs { iterator, payer, data };
7635        self.o_prot_mut().write_message_begin(&message_ident)?;
7636        call_args.write_to_out_protocol(self.o_prot_mut())?;
7637        self.o_prot_mut().write_message_end()?;
7638        self.o_prot_mut().flush()
7639      }
7640    )?;
7641    {
7642      let message_ident = self.i_prot_mut().read_message_begin()?;
7643      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7644      verify_expected_service_call("db_idx256_update", &message_ident.name)?;
7645      if message_ident.message_type == TMessageType::Exception {
7646        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7647        self.i_prot_mut().read_message_end()?;
7648        return Err(thrift::Error::Application(remote_error))
7649      }
7650      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7651      let result = ApplyDbIdx256UpdateResult::read_from_in_protocol(self.i_prot_mut())?;
7652      self.i_prot_mut().read_message_end()?;
7653      result.ok_or()
7654    }
7655  }
7656  fn db_idx256_remove(&mut self, iterator: i32) -> thrift::Result<()> {
7657    (
7658      {
7659        self.increment_sequence_number();
7660        let message_ident = TMessageIdentifier::new("db_idx256_remove", TMessageType::Call, self.sequence_number());
7661        let call_args = ApplyDbIdx256RemoveArgs { iterator };
7662        self.o_prot_mut().write_message_begin(&message_ident)?;
7663        call_args.write_to_out_protocol(self.o_prot_mut())?;
7664        self.o_prot_mut().write_message_end()?;
7665        self.o_prot_mut().flush()
7666      }
7667    )?;
7668    {
7669      let message_ident = self.i_prot_mut().read_message_begin()?;
7670      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7671      verify_expected_service_call("db_idx256_remove", &message_ident.name)?;
7672      if message_ident.message_type == TMessageType::Exception {
7673        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7674        self.i_prot_mut().read_message_end()?;
7675        return Err(thrift::Error::Application(remote_error))
7676      }
7677      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7678      let result = ApplyDbIdx256RemoveResult::read_from_in_protocol(self.i_prot_mut())?;
7679      self.i_prot_mut().read_message_end()?;
7680      result.ok_or()
7681    }
7682  }
7683  fn db_idx256_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7684    (
7685      {
7686        self.increment_sequence_number();
7687        let message_ident = TMessageIdentifier::new("db_idx256_next", TMessageType::Call, self.sequence_number());
7688        let call_args = ApplyDbIdx256NextArgs { iterator };
7689        self.o_prot_mut().write_message_begin(&message_ident)?;
7690        call_args.write_to_out_protocol(self.o_prot_mut())?;
7691        self.o_prot_mut().write_message_end()?;
7692        self.o_prot_mut().flush()
7693      }
7694    )?;
7695    {
7696      let message_ident = self.i_prot_mut().read_message_begin()?;
7697      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7698      verify_expected_service_call("db_idx256_next", &message_ident.name)?;
7699      if message_ident.message_type == TMessageType::Exception {
7700        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7701        self.i_prot_mut().read_message_end()?;
7702        return Err(thrift::Error::Application(remote_error))
7703      }
7704      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7705      let result = ApplyDbIdx256NextResult::read_from_in_protocol(self.i_prot_mut())?;
7706      self.i_prot_mut().read_message_end()?;
7707      result.ok_or()
7708    }
7709  }
7710  fn db_idx256_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7711    (
7712      {
7713        self.increment_sequence_number();
7714        let message_ident = TMessageIdentifier::new("db_idx256_previous", TMessageType::Call, self.sequence_number());
7715        let call_args = ApplyDbIdx256PreviousArgs { iterator };
7716        self.o_prot_mut().write_message_begin(&message_ident)?;
7717        call_args.write_to_out_protocol(self.o_prot_mut())?;
7718        self.o_prot_mut().write_message_end()?;
7719        self.o_prot_mut().flush()
7720      }
7721    )?;
7722    {
7723      let message_ident = self.i_prot_mut().read_message_begin()?;
7724      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7725      verify_expected_service_call("db_idx256_previous", &message_ident.name)?;
7726      if message_ident.message_type == TMessageType::Exception {
7727        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7728        self.i_prot_mut().read_message_end()?;
7729        return Err(thrift::Error::Application(remote_error))
7730      }
7731      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7732      let result = ApplyDbIdx256PreviousResult::read_from_in_protocol(self.i_prot_mut())?;
7733      self.i_prot_mut().read_message_end()?;
7734      result.ok_or()
7735    }
7736  }
7737  fn db_idx256_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn> {
7738    (
7739      {
7740        self.increment_sequence_number();
7741        let message_ident = TMessageIdentifier::new("db_idx256_find_primary", TMessageType::Call, self.sequence_number());
7742        let call_args = ApplyDbIdx256FindPrimaryArgs { code, scope, table, primary };
7743        self.o_prot_mut().write_message_begin(&message_ident)?;
7744        call_args.write_to_out_protocol(self.o_prot_mut())?;
7745        self.o_prot_mut().write_message_end()?;
7746        self.o_prot_mut().flush()
7747      }
7748    )?;
7749    {
7750      let message_ident = self.i_prot_mut().read_message_begin()?;
7751      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7752      verify_expected_service_call("db_idx256_find_primary", &message_ident.name)?;
7753      if message_ident.message_type == TMessageType::Exception {
7754        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7755        self.i_prot_mut().read_message_end()?;
7756        return Err(thrift::Error::Application(remote_error))
7757      }
7758      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7759      let result = ApplyDbIdx256FindPrimaryResult::read_from_in_protocol(self.i_prot_mut())?;
7760      self.i_prot_mut().read_message_end()?;
7761      result.ok_or()
7762    }
7763  }
7764  fn db_idx256_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>) -> thrift::Result<FindSecondaryReturn> {
7765    (
7766      {
7767        self.increment_sequence_number();
7768        let message_ident = TMessageIdentifier::new("db_idx256_find_secondary", TMessageType::Call, self.sequence_number());
7769        let call_args = ApplyDbIdx256FindSecondaryArgs { code, scope, table, data };
7770        self.o_prot_mut().write_message_begin(&message_ident)?;
7771        call_args.write_to_out_protocol(self.o_prot_mut())?;
7772        self.o_prot_mut().write_message_end()?;
7773        self.o_prot_mut().flush()
7774      }
7775    )?;
7776    {
7777      let message_ident = self.i_prot_mut().read_message_begin()?;
7778      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7779      verify_expected_service_call("db_idx256_find_secondary", &message_ident.name)?;
7780      if message_ident.message_type == TMessageType::Exception {
7781        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7782        self.i_prot_mut().read_message_end()?;
7783        return Err(thrift::Error::Application(remote_error))
7784      }
7785      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7786      let result = ApplyDbIdx256FindSecondaryResult::read_from_in_protocol(self.i_prot_mut())?;
7787      self.i_prot_mut().read_message_end()?;
7788      result.ok_or()
7789    }
7790  }
7791  fn db_idx256_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
7792    (
7793      {
7794        self.increment_sequence_number();
7795        let message_ident = TMessageIdentifier::new("db_idx256_lowerbound", TMessageType::Call, self.sequence_number());
7796        let call_args = ApplyDbIdx256LowerboundArgs { code, scope, table, data, primary };
7797        self.o_prot_mut().write_message_begin(&message_ident)?;
7798        call_args.write_to_out_protocol(self.o_prot_mut())?;
7799        self.o_prot_mut().write_message_end()?;
7800        self.o_prot_mut().flush()
7801      }
7802    )?;
7803    {
7804      let message_ident = self.i_prot_mut().read_message_begin()?;
7805      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7806      verify_expected_service_call("db_idx256_lowerbound", &message_ident.name)?;
7807      if message_ident.message_type == TMessageType::Exception {
7808        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7809        self.i_prot_mut().read_message_end()?;
7810        return Err(thrift::Error::Application(remote_error))
7811      }
7812      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7813      let result = ApplyDbIdx256LowerboundResult::read_from_in_protocol(self.i_prot_mut())?;
7814      self.i_prot_mut().read_message_end()?;
7815      result.ok_or()
7816    }
7817  }
7818  fn db_idx256_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
7819    (
7820      {
7821        self.increment_sequence_number();
7822        let message_ident = TMessageIdentifier::new("db_idx256_upperbound", TMessageType::Call, self.sequence_number());
7823        let call_args = ApplyDbIdx256UpperboundArgs { code, scope, table, data, primary };
7824        self.o_prot_mut().write_message_begin(&message_ident)?;
7825        call_args.write_to_out_protocol(self.o_prot_mut())?;
7826        self.o_prot_mut().write_message_end()?;
7827        self.o_prot_mut().flush()
7828      }
7829    )?;
7830    {
7831      let message_ident = self.i_prot_mut().read_message_begin()?;
7832      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7833      verify_expected_service_call("db_idx256_upperbound", &message_ident.name)?;
7834      if message_ident.message_type == TMessageType::Exception {
7835        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7836        self.i_prot_mut().read_message_end()?;
7837        return Err(thrift::Error::Application(remote_error))
7838      }
7839      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7840      let result = ApplyDbIdx256UpperboundResult::read_from_in_protocol(self.i_prot_mut())?;
7841      self.i_prot_mut().read_message_end()?;
7842      result.ok_or()
7843    }
7844  }
7845  fn db_idx256_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32> {
7846    (
7847      {
7848        self.increment_sequence_number();
7849        let message_ident = TMessageIdentifier::new("db_idx256_end", TMessageType::Call, self.sequence_number());
7850        let call_args = ApplyDbIdx256EndArgs { code, scope, table };
7851        self.o_prot_mut().write_message_begin(&message_ident)?;
7852        call_args.write_to_out_protocol(self.o_prot_mut())?;
7853        self.o_prot_mut().write_message_end()?;
7854        self.o_prot_mut().flush()
7855      }
7856    )?;
7857    {
7858      let message_ident = self.i_prot_mut().read_message_begin()?;
7859      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7860      verify_expected_service_call("db_idx256_end", &message_ident.name)?;
7861      if message_ident.message_type == TMessageType::Exception {
7862        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7863        self.i_prot_mut().read_message_end()?;
7864        return Err(thrift::Error::Application(remote_error))
7865      }
7866      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7867      let result = ApplyDbIdx256EndResult::read_from_in_protocol(self.i_prot_mut())?;
7868      self.i_prot_mut().read_message_end()?;
7869      result.ok_or()
7870    }
7871  }
7872  fn db_idx_double_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32> {
7873    (
7874      {
7875        self.increment_sequence_number();
7876        let message_ident = TMessageIdentifier::new("db_idx_double_store", TMessageType::Call, self.sequence_number());
7877        let call_args = ApplyDbIdxDoubleStoreArgs { scope, table, payer, id, secondary };
7878        self.o_prot_mut().write_message_begin(&message_ident)?;
7879        call_args.write_to_out_protocol(self.o_prot_mut())?;
7880        self.o_prot_mut().write_message_end()?;
7881        self.o_prot_mut().flush()
7882      }
7883    )?;
7884    {
7885      let message_ident = self.i_prot_mut().read_message_begin()?;
7886      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7887      verify_expected_service_call("db_idx_double_store", &message_ident.name)?;
7888      if message_ident.message_type == TMessageType::Exception {
7889        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7890        self.i_prot_mut().read_message_end()?;
7891        return Err(thrift::Error::Application(remote_error))
7892      }
7893      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7894      let result = ApplyDbIdxDoubleStoreResult::read_from_in_protocol(self.i_prot_mut())?;
7895      self.i_prot_mut().read_message_end()?;
7896      result.ok_or()
7897    }
7898  }
7899  fn db_idx_double_update(&mut self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()> {
7900    (
7901      {
7902        self.increment_sequence_number();
7903        let message_ident = TMessageIdentifier::new("db_idx_double_update", TMessageType::Call, self.sequence_number());
7904        let call_args = ApplyDbIdxDoubleUpdateArgs { iterator, payer, secondary };
7905        self.o_prot_mut().write_message_begin(&message_ident)?;
7906        call_args.write_to_out_protocol(self.o_prot_mut())?;
7907        self.o_prot_mut().write_message_end()?;
7908        self.o_prot_mut().flush()
7909      }
7910    )?;
7911    {
7912      let message_ident = self.i_prot_mut().read_message_begin()?;
7913      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7914      verify_expected_service_call("db_idx_double_update", &message_ident.name)?;
7915      if message_ident.message_type == TMessageType::Exception {
7916        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7917        self.i_prot_mut().read_message_end()?;
7918        return Err(thrift::Error::Application(remote_error))
7919      }
7920      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7921      let result = ApplyDbIdxDoubleUpdateResult::read_from_in_protocol(self.i_prot_mut())?;
7922      self.i_prot_mut().read_message_end()?;
7923      result.ok_or()
7924    }
7925  }
7926  fn db_idx_double_remove(&mut self, iterator: i32) -> thrift::Result<()> {
7927    (
7928      {
7929        self.increment_sequence_number();
7930        let message_ident = TMessageIdentifier::new("db_idx_double_remove", TMessageType::Call, self.sequence_number());
7931        let call_args = ApplyDbIdxDoubleRemoveArgs { iterator };
7932        self.o_prot_mut().write_message_begin(&message_ident)?;
7933        call_args.write_to_out_protocol(self.o_prot_mut())?;
7934        self.o_prot_mut().write_message_end()?;
7935        self.o_prot_mut().flush()
7936      }
7937    )?;
7938    {
7939      let message_ident = self.i_prot_mut().read_message_begin()?;
7940      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7941      verify_expected_service_call("db_idx_double_remove", &message_ident.name)?;
7942      if message_ident.message_type == TMessageType::Exception {
7943        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7944        self.i_prot_mut().read_message_end()?;
7945        return Err(thrift::Error::Application(remote_error))
7946      }
7947      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7948      let result = ApplyDbIdxDoubleRemoveResult::read_from_in_protocol(self.i_prot_mut())?;
7949      self.i_prot_mut().read_message_end()?;
7950      result.ok_or()
7951    }
7952  }
7953  fn db_idx_double_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7954    (
7955      {
7956        self.increment_sequence_number();
7957        let message_ident = TMessageIdentifier::new("db_idx_double_next", TMessageType::Call, self.sequence_number());
7958        let call_args = ApplyDbIdxDoubleNextArgs { iterator };
7959        self.o_prot_mut().write_message_begin(&message_ident)?;
7960        call_args.write_to_out_protocol(self.o_prot_mut())?;
7961        self.o_prot_mut().write_message_end()?;
7962        self.o_prot_mut().flush()
7963      }
7964    )?;
7965    {
7966      let message_ident = self.i_prot_mut().read_message_begin()?;
7967      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7968      verify_expected_service_call("db_idx_double_next", &message_ident.name)?;
7969      if message_ident.message_type == TMessageType::Exception {
7970        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7971        self.i_prot_mut().read_message_end()?;
7972        return Err(thrift::Error::Application(remote_error))
7973      }
7974      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
7975      let result = ApplyDbIdxDoubleNextResult::read_from_in_protocol(self.i_prot_mut())?;
7976      self.i_prot_mut().read_message_end()?;
7977      result.ok_or()
7978    }
7979  }
7980  fn db_idx_double_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
7981    (
7982      {
7983        self.increment_sequence_number();
7984        let message_ident = TMessageIdentifier::new("db_idx_double_previous", TMessageType::Call, self.sequence_number());
7985        let call_args = ApplyDbIdxDoublePreviousArgs { iterator };
7986        self.o_prot_mut().write_message_begin(&message_ident)?;
7987        call_args.write_to_out_protocol(self.o_prot_mut())?;
7988        self.o_prot_mut().write_message_end()?;
7989        self.o_prot_mut().flush()
7990      }
7991    )?;
7992    {
7993      let message_ident = self.i_prot_mut().read_message_begin()?;
7994      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
7995      verify_expected_service_call("db_idx_double_previous", &message_ident.name)?;
7996      if message_ident.message_type == TMessageType::Exception {
7997        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
7998        self.i_prot_mut().read_message_end()?;
7999        return Err(thrift::Error::Application(remote_error))
8000      }
8001      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8002      let result = ApplyDbIdxDoublePreviousResult::read_from_in_protocol(self.i_prot_mut())?;
8003      self.i_prot_mut().read_message_end()?;
8004      result.ok_or()
8005    }
8006  }
8007  fn db_idx_double_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn> {
8008    (
8009      {
8010        self.increment_sequence_number();
8011        let message_ident = TMessageIdentifier::new("db_idx_double_find_primary", TMessageType::Call, self.sequence_number());
8012        let call_args = ApplyDbIdxDoubleFindPrimaryArgs { code, scope, table, primary };
8013        self.o_prot_mut().write_message_begin(&message_ident)?;
8014        call_args.write_to_out_protocol(self.o_prot_mut())?;
8015        self.o_prot_mut().write_message_end()?;
8016        self.o_prot_mut().flush()
8017      }
8018    )?;
8019    {
8020      let message_ident = self.i_prot_mut().read_message_begin()?;
8021      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8022      verify_expected_service_call("db_idx_double_find_primary", &message_ident.name)?;
8023      if message_ident.message_type == TMessageType::Exception {
8024        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8025        self.i_prot_mut().read_message_end()?;
8026        return Err(thrift::Error::Application(remote_error))
8027      }
8028      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8029      let result = ApplyDbIdxDoubleFindPrimaryResult::read_from_in_protocol(self.i_prot_mut())?;
8030      self.i_prot_mut().read_message_end()?;
8031      result.ok_or()
8032    }
8033  }
8034  fn db_idx_double_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn> {
8035    (
8036      {
8037        self.increment_sequence_number();
8038        let message_ident = TMessageIdentifier::new("db_idx_double_find_secondary", TMessageType::Call, self.sequence_number());
8039        let call_args = ApplyDbIdxDoubleFindSecondaryArgs { code, scope, table, secondary };
8040        self.o_prot_mut().write_message_begin(&message_ident)?;
8041        call_args.write_to_out_protocol(self.o_prot_mut())?;
8042        self.o_prot_mut().write_message_end()?;
8043        self.o_prot_mut().flush()
8044      }
8045    )?;
8046    {
8047      let message_ident = self.i_prot_mut().read_message_begin()?;
8048      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8049      verify_expected_service_call("db_idx_double_find_secondary", &message_ident.name)?;
8050      if message_ident.message_type == TMessageType::Exception {
8051        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8052        self.i_prot_mut().read_message_end()?;
8053        return Err(thrift::Error::Application(remote_error))
8054      }
8055      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8056      let result = ApplyDbIdxDoubleFindSecondaryResult::read_from_in_protocol(self.i_prot_mut())?;
8057      self.i_prot_mut().read_message_end()?;
8058      result.ok_or()
8059    }
8060  }
8061  fn db_idx_double_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
8062    (
8063      {
8064        self.increment_sequence_number();
8065        let message_ident = TMessageIdentifier::new("db_idx_double_lowerbound", TMessageType::Call, self.sequence_number());
8066        let call_args = ApplyDbIdxDoubleLowerboundArgs { code, scope, table, secondary, primary };
8067        self.o_prot_mut().write_message_begin(&message_ident)?;
8068        call_args.write_to_out_protocol(self.o_prot_mut())?;
8069        self.o_prot_mut().write_message_end()?;
8070        self.o_prot_mut().flush()
8071      }
8072    )?;
8073    {
8074      let message_ident = self.i_prot_mut().read_message_begin()?;
8075      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8076      verify_expected_service_call("db_idx_double_lowerbound", &message_ident.name)?;
8077      if message_ident.message_type == TMessageType::Exception {
8078        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8079        self.i_prot_mut().read_message_end()?;
8080        return Err(thrift::Error::Application(remote_error))
8081      }
8082      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8083      let result = ApplyDbIdxDoubleLowerboundResult::read_from_in_protocol(self.i_prot_mut())?;
8084      self.i_prot_mut().read_message_end()?;
8085      result.ok_or()
8086    }
8087  }
8088  fn db_idx_double_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
8089    (
8090      {
8091        self.increment_sequence_number();
8092        let message_ident = TMessageIdentifier::new("db_idx_double_upperbound", TMessageType::Call, self.sequence_number());
8093        let call_args = ApplyDbIdxDoubleUpperboundArgs { code, scope, table, secondary, primary };
8094        self.o_prot_mut().write_message_begin(&message_ident)?;
8095        call_args.write_to_out_protocol(self.o_prot_mut())?;
8096        self.o_prot_mut().write_message_end()?;
8097        self.o_prot_mut().flush()
8098      }
8099    )?;
8100    {
8101      let message_ident = self.i_prot_mut().read_message_begin()?;
8102      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8103      verify_expected_service_call("db_idx_double_upperbound", &message_ident.name)?;
8104      if message_ident.message_type == TMessageType::Exception {
8105        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8106        self.i_prot_mut().read_message_end()?;
8107        return Err(thrift::Error::Application(remote_error))
8108      }
8109      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8110      let result = ApplyDbIdxDoubleUpperboundResult::read_from_in_protocol(self.i_prot_mut())?;
8111      self.i_prot_mut().read_message_end()?;
8112      result.ok_or()
8113    }
8114  }
8115  fn db_idx_double_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32> {
8116    (
8117      {
8118        self.increment_sequence_number();
8119        let message_ident = TMessageIdentifier::new("db_idx_double_end", TMessageType::Call, self.sequence_number());
8120        let call_args = ApplyDbIdxDoubleEndArgs { code, scope, table };
8121        self.o_prot_mut().write_message_begin(&message_ident)?;
8122        call_args.write_to_out_protocol(self.o_prot_mut())?;
8123        self.o_prot_mut().write_message_end()?;
8124        self.o_prot_mut().flush()
8125      }
8126    )?;
8127    {
8128      let message_ident = self.i_prot_mut().read_message_begin()?;
8129      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8130      verify_expected_service_call("db_idx_double_end", &message_ident.name)?;
8131      if message_ident.message_type == TMessageType::Exception {
8132        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8133        self.i_prot_mut().read_message_end()?;
8134        return Err(thrift::Error::Application(remote_error))
8135      }
8136      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8137      let result = ApplyDbIdxDoubleEndResult::read_from_in_protocol(self.i_prot_mut())?;
8138      self.i_prot_mut().read_message_end()?;
8139      result.ok_or()
8140    }
8141  }
8142  fn db_idx_long_double_store(&mut self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32> {
8143    (
8144      {
8145        self.increment_sequence_number();
8146        let message_ident = TMessageIdentifier::new("db_idx_long_double_store", TMessageType::Call, self.sequence_number());
8147        let call_args = ApplyDbIdxLongDoubleStoreArgs { scope, table, payer, id, secondary };
8148        self.o_prot_mut().write_message_begin(&message_ident)?;
8149        call_args.write_to_out_protocol(self.o_prot_mut())?;
8150        self.o_prot_mut().write_message_end()?;
8151        self.o_prot_mut().flush()
8152      }
8153    )?;
8154    {
8155      let message_ident = self.i_prot_mut().read_message_begin()?;
8156      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8157      verify_expected_service_call("db_idx_long_double_store", &message_ident.name)?;
8158      if message_ident.message_type == TMessageType::Exception {
8159        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8160        self.i_prot_mut().read_message_end()?;
8161        return Err(thrift::Error::Application(remote_error))
8162      }
8163      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8164      let result = ApplyDbIdxLongDoubleStoreResult::read_from_in_protocol(self.i_prot_mut())?;
8165      self.i_prot_mut().read_message_end()?;
8166      result.ok_or()
8167    }
8168  }
8169  fn db_idx_long_double_update(&mut self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()> {
8170    (
8171      {
8172        self.increment_sequence_number();
8173        let message_ident = TMessageIdentifier::new("db_idx_long_double_update", TMessageType::Call, self.sequence_number());
8174        let call_args = ApplyDbIdxLongDoubleUpdateArgs { iterator, payer, secondary };
8175        self.o_prot_mut().write_message_begin(&message_ident)?;
8176        call_args.write_to_out_protocol(self.o_prot_mut())?;
8177        self.o_prot_mut().write_message_end()?;
8178        self.o_prot_mut().flush()
8179      }
8180    )?;
8181    {
8182      let message_ident = self.i_prot_mut().read_message_begin()?;
8183      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8184      verify_expected_service_call("db_idx_long_double_update", &message_ident.name)?;
8185      if message_ident.message_type == TMessageType::Exception {
8186        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8187        self.i_prot_mut().read_message_end()?;
8188        return Err(thrift::Error::Application(remote_error))
8189      }
8190      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8191      let result = ApplyDbIdxLongDoubleUpdateResult::read_from_in_protocol(self.i_prot_mut())?;
8192      self.i_prot_mut().read_message_end()?;
8193      result.ok_or()
8194    }
8195  }
8196  fn db_idx_long_double_remove(&mut self, iterator: i32) -> thrift::Result<()> {
8197    (
8198      {
8199        self.increment_sequence_number();
8200        let message_ident = TMessageIdentifier::new("db_idx_long_double_remove", TMessageType::Call, self.sequence_number());
8201        let call_args = ApplyDbIdxLongDoubleRemoveArgs { iterator };
8202        self.o_prot_mut().write_message_begin(&message_ident)?;
8203        call_args.write_to_out_protocol(self.o_prot_mut())?;
8204        self.o_prot_mut().write_message_end()?;
8205        self.o_prot_mut().flush()
8206      }
8207    )?;
8208    {
8209      let message_ident = self.i_prot_mut().read_message_begin()?;
8210      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8211      verify_expected_service_call("db_idx_long_double_remove", &message_ident.name)?;
8212      if message_ident.message_type == TMessageType::Exception {
8213        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8214        self.i_prot_mut().read_message_end()?;
8215        return Err(thrift::Error::Application(remote_error))
8216      }
8217      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8218      let result = ApplyDbIdxLongDoubleRemoveResult::read_from_in_protocol(self.i_prot_mut())?;
8219      self.i_prot_mut().read_message_end()?;
8220      result.ok_or()
8221    }
8222  }
8223  fn db_idx_long_double_next(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
8224    (
8225      {
8226        self.increment_sequence_number();
8227        let message_ident = TMessageIdentifier::new("db_idx_long_double_next", TMessageType::Call, self.sequence_number());
8228        let call_args = ApplyDbIdxLongDoubleNextArgs { iterator };
8229        self.o_prot_mut().write_message_begin(&message_ident)?;
8230        call_args.write_to_out_protocol(self.o_prot_mut())?;
8231        self.o_prot_mut().write_message_end()?;
8232        self.o_prot_mut().flush()
8233      }
8234    )?;
8235    {
8236      let message_ident = self.i_prot_mut().read_message_begin()?;
8237      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8238      verify_expected_service_call("db_idx_long_double_next", &message_ident.name)?;
8239      if message_ident.message_type == TMessageType::Exception {
8240        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8241        self.i_prot_mut().read_message_end()?;
8242        return Err(thrift::Error::Application(remote_error))
8243      }
8244      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8245      let result = ApplyDbIdxLongDoubleNextResult::read_from_in_protocol(self.i_prot_mut())?;
8246      self.i_prot_mut().read_message_end()?;
8247      result.ok_or()
8248    }
8249  }
8250  fn db_idx_long_double_previous(&mut self, iterator: i32) -> thrift::Result<NextPreviousReturn> {
8251    (
8252      {
8253        self.increment_sequence_number();
8254        let message_ident = TMessageIdentifier::new("db_idx_long_double_previous", TMessageType::Call, self.sequence_number());
8255        let call_args = ApplyDbIdxLongDoublePreviousArgs { iterator };
8256        self.o_prot_mut().write_message_begin(&message_ident)?;
8257        call_args.write_to_out_protocol(self.o_prot_mut())?;
8258        self.o_prot_mut().write_message_end()?;
8259        self.o_prot_mut().flush()
8260      }
8261    )?;
8262    {
8263      let message_ident = self.i_prot_mut().read_message_begin()?;
8264      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8265      verify_expected_service_call("db_idx_long_double_previous", &message_ident.name)?;
8266      if message_ident.message_type == TMessageType::Exception {
8267        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8268        self.i_prot_mut().read_message_end()?;
8269        return Err(thrift::Error::Application(remote_error))
8270      }
8271      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8272      let result = ApplyDbIdxLongDoublePreviousResult::read_from_in_protocol(self.i_prot_mut())?;
8273      self.i_prot_mut().read_message_end()?;
8274      result.ok_or()
8275    }
8276  }
8277  fn db_idx_long_double_find_primary(&mut self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn> {
8278    (
8279      {
8280        self.increment_sequence_number();
8281        let message_ident = TMessageIdentifier::new("db_idx_long_double_find_primary", TMessageType::Call, self.sequence_number());
8282        let call_args = ApplyDbIdxLongDoubleFindPrimaryArgs { code, scope, table, primary };
8283        self.o_prot_mut().write_message_begin(&message_ident)?;
8284        call_args.write_to_out_protocol(self.o_prot_mut())?;
8285        self.o_prot_mut().write_message_end()?;
8286        self.o_prot_mut().flush()
8287      }
8288    )?;
8289    {
8290      let message_ident = self.i_prot_mut().read_message_begin()?;
8291      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8292      verify_expected_service_call("db_idx_long_double_find_primary", &message_ident.name)?;
8293      if message_ident.message_type == TMessageType::Exception {
8294        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8295        self.i_prot_mut().read_message_end()?;
8296        return Err(thrift::Error::Application(remote_error))
8297      }
8298      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8299      let result = ApplyDbIdxLongDoubleFindPrimaryResult::read_from_in_protocol(self.i_prot_mut())?;
8300      self.i_prot_mut().read_message_end()?;
8301      result.ok_or()
8302    }
8303  }
8304  fn db_idx_long_double_find_secondary(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn> {
8305    (
8306      {
8307        self.increment_sequence_number();
8308        let message_ident = TMessageIdentifier::new("db_idx_long_double_find_secondary", TMessageType::Call, self.sequence_number());
8309        let call_args = ApplyDbIdxLongDoubleFindSecondaryArgs { code, scope, table, secondary };
8310        self.o_prot_mut().write_message_begin(&message_ident)?;
8311        call_args.write_to_out_protocol(self.o_prot_mut())?;
8312        self.o_prot_mut().write_message_end()?;
8313        self.o_prot_mut().flush()
8314      }
8315    )?;
8316    {
8317      let message_ident = self.i_prot_mut().read_message_begin()?;
8318      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8319      verify_expected_service_call("db_idx_long_double_find_secondary", &message_ident.name)?;
8320      if message_ident.message_type == TMessageType::Exception {
8321        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8322        self.i_prot_mut().read_message_end()?;
8323        return Err(thrift::Error::Application(remote_error))
8324      }
8325      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8326      let result = ApplyDbIdxLongDoubleFindSecondaryResult::read_from_in_protocol(self.i_prot_mut())?;
8327      self.i_prot_mut().read_message_end()?;
8328      result.ok_or()
8329    }
8330  }
8331  fn db_idx_long_double_lowerbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
8332    (
8333      {
8334        self.increment_sequence_number();
8335        let message_ident = TMessageIdentifier::new("db_idx_long_double_lowerbound", TMessageType::Call, self.sequence_number());
8336        let call_args = ApplyDbIdxLongDoubleLowerboundArgs { code, scope, table, secondary, primary };
8337        self.o_prot_mut().write_message_begin(&message_ident)?;
8338        call_args.write_to_out_protocol(self.o_prot_mut())?;
8339        self.o_prot_mut().write_message_end()?;
8340        self.o_prot_mut().flush()
8341      }
8342    )?;
8343    {
8344      let message_ident = self.i_prot_mut().read_message_begin()?;
8345      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8346      verify_expected_service_call("db_idx_long_double_lowerbound", &message_ident.name)?;
8347      if message_ident.message_type == TMessageType::Exception {
8348        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8349        self.i_prot_mut().read_message_end()?;
8350        return Err(thrift::Error::Application(remote_error))
8351      }
8352      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8353      let result = ApplyDbIdxLongDoubleLowerboundResult::read_from_in_protocol(self.i_prot_mut())?;
8354      self.i_prot_mut().read_message_end()?;
8355      result.ok_or()
8356    }
8357  }
8358  fn db_idx_long_double_upperbound(&mut self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn> {
8359    (
8360      {
8361        self.increment_sequence_number();
8362        let message_ident = TMessageIdentifier::new("db_idx_long_double_upperbound", TMessageType::Call, self.sequence_number());
8363        let call_args = ApplyDbIdxLongDoubleUpperboundArgs { code, scope, table, secondary, primary };
8364        self.o_prot_mut().write_message_begin(&message_ident)?;
8365        call_args.write_to_out_protocol(self.o_prot_mut())?;
8366        self.o_prot_mut().write_message_end()?;
8367        self.o_prot_mut().flush()
8368      }
8369    )?;
8370    {
8371      let message_ident = self.i_prot_mut().read_message_begin()?;
8372      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8373      verify_expected_service_call("db_idx_long_double_upperbound", &message_ident.name)?;
8374      if message_ident.message_type == TMessageType::Exception {
8375        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8376        self.i_prot_mut().read_message_end()?;
8377        return Err(thrift::Error::Application(remote_error))
8378      }
8379      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8380      let result = ApplyDbIdxLongDoubleUpperboundResult::read_from_in_protocol(self.i_prot_mut())?;
8381      self.i_prot_mut().read_message_end()?;
8382      result.ok_or()
8383    }
8384  }
8385  fn db_idx_long_double_end(&mut self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32> {
8386    (
8387      {
8388        self.increment_sequence_number();
8389        let message_ident = TMessageIdentifier::new("db_idx_long_double_end", TMessageType::Call, self.sequence_number());
8390        let call_args = ApplyDbIdxLongDoubleEndArgs { code, scope, table };
8391        self.o_prot_mut().write_message_begin(&message_ident)?;
8392        call_args.write_to_out_protocol(self.o_prot_mut())?;
8393        self.o_prot_mut().write_message_end()?;
8394        self.o_prot_mut().flush()
8395      }
8396    )?;
8397    {
8398      let message_ident = self.i_prot_mut().read_message_begin()?;
8399      verify_expected_sequence_number(self.sequence_number(), message_ident.sequence_number)?;
8400      verify_expected_service_call("db_idx_long_double_end", &message_ident.name)?;
8401      if message_ident.message_type == TMessageType::Exception {
8402        let remote_error = thrift::Error::read_application_error_from_in_protocol(self.i_prot_mut())?;
8403        self.i_prot_mut().read_message_end()?;
8404        return Err(thrift::Error::Application(remote_error))
8405      }
8406      verify_expected_message_type(TMessageType::Reply, message_ident.message_type)?;
8407      let result = ApplyDbIdxLongDoubleEndResult::read_from_in_protocol(self.i_prot_mut())?;
8408      self.i_prot_mut().read_message_end()?;
8409      result.ok_or()
8410    }
8411  }
8412}
8413
8414//
8415// Apply service processor
8416//
8417
8418pub trait ApplySyncHandler {
8419  fn handle_end_apply(&self) -> thrift::Result<i32>;
8420  fn handle_get_active_producers(&self) -> thrift::Result<Vec<u8>>;
8421  fn handle_get_resource_limits(&self, account: Uint64) -> thrift::Result<GetResourceLimitsReturn>;
8422  fn handle_set_resource_limits(&self, account: Uint64, ram_bytes: i64, net_weight: i64, cpu_weight: i64) -> thrift::Result<()>;
8423  fn handle_set_proposed_producers(&self, producer_data: Vec<u8>) -> thrift::Result<i64>;
8424  fn handle_set_proposed_producers_ex(&self, producer_data_format: Uint64, producer_data: Vec<u8>) -> thrift::Result<i64>;
8425  fn handle_is_privileged(&self, account: Uint64) -> thrift::Result<bool>;
8426  fn handle_set_privileged(&self, account: Uint64, is_priv: bool) -> thrift::Result<()>;
8427  fn handle_set_blockchain_parameters_packed(&self, data: Vec<u8>) -> thrift::Result<()>;
8428  fn handle_get_blockchain_parameters_packed(&self) -> thrift::Result<Vec<u8>>;
8429  fn handle_preactivate_feature(&self, feature_digest: Vec<u8>) -> thrift::Result<()>;
8430  fn handle_check_transaction_authorization(&self, trx_data: Vec<u8>, pubkeys_data: Vec<u8>, perms_data: Vec<u8>) -> thrift::Result<i32>;
8431  fn handle_check_permission_authorization(&self, account: Uint64, permission: Uint64, pubkeys_data: Vec<u8>, perms_data: Vec<u8>, delay_us: Uint64) -> thrift::Result<i32>;
8432  fn handle_get_permission_last_used(&self, account: Uint64, permission: Uint64) -> thrift::Result<i64>;
8433  fn handle_get_account_creation_time(&self, account: Uint64) -> thrift::Result<i64>;
8434  fn handle_prints(&self, cstr: String) -> thrift::Result<()>;
8435  fn handle_prints_l(&self, cstr: Vec<u8>) -> thrift::Result<()>;
8436  fn handle_printi(&self, n: i64) -> thrift::Result<()>;
8437  fn handle_printui(&self, n: Uint64) -> thrift::Result<()>;
8438  fn handle_printi128(&self, value: Vec<u8>) -> thrift::Result<()>;
8439  fn handle_printui128(&self, value: Vec<u8>) -> thrift::Result<()>;
8440  fn handle_printsf(&self, value: Vec<u8>) -> thrift::Result<()>;
8441  fn handle_printdf(&self, value: Vec<u8>) -> thrift::Result<()>;
8442  fn handle_printqf(&self, value: Vec<u8>) -> thrift::Result<()>;
8443  fn handle_printn(&self, name: Uint64) -> thrift::Result<()>;
8444  fn handle_printhex(&self, data: Vec<u8>) -> thrift::Result<()>;
8445  fn handle_action_data_size(&self) -> thrift::Result<i32>;
8446  fn handle_read_action_data(&self) -> thrift::Result<Vec<u8>>;
8447  fn handle_require_recipient(&self, name: Uint64) -> thrift::Result<()>;
8448  fn handle_require_auth(&self, name: Uint64) -> thrift::Result<()>;
8449  fn handle_has_auth(&self, name: Uint64) -> thrift::Result<bool>;
8450  fn handle_require_auth2(&self, name: Uint64, permission: Uint64) -> thrift::Result<()>;
8451  fn handle_is_account(&self, name: Uint64) -> thrift::Result<bool>;
8452  fn handle_send_inline(&self, serialized_action: Vec<u8>) -> thrift::Result<()>;
8453  fn handle_send_context_free_inline(&self, serialized_data: Vec<u8>) -> thrift::Result<()>;
8454  fn handle_publication_time(&self) -> thrift::Result<Uint64>;
8455  fn handle_current_receiver(&self) -> thrift::Result<Uint64>;
8456  fn handle_eosio_assert(&self, test: bool, msg: Vec<u8>) -> thrift::Result<()>;
8457  fn handle_eosio_assert_message(&self, test: bool, msg: Vec<u8>) -> thrift::Result<()>;
8458  fn handle_eosio_assert_code(&self, test: bool, code: Uint64) -> thrift::Result<()>;
8459  fn handle_eosio_exit(&self, code: i32) -> thrift::Result<()>;
8460  fn handle_current_time(&self) -> thrift::Result<Uint64>;
8461  fn handle_is_feature_activated(&self, feature_digest: Vec<u8>) -> thrift::Result<bool>;
8462  fn handle_get_sender(&self) -> thrift::Result<Uint64>;
8463  fn handle_assert_sha256(&self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
8464  fn handle_assert_sha1(&self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
8465  fn handle_assert_sha512(&self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
8466  fn handle_assert_ripemd160(&self, data: Vec<u8>, hash: Vec<u8>) -> thrift::Result<()>;
8467  fn handle_sha256(&self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
8468  fn handle_sha1(&self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
8469  fn handle_sha512(&self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
8470  fn handle_ripemd160(&self, data: Vec<u8>) -> thrift::Result<Vec<u8>>;
8471  fn handle_recover_key(&self, digest: Vec<u8>, sig: Vec<u8>) -> thrift::Result<Vec<u8>>;
8472  fn handle_assert_recover_key(&self, digest: Vec<u8>, sig: Vec<u8>, pub_: Vec<u8>) -> thrift::Result<()>;
8473  fn handle_send_deferred(&self, sender_id: Vec<u8>, payer: Uint64, serialized_transaction: Vec<u8>, replace_existing: i32) -> thrift::Result<()>;
8474  fn handle_cancel_deferred(&self, sender_id: Vec<u8>) -> thrift::Result<i32>;
8475  fn handle_read_transaction(&self) -> thrift::Result<Vec<u8>>;
8476  fn handle_transaction_size(&self) -> thrift::Result<i32>;
8477  fn handle_tapos_block_num(&self) -> thrift::Result<i32>;
8478  fn handle_tapos_block_prefix(&self) -> thrift::Result<i32>;
8479  fn handle_expiration(&self) -> thrift::Result<i64>;
8480  fn handle_get_action(&self, _type: i32, index: i32) -> thrift::Result<Vec<u8>>;
8481  fn handle_get_context_free_data(&self, index: i32) -> thrift::Result<Vec<u8>>;
8482  fn handle_db_store_i64(&self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, data: Vec<u8>) -> thrift::Result<i32>;
8483  fn handle_db_update_i64(&self, iterator: i32, payer: Uint64, data: Vec<u8>) -> thrift::Result<()>;
8484  fn handle_db_remove_i64(&self, iterator: i32) -> thrift::Result<()>;
8485  fn handle_db_get_i64(&self, iterator: i32) -> thrift::Result<Vec<u8>>;
8486  fn handle_db_next_i64(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8487  fn handle_db_previous_i64(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8488  fn handle_db_find_i64(&self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32>;
8489  fn handle_db_lowerbound_i64(&self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32>;
8490  fn handle_db_upperbound_i64(&self, code: Uint64, scope: Uint64, table: Uint64, id: Uint64) -> thrift::Result<i32>;
8491  fn handle_db_end_i64(&self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
8492  fn handle_db_idx64_store(&self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Uint64) -> thrift::Result<i32>;
8493  fn handle_db_idx64_update(&self, iterator: i32, payer: Uint64, secondary: Uint64) -> thrift::Result<()>;
8494  fn handle_db_idx64_remove(&self, iterator: i32) -> thrift::Result<()>;
8495  fn handle_db_idx64_next(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8496  fn handle_db_idx64_previous(&self, iteratory: i32) -> thrift::Result<NextPreviousReturn>;
8497  fn handle_db_idx64_find_primary(&self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
8498  fn handle_db_idx64_find_secondary(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64) -> thrift::Result<FindSecondaryReturn>;
8499  fn handle_db_idx64_lowerbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8500  fn handle_db_idx64_upperbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Uint64, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8501  fn handle_db_idx64_end(&self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
8502  fn handle_db_idx128_store(&self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32>;
8503  fn handle_db_idx128_update(&self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()>;
8504  fn handle_db_idx128_remove(&self, iterator: i32) -> thrift::Result<()>;
8505  fn handle_db_idx128_next(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8506  fn handle_db_idx128_previous(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8507  fn handle_db_idx128_find_primary(&self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
8508  fn handle_db_idx128_find_secondary(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
8509  fn handle_db_idx128_lowerbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8510  fn handle_db_idx128_upperbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8511  fn handle_db_idx128_end(&self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
8512  fn handle_db_idx256_store(&self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, data: Vec<u8>) -> thrift::Result<i32>;
8513  fn handle_db_idx256_update(&self, iterator: i32, payer: Uint64, data: Vec<u8>) -> thrift::Result<()>;
8514  fn handle_db_idx256_remove(&self, iterator: i32) -> thrift::Result<()>;
8515  fn handle_db_idx256_next(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8516  fn handle_db_idx256_previous(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8517  fn handle_db_idx256_find_primary(&self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
8518  fn handle_db_idx256_find_secondary(&self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
8519  fn handle_db_idx256_lowerbound(&self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8520  fn handle_db_idx256_upperbound(&self, code: Uint64, scope: Uint64, table: Uint64, data: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8521  fn handle_db_idx256_end(&self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
8522  fn handle_db_idx_double_store(&self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32>;
8523  fn handle_db_idx_double_update(&self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()>;
8524  fn handle_db_idx_double_remove(&self, iterator: i32) -> thrift::Result<()>;
8525  fn handle_db_idx_double_next(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8526  fn handle_db_idx_double_previous(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8527  fn handle_db_idx_double_find_primary(&self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
8528  fn handle_db_idx_double_find_secondary(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
8529  fn handle_db_idx_double_lowerbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8530  fn handle_db_idx_double_upperbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8531  fn handle_db_idx_double_end(&self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
8532  fn handle_db_idx_long_double_store(&self, scope: Uint64, table: Uint64, payer: Uint64, id: Uint64, secondary: Vec<u8>) -> thrift::Result<i32>;
8533  fn handle_db_idx_long_double_update(&self, iterator: i32, payer: Uint64, secondary: Vec<u8>) -> thrift::Result<()>;
8534  fn handle_db_idx_long_double_remove(&self, iterator: i32) -> thrift::Result<()>;
8535  fn handle_db_idx_long_double_next(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8536  fn handle_db_idx_long_double_previous(&self, iterator: i32) -> thrift::Result<NextPreviousReturn>;
8537  fn handle_db_idx_long_double_find_primary(&self, code: Uint64, scope: Uint64, table: Uint64, primary: Uint64) -> thrift::Result<FindPrimaryReturn>;
8538  fn handle_db_idx_long_double_find_secondary(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>) -> thrift::Result<FindSecondaryReturn>;
8539  fn handle_db_idx_long_double_lowerbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8540  fn handle_db_idx_long_double_upperbound(&self, code: Uint64, scope: Uint64, table: Uint64, secondary: Vec<u8>, primary: Uint64) -> thrift::Result<LowerBoundUpperBoundReturn>;
8541  fn handle_db_idx_long_double_end(&self, code: Uint64, scope: Uint64, table: Uint64) -> thrift::Result<i32>;
8542}
8543
8544pub struct ApplySyncProcessor<H: ApplySyncHandler> {
8545  handler: H,
8546}
8547
8548impl <H: ApplySyncHandler> ApplySyncProcessor<H> {
8549  pub fn new(handler: H) -> ApplySyncProcessor<H> {
8550    ApplySyncProcessor {
8551      handler,
8552    }
8553  }
8554  fn process_end_apply(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8555    TApplyProcessFunctions::process_end_apply(&self.handler, incoming_sequence_number, i_prot, o_prot)
8556  }
8557  fn process_get_active_producers(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8558    TApplyProcessFunctions::process_get_active_producers(&self.handler, incoming_sequence_number, i_prot, o_prot)
8559  }
8560  fn process_get_resource_limits(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8561    TApplyProcessFunctions::process_get_resource_limits(&self.handler, incoming_sequence_number, i_prot, o_prot)
8562  }
8563  fn process_set_resource_limits(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8564    TApplyProcessFunctions::process_set_resource_limits(&self.handler, incoming_sequence_number, i_prot, o_prot)
8565  }
8566  fn process_set_proposed_producers(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8567    TApplyProcessFunctions::process_set_proposed_producers(&self.handler, incoming_sequence_number, i_prot, o_prot)
8568  }
8569  fn process_set_proposed_producers_ex(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8570    TApplyProcessFunctions::process_set_proposed_producers_ex(&self.handler, incoming_sequence_number, i_prot, o_prot)
8571  }
8572  fn process_is_privileged(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8573    TApplyProcessFunctions::process_is_privileged(&self.handler, incoming_sequence_number, i_prot, o_prot)
8574  }
8575  fn process_set_privileged(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8576    TApplyProcessFunctions::process_set_privileged(&self.handler, incoming_sequence_number, i_prot, o_prot)
8577  }
8578  fn process_set_blockchain_parameters_packed(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8579    TApplyProcessFunctions::process_set_blockchain_parameters_packed(&self.handler, incoming_sequence_number, i_prot, o_prot)
8580  }
8581  fn process_get_blockchain_parameters_packed(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8582    TApplyProcessFunctions::process_get_blockchain_parameters_packed(&self.handler, incoming_sequence_number, i_prot, o_prot)
8583  }
8584  fn process_preactivate_feature(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8585    TApplyProcessFunctions::process_preactivate_feature(&self.handler, incoming_sequence_number, i_prot, o_prot)
8586  }
8587  fn process_check_transaction_authorization(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8588    TApplyProcessFunctions::process_check_transaction_authorization(&self.handler, incoming_sequence_number, i_prot, o_prot)
8589  }
8590  fn process_check_permission_authorization(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8591    TApplyProcessFunctions::process_check_permission_authorization(&self.handler, incoming_sequence_number, i_prot, o_prot)
8592  }
8593  fn process_get_permission_last_used(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8594    TApplyProcessFunctions::process_get_permission_last_used(&self.handler, incoming_sequence_number, i_prot, o_prot)
8595  }
8596  fn process_get_account_creation_time(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8597    TApplyProcessFunctions::process_get_account_creation_time(&self.handler, incoming_sequence_number, i_prot, o_prot)
8598  }
8599  fn process_prints(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8600    TApplyProcessFunctions::process_prints(&self.handler, incoming_sequence_number, i_prot, o_prot)
8601  }
8602  fn process_prints_l(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8603    TApplyProcessFunctions::process_prints_l(&self.handler, incoming_sequence_number, i_prot, o_prot)
8604  }
8605  fn process_printi(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8606    TApplyProcessFunctions::process_printi(&self.handler, incoming_sequence_number, i_prot, o_prot)
8607  }
8608  fn process_printui(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8609    TApplyProcessFunctions::process_printui(&self.handler, incoming_sequence_number, i_prot, o_prot)
8610  }
8611  fn process_printi128(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8612    TApplyProcessFunctions::process_printi128(&self.handler, incoming_sequence_number, i_prot, o_prot)
8613  }
8614  fn process_printui128(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8615    TApplyProcessFunctions::process_printui128(&self.handler, incoming_sequence_number, i_prot, o_prot)
8616  }
8617  fn process_printsf(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8618    TApplyProcessFunctions::process_printsf(&self.handler, incoming_sequence_number, i_prot, o_prot)
8619  }
8620  fn process_printdf(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8621    TApplyProcessFunctions::process_printdf(&self.handler, incoming_sequence_number, i_prot, o_prot)
8622  }
8623  fn process_printqf(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8624    TApplyProcessFunctions::process_printqf(&self.handler, incoming_sequence_number, i_prot, o_prot)
8625  }
8626  fn process_printn(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8627    TApplyProcessFunctions::process_printn(&self.handler, incoming_sequence_number, i_prot, o_prot)
8628  }
8629  fn process_printhex(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8630    TApplyProcessFunctions::process_printhex(&self.handler, incoming_sequence_number, i_prot, o_prot)
8631  }
8632  fn process_action_data_size(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8633    TApplyProcessFunctions::process_action_data_size(&self.handler, incoming_sequence_number, i_prot, o_prot)
8634  }
8635  fn process_read_action_data(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8636    TApplyProcessFunctions::process_read_action_data(&self.handler, incoming_sequence_number, i_prot, o_prot)
8637  }
8638  fn process_require_recipient(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8639    TApplyProcessFunctions::process_require_recipient(&self.handler, incoming_sequence_number, i_prot, o_prot)
8640  }
8641  fn process_require_auth(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8642    TApplyProcessFunctions::process_require_auth(&self.handler, incoming_sequence_number, i_prot, o_prot)
8643  }
8644  fn process_has_auth(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8645    TApplyProcessFunctions::process_has_auth(&self.handler, incoming_sequence_number, i_prot, o_prot)
8646  }
8647  fn process_require_auth2(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8648    TApplyProcessFunctions::process_require_auth2(&self.handler, incoming_sequence_number, i_prot, o_prot)
8649  }
8650  fn process_is_account(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8651    TApplyProcessFunctions::process_is_account(&self.handler, incoming_sequence_number, i_prot, o_prot)
8652  }
8653  fn process_send_inline(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8654    TApplyProcessFunctions::process_send_inline(&self.handler, incoming_sequence_number, i_prot, o_prot)
8655  }
8656  fn process_send_context_free_inline(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8657    TApplyProcessFunctions::process_send_context_free_inline(&self.handler, incoming_sequence_number, i_prot, o_prot)
8658  }
8659  fn process_publication_time(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8660    TApplyProcessFunctions::process_publication_time(&self.handler, incoming_sequence_number, i_prot, o_prot)
8661  }
8662  fn process_current_receiver(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8663    TApplyProcessFunctions::process_current_receiver(&self.handler, incoming_sequence_number, i_prot, o_prot)
8664  }
8665  fn process_eosio_assert(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8666    TApplyProcessFunctions::process_eosio_assert(&self.handler, incoming_sequence_number, i_prot, o_prot)
8667  }
8668  fn process_eosio_assert_message(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8669    TApplyProcessFunctions::process_eosio_assert_message(&self.handler, incoming_sequence_number, i_prot, o_prot)
8670  }
8671  fn process_eosio_assert_code(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8672    TApplyProcessFunctions::process_eosio_assert_code(&self.handler, incoming_sequence_number, i_prot, o_prot)
8673  }
8674  fn process_eosio_exit(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8675    TApplyProcessFunctions::process_eosio_exit(&self.handler, incoming_sequence_number, i_prot, o_prot)
8676  }
8677  fn process_current_time(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8678    TApplyProcessFunctions::process_current_time(&self.handler, incoming_sequence_number, i_prot, o_prot)
8679  }
8680  fn process_is_feature_activated(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8681    TApplyProcessFunctions::process_is_feature_activated(&self.handler, incoming_sequence_number, i_prot, o_prot)
8682  }
8683  fn process_get_sender(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8684    TApplyProcessFunctions::process_get_sender(&self.handler, incoming_sequence_number, i_prot, o_prot)
8685  }
8686  fn process_assert_sha256(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8687    TApplyProcessFunctions::process_assert_sha256(&self.handler, incoming_sequence_number, i_prot, o_prot)
8688  }
8689  fn process_assert_sha1(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8690    TApplyProcessFunctions::process_assert_sha1(&self.handler, incoming_sequence_number, i_prot, o_prot)
8691  }
8692  fn process_assert_sha512(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8693    TApplyProcessFunctions::process_assert_sha512(&self.handler, incoming_sequence_number, i_prot, o_prot)
8694  }
8695  fn process_assert_ripemd160(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8696    TApplyProcessFunctions::process_assert_ripemd160(&self.handler, incoming_sequence_number, i_prot, o_prot)
8697  }
8698  fn process_sha256(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8699    TApplyProcessFunctions::process_sha256(&self.handler, incoming_sequence_number, i_prot, o_prot)
8700  }
8701  fn process_sha1(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8702    TApplyProcessFunctions::process_sha1(&self.handler, incoming_sequence_number, i_prot, o_prot)
8703  }
8704  fn process_sha512(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8705    TApplyProcessFunctions::process_sha512(&self.handler, incoming_sequence_number, i_prot, o_prot)
8706  }
8707  fn process_ripemd160(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8708    TApplyProcessFunctions::process_ripemd160(&self.handler, incoming_sequence_number, i_prot, o_prot)
8709  }
8710  fn process_recover_key(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8711    TApplyProcessFunctions::process_recover_key(&self.handler, incoming_sequence_number, i_prot, o_prot)
8712  }
8713  fn process_assert_recover_key(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8714    TApplyProcessFunctions::process_assert_recover_key(&self.handler, incoming_sequence_number, i_prot, o_prot)
8715  }
8716  fn process_send_deferred(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8717    TApplyProcessFunctions::process_send_deferred(&self.handler, incoming_sequence_number, i_prot, o_prot)
8718  }
8719  fn process_cancel_deferred(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8720    TApplyProcessFunctions::process_cancel_deferred(&self.handler, incoming_sequence_number, i_prot, o_prot)
8721  }
8722  fn process_read_transaction(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8723    TApplyProcessFunctions::process_read_transaction(&self.handler, incoming_sequence_number, i_prot, o_prot)
8724  }
8725  fn process_transaction_size(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8726    TApplyProcessFunctions::process_transaction_size(&self.handler, incoming_sequence_number, i_prot, o_prot)
8727  }
8728  fn process_tapos_block_num(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8729    TApplyProcessFunctions::process_tapos_block_num(&self.handler, incoming_sequence_number, i_prot, o_prot)
8730  }
8731  fn process_tapos_block_prefix(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8732    TApplyProcessFunctions::process_tapos_block_prefix(&self.handler, incoming_sequence_number, i_prot, o_prot)
8733  }
8734  fn process_expiration(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8735    TApplyProcessFunctions::process_expiration(&self.handler, incoming_sequence_number, i_prot, o_prot)
8736  }
8737  fn process_get_action(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8738    TApplyProcessFunctions::process_get_action(&self.handler, incoming_sequence_number, i_prot, o_prot)
8739  }
8740  fn process_get_context_free_data(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8741    TApplyProcessFunctions::process_get_context_free_data(&self.handler, incoming_sequence_number, i_prot, o_prot)
8742  }
8743  fn process_db_store_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8744    TApplyProcessFunctions::process_db_store_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8745  }
8746  fn process_db_update_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8747    TApplyProcessFunctions::process_db_update_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8748  }
8749  fn process_db_remove_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8750    TApplyProcessFunctions::process_db_remove_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8751  }
8752  fn process_db_get_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8753    TApplyProcessFunctions::process_db_get_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8754  }
8755  fn process_db_next_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8756    TApplyProcessFunctions::process_db_next_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8757  }
8758  fn process_db_previous_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8759    TApplyProcessFunctions::process_db_previous_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8760  }
8761  fn process_db_find_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8762    TApplyProcessFunctions::process_db_find_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8763  }
8764  fn process_db_lowerbound_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8765    TApplyProcessFunctions::process_db_lowerbound_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8766  }
8767  fn process_db_upperbound_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8768    TApplyProcessFunctions::process_db_upperbound_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8769  }
8770  fn process_db_end_i64(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8771    TApplyProcessFunctions::process_db_end_i64(&self.handler, incoming_sequence_number, i_prot, o_prot)
8772  }
8773  fn process_db_idx64_store(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8774    TApplyProcessFunctions::process_db_idx64_store(&self.handler, incoming_sequence_number, i_prot, o_prot)
8775  }
8776  fn process_db_idx64_update(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8777    TApplyProcessFunctions::process_db_idx64_update(&self.handler, incoming_sequence_number, i_prot, o_prot)
8778  }
8779  fn process_db_idx64_remove(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8780    TApplyProcessFunctions::process_db_idx64_remove(&self.handler, incoming_sequence_number, i_prot, o_prot)
8781  }
8782  fn process_db_idx64_next(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8783    TApplyProcessFunctions::process_db_idx64_next(&self.handler, incoming_sequence_number, i_prot, o_prot)
8784  }
8785  fn process_db_idx64_previous(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8786    TApplyProcessFunctions::process_db_idx64_previous(&self.handler, incoming_sequence_number, i_prot, o_prot)
8787  }
8788  fn process_db_idx64_find_primary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8789    TApplyProcessFunctions::process_db_idx64_find_primary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8790  }
8791  fn process_db_idx64_find_secondary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8792    TApplyProcessFunctions::process_db_idx64_find_secondary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8793  }
8794  fn process_db_idx64_lowerbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8795    TApplyProcessFunctions::process_db_idx64_lowerbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8796  }
8797  fn process_db_idx64_upperbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8798    TApplyProcessFunctions::process_db_idx64_upperbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8799  }
8800  fn process_db_idx64_end(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8801    TApplyProcessFunctions::process_db_idx64_end(&self.handler, incoming_sequence_number, i_prot, o_prot)
8802  }
8803  fn process_db_idx128_store(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8804    TApplyProcessFunctions::process_db_idx128_store(&self.handler, incoming_sequence_number, i_prot, o_prot)
8805  }
8806  fn process_db_idx128_update(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8807    TApplyProcessFunctions::process_db_idx128_update(&self.handler, incoming_sequence_number, i_prot, o_prot)
8808  }
8809  fn process_db_idx128_remove(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8810    TApplyProcessFunctions::process_db_idx128_remove(&self.handler, incoming_sequence_number, i_prot, o_prot)
8811  }
8812  fn process_db_idx128_next(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8813    TApplyProcessFunctions::process_db_idx128_next(&self.handler, incoming_sequence_number, i_prot, o_prot)
8814  }
8815  fn process_db_idx128_previous(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8816    TApplyProcessFunctions::process_db_idx128_previous(&self.handler, incoming_sequence_number, i_prot, o_prot)
8817  }
8818  fn process_db_idx128_find_primary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8819    TApplyProcessFunctions::process_db_idx128_find_primary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8820  }
8821  fn process_db_idx128_find_secondary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8822    TApplyProcessFunctions::process_db_idx128_find_secondary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8823  }
8824  fn process_db_idx128_lowerbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8825    TApplyProcessFunctions::process_db_idx128_lowerbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8826  }
8827  fn process_db_idx128_upperbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8828    TApplyProcessFunctions::process_db_idx128_upperbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8829  }
8830  fn process_db_idx128_end(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8831    TApplyProcessFunctions::process_db_idx128_end(&self.handler, incoming_sequence_number, i_prot, o_prot)
8832  }
8833  fn process_db_idx256_store(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8834    TApplyProcessFunctions::process_db_idx256_store(&self.handler, incoming_sequence_number, i_prot, o_prot)
8835  }
8836  fn process_db_idx256_update(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8837    TApplyProcessFunctions::process_db_idx256_update(&self.handler, incoming_sequence_number, i_prot, o_prot)
8838  }
8839  fn process_db_idx256_remove(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8840    TApplyProcessFunctions::process_db_idx256_remove(&self.handler, incoming_sequence_number, i_prot, o_prot)
8841  }
8842  fn process_db_idx256_next(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8843    TApplyProcessFunctions::process_db_idx256_next(&self.handler, incoming_sequence_number, i_prot, o_prot)
8844  }
8845  fn process_db_idx256_previous(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8846    TApplyProcessFunctions::process_db_idx256_previous(&self.handler, incoming_sequence_number, i_prot, o_prot)
8847  }
8848  fn process_db_idx256_find_primary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8849    TApplyProcessFunctions::process_db_idx256_find_primary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8850  }
8851  fn process_db_idx256_find_secondary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8852    TApplyProcessFunctions::process_db_idx256_find_secondary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8853  }
8854  fn process_db_idx256_lowerbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8855    TApplyProcessFunctions::process_db_idx256_lowerbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8856  }
8857  fn process_db_idx256_upperbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8858    TApplyProcessFunctions::process_db_idx256_upperbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8859  }
8860  fn process_db_idx256_end(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8861    TApplyProcessFunctions::process_db_idx256_end(&self.handler, incoming_sequence_number, i_prot, o_prot)
8862  }
8863  fn process_db_idx_double_store(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8864    TApplyProcessFunctions::process_db_idx_double_store(&self.handler, incoming_sequence_number, i_prot, o_prot)
8865  }
8866  fn process_db_idx_double_update(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8867    TApplyProcessFunctions::process_db_idx_double_update(&self.handler, incoming_sequence_number, i_prot, o_prot)
8868  }
8869  fn process_db_idx_double_remove(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8870    TApplyProcessFunctions::process_db_idx_double_remove(&self.handler, incoming_sequence_number, i_prot, o_prot)
8871  }
8872  fn process_db_idx_double_next(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8873    TApplyProcessFunctions::process_db_idx_double_next(&self.handler, incoming_sequence_number, i_prot, o_prot)
8874  }
8875  fn process_db_idx_double_previous(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8876    TApplyProcessFunctions::process_db_idx_double_previous(&self.handler, incoming_sequence_number, i_prot, o_prot)
8877  }
8878  fn process_db_idx_double_find_primary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8879    TApplyProcessFunctions::process_db_idx_double_find_primary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8880  }
8881  fn process_db_idx_double_find_secondary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8882    TApplyProcessFunctions::process_db_idx_double_find_secondary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8883  }
8884  fn process_db_idx_double_lowerbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8885    TApplyProcessFunctions::process_db_idx_double_lowerbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8886  }
8887  fn process_db_idx_double_upperbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8888    TApplyProcessFunctions::process_db_idx_double_upperbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8889  }
8890  fn process_db_idx_double_end(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8891    TApplyProcessFunctions::process_db_idx_double_end(&self.handler, incoming_sequence_number, i_prot, o_prot)
8892  }
8893  fn process_db_idx_long_double_store(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8894    TApplyProcessFunctions::process_db_idx_long_double_store(&self.handler, incoming_sequence_number, i_prot, o_prot)
8895  }
8896  fn process_db_idx_long_double_update(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8897    TApplyProcessFunctions::process_db_idx_long_double_update(&self.handler, incoming_sequence_number, i_prot, o_prot)
8898  }
8899  fn process_db_idx_long_double_remove(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8900    TApplyProcessFunctions::process_db_idx_long_double_remove(&self.handler, incoming_sequence_number, i_prot, o_prot)
8901  }
8902  fn process_db_idx_long_double_next(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8903    TApplyProcessFunctions::process_db_idx_long_double_next(&self.handler, incoming_sequence_number, i_prot, o_prot)
8904  }
8905  fn process_db_idx_long_double_previous(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8906    TApplyProcessFunctions::process_db_idx_long_double_previous(&self.handler, incoming_sequence_number, i_prot, o_prot)
8907  }
8908  fn process_db_idx_long_double_find_primary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8909    TApplyProcessFunctions::process_db_idx_long_double_find_primary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8910  }
8911  fn process_db_idx_long_double_find_secondary(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8912    TApplyProcessFunctions::process_db_idx_long_double_find_secondary(&self.handler, incoming_sequence_number, i_prot, o_prot)
8913  }
8914  fn process_db_idx_long_double_lowerbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8915    TApplyProcessFunctions::process_db_idx_long_double_lowerbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8916  }
8917  fn process_db_idx_long_double_upperbound(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8918    TApplyProcessFunctions::process_db_idx_long_double_upperbound(&self.handler, incoming_sequence_number, i_prot, o_prot)
8919  }
8920  fn process_db_idx_long_double_end(&self, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8921    TApplyProcessFunctions::process_db_idx_long_double_end(&self.handler, incoming_sequence_number, i_prot, o_prot)
8922  }
8923}
8924
8925pub struct TApplyProcessFunctions;
8926
8927impl TApplyProcessFunctions {
8928  pub fn process_end_apply<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8929    let _ = ApplyEndApplyArgs::read_from_in_protocol(i_prot)?;
8930    match handler.handle_end_apply() {
8931      Ok(handler_return) => {
8932        let message_ident = TMessageIdentifier::new("end_apply", TMessageType::Reply, incoming_sequence_number);
8933        o_prot.write_message_begin(&message_ident)?;
8934        let ret = ApplyEndApplyResult { result_value: Some(handler_return) };
8935        ret.write_to_out_protocol(o_prot)?;
8936        o_prot.write_message_end()?;
8937        o_prot.flush()
8938      },
8939      Err(e) => {
8940        match e {
8941          thrift::Error::Application(app_err) => {
8942            let message_ident = TMessageIdentifier::new("end_apply", TMessageType::Exception, incoming_sequence_number);
8943            o_prot.write_message_begin(&message_ident)?;
8944            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
8945            o_prot.write_message_end()?;
8946            o_prot.flush()
8947          },
8948          _ => {
8949            let ret_err = {
8950              ApplicationError::new(
8951                ApplicationErrorKind::Unknown,
8952                e.to_string()
8953              )
8954            };
8955            let message_ident = TMessageIdentifier::new("end_apply", TMessageType::Exception, incoming_sequence_number);
8956            o_prot.write_message_begin(&message_ident)?;
8957            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
8958            o_prot.write_message_end()?;
8959            o_prot.flush()
8960          },
8961        }
8962      },
8963    }
8964  }
8965  pub fn process_get_active_producers<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
8966    let _ = ApplyGetActiveProducersArgs::read_from_in_protocol(i_prot)?;
8967    match handler.handle_get_active_producers() {
8968      Ok(handler_return) => {
8969        let message_ident = TMessageIdentifier::new("get_active_producers", TMessageType::Reply, incoming_sequence_number);
8970        o_prot.write_message_begin(&message_ident)?;
8971        let ret = ApplyGetActiveProducersResult { result_value: Some(handler_return) };
8972        ret.write_to_out_protocol(o_prot)?;
8973        o_prot.write_message_end()?;
8974        o_prot.flush()
8975      },
8976      Err(e) => {
8977        match e {
8978          thrift::Error::Application(app_err) => {
8979            let message_ident = TMessageIdentifier::new("get_active_producers", TMessageType::Exception, incoming_sequence_number);
8980            o_prot.write_message_begin(&message_ident)?;
8981            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
8982            o_prot.write_message_end()?;
8983            o_prot.flush()
8984          },
8985          _ => {
8986            let ret_err = {
8987              ApplicationError::new(
8988                ApplicationErrorKind::Unknown,
8989                e.to_string()
8990              )
8991            };
8992            let message_ident = TMessageIdentifier::new("get_active_producers", TMessageType::Exception, incoming_sequence_number);
8993            o_prot.write_message_begin(&message_ident)?;
8994            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
8995            o_prot.write_message_end()?;
8996            o_prot.flush()
8997          },
8998        }
8999      },
9000    }
9001  }
9002  pub fn process_get_resource_limits<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9003    let args = ApplyGetResourceLimitsArgs::read_from_in_protocol(i_prot)?;
9004    match handler.handle_get_resource_limits(args.account) {
9005      Ok(handler_return) => {
9006        let message_ident = TMessageIdentifier::new("get_resource_limits", TMessageType::Reply, incoming_sequence_number);
9007        o_prot.write_message_begin(&message_ident)?;
9008        let ret = ApplyGetResourceLimitsResult { result_value: Some(handler_return) };
9009        ret.write_to_out_protocol(o_prot)?;
9010        o_prot.write_message_end()?;
9011        o_prot.flush()
9012      },
9013      Err(e) => {
9014        match e {
9015          thrift::Error::Application(app_err) => {
9016            let message_ident = TMessageIdentifier::new("get_resource_limits", TMessageType::Exception, incoming_sequence_number);
9017            o_prot.write_message_begin(&message_ident)?;
9018            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9019            o_prot.write_message_end()?;
9020            o_prot.flush()
9021          },
9022          _ => {
9023            let ret_err = {
9024              ApplicationError::new(
9025                ApplicationErrorKind::Unknown,
9026                e.to_string()
9027              )
9028            };
9029            let message_ident = TMessageIdentifier::new("get_resource_limits", TMessageType::Exception, incoming_sequence_number);
9030            o_prot.write_message_begin(&message_ident)?;
9031            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9032            o_prot.write_message_end()?;
9033            o_prot.flush()
9034          },
9035        }
9036      },
9037    }
9038  }
9039  pub fn process_set_resource_limits<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9040    let args = ApplySetResourceLimitsArgs::read_from_in_protocol(i_prot)?;
9041    match handler.handle_set_resource_limits(args.account, args.ram_bytes, args.net_weight, args.cpu_weight) {
9042      Ok(_) => {
9043        let message_ident = TMessageIdentifier::new("set_resource_limits", TMessageType::Reply, incoming_sequence_number);
9044        o_prot.write_message_begin(&message_ident)?;
9045        let ret = ApplySetResourceLimitsResult {  };
9046        ret.write_to_out_protocol(o_prot)?;
9047        o_prot.write_message_end()?;
9048        o_prot.flush()
9049      },
9050      Err(e) => {
9051        match e {
9052          thrift::Error::Application(app_err) => {
9053            let message_ident = TMessageIdentifier::new("set_resource_limits", TMessageType::Exception, incoming_sequence_number);
9054            o_prot.write_message_begin(&message_ident)?;
9055            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9056            o_prot.write_message_end()?;
9057            o_prot.flush()
9058          },
9059          _ => {
9060            let ret_err = {
9061              ApplicationError::new(
9062                ApplicationErrorKind::Unknown,
9063                e.to_string()
9064              )
9065            };
9066            let message_ident = TMessageIdentifier::new("set_resource_limits", TMessageType::Exception, incoming_sequence_number);
9067            o_prot.write_message_begin(&message_ident)?;
9068            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9069            o_prot.write_message_end()?;
9070            o_prot.flush()
9071          },
9072        }
9073      },
9074    }
9075  }
9076  pub fn process_set_proposed_producers<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9077    let args = ApplySetProposedProducersArgs::read_from_in_protocol(i_prot)?;
9078    match handler.handle_set_proposed_producers(args.producer_data) {
9079      Ok(handler_return) => {
9080        let message_ident = TMessageIdentifier::new("set_proposed_producers", TMessageType::Reply, incoming_sequence_number);
9081        o_prot.write_message_begin(&message_ident)?;
9082        let ret = ApplySetProposedProducersResult { result_value: Some(handler_return) };
9083        ret.write_to_out_protocol(o_prot)?;
9084        o_prot.write_message_end()?;
9085        o_prot.flush()
9086      },
9087      Err(e) => {
9088        match e {
9089          thrift::Error::Application(app_err) => {
9090            let message_ident = TMessageIdentifier::new("set_proposed_producers", TMessageType::Exception, incoming_sequence_number);
9091            o_prot.write_message_begin(&message_ident)?;
9092            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9093            o_prot.write_message_end()?;
9094            o_prot.flush()
9095          },
9096          _ => {
9097            let ret_err = {
9098              ApplicationError::new(
9099                ApplicationErrorKind::Unknown,
9100                e.to_string()
9101              )
9102            };
9103            let message_ident = TMessageIdentifier::new("set_proposed_producers", TMessageType::Exception, incoming_sequence_number);
9104            o_prot.write_message_begin(&message_ident)?;
9105            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9106            o_prot.write_message_end()?;
9107            o_prot.flush()
9108          },
9109        }
9110      },
9111    }
9112  }
9113  pub fn process_set_proposed_producers_ex<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9114    let args = ApplySetProposedProducersExArgs::read_from_in_protocol(i_prot)?;
9115    match handler.handle_set_proposed_producers_ex(args.producer_data_format, args.producer_data) {
9116      Ok(handler_return) => {
9117        let message_ident = TMessageIdentifier::new("set_proposed_producers_ex", TMessageType::Reply, incoming_sequence_number);
9118        o_prot.write_message_begin(&message_ident)?;
9119        let ret = ApplySetProposedProducersExResult { result_value: Some(handler_return) };
9120        ret.write_to_out_protocol(o_prot)?;
9121        o_prot.write_message_end()?;
9122        o_prot.flush()
9123      },
9124      Err(e) => {
9125        match e {
9126          thrift::Error::Application(app_err) => {
9127            let message_ident = TMessageIdentifier::new("set_proposed_producers_ex", TMessageType::Exception, incoming_sequence_number);
9128            o_prot.write_message_begin(&message_ident)?;
9129            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9130            o_prot.write_message_end()?;
9131            o_prot.flush()
9132          },
9133          _ => {
9134            let ret_err = {
9135              ApplicationError::new(
9136                ApplicationErrorKind::Unknown,
9137                e.to_string()
9138              )
9139            };
9140            let message_ident = TMessageIdentifier::new("set_proposed_producers_ex", TMessageType::Exception, incoming_sequence_number);
9141            o_prot.write_message_begin(&message_ident)?;
9142            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9143            o_prot.write_message_end()?;
9144            o_prot.flush()
9145          },
9146        }
9147      },
9148    }
9149  }
9150  pub fn process_is_privileged<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9151    let args = ApplyIsPrivilegedArgs::read_from_in_protocol(i_prot)?;
9152    match handler.handle_is_privileged(args.account) {
9153      Ok(handler_return) => {
9154        let message_ident = TMessageIdentifier::new("is_privileged", TMessageType::Reply, incoming_sequence_number);
9155        o_prot.write_message_begin(&message_ident)?;
9156        let ret = ApplyIsPrivilegedResult { result_value: Some(handler_return) };
9157        ret.write_to_out_protocol(o_prot)?;
9158        o_prot.write_message_end()?;
9159        o_prot.flush()
9160      },
9161      Err(e) => {
9162        match e {
9163          thrift::Error::Application(app_err) => {
9164            let message_ident = TMessageIdentifier::new("is_privileged", TMessageType::Exception, incoming_sequence_number);
9165            o_prot.write_message_begin(&message_ident)?;
9166            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9167            o_prot.write_message_end()?;
9168            o_prot.flush()
9169          },
9170          _ => {
9171            let ret_err = {
9172              ApplicationError::new(
9173                ApplicationErrorKind::Unknown,
9174                e.to_string()
9175              )
9176            };
9177            let message_ident = TMessageIdentifier::new("is_privileged", TMessageType::Exception, incoming_sequence_number);
9178            o_prot.write_message_begin(&message_ident)?;
9179            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9180            o_prot.write_message_end()?;
9181            o_prot.flush()
9182          },
9183        }
9184      },
9185    }
9186  }
9187  pub fn process_set_privileged<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9188    let args = ApplySetPrivilegedArgs::read_from_in_protocol(i_prot)?;
9189    match handler.handle_set_privileged(args.account, args.is_priv) {
9190      Ok(_) => {
9191        let message_ident = TMessageIdentifier::new("set_privileged", TMessageType::Reply, incoming_sequence_number);
9192        o_prot.write_message_begin(&message_ident)?;
9193        let ret = ApplySetPrivilegedResult {  };
9194        ret.write_to_out_protocol(o_prot)?;
9195        o_prot.write_message_end()?;
9196        o_prot.flush()
9197      },
9198      Err(e) => {
9199        match e {
9200          thrift::Error::Application(app_err) => {
9201            let message_ident = TMessageIdentifier::new("set_privileged", TMessageType::Exception, incoming_sequence_number);
9202            o_prot.write_message_begin(&message_ident)?;
9203            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9204            o_prot.write_message_end()?;
9205            o_prot.flush()
9206          },
9207          _ => {
9208            let ret_err = {
9209              ApplicationError::new(
9210                ApplicationErrorKind::Unknown,
9211                e.to_string()
9212              )
9213            };
9214            let message_ident = TMessageIdentifier::new("set_privileged", TMessageType::Exception, incoming_sequence_number);
9215            o_prot.write_message_begin(&message_ident)?;
9216            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9217            o_prot.write_message_end()?;
9218            o_prot.flush()
9219          },
9220        }
9221      },
9222    }
9223  }
9224  pub fn process_set_blockchain_parameters_packed<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9225    let args = ApplySetBlockchainParametersPackedArgs::read_from_in_protocol(i_prot)?;
9226    match handler.handle_set_blockchain_parameters_packed(args.data) {
9227      Ok(_) => {
9228        let message_ident = TMessageIdentifier::new("set_blockchain_parameters_packed", TMessageType::Reply, incoming_sequence_number);
9229        o_prot.write_message_begin(&message_ident)?;
9230        let ret = ApplySetBlockchainParametersPackedResult {  };
9231        ret.write_to_out_protocol(o_prot)?;
9232        o_prot.write_message_end()?;
9233        o_prot.flush()
9234      },
9235      Err(e) => {
9236        match e {
9237          thrift::Error::Application(app_err) => {
9238            let message_ident = TMessageIdentifier::new("set_blockchain_parameters_packed", TMessageType::Exception, incoming_sequence_number);
9239            o_prot.write_message_begin(&message_ident)?;
9240            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9241            o_prot.write_message_end()?;
9242            o_prot.flush()
9243          },
9244          _ => {
9245            let ret_err = {
9246              ApplicationError::new(
9247                ApplicationErrorKind::Unknown,
9248                e.to_string()
9249              )
9250            };
9251            let message_ident = TMessageIdentifier::new("set_blockchain_parameters_packed", TMessageType::Exception, incoming_sequence_number);
9252            o_prot.write_message_begin(&message_ident)?;
9253            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9254            o_prot.write_message_end()?;
9255            o_prot.flush()
9256          },
9257        }
9258      },
9259    }
9260  }
9261  pub fn process_get_blockchain_parameters_packed<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9262    let _ = ApplyGetBlockchainParametersPackedArgs::read_from_in_protocol(i_prot)?;
9263    match handler.handle_get_blockchain_parameters_packed() {
9264      Ok(handler_return) => {
9265        let message_ident = TMessageIdentifier::new("get_blockchain_parameters_packed", TMessageType::Reply, incoming_sequence_number);
9266        o_prot.write_message_begin(&message_ident)?;
9267        let ret = ApplyGetBlockchainParametersPackedResult { result_value: Some(handler_return) };
9268        ret.write_to_out_protocol(o_prot)?;
9269        o_prot.write_message_end()?;
9270        o_prot.flush()
9271      },
9272      Err(e) => {
9273        match e {
9274          thrift::Error::Application(app_err) => {
9275            let message_ident = TMessageIdentifier::new("get_blockchain_parameters_packed", TMessageType::Exception, incoming_sequence_number);
9276            o_prot.write_message_begin(&message_ident)?;
9277            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9278            o_prot.write_message_end()?;
9279            o_prot.flush()
9280          },
9281          _ => {
9282            let ret_err = {
9283              ApplicationError::new(
9284                ApplicationErrorKind::Unknown,
9285                e.to_string()
9286              )
9287            };
9288            let message_ident = TMessageIdentifier::new("get_blockchain_parameters_packed", TMessageType::Exception, incoming_sequence_number);
9289            o_prot.write_message_begin(&message_ident)?;
9290            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9291            o_prot.write_message_end()?;
9292            o_prot.flush()
9293          },
9294        }
9295      },
9296    }
9297  }
9298  pub fn process_preactivate_feature<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9299    let args = ApplyPreactivateFeatureArgs::read_from_in_protocol(i_prot)?;
9300    match handler.handle_preactivate_feature(args.feature_digest) {
9301      Ok(_) => {
9302        let message_ident = TMessageIdentifier::new("preactivate_feature", TMessageType::Reply, incoming_sequence_number);
9303        o_prot.write_message_begin(&message_ident)?;
9304        let ret = ApplyPreactivateFeatureResult {  };
9305        ret.write_to_out_protocol(o_prot)?;
9306        o_prot.write_message_end()?;
9307        o_prot.flush()
9308      },
9309      Err(e) => {
9310        match e {
9311          thrift::Error::Application(app_err) => {
9312            let message_ident = TMessageIdentifier::new("preactivate_feature", TMessageType::Exception, incoming_sequence_number);
9313            o_prot.write_message_begin(&message_ident)?;
9314            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9315            o_prot.write_message_end()?;
9316            o_prot.flush()
9317          },
9318          _ => {
9319            let ret_err = {
9320              ApplicationError::new(
9321                ApplicationErrorKind::Unknown,
9322                e.to_string()
9323              )
9324            };
9325            let message_ident = TMessageIdentifier::new("preactivate_feature", TMessageType::Exception, incoming_sequence_number);
9326            o_prot.write_message_begin(&message_ident)?;
9327            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9328            o_prot.write_message_end()?;
9329            o_prot.flush()
9330          },
9331        }
9332      },
9333    }
9334  }
9335  pub fn process_check_transaction_authorization<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9336    let args = ApplyCheckTransactionAuthorizationArgs::read_from_in_protocol(i_prot)?;
9337    match handler.handle_check_transaction_authorization(args.trx_data, args.pubkeys_data, args.perms_data) {
9338      Ok(handler_return) => {
9339        let message_ident = TMessageIdentifier::new("check_transaction_authorization", TMessageType::Reply, incoming_sequence_number);
9340        o_prot.write_message_begin(&message_ident)?;
9341        let ret = ApplyCheckTransactionAuthorizationResult { result_value: Some(handler_return) };
9342        ret.write_to_out_protocol(o_prot)?;
9343        o_prot.write_message_end()?;
9344        o_prot.flush()
9345      },
9346      Err(e) => {
9347        match e {
9348          thrift::Error::Application(app_err) => {
9349            let message_ident = TMessageIdentifier::new("check_transaction_authorization", TMessageType::Exception, incoming_sequence_number);
9350            o_prot.write_message_begin(&message_ident)?;
9351            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9352            o_prot.write_message_end()?;
9353            o_prot.flush()
9354          },
9355          _ => {
9356            let ret_err = {
9357              ApplicationError::new(
9358                ApplicationErrorKind::Unknown,
9359                e.to_string()
9360              )
9361            };
9362            let message_ident = TMessageIdentifier::new("check_transaction_authorization", TMessageType::Exception, incoming_sequence_number);
9363            o_prot.write_message_begin(&message_ident)?;
9364            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9365            o_prot.write_message_end()?;
9366            o_prot.flush()
9367          },
9368        }
9369      },
9370    }
9371  }
9372  pub fn process_check_permission_authorization<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9373    let args = ApplyCheckPermissionAuthorizationArgs::read_from_in_protocol(i_prot)?;
9374    match handler.handle_check_permission_authorization(args.account, args.permission, args.pubkeys_data, args.perms_data, args.delay_us) {
9375      Ok(handler_return) => {
9376        let message_ident = TMessageIdentifier::new("check_permission_authorization", TMessageType::Reply, incoming_sequence_number);
9377        o_prot.write_message_begin(&message_ident)?;
9378        let ret = ApplyCheckPermissionAuthorizationResult { result_value: Some(handler_return) };
9379        ret.write_to_out_protocol(o_prot)?;
9380        o_prot.write_message_end()?;
9381        o_prot.flush()
9382      },
9383      Err(e) => {
9384        match e {
9385          thrift::Error::Application(app_err) => {
9386            let message_ident = TMessageIdentifier::new("check_permission_authorization", TMessageType::Exception, incoming_sequence_number);
9387            o_prot.write_message_begin(&message_ident)?;
9388            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9389            o_prot.write_message_end()?;
9390            o_prot.flush()
9391          },
9392          _ => {
9393            let ret_err = {
9394              ApplicationError::new(
9395                ApplicationErrorKind::Unknown,
9396                e.to_string()
9397              )
9398            };
9399            let message_ident = TMessageIdentifier::new("check_permission_authorization", TMessageType::Exception, incoming_sequence_number);
9400            o_prot.write_message_begin(&message_ident)?;
9401            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9402            o_prot.write_message_end()?;
9403            o_prot.flush()
9404          },
9405        }
9406      },
9407    }
9408  }
9409  pub fn process_get_permission_last_used<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9410    let args = ApplyGetPermissionLastUsedArgs::read_from_in_protocol(i_prot)?;
9411    match handler.handle_get_permission_last_used(args.account, args.permission) {
9412      Ok(handler_return) => {
9413        let message_ident = TMessageIdentifier::new("get_permission_last_used", TMessageType::Reply, incoming_sequence_number);
9414        o_prot.write_message_begin(&message_ident)?;
9415        let ret = ApplyGetPermissionLastUsedResult { result_value: Some(handler_return) };
9416        ret.write_to_out_protocol(o_prot)?;
9417        o_prot.write_message_end()?;
9418        o_prot.flush()
9419      },
9420      Err(e) => {
9421        match e {
9422          thrift::Error::Application(app_err) => {
9423            let message_ident = TMessageIdentifier::new("get_permission_last_used", TMessageType::Exception, incoming_sequence_number);
9424            o_prot.write_message_begin(&message_ident)?;
9425            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9426            o_prot.write_message_end()?;
9427            o_prot.flush()
9428          },
9429          _ => {
9430            let ret_err = {
9431              ApplicationError::new(
9432                ApplicationErrorKind::Unknown,
9433                e.to_string()
9434              )
9435            };
9436            let message_ident = TMessageIdentifier::new("get_permission_last_used", TMessageType::Exception, incoming_sequence_number);
9437            o_prot.write_message_begin(&message_ident)?;
9438            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9439            o_prot.write_message_end()?;
9440            o_prot.flush()
9441          },
9442        }
9443      },
9444    }
9445  }
9446  pub fn process_get_account_creation_time<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9447    let args = ApplyGetAccountCreationTimeArgs::read_from_in_protocol(i_prot)?;
9448    match handler.handle_get_account_creation_time(args.account) {
9449      Ok(handler_return) => {
9450        let message_ident = TMessageIdentifier::new("get_account_creation_time", TMessageType::Reply, incoming_sequence_number);
9451        o_prot.write_message_begin(&message_ident)?;
9452        let ret = ApplyGetAccountCreationTimeResult { result_value: Some(handler_return) };
9453        ret.write_to_out_protocol(o_prot)?;
9454        o_prot.write_message_end()?;
9455        o_prot.flush()
9456      },
9457      Err(e) => {
9458        match e {
9459          thrift::Error::Application(app_err) => {
9460            let message_ident = TMessageIdentifier::new("get_account_creation_time", TMessageType::Exception, incoming_sequence_number);
9461            o_prot.write_message_begin(&message_ident)?;
9462            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9463            o_prot.write_message_end()?;
9464            o_prot.flush()
9465          },
9466          _ => {
9467            let ret_err = {
9468              ApplicationError::new(
9469                ApplicationErrorKind::Unknown,
9470                e.to_string()
9471              )
9472            };
9473            let message_ident = TMessageIdentifier::new("get_account_creation_time", TMessageType::Exception, incoming_sequence_number);
9474            o_prot.write_message_begin(&message_ident)?;
9475            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9476            o_prot.write_message_end()?;
9477            o_prot.flush()
9478          },
9479        }
9480      },
9481    }
9482  }
9483  pub fn process_prints<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9484    let args = ApplyPrintsArgs::read_from_in_protocol(i_prot)?;
9485    match handler.handle_prints(args.cstr) {
9486      Ok(_) => {
9487        let message_ident = TMessageIdentifier::new("prints", TMessageType::Reply, incoming_sequence_number);
9488        o_prot.write_message_begin(&message_ident)?;
9489        let ret = ApplyPrintsResult {  };
9490        ret.write_to_out_protocol(o_prot)?;
9491        o_prot.write_message_end()?;
9492        o_prot.flush()
9493      },
9494      Err(e) => {
9495        match e {
9496          thrift::Error::Application(app_err) => {
9497            let message_ident = TMessageIdentifier::new("prints", TMessageType::Exception, incoming_sequence_number);
9498            o_prot.write_message_begin(&message_ident)?;
9499            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9500            o_prot.write_message_end()?;
9501            o_prot.flush()
9502          },
9503          _ => {
9504            let ret_err = {
9505              ApplicationError::new(
9506                ApplicationErrorKind::Unknown,
9507                e.to_string()
9508              )
9509            };
9510            let message_ident = TMessageIdentifier::new("prints", TMessageType::Exception, incoming_sequence_number);
9511            o_prot.write_message_begin(&message_ident)?;
9512            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9513            o_prot.write_message_end()?;
9514            o_prot.flush()
9515          },
9516        }
9517      },
9518    }
9519  }
9520  pub fn process_prints_l<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9521    let args = ApplyPrintsLArgs::read_from_in_protocol(i_prot)?;
9522    match handler.handle_prints_l(args.cstr) {
9523      Ok(_) => {
9524        let message_ident = TMessageIdentifier::new("prints_l", TMessageType::Reply, incoming_sequence_number);
9525        o_prot.write_message_begin(&message_ident)?;
9526        let ret = ApplyPrintsLResult {  };
9527        ret.write_to_out_protocol(o_prot)?;
9528        o_prot.write_message_end()?;
9529        o_prot.flush()
9530      },
9531      Err(e) => {
9532        match e {
9533          thrift::Error::Application(app_err) => {
9534            let message_ident = TMessageIdentifier::new("prints_l", TMessageType::Exception, incoming_sequence_number);
9535            o_prot.write_message_begin(&message_ident)?;
9536            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9537            o_prot.write_message_end()?;
9538            o_prot.flush()
9539          },
9540          _ => {
9541            let ret_err = {
9542              ApplicationError::new(
9543                ApplicationErrorKind::Unknown,
9544                e.to_string()
9545              )
9546            };
9547            let message_ident = TMessageIdentifier::new("prints_l", TMessageType::Exception, incoming_sequence_number);
9548            o_prot.write_message_begin(&message_ident)?;
9549            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9550            o_prot.write_message_end()?;
9551            o_prot.flush()
9552          },
9553        }
9554      },
9555    }
9556  }
9557  pub fn process_printi<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9558    let args = ApplyPrintiArgs::read_from_in_protocol(i_prot)?;
9559    match handler.handle_printi(args.n) {
9560      Ok(_) => {
9561        let message_ident = TMessageIdentifier::new("printi", TMessageType::Reply, incoming_sequence_number);
9562        o_prot.write_message_begin(&message_ident)?;
9563        let ret = ApplyPrintiResult {  };
9564        ret.write_to_out_protocol(o_prot)?;
9565        o_prot.write_message_end()?;
9566        o_prot.flush()
9567      },
9568      Err(e) => {
9569        match e {
9570          thrift::Error::Application(app_err) => {
9571            let message_ident = TMessageIdentifier::new("printi", TMessageType::Exception, incoming_sequence_number);
9572            o_prot.write_message_begin(&message_ident)?;
9573            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9574            o_prot.write_message_end()?;
9575            o_prot.flush()
9576          },
9577          _ => {
9578            let ret_err = {
9579              ApplicationError::new(
9580                ApplicationErrorKind::Unknown,
9581                e.to_string()
9582              )
9583            };
9584            let message_ident = TMessageIdentifier::new("printi", TMessageType::Exception, incoming_sequence_number);
9585            o_prot.write_message_begin(&message_ident)?;
9586            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9587            o_prot.write_message_end()?;
9588            o_prot.flush()
9589          },
9590        }
9591      },
9592    }
9593  }
9594  pub fn process_printui<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9595    let args = ApplyPrintuiArgs::read_from_in_protocol(i_prot)?;
9596    match handler.handle_printui(args.n) {
9597      Ok(_) => {
9598        let message_ident = TMessageIdentifier::new("printui", TMessageType::Reply, incoming_sequence_number);
9599        o_prot.write_message_begin(&message_ident)?;
9600        let ret = ApplyPrintuiResult {  };
9601        ret.write_to_out_protocol(o_prot)?;
9602        o_prot.write_message_end()?;
9603        o_prot.flush()
9604      },
9605      Err(e) => {
9606        match e {
9607          thrift::Error::Application(app_err) => {
9608            let message_ident = TMessageIdentifier::new("printui", TMessageType::Exception, incoming_sequence_number);
9609            o_prot.write_message_begin(&message_ident)?;
9610            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9611            o_prot.write_message_end()?;
9612            o_prot.flush()
9613          },
9614          _ => {
9615            let ret_err = {
9616              ApplicationError::new(
9617                ApplicationErrorKind::Unknown,
9618                e.to_string()
9619              )
9620            };
9621            let message_ident = TMessageIdentifier::new("printui", TMessageType::Exception, incoming_sequence_number);
9622            o_prot.write_message_begin(&message_ident)?;
9623            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9624            o_prot.write_message_end()?;
9625            o_prot.flush()
9626          },
9627        }
9628      },
9629    }
9630  }
9631  pub fn process_printi128<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9632    let args = ApplyPrinti128Args::read_from_in_protocol(i_prot)?;
9633    match handler.handle_printi128(args.value) {
9634      Ok(_) => {
9635        let message_ident = TMessageIdentifier::new("printi128", TMessageType::Reply, incoming_sequence_number);
9636        o_prot.write_message_begin(&message_ident)?;
9637        let ret = ApplyPrinti128Result {  };
9638        ret.write_to_out_protocol(o_prot)?;
9639        o_prot.write_message_end()?;
9640        o_prot.flush()
9641      },
9642      Err(e) => {
9643        match e {
9644          thrift::Error::Application(app_err) => {
9645            let message_ident = TMessageIdentifier::new("printi128", TMessageType::Exception, incoming_sequence_number);
9646            o_prot.write_message_begin(&message_ident)?;
9647            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9648            o_prot.write_message_end()?;
9649            o_prot.flush()
9650          },
9651          _ => {
9652            let ret_err = {
9653              ApplicationError::new(
9654                ApplicationErrorKind::Unknown,
9655                e.to_string()
9656              )
9657            };
9658            let message_ident = TMessageIdentifier::new("printi128", TMessageType::Exception, incoming_sequence_number);
9659            o_prot.write_message_begin(&message_ident)?;
9660            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9661            o_prot.write_message_end()?;
9662            o_prot.flush()
9663          },
9664        }
9665      },
9666    }
9667  }
9668  pub fn process_printui128<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9669    let args = ApplyPrintui128Args::read_from_in_protocol(i_prot)?;
9670    match handler.handle_printui128(args.value) {
9671      Ok(_) => {
9672        let message_ident = TMessageIdentifier::new("printui128", TMessageType::Reply, incoming_sequence_number);
9673        o_prot.write_message_begin(&message_ident)?;
9674        let ret = ApplyPrintui128Result {  };
9675        ret.write_to_out_protocol(o_prot)?;
9676        o_prot.write_message_end()?;
9677        o_prot.flush()
9678      },
9679      Err(e) => {
9680        match e {
9681          thrift::Error::Application(app_err) => {
9682            let message_ident = TMessageIdentifier::new("printui128", TMessageType::Exception, incoming_sequence_number);
9683            o_prot.write_message_begin(&message_ident)?;
9684            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9685            o_prot.write_message_end()?;
9686            o_prot.flush()
9687          },
9688          _ => {
9689            let ret_err = {
9690              ApplicationError::new(
9691                ApplicationErrorKind::Unknown,
9692                e.to_string()
9693              )
9694            };
9695            let message_ident = TMessageIdentifier::new("printui128", TMessageType::Exception, incoming_sequence_number);
9696            o_prot.write_message_begin(&message_ident)?;
9697            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9698            o_prot.write_message_end()?;
9699            o_prot.flush()
9700          },
9701        }
9702      },
9703    }
9704  }
9705  pub fn process_printsf<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9706    let args = ApplyPrintsfArgs::read_from_in_protocol(i_prot)?;
9707    match handler.handle_printsf(args.value) {
9708      Ok(_) => {
9709        let message_ident = TMessageIdentifier::new("printsf", TMessageType::Reply, incoming_sequence_number);
9710        o_prot.write_message_begin(&message_ident)?;
9711        let ret = ApplyPrintsfResult {  };
9712        ret.write_to_out_protocol(o_prot)?;
9713        o_prot.write_message_end()?;
9714        o_prot.flush()
9715      },
9716      Err(e) => {
9717        match e {
9718          thrift::Error::Application(app_err) => {
9719            let message_ident = TMessageIdentifier::new("printsf", TMessageType::Exception, incoming_sequence_number);
9720            o_prot.write_message_begin(&message_ident)?;
9721            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9722            o_prot.write_message_end()?;
9723            o_prot.flush()
9724          },
9725          _ => {
9726            let ret_err = {
9727              ApplicationError::new(
9728                ApplicationErrorKind::Unknown,
9729                e.to_string()
9730              )
9731            };
9732            let message_ident = TMessageIdentifier::new("printsf", TMessageType::Exception, incoming_sequence_number);
9733            o_prot.write_message_begin(&message_ident)?;
9734            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9735            o_prot.write_message_end()?;
9736            o_prot.flush()
9737          },
9738        }
9739      },
9740    }
9741  }
9742  pub fn process_printdf<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9743    let args = ApplyPrintdfArgs::read_from_in_protocol(i_prot)?;
9744    match handler.handle_printdf(args.value) {
9745      Ok(_) => {
9746        let message_ident = TMessageIdentifier::new("printdf", TMessageType::Reply, incoming_sequence_number);
9747        o_prot.write_message_begin(&message_ident)?;
9748        let ret = ApplyPrintdfResult {  };
9749        ret.write_to_out_protocol(o_prot)?;
9750        o_prot.write_message_end()?;
9751        o_prot.flush()
9752      },
9753      Err(e) => {
9754        match e {
9755          thrift::Error::Application(app_err) => {
9756            let message_ident = TMessageIdentifier::new("printdf", TMessageType::Exception, incoming_sequence_number);
9757            o_prot.write_message_begin(&message_ident)?;
9758            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9759            o_prot.write_message_end()?;
9760            o_prot.flush()
9761          },
9762          _ => {
9763            let ret_err = {
9764              ApplicationError::new(
9765                ApplicationErrorKind::Unknown,
9766                e.to_string()
9767              )
9768            };
9769            let message_ident = TMessageIdentifier::new("printdf", TMessageType::Exception, incoming_sequence_number);
9770            o_prot.write_message_begin(&message_ident)?;
9771            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9772            o_prot.write_message_end()?;
9773            o_prot.flush()
9774          },
9775        }
9776      },
9777    }
9778  }
9779  pub fn process_printqf<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9780    let args = ApplyPrintqfArgs::read_from_in_protocol(i_prot)?;
9781    match handler.handle_printqf(args.value) {
9782      Ok(_) => {
9783        let message_ident = TMessageIdentifier::new("printqf", TMessageType::Reply, incoming_sequence_number);
9784        o_prot.write_message_begin(&message_ident)?;
9785        let ret = ApplyPrintqfResult {  };
9786        ret.write_to_out_protocol(o_prot)?;
9787        o_prot.write_message_end()?;
9788        o_prot.flush()
9789      },
9790      Err(e) => {
9791        match e {
9792          thrift::Error::Application(app_err) => {
9793            let message_ident = TMessageIdentifier::new("printqf", TMessageType::Exception, incoming_sequence_number);
9794            o_prot.write_message_begin(&message_ident)?;
9795            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9796            o_prot.write_message_end()?;
9797            o_prot.flush()
9798          },
9799          _ => {
9800            let ret_err = {
9801              ApplicationError::new(
9802                ApplicationErrorKind::Unknown,
9803                e.to_string()
9804              )
9805            };
9806            let message_ident = TMessageIdentifier::new("printqf", TMessageType::Exception, incoming_sequence_number);
9807            o_prot.write_message_begin(&message_ident)?;
9808            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9809            o_prot.write_message_end()?;
9810            o_prot.flush()
9811          },
9812        }
9813      },
9814    }
9815  }
9816  pub fn process_printn<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9817    let args = ApplyPrintnArgs::read_from_in_protocol(i_prot)?;
9818    match handler.handle_printn(args.name) {
9819      Ok(_) => {
9820        let message_ident = TMessageIdentifier::new("printn", TMessageType::Reply, incoming_sequence_number);
9821        o_prot.write_message_begin(&message_ident)?;
9822        let ret = ApplyPrintnResult {  };
9823        ret.write_to_out_protocol(o_prot)?;
9824        o_prot.write_message_end()?;
9825        o_prot.flush()
9826      },
9827      Err(e) => {
9828        match e {
9829          thrift::Error::Application(app_err) => {
9830            let message_ident = TMessageIdentifier::new("printn", TMessageType::Exception, incoming_sequence_number);
9831            o_prot.write_message_begin(&message_ident)?;
9832            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9833            o_prot.write_message_end()?;
9834            o_prot.flush()
9835          },
9836          _ => {
9837            let ret_err = {
9838              ApplicationError::new(
9839                ApplicationErrorKind::Unknown,
9840                e.to_string()
9841              )
9842            };
9843            let message_ident = TMessageIdentifier::new("printn", TMessageType::Exception, incoming_sequence_number);
9844            o_prot.write_message_begin(&message_ident)?;
9845            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9846            o_prot.write_message_end()?;
9847            o_prot.flush()
9848          },
9849        }
9850      },
9851    }
9852  }
9853  pub fn process_printhex<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9854    let args = ApplyPrinthexArgs::read_from_in_protocol(i_prot)?;
9855    match handler.handle_printhex(args.data) {
9856      Ok(_) => {
9857        let message_ident = TMessageIdentifier::new("printhex", TMessageType::Reply, incoming_sequence_number);
9858        o_prot.write_message_begin(&message_ident)?;
9859        let ret = ApplyPrinthexResult {  };
9860        ret.write_to_out_protocol(o_prot)?;
9861        o_prot.write_message_end()?;
9862        o_prot.flush()
9863      },
9864      Err(e) => {
9865        match e {
9866          thrift::Error::Application(app_err) => {
9867            let message_ident = TMessageIdentifier::new("printhex", TMessageType::Exception, incoming_sequence_number);
9868            o_prot.write_message_begin(&message_ident)?;
9869            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9870            o_prot.write_message_end()?;
9871            o_prot.flush()
9872          },
9873          _ => {
9874            let ret_err = {
9875              ApplicationError::new(
9876                ApplicationErrorKind::Unknown,
9877                e.to_string()
9878              )
9879            };
9880            let message_ident = TMessageIdentifier::new("printhex", TMessageType::Exception, incoming_sequence_number);
9881            o_prot.write_message_begin(&message_ident)?;
9882            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9883            o_prot.write_message_end()?;
9884            o_prot.flush()
9885          },
9886        }
9887      },
9888    }
9889  }
9890  pub fn process_action_data_size<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9891    let _ = ApplyActionDataSizeArgs::read_from_in_protocol(i_prot)?;
9892    match handler.handle_action_data_size() {
9893      Ok(handler_return) => {
9894        let message_ident = TMessageIdentifier::new("action_data_size", TMessageType::Reply, incoming_sequence_number);
9895        o_prot.write_message_begin(&message_ident)?;
9896        let ret = ApplyActionDataSizeResult { result_value: Some(handler_return) };
9897        ret.write_to_out_protocol(o_prot)?;
9898        o_prot.write_message_end()?;
9899        o_prot.flush()
9900      },
9901      Err(e) => {
9902        match e {
9903          thrift::Error::Application(app_err) => {
9904            let message_ident = TMessageIdentifier::new("action_data_size", TMessageType::Exception, incoming_sequence_number);
9905            o_prot.write_message_begin(&message_ident)?;
9906            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9907            o_prot.write_message_end()?;
9908            o_prot.flush()
9909          },
9910          _ => {
9911            let ret_err = {
9912              ApplicationError::new(
9913                ApplicationErrorKind::Unknown,
9914                e.to_string()
9915              )
9916            };
9917            let message_ident = TMessageIdentifier::new("action_data_size", TMessageType::Exception, incoming_sequence_number);
9918            o_prot.write_message_begin(&message_ident)?;
9919            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9920            o_prot.write_message_end()?;
9921            o_prot.flush()
9922          },
9923        }
9924      },
9925    }
9926  }
9927  pub fn process_read_action_data<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9928    let _ = ApplyReadActionDataArgs::read_from_in_protocol(i_prot)?;
9929    match handler.handle_read_action_data() {
9930      Ok(handler_return) => {
9931        let message_ident = TMessageIdentifier::new("read_action_data", TMessageType::Reply, incoming_sequence_number);
9932        o_prot.write_message_begin(&message_ident)?;
9933        let ret = ApplyReadActionDataResult { result_value: Some(handler_return) };
9934        ret.write_to_out_protocol(o_prot)?;
9935        o_prot.write_message_end()?;
9936        o_prot.flush()
9937      },
9938      Err(e) => {
9939        match e {
9940          thrift::Error::Application(app_err) => {
9941            let message_ident = TMessageIdentifier::new("read_action_data", TMessageType::Exception, incoming_sequence_number);
9942            o_prot.write_message_begin(&message_ident)?;
9943            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9944            o_prot.write_message_end()?;
9945            o_prot.flush()
9946          },
9947          _ => {
9948            let ret_err = {
9949              ApplicationError::new(
9950                ApplicationErrorKind::Unknown,
9951                e.to_string()
9952              )
9953            };
9954            let message_ident = TMessageIdentifier::new("read_action_data", TMessageType::Exception, incoming_sequence_number);
9955            o_prot.write_message_begin(&message_ident)?;
9956            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9957            o_prot.write_message_end()?;
9958            o_prot.flush()
9959          },
9960        }
9961      },
9962    }
9963  }
9964  pub fn process_require_recipient<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
9965    let args = ApplyRequireRecipientArgs::read_from_in_protocol(i_prot)?;
9966    match handler.handle_require_recipient(args.name) {
9967      Ok(_) => {
9968        let message_ident = TMessageIdentifier::new("require_recipient", TMessageType::Reply, incoming_sequence_number);
9969        o_prot.write_message_begin(&message_ident)?;
9970        let ret = ApplyRequireRecipientResult {  };
9971        ret.write_to_out_protocol(o_prot)?;
9972        o_prot.write_message_end()?;
9973        o_prot.flush()
9974      },
9975      Err(e) => {
9976        match e {
9977          thrift::Error::Application(app_err) => {
9978            let message_ident = TMessageIdentifier::new("require_recipient", TMessageType::Exception, incoming_sequence_number);
9979            o_prot.write_message_begin(&message_ident)?;
9980            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
9981            o_prot.write_message_end()?;
9982            o_prot.flush()
9983          },
9984          _ => {
9985            let ret_err = {
9986              ApplicationError::new(
9987                ApplicationErrorKind::Unknown,
9988                e.to_string()
9989              )
9990            };
9991            let message_ident = TMessageIdentifier::new("require_recipient", TMessageType::Exception, incoming_sequence_number);
9992            o_prot.write_message_begin(&message_ident)?;
9993            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
9994            o_prot.write_message_end()?;
9995            o_prot.flush()
9996          },
9997        }
9998      },
9999    }
10000  }
10001  pub fn process_require_auth<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10002    let args = ApplyRequireAuthArgs::read_from_in_protocol(i_prot)?;
10003    match handler.handle_require_auth(args.name) {
10004      Ok(_) => {
10005        let message_ident = TMessageIdentifier::new("require_auth", TMessageType::Reply, incoming_sequence_number);
10006        o_prot.write_message_begin(&message_ident)?;
10007        let ret = ApplyRequireAuthResult {  };
10008        ret.write_to_out_protocol(o_prot)?;
10009        o_prot.write_message_end()?;
10010        o_prot.flush()
10011      },
10012      Err(e) => {
10013        match e {
10014          thrift::Error::Application(app_err) => {
10015            let message_ident = TMessageIdentifier::new("require_auth", TMessageType::Exception, incoming_sequence_number);
10016            o_prot.write_message_begin(&message_ident)?;
10017            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10018            o_prot.write_message_end()?;
10019            o_prot.flush()
10020          },
10021          _ => {
10022            let ret_err = {
10023              ApplicationError::new(
10024                ApplicationErrorKind::Unknown,
10025                e.to_string()
10026              )
10027            };
10028            let message_ident = TMessageIdentifier::new("require_auth", TMessageType::Exception, incoming_sequence_number);
10029            o_prot.write_message_begin(&message_ident)?;
10030            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10031            o_prot.write_message_end()?;
10032            o_prot.flush()
10033          },
10034        }
10035      },
10036    }
10037  }
10038  pub fn process_has_auth<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10039    let args = ApplyHasAuthArgs::read_from_in_protocol(i_prot)?;
10040    match handler.handle_has_auth(args.name) {
10041      Ok(handler_return) => {
10042        let message_ident = TMessageIdentifier::new("has_auth", TMessageType::Reply, incoming_sequence_number);
10043        o_prot.write_message_begin(&message_ident)?;
10044        let ret = ApplyHasAuthResult { result_value: Some(handler_return) };
10045        ret.write_to_out_protocol(o_prot)?;
10046        o_prot.write_message_end()?;
10047        o_prot.flush()
10048      },
10049      Err(e) => {
10050        match e {
10051          thrift::Error::Application(app_err) => {
10052            let message_ident = TMessageIdentifier::new("has_auth", TMessageType::Exception, incoming_sequence_number);
10053            o_prot.write_message_begin(&message_ident)?;
10054            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10055            o_prot.write_message_end()?;
10056            o_prot.flush()
10057          },
10058          _ => {
10059            let ret_err = {
10060              ApplicationError::new(
10061                ApplicationErrorKind::Unknown,
10062                e.to_string()
10063              )
10064            };
10065            let message_ident = TMessageIdentifier::new("has_auth", TMessageType::Exception, incoming_sequence_number);
10066            o_prot.write_message_begin(&message_ident)?;
10067            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10068            o_prot.write_message_end()?;
10069            o_prot.flush()
10070          },
10071        }
10072      },
10073    }
10074  }
10075  pub fn process_require_auth2<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10076    let args = ApplyRequireAuth2Args::read_from_in_protocol(i_prot)?;
10077    match handler.handle_require_auth2(args.name, args.permission) {
10078      Ok(_) => {
10079        let message_ident = TMessageIdentifier::new("require_auth2", TMessageType::Reply, incoming_sequence_number);
10080        o_prot.write_message_begin(&message_ident)?;
10081        let ret = ApplyRequireAuth2Result {  };
10082        ret.write_to_out_protocol(o_prot)?;
10083        o_prot.write_message_end()?;
10084        o_prot.flush()
10085      },
10086      Err(e) => {
10087        match e {
10088          thrift::Error::Application(app_err) => {
10089            let message_ident = TMessageIdentifier::new("require_auth2", TMessageType::Exception, incoming_sequence_number);
10090            o_prot.write_message_begin(&message_ident)?;
10091            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10092            o_prot.write_message_end()?;
10093            o_prot.flush()
10094          },
10095          _ => {
10096            let ret_err = {
10097              ApplicationError::new(
10098                ApplicationErrorKind::Unknown,
10099                e.to_string()
10100              )
10101            };
10102            let message_ident = TMessageIdentifier::new("require_auth2", TMessageType::Exception, incoming_sequence_number);
10103            o_prot.write_message_begin(&message_ident)?;
10104            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10105            o_prot.write_message_end()?;
10106            o_prot.flush()
10107          },
10108        }
10109      },
10110    }
10111  }
10112  pub fn process_is_account<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10113    let args = ApplyIsAccountArgs::read_from_in_protocol(i_prot)?;
10114    match handler.handle_is_account(args.name) {
10115      Ok(handler_return) => {
10116        let message_ident = TMessageIdentifier::new("is_account", TMessageType::Reply, incoming_sequence_number);
10117        o_prot.write_message_begin(&message_ident)?;
10118        let ret = ApplyIsAccountResult { result_value: Some(handler_return) };
10119        ret.write_to_out_protocol(o_prot)?;
10120        o_prot.write_message_end()?;
10121        o_prot.flush()
10122      },
10123      Err(e) => {
10124        match e {
10125          thrift::Error::Application(app_err) => {
10126            let message_ident = TMessageIdentifier::new("is_account", TMessageType::Exception, incoming_sequence_number);
10127            o_prot.write_message_begin(&message_ident)?;
10128            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10129            o_prot.write_message_end()?;
10130            o_prot.flush()
10131          },
10132          _ => {
10133            let ret_err = {
10134              ApplicationError::new(
10135                ApplicationErrorKind::Unknown,
10136                e.to_string()
10137              )
10138            };
10139            let message_ident = TMessageIdentifier::new("is_account", TMessageType::Exception, incoming_sequence_number);
10140            o_prot.write_message_begin(&message_ident)?;
10141            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10142            o_prot.write_message_end()?;
10143            o_prot.flush()
10144          },
10145        }
10146      },
10147    }
10148  }
10149  pub fn process_send_inline<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10150    let args = ApplySendInlineArgs::read_from_in_protocol(i_prot)?;
10151    match handler.handle_send_inline(args.serialized_action) {
10152      Ok(_) => {
10153        let message_ident = TMessageIdentifier::new("send_inline", TMessageType::Reply, incoming_sequence_number);
10154        o_prot.write_message_begin(&message_ident)?;
10155        let ret = ApplySendInlineResult {  };
10156        ret.write_to_out_protocol(o_prot)?;
10157        o_prot.write_message_end()?;
10158        o_prot.flush()
10159      },
10160      Err(e) => {
10161        match e {
10162          thrift::Error::Application(app_err) => {
10163            let message_ident = TMessageIdentifier::new("send_inline", TMessageType::Exception, incoming_sequence_number);
10164            o_prot.write_message_begin(&message_ident)?;
10165            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10166            o_prot.write_message_end()?;
10167            o_prot.flush()
10168          },
10169          _ => {
10170            let ret_err = {
10171              ApplicationError::new(
10172                ApplicationErrorKind::Unknown,
10173                e.to_string()
10174              )
10175            };
10176            let message_ident = TMessageIdentifier::new("send_inline", TMessageType::Exception, incoming_sequence_number);
10177            o_prot.write_message_begin(&message_ident)?;
10178            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10179            o_prot.write_message_end()?;
10180            o_prot.flush()
10181          },
10182        }
10183      },
10184    }
10185  }
10186  pub fn process_send_context_free_inline<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10187    let args = ApplySendContextFreeInlineArgs::read_from_in_protocol(i_prot)?;
10188    match handler.handle_send_context_free_inline(args.serialized_data) {
10189      Ok(_) => {
10190        let message_ident = TMessageIdentifier::new("send_context_free_inline", TMessageType::Reply, incoming_sequence_number);
10191        o_prot.write_message_begin(&message_ident)?;
10192        let ret = ApplySendContextFreeInlineResult {  };
10193        ret.write_to_out_protocol(o_prot)?;
10194        o_prot.write_message_end()?;
10195        o_prot.flush()
10196      },
10197      Err(e) => {
10198        match e {
10199          thrift::Error::Application(app_err) => {
10200            let message_ident = TMessageIdentifier::new("send_context_free_inline", TMessageType::Exception, incoming_sequence_number);
10201            o_prot.write_message_begin(&message_ident)?;
10202            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10203            o_prot.write_message_end()?;
10204            o_prot.flush()
10205          },
10206          _ => {
10207            let ret_err = {
10208              ApplicationError::new(
10209                ApplicationErrorKind::Unknown,
10210                e.to_string()
10211              )
10212            };
10213            let message_ident = TMessageIdentifier::new("send_context_free_inline", TMessageType::Exception, incoming_sequence_number);
10214            o_prot.write_message_begin(&message_ident)?;
10215            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10216            o_prot.write_message_end()?;
10217            o_prot.flush()
10218          },
10219        }
10220      },
10221    }
10222  }
10223  pub fn process_publication_time<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10224    let _ = ApplyPublicationTimeArgs::read_from_in_protocol(i_prot)?;
10225    match handler.handle_publication_time() {
10226      Ok(handler_return) => {
10227        let message_ident = TMessageIdentifier::new("publication_time", TMessageType::Reply, incoming_sequence_number);
10228        o_prot.write_message_begin(&message_ident)?;
10229        let ret = ApplyPublicationTimeResult { result_value: Some(handler_return) };
10230        ret.write_to_out_protocol(o_prot)?;
10231        o_prot.write_message_end()?;
10232        o_prot.flush()
10233      },
10234      Err(e) => {
10235        match e {
10236          thrift::Error::Application(app_err) => {
10237            let message_ident = TMessageIdentifier::new("publication_time", TMessageType::Exception, incoming_sequence_number);
10238            o_prot.write_message_begin(&message_ident)?;
10239            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10240            o_prot.write_message_end()?;
10241            o_prot.flush()
10242          },
10243          _ => {
10244            let ret_err = {
10245              ApplicationError::new(
10246                ApplicationErrorKind::Unknown,
10247                e.to_string()
10248              )
10249            };
10250            let message_ident = TMessageIdentifier::new("publication_time", TMessageType::Exception, incoming_sequence_number);
10251            o_prot.write_message_begin(&message_ident)?;
10252            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10253            o_prot.write_message_end()?;
10254            o_prot.flush()
10255          },
10256        }
10257      },
10258    }
10259  }
10260  pub fn process_current_receiver<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10261    let _ = ApplyCurrentReceiverArgs::read_from_in_protocol(i_prot)?;
10262    match handler.handle_current_receiver() {
10263      Ok(handler_return) => {
10264        let message_ident = TMessageIdentifier::new("current_receiver", TMessageType::Reply, incoming_sequence_number);
10265        o_prot.write_message_begin(&message_ident)?;
10266        let ret = ApplyCurrentReceiverResult { result_value: Some(handler_return) };
10267        ret.write_to_out_protocol(o_prot)?;
10268        o_prot.write_message_end()?;
10269        o_prot.flush()
10270      },
10271      Err(e) => {
10272        match e {
10273          thrift::Error::Application(app_err) => {
10274            let message_ident = TMessageIdentifier::new("current_receiver", TMessageType::Exception, incoming_sequence_number);
10275            o_prot.write_message_begin(&message_ident)?;
10276            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10277            o_prot.write_message_end()?;
10278            o_prot.flush()
10279          },
10280          _ => {
10281            let ret_err = {
10282              ApplicationError::new(
10283                ApplicationErrorKind::Unknown,
10284                e.to_string()
10285              )
10286            };
10287            let message_ident = TMessageIdentifier::new("current_receiver", TMessageType::Exception, incoming_sequence_number);
10288            o_prot.write_message_begin(&message_ident)?;
10289            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10290            o_prot.write_message_end()?;
10291            o_prot.flush()
10292          },
10293        }
10294      },
10295    }
10296  }
10297  pub fn process_eosio_assert<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10298    let args = ApplyEosioAssertArgs::read_from_in_protocol(i_prot)?;
10299    match handler.handle_eosio_assert(args.test, args.msg) {
10300      Ok(_) => {
10301        let message_ident = TMessageIdentifier::new("eosio_assert", TMessageType::Reply, incoming_sequence_number);
10302        o_prot.write_message_begin(&message_ident)?;
10303        let ret = ApplyEosioAssertResult {  };
10304        ret.write_to_out_protocol(o_prot)?;
10305        o_prot.write_message_end()?;
10306        o_prot.flush()
10307      },
10308      Err(e) => {
10309        match e {
10310          thrift::Error::Application(app_err) => {
10311            let message_ident = TMessageIdentifier::new("eosio_assert", TMessageType::Exception, incoming_sequence_number);
10312            o_prot.write_message_begin(&message_ident)?;
10313            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10314            o_prot.write_message_end()?;
10315            o_prot.flush()
10316          },
10317          _ => {
10318            let ret_err = {
10319              ApplicationError::new(
10320                ApplicationErrorKind::Unknown,
10321                e.to_string()
10322              )
10323            };
10324            let message_ident = TMessageIdentifier::new("eosio_assert", TMessageType::Exception, incoming_sequence_number);
10325            o_prot.write_message_begin(&message_ident)?;
10326            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10327            o_prot.write_message_end()?;
10328            o_prot.flush()
10329          },
10330        }
10331      },
10332    }
10333  }
10334  pub fn process_eosio_assert_message<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10335    let args = ApplyEosioAssertMessageArgs::read_from_in_protocol(i_prot)?;
10336    match handler.handle_eosio_assert_message(args.test, args.msg) {
10337      Ok(_) => {
10338        let message_ident = TMessageIdentifier::new("eosio_assert_message", TMessageType::Reply, incoming_sequence_number);
10339        o_prot.write_message_begin(&message_ident)?;
10340        let ret = ApplyEosioAssertMessageResult {  };
10341        ret.write_to_out_protocol(o_prot)?;
10342        o_prot.write_message_end()?;
10343        o_prot.flush()
10344      },
10345      Err(e) => {
10346        match e {
10347          thrift::Error::Application(app_err) => {
10348            let message_ident = TMessageIdentifier::new("eosio_assert_message", TMessageType::Exception, incoming_sequence_number);
10349            o_prot.write_message_begin(&message_ident)?;
10350            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10351            o_prot.write_message_end()?;
10352            o_prot.flush()
10353          },
10354          _ => {
10355            let ret_err = {
10356              ApplicationError::new(
10357                ApplicationErrorKind::Unknown,
10358                e.to_string()
10359              )
10360            };
10361            let message_ident = TMessageIdentifier::new("eosio_assert_message", TMessageType::Exception, incoming_sequence_number);
10362            o_prot.write_message_begin(&message_ident)?;
10363            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10364            o_prot.write_message_end()?;
10365            o_prot.flush()
10366          },
10367        }
10368      },
10369    }
10370  }
10371  pub fn process_eosio_assert_code<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10372    let args = ApplyEosioAssertCodeArgs::read_from_in_protocol(i_prot)?;
10373    match handler.handle_eosio_assert_code(args.test, args.code) {
10374      Ok(_) => {
10375        let message_ident = TMessageIdentifier::new("eosio_assert_code", TMessageType::Reply, incoming_sequence_number);
10376        o_prot.write_message_begin(&message_ident)?;
10377        let ret = ApplyEosioAssertCodeResult {  };
10378        ret.write_to_out_protocol(o_prot)?;
10379        o_prot.write_message_end()?;
10380        o_prot.flush()
10381      },
10382      Err(e) => {
10383        match e {
10384          thrift::Error::Application(app_err) => {
10385            let message_ident = TMessageIdentifier::new("eosio_assert_code", TMessageType::Exception, incoming_sequence_number);
10386            o_prot.write_message_begin(&message_ident)?;
10387            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10388            o_prot.write_message_end()?;
10389            o_prot.flush()
10390          },
10391          _ => {
10392            let ret_err = {
10393              ApplicationError::new(
10394                ApplicationErrorKind::Unknown,
10395                e.to_string()
10396              )
10397            };
10398            let message_ident = TMessageIdentifier::new("eosio_assert_code", TMessageType::Exception, incoming_sequence_number);
10399            o_prot.write_message_begin(&message_ident)?;
10400            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10401            o_prot.write_message_end()?;
10402            o_prot.flush()
10403          },
10404        }
10405      },
10406    }
10407  }
10408  pub fn process_eosio_exit<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10409    let args = ApplyEosioExitArgs::read_from_in_protocol(i_prot)?;
10410    match handler.handle_eosio_exit(args.code) {
10411      Ok(_) => {
10412        let message_ident = TMessageIdentifier::new("eosio_exit", TMessageType::Reply, incoming_sequence_number);
10413        o_prot.write_message_begin(&message_ident)?;
10414        let ret = ApplyEosioExitResult {  };
10415        ret.write_to_out_protocol(o_prot)?;
10416        o_prot.write_message_end()?;
10417        o_prot.flush()
10418      },
10419      Err(e) => {
10420        match e {
10421          thrift::Error::Application(app_err) => {
10422            let message_ident = TMessageIdentifier::new("eosio_exit", TMessageType::Exception, incoming_sequence_number);
10423            o_prot.write_message_begin(&message_ident)?;
10424            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10425            o_prot.write_message_end()?;
10426            o_prot.flush()
10427          },
10428          _ => {
10429            let ret_err = {
10430              ApplicationError::new(
10431                ApplicationErrorKind::Unknown,
10432                e.to_string()
10433              )
10434            };
10435            let message_ident = TMessageIdentifier::new("eosio_exit", TMessageType::Exception, incoming_sequence_number);
10436            o_prot.write_message_begin(&message_ident)?;
10437            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10438            o_prot.write_message_end()?;
10439            o_prot.flush()
10440          },
10441        }
10442      },
10443    }
10444  }
10445  pub fn process_current_time<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10446    let _ = ApplyCurrentTimeArgs::read_from_in_protocol(i_prot)?;
10447    match handler.handle_current_time() {
10448      Ok(handler_return) => {
10449        let message_ident = TMessageIdentifier::new("current_time", TMessageType::Reply, incoming_sequence_number);
10450        o_prot.write_message_begin(&message_ident)?;
10451        let ret = ApplyCurrentTimeResult { result_value: Some(handler_return) };
10452        ret.write_to_out_protocol(o_prot)?;
10453        o_prot.write_message_end()?;
10454        o_prot.flush()
10455      },
10456      Err(e) => {
10457        match e {
10458          thrift::Error::Application(app_err) => {
10459            let message_ident = TMessageIdentifier::new("current_time", TMessageType::Exception, incoming_sequence_number);
10460            o_prot.write_message_begin(&message_ident)?;
10461            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10462            o_prot.write_message_end()?;
10463            o_prot.flush()
10464          },
10465          _ => {
10466            let ret_err = {
10467              ApplicationError::new(
10468                ApplicationErrorKind::Unknown,
10469                e.to_string()
10470              )
10471            };
10472            let message_ident = TMessageIdentifier::new("current_time", TMessageType::Exception, incoming_sequence_number);
10473            o_prot.write_message_begin(&message_ident)?;
10474            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10475            o_prot.write_message_end()?;
10476            o_prot.flush()
10477          },
10478        }
10479      },
10480    }
10481  }
10482  pub fn process_is_feature_activated<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10483    let args = ApplyIsFeatureActivatedArgs::read_from_in_protocol(i_prot)?;
10484    match handler.handle_is_feature_activated(args.feature_digest) {
10485      Ok(handler_return) => {
10486        let message_ident = TMessageIdentifier::new("is_feature_activated", TMessageType::Reply, incoming_sequence_number);
10487        o_prot.write_message_begin(&message_ident)?;
10488        let ret = ApplyIsFeatureActivatedResult { result_value: Some(handler_return) };
10489        ret.write_to_out_protocol(o_prot)?;
10490        o_prot.write_message_end()?;
10491        o_prot.flush()
10492      },
10493      Err(e) => {
10494        match e {
10495          thrift::Error::Application(app_err) => {
10496            let message_ident = TMessageIdentifier::new("is_feature_activated", TMessageType::Exception, incoming_sequence_number);
10497            o_prot.write_message_begin(&message_ident)?;
10498            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10499            o_prot.write_message_end()?;
10500            o_prot.flush()
10501          },
10502          _ => {
10503            let ret_err = {
10504              ApplicationError::new(
10505                ApplicationErrorKind::Unknown,
10506                e.to_string()
10507              )
10508            };
10509            let message_ident = TMessageIdentifier::new("is_feature_activated", TMessageType::Exception, incoming_sequence_number);
10510            o_prot.write_message_begin(&message_ident)?;
10511            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10512            o_prot.write_message_end()?;
10513            o_prot.flush()
10514          },
10515        }
10516      },
10517    }
10518  }
10519  pub fn process_get_sender<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10520    let _ = ApplyGetSenderArgs::read_from_in_protocol(i_prot)?;
10521    match handler.handle_get_sender() {
10522      Ok(handler_return) => {
10523        let message_ident = TMessageIdentifier::new("get_sender", TMessageType::Reply, incoming_sequence_number);
10524        o_prot.write_message_begin(&message_ident)?;
10525        let ret = ApplyGetSenderResult { result_value: Some(handler_return) };
10526        ret.write_to_out_protocol(o_prot)?;
10527        o_prot.write_message_end()?;
10528        o_prot.flush()
10529      },
10530      Err(e) => {
10531        match e {
10532          thrift::Error::Application(app_err) => {
10533            let message_ident = TMessageIdentifier::new("get_sender", TMessageType::Exception, incoming_sequence_number);
10534            o_prot.write_message_begin(&message_ident)?;
10535            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10536            o_prot.write_message_end()?;
10537            o_prot.flush()
10538          },
10539          _ => {
10540            let ret_err = {
10541              ApplicationError::new(
10542                ApplicationErrorKind::Unknown,
10543                e.to_string()
10544              )
10545            };
10546            let message_ident = TMessageIdentifier::new("get_sender", TMessageType::Exception, incoming_sequence_number);
10547            o_prot.write_message_begin(&message_ident)?;
10548            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10549            o_prot.write_message_end()?;
10550            o_prot.flush()
10551          },
10552        }
10553      },
10554    }
10555  }
10556  pub fn process_assert_sha256<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10557    let args = ApplyAssertSha256Args::read_from_in_protocol(i_prot)?;
10558    match handler.handle_assert_sha256(args.data, args.hash) {
10559      Ok(_) => {
10560        let message_ident = TMessageIdentifier::new("assert_sha256", TMessageType::Reply, incoming_sequence_number);
10561        o_prot.write_message_begin(&message_ident)?;
10562        let ret = ApplyAssertSha256Result {  };
10563        ret.write_to_out_protocol(o_prot)?;
10564        o_prot.write_message_end()?;
10565        o_prot.flush()
10566      },
10567      Err(e) => {
10568        match e {
10569          thrift::Error::Application(app_err) => {
10570            let message_ident = TMessageIdentifier::new("assert_sha256", TMessageType::Exception, incoming_sequence_number);
10571            o_prot.write_message_begin(&message_ident)?;
10572            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10573            o_prot.write_message_end()?;
10574            o_prot.flush()
10575          },
10576          _ => {
10577            let ret_err = {
10578              ApplicationError::new(
10579                ApplicationErrorKind::Unknown,
10580                e.to_string()
10581              )
10582            };
10583            let message_ident = TMessageIdentifier::new("assert_sha256", TMessageType::Exception, incoming_sequence_number);
10584            o_prot.write_message_begin(&message_ident)?;
10585            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10586            o_prot.write_message_end()?;
10587            o_prot.flush()
10588          },
10589        }
10590      },
10591    }
10592  }
10593  pub fn process_assert_sha1<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10594    let args = ApplyAssertSha1Args::read_from_in_protocol(i_prot)?;
10595    match handler.handle_assert_sha1(args.data, args.hash) {
10596      Ok(_) => {
10597        let message_ident = TMessageIdentifier::new("assert_sha1", TMessageType::Reply, incoming_sequence_number);
10598        o_prot.write_message_begin(&message_ident)?;
10599        let ret = ApplyAssertSha1Result {  };
10600        ret.write_to_out_protocol(o_prot)?;
10601        o_prot.write_message_end()?;
10602        o_prot.flush()
10603      },
10604      Err(e) => {
10605        match e {
10606          thrift::Error::Application(app_err) => {
10607            let message_ident = TMessageIdentifier::new("assert_sha1", TMessageType::Exception, incoming_sequence_number);
10608            o_prot.write_message_begin(&message_ident)?;
10609            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10610            o_prot.write_message_end()?;
10611            o_prot.flush()
10612          },
10613          _ => {
10614            let ret_err = {
10615              ApplicationError::new(
10616                ApplicationErrorKind::Unknown,
10617                e.to_string()
10618              )
10619            };
10620            let message_ident = TMessageIdentifier::new("assert_sha1", TMessageType::Exception, incoming_sequence_number);
10621            o_prot.write_message_begin(&message_ident)?;
10622            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10623            o_prot.write_message_end()?;
10624            o_prot.flush()
10625          },
10626        }
10627      },
10628    }
10629  }
10630  pub fn process_assert_sha512<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10631    let args = ApplyAssertSha512Args::read_from_in_protocol(i_prot)?;
10632    match handler.handle_assert_sha512(args.data, args.hash) {
10633      Ok(_) => {
10634        let message_ident = TMessageIdentifier::new("assert_sha512", TMessageType::Reply, incoming_sequence_number);
10635        o_prot.write_message_begin(&message_ident)?;
10636        let ret = ApplyAssertSha512Result {  };
10637        ret.write_to_out_protocol(o_prot)?;
10638        o_prot.write_message_end()?;
10639        o_prot.flush()
10640      },
10641      Err(e) => {
10642        match e {
10643          thrift::Error::Application(app_err) => {
10644            let message_ident = TMessageIdentifier::new("assert_sha512", TMessageType::Exception, incoming_sequence_number);
10645            o_prot.write_message_begin(&message_ident)?;
10646            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10647            o_prot.write_message_end()?;
10648            o_prot.flush()
10649          },
10650          _ => {
10651            let ret_err = {
10652              ApplicationError::new(
10653                ApplicationErrorKind::Unknown,
10654                e.to_string()
10655              )
10656            };
10657            let message_ident = TMessageIdentifier::new("assert_sha512", TMessageType::Exception, incoming_sequence_number);
10658            o_prot.write_message_begin(&message_ident)?;
10659            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10660            o_prot.write_message_end()?;
10661            o_prot.flush()
10662          },
10663        }
10664      },
10665    }
10666  }
10667  pub fn process_assert_ripemd160<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10668    let args = ApplyAssertRipemd160Args::read_from_in_protocol(i_prot)?;
10669    match handler.handle_assert_ripemd160(args.data, args.hash) {
10670      Ok(_) => {
10671        let message_ident = TMessageIdentifier::new("assert_ripemd160", TMessageType::Reply, incoming_sequence_number);
10672        o_prot.write_message_begin(&message_ident)?;
10673        let ret = ApplyAssertRipemd160Result {  };
10674        ret.write_to_out_protocol(o_prot)?;
10675        o_prot.write_message_end()?;
10676        o_prot.flush()
10677      },
10678      Err(e) => {
10679        match e {
10680          thrift::Error::Application(app_err) => {
10681            let message_ident = TMessageIdentifier::new("assert_ripemd160", TMessageType::Exception, incoming_sequence_number);
10682            o_prot.write_message_begin(&message_ident)?;
10683            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10684            o_prot.write_message_end()?;
10685            o_prot.flush()
10686          },
10687          _ => {
10688            let ret_err = {
10689              ApplicationError::new(
10690                ApplicationErrorKind::Unknown,
10691                e.to_string()
10692              )
10693            };
10694            let message_ident = TMessageIdentifier::new("assert_ripemd160", TMessageType::Exception, incoming_sequence_number);
10695            o_prot.write_message_begin(&message_ident)?;
10696            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10697            o_prot.write_message_end()?;
10698            o_prot.flush()
10699          },
10700        }
10701      },
10702    }
10703  }
10704  pub fn process_sha256<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10705    let args = ApplySha256Args::read_from_in_protocol(i_prot)?;
10706    match handler.handle_sha256(args.data) {
10707      Ok(handler_return) => {
10708        let message_ident = TMessageIdentifier::new("sha256", TMessageType::Reply, incoming_sequence_number);
10709        o_prot.write_message_begin(&message_ident)?;
10710        let ret = ApplySha256Result { result_value: Some(handler_return) };
10711        ret.write_to_out_protocol(o_prot)?;
10712        o_prot.write_message_end()?;
10713        o_prot.flush()
10714      },
10715      Err(e) => {
10716        match e {
10717          thrift::Error::Application(app_err) => {
10718            let message_ident = TMessageIdentifier::new("sha256", TMessageType::Exception, incoming_sequence_number);
10719            o_prot.write_message_begin(&message_ident)?;
10720            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10721            o_prot.write_message_end()?;
10722            o_prot.flush()
10723          },
10724          _ => {
10725            let ret_err = {
10726              ApplicationError::new(
10727                ApplicationErrorKind::Unknown,
10728                e.to_string()
10729              )
10730            };
10731            let message_ident = TMessageIdentifier::new("sha256", TMessageType::Exception, incoming_sequence_number);
10732            o_prot.write_message_begin(&message_ident)?;
10733            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10734            o_prot.write_message_end()?;
10735            o_prot.flush()
10736          },
10737        }
10738      },
10739    }
10740  }
10741  pub fn process_sha1<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10742    let args = ApplySha1Args::read_from_in_protocol(i_prot)?;
10743    match handler.handle_sha1(args.data) {
10744      Ok(handler_return) => {
10745        let message_ident = TMessageIdentifier::new("sha1", TMessageType::Reply, incoming_sequence_number);
10746        o_prot.write_message_begin(&message_ident)?;
10747        let ret = ApplySha1Result { result_value: Some(handler_return) };
10748        ret.write_to_out_protocol(o_prot)?;
10749        o_prot.write_message_end()?;
10750        o_prot.flush()
10751      },
10752      Err(e) => {
10753        match e {
10754          thrift::Error::Application(app_err) => {
10755            let message_ident = TMessageIdentifier::new("sha1", TMessageType::Exception, incoming_sequence_number);
10756            o_prot.write_message_begin(&message_ident)?;
10757            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10758            o_prot.write_message_end()?;
10759            o_prot.flush()
10760          },
10761          _ => {
10762            let ret_err = {
10763              ApplicationError::new(
10764                ApplicationErrorKind::Unknown,
10765                e.to_string()
10766              )
10767            };
10768            let message_ident = TMessageIdentifier::new("sha1", TMessageType::Exception, incoming_sequence_number);
10769            o_prot.write_message_begin(&message_ident)?;
10770            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10771            o_prot.write_message_end()?;
10772            o_prot.flush()
10773          },
10774        }
10775      },
10776    }
10777  }
10778  pub fn process_sha512<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10779    let args = ApplySha512Args::read_from_in_protocol(i_prot)?;
10780    match handler.handle_sha512(args.data) {
10781      Ok(handler_return) => {
10782        let message_ident = TMessageIdentifier::new("sha512", TMessageType::Reply, incoming_sequence_number);
10783        o_prot.write_message_begin(&message_ident)?;
10784        let ret = ApplySha512Result { result_value: Some(handler_return) };
10785        ret.write_to_out_protocol(o_prot)?;
10786        o_prot.write_message_end()?;
10787        o_prot.flush()
10788      },
10789      Err(e) => {
10790        match e {
10791          thrift::Error::Application(app_err) => {
10792            let message_ident = TMessageIdentifier::new("sha512", TMessageType::Exception, incoming_sequence_number);
10793            o_prot.write_message_begin(&message_ident)?;
10794            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10795            o_prot.write_message_end()?;
10796            o_prot.flush()
10797          },
10798          _ => {
10799            let ret_err = {
10800              ApplicationError::new(
10801                ApplicationErrorKind::Unknown,
10802                e.to_string()
10803              )
10804            };
10805            let message_ident = TMessageIdentifier::new("sha512", TMessageType::Exception, incoming_sequence_number);
10806            o_prot.write_message_begin(&message_ident)?;
10807            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10808            o_prot.write_message_end()?;
10809            o_prot.flush()
10810          },
10811        }
10812      },
10813    }
10814  }
10815  pub fn process_ripemd160<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10816    let args = ApplyRipemd160Args::read_from_in_protocol(i_prot)?;
10817    match handler.handle_ripemd160(args.data) {
10818      Ok(handler_return) => {
10819        let message_ident = TMessageIdentifier::new("ripemd160", TMessageType::Reply, incoming_sequence_number);
10820        o_prot.write_message_begin(&message_ident)?;
10821        let ret = ApplyRipemd160Result { result_value: Some(handler_return) };
10822        ret.write_to_out_protocol(o_prot)?;
10823        o_prot.write_message_end()?;
10824        o_prot.flush()
10825      },
10826      Err(e) => {
10827        match e {
10828          thrift::Error::Application(app_err) => {
10829            let message_ident = TMessageIdentifier::new("ripemd160", TMessageType::Exception, incoming_sequence_number);
10830            o_prot.write_message_begin(&message_ident)?;
10831            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10832            o_prot.write_message_end()?;
10833            o_prot.flush()
10834          },
10835          _ => {
10836            let ret_err = {
10837              ApplicationError::new(
10838                ApplicationErrorKind::Unknown,
10839                e.to_string()
10840              )
10841            };
10842            let message_ident = TMessageIdentifier::new("ripemd160", TMessageType::Exception, incoming_sequence_number);
10843            o_prot.write_message_begin(&message_ident)?;
10844            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10845            o_prot.write_message_end()?;
10846            o_prot.flush()
10847          },
10848        }
10849      },
10850    }
10851  }
10852  pub fn process_recover_key<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10853    let args = ApplyRecoverKeyArgs::read_from_in_protocol(i_prot)?;
10854    match handler.handle_recover_key(args.digest, args.sig) {
10855      Ok(handler_return) => {
10856        let message_ident = TMessageIdentifier::new("recover_key", TMessageType::Reply, incoming_sequence_number);
10857        o_prot.write_message_begin(&message_ident)?;
10858        let ret = ApplyRecoverKeyResult { result_value: Some(handler_return) };
10859        ret.write_to_out_protocol(o_prot)?;
10860        o_prot.write_message_end()?;
10861        o_prot.flush()
10862      },
10863      Err(e) => {
10864        match e {
10865          thrift::Error::Application(app_err) => {
10866            let message_ident = TMessageIdentifier::new("recover_key", TMessageType::Exception, incoming_sequence_number);
10867            o_prot.write_message_begin(&message_ident)?;
10868            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10869            o_prot.write_message_end()?;
10870            o_prot.flush()
10871          },
10872          _ => {
10873            let ret_err = {
10874              ApplicationError::new(
10875                ApplicationErrorKind::Unknown,
10876                e.to_string()
10877              )
10878            };
10879            let message_ident = TMessageIdentifier::new("recover_key", TMessageType::Exception, incoming_sequence_number);
10880            o_prot.write_message_begin(&message_ident)?;
10881            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10882            o_prot.write_message_end()?;
10883            o_prot.flush()
10884          },
10885        }
10886      },
10887    }
10888  }
10889  pub fn process_assert_recover_key<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10890    let args = ApplyAssertRecoverKeyArgs::read_from_in_protocol(i_prot)?;
10891    match handler.handle_assert_recover_key(args.digest, args.sig, args.pub_) {
10892      Ok(_) => {
10893        let message_ident = TMessageIdentifier::new("assert_recover_key", TMessageType::Reply, incoming_sequence_number);
10894        o_prot.write_message_begin(&message_ident)?;
10895        let ret = ApplyAssertRecoverKeyResult {  };
10896        ret.write_to_out_protocol(o_prot)?;
10897        o_prot.write_message_end()?;
10898        o_prot.flush()
10899      },
10900      Err(e) => {
10901        match e {
10902          thrift::Error::Application(app_err) => {
10903            let message_ident = TMessageIdentifier::new("assert_recover_key", TMessageType::Exception, incoming_sequence_number);
10904            o_prot.write_message_begin(&message_ident)?;
10905            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10906            o_prot.write_message_end()?;
10907            o_prot.flush()
10908          },
10909          _ => {
10910            let ret_err = {
10911              ApplicationError::new(
10912                ApplicationErrorKind::Unknown,
10913                e.to_string()
10914              )
10915            };
10916            let message_ident = TMessageIdentifier::new("assert_recover_key", TMessageType::Exception, incoming_sequence_number);
10917            o_prot.write_message_begin(&message_ident)?;
10918            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10919            o_prot.write_message_end()?;
10920            o_prot.flush()
10921          },
10922        }
10923      },
10924    }
10925  }
10926  pub fn process_send_deferred<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10927    let args = ApplySendDeferredArgs::read_from_in_protocol(i_prot)?;
10928    match handler.handle_send_deferred(args.sender_id, args.payer, args.serialized_transaction, args.replace_existing) {
10929      Ok(_) => {
10930        let message_ident = TMessageIdentifier::new("send_deferred", TMessageType::Reply, incoming_sequence_number);
10931        o_prot.write_message_begin(&message_ident)?;
10932        let ret = ApplySendDeferredResult {  };
10933        ret.write_to_out_protocol(o_prot)?;
10934        o_prot.write_message_end()?;
10935        o_prot.flush()
10936      },
10937      Err(e) => {
10938        match e {
10939          thrift::Error::Application(app_err) => {
10940            let message_ident = TMessageIdentifier::new("send_deferred", TMessageType::Exception, incoming_sequence_number);
10941            o_prot.write_message_begin(&message_ident)?;
10942            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10943            o_prot.write_message_end()?;
10944            o_prot.flush()
10945          },
10946          _ => {
10947            let ret_err = {
10948              ApplicationError::new(
10949                ApplicationErrorKind::Unknown,
10950                e.to_string()
10951              )
10952            };
10953            let message_ident = TMessageIdentifier::new("send_deferred", TMessageType::Exception, incoming_sequence_number);
10954            o_prot.write_message_begin(&message_ident)?;
10955            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10956            o_prot.write_message_end()?;
10957            o_prot.flush()
10958          },
10959        }
10960      },
10961    }
10962  }
10963  pub fn process_cancel_deferred<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
10964    let args = ApplyCancelDeferredArgs::read_from_in_protocol(i_prot)?;
10965    match handler.handle_cancel_deferred(args.sender_id) {
10966      Ok(handler_return) => {
10967        let message_ident = TMessageIdentifier::new("cancel_deferred", TMessageType::Reply, incoming_sequence_number);
10968        o_prot.write_message_begin(&message_ident)?;
10969        let ret = ApplyCancelDeferredResult { result_value: Some(handler_return) };
10970        ret.write_to_out_protocol(o_prot)?;
10971        o_prot.write_message_end()?;
10972        o_prot.flush()
10973      },
10974      Err(e) => {
10975        match e {
10976          thrift::Error::Application(app_err) => {
10977            let message_ident = TMessageIdentifier::new("cancel_deferred", TMessageType::Exception, incoming_sequence_number);
10978            o_prot.write_message_begin(&message_ident)?;
10979            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
10980            o_prot.write_message_end()?;
10981            o_prot.flush()
10982          },
10983          _ => {
10984            let ret_err = {
10985              ApplicationError::new(
10986                ApplicationErrorKind::Unknown,
10987                e.to_string()
10988              )
10989            };
10990            let message_ident = TMessageIdentifier::new("cancel_deferred", TMessageType::Exception, incoming_sequence_number);
10991            o_prot.write_message_begin(&message_ident)?;
10992            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
10993            o_prot.write_message_end()?;
10994            o_prot.flush()
10995          },
10996        }
10997      },
10998    }
10999  }
11000  pub fn process_read_transaction<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11001    let _ = ApplyReadTransactionArgs::read_from_in_protocol(i_prot)?;
11002    match handler.handle_read_transaction() {
11003      Ok(handler_return) => {
11004        let message_ident = TMessageIdentifier::new("read_transaction", TMessageType::Reply, incoming_sequence_number);
11005        o_prot.write_message_begin(&message_ident)?;
11006        let ret = ApplyReadTransactionResult { result_value: Some(handler_return) };
11007        ret.write_to_out_protocol(o_prot)?;
11008        o_prot.write_message_end()?;
11009        o_prot.flush()
11010      },
11011      Err(e) => {
11012        match e {
11013          thrift::Error::Application(app_err) => {
11014            let message_ident = TMessageIdentifier::new("read_transaction", TMessageType::Exception, incoming_sequence_number);
11015            o_prot.write_message_begin(&message_ident)?;
11016            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11017            o_prot.write_message_end()?;
11018            o_prot.flush()
11019          },
11020          _ => {
11021            let ret_err = {
11022              ApplicationError::new(
11023                ApplicationErrorKind::Unknown,
11024                e.to_string()
11025              )
11026            };
11027            let message_ident = TMessageIdentifier::new("read_transaction", TMessageType::Exception, incoming_sequence_number);
11028            o_prot.write_message_begin(&message_ident)?;
11029            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11030            o_prot.write_message_end()?;
11031            o_prot.flush()
11032          },
11033        }
11034      },
11035    }
11036  }
11037  pub fn process_transaction_size<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11038    let _ = ApplyTransactionSizeArgs::read_from_in_protocol(i_prot)?;
11039    match handler.handle_transaction_size() {
11040      Ok(handler_return) => {
11041        let message_ident = TMessageIdentifier::new("transaction_size", TMessageType::Reply, incoming_sequence_number);
11042        o_prot.write_message_begin(&message_ident)?;
11043        let ret = ApplyTransactionSizeResult { result_value: Some(handler_return) };
11044        ret.write_to_out_protocol(o_prot)?;
11045        o_prot.write_message_end()?;
11046        o_prot.flush()
11047      },
11048      Err(e) => {
11049        match e {
11050          thrift::Error::Application(app_err) => {
11051            let message_ident = TMessageIdentifier::new("transaction_size", TMessageType::Exception, incoming_sequence_number);
11052            o_prot.write_message_begin(&message_ident)?;
11053            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11054            o_prot.write_message_end()?;
11055            o_prot.flush()
11056          },
11057          _ => {
11058            let ret_err = {
11059              ApplicationError::new(
11060                ApplicationErrorKind::Unknown,
11061                e.to_string()
11062              )
11063            };
11064            let message_ident = TMessageIdentifier::new("transaction_size", TMessageType::Exception, incoming_sequence_number);
11065            o_prot.write_message_begin(&message_ident)?;
11066            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11067            o_prot.write_message_end()?;
11068            o_prot.flush()
11069          },
11070        }
11071      },
11072    }
11073  }
11074  pub fn process_tapos_block_num<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11075    let _ = ApplyTaposBlockNumArgs::read_from_in_protocol(i_prot)?;
11076    match handler.handle_tapos_block_num() {
11077      Ok(handler_return) => {
11078        let message_ident = TMessageIdentifier::new("tapos_block_num", TMessageType::Reply, incoming_sequence_number);
11079        o_prot.write_message_begin(&message_ident)?;
11080        let ret = ApplyTaposBlockNumResult { result_value: Some(handler_return) };
11081        ret.write_to_out_protocol(o_prot)?;
11082        o_prot.write_message_end()?;
11083        o_prot.flush()
11084      },
11085      Err(e) => {
11086        match e {
11087          thrift::Error::Application(app_err) => {
11088            let message_ident = TMessageIdentifier::new("tapos_block_num", TMessageType::Exception, incoming_sequence_number);
11089            o_prot.write_message_begin(&message_ident)?;
11090            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11091            o_prot.write_message_end()?;
11092            o_prot.flush()
11093          },
11094          _ => {
11095            let ret_err = {
11096              ApplicationError::new(
11097                ApplicationErrorKind::Unknown,
11098                e.to_string()
11099              )
11100            };
11101            let message_ident = TMessageIdentifier::new("tapos_block_num", TMessageType::Exception, incoming_sequence_number);
11102            o_prot.write_message_begin(&message_ident)?;
11103            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11104            o_prot.write_message_end()?;
11105            o_prot.flush()
11106          },
11107        }
11108      },
11109    }
11110  }
11111  pub fn process_tapos_block_prefix<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11112    let _ = ApplyTaposBlockPrefixArgs::read_from_in_protocol(i_prot)?;
11113    match handler.handle_tapos_block_prefix() {
11114      Ok(handler_return) => {
11115        let message_ident = TMessageIdentifier::new("tapos_block_prefix", TMessageType::Reply, incoming_sequence_number);
11116        o_prot.write_message_begin(&message_ident)?;
11117        let ret = ApplyTaposBlockPrefixResult { result_value: Some(handler_return) };
11118        ret.write_to_out_protocol(o_prot)?;
11119        o_prot.write_message_end()?;
11120        o_prot.flush()
11121      },
11122      Err(e) => {
11123        match e {
11124          thrift::Error::Application(app_err) => {
11125            let message_ident = TMessageIdentifier::new("tapos_block_prefix", TMessageType::Exception, incoming_sequence_number);
11126            o_prot.write_message_begin(&message_ident)?;
11127            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11128            o_prot.write_message_end()?;
11129            o_prot.flush()
11130          },
11131          _ => {
11132            let ret_err = {
11133              ApplicationError::new(
11134                ApplicationErrorKind::Unknown,
11135                e.to_string()
11136              )
11137            };
11138            let message_ident = TMessageIdentifier::new("tapos_block_prefix", TMessageType::Exception, incoming_sequence_number);
11139            o_prot.write_message_begin(&message_ident)?;
11140            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11141            o_prot.write_message_end()?;
11142            o_prot.flush()
11143          },
11144        }
11145      },
11146    }
11147  }
11148  pub fn process_expiration<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11149    let _ = ApplyExpirationArgs::read_from_in_protocol(i_prot)?;
11150    match handler.handle_expiration() {
11151      Ok(handler_return) => {
11152        let message_ident = TMessageIdentifier::new("expiration", TMessageType::Reply, incoming_sequence_number);
11153        o_prot.write_message_begin(&message_ident)?;
11154        let ret = ApplyExpirationResult { result_value: Some(handler_return) };
11155        ret.write_to_out_protocol(o_prot)?;
11156        o_prot.write_message_end()?;
11157        o_prot.flush()
11158      },
11159      Err(e) => {
11160        match e {
11161          thrift::Error::Application(app_err) => {
11162            let message_ident = TMessageIdentifier::new("expiration", TMessageType::Exception, incoming_sequence_number);
11163            o_prot.write_message_begin(&message_ident)?;
11164            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11165            o_prot.write_message_end()?;
11166            o_prot.flush()
11167          },
11168          _ => {
11169            let ret_err = {
11170              ApplicationError::new(
11171                ApplicationErrorKind::Unknown,
11172                e.to_string()
11173              )
11174            };
11175            let message_ident = TMessageIdentifier::new("expiration", TMessageType::Exception, incoming_sequence_number);
11176            o_prot.write_message_begin(&message_ident)?;
11177            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11178            o_prot.write_message_end()?;
11179            o_prot.flush()
11180          },
11181        }
11182      },
11183    }
11184  }
11185  pub fn process_get_action<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11186    let args = ApplyGetActionArgs::read_from_in_protocol(i_prot)?;
11187    match handler.handle_get_action(args._type, args.index) {
11188      Ok(handler_return) => {
11189        let message_ident = TMessageIdentifier::new("get_action", TMessageType::Reply, incoming_sequence_number);
11190        o_prot.write_message_begin(&message_ident)?;
11191        let ret = ApplyGetActionResult { result_value: Some(handler_return) };
11192        ret.write_to_out_protocol(o_prot)?;
11193        o_prot.write_message_end()?;
11194        o_prot.flush()
11195      },
11196      Err(e) => {
11197        match e {
11198          thrift::Error::Application(app_err) => {
11199            let message_ident = TMessageIdentifier::new("get_action", TMessageType::Exception, incoming_sequence_number);
11200            o_prot.write_message_begin(&message_ident)?;
11201            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11202            o_prot.write_message_end()?;
11203            o_prot.flush()
11204          },
11205          _ => {
11206            let ret_err = {
11207              ApplicationError::new(
11208                ApplicationErrorKind::Unknown,
11209                e.to_string()
11210              )
11211            };
11212            let message_ident = TMessageIdentifier::new("get_action", TMessageType::Exception, incoming_sequence_number);
11213            o_prot.write_message_begin(&message_ident)?;
11214            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11215            o_prot.write_message_end()?;
11216            o_prot.flush()
11217          },
11218        }
11219      },
11220    }
11221  }
11222  pub fn process_get_context_free_data<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11223    let args = ApplyGetContextFreeDataArgs::read_from_in_protocol(i_prot)?;
11224    match handler.handle_get_context_free_data(args.index) {
11225      Ok(handler_return) => {
11226        let message_ident = TMessageIdentifier::new("get_context_free_data", TMessageType::Reply, incoming_sequence_number);
11227        o_prot.write_message_begin(&message_ident)?;
11228        let ret = ApplyGetContextFreeDataResult { result_value: Some(handler_return) };
11229        ret.write_to_out_protocol(o_prot)?;
11230        o_prot.write_message_end()?;
11231        o_prot.flush()
11232      },
11233      Err(e) => {
11234        match e {
11235          thrift::Error::Application(app_err) => {
11236            let message_ident = TMessageIdentifier::new("get_context_free_data", TMessageType::Exception, incoming_sequence_number);
11237            o_prot.write_message_begin(&message_ident)?;
11238            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11239            o_prot.write_message_end()?;
11240            o_prot.flush()
11241          },
11242          _ => {
11243            let ret_err = {
11244              ApplicationError::new(
11245                ApplicationErrorKind::Unknown,
11246                e.to_string()
11247              )
11248            };
11249            let message_ident = TMessageIdentifier::new("get_context_free_data", TMessageType::Exception, incoming_sequence_number);
11250            o_prot.write_message_begin(&message_ident)?;
11251            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11252            o_prot.write_message_end()?;
11253            o_prot.flush()
11254          },
11255        }
11256      },
11257    }
11258  }
11259  pub fn process_db_store_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11260    let args = ApplyDbStoreI64Args::read_from_in_protocol(i_prot)?;
11261    match handler.handle_db_store_i64(args.scope, args.table, args.payer, args.id, args.data) {
11262      Ok(handler_return) => {
11263        let message_ident = TMessageIdentifier::new("db_store_i64", TMessageType::Reply, incoming_sequence_number);
11264        o_prot.write_message_begin(&message_ident)?;
11265        let ret = ApplyDbStoreI64Result { result_value: Some(handler_return) };
11266        ret.write_to_out_protocol(o_prot)?;
11267        o_prot.write_message_end()?;
11268        o_prot.flush()
11269      },
11270      Err(e) => {
11271        match e {
11272          thrift::Error::Application(app_err) => {
11273            let message_ident = TMessageIdentifier::new("db_store_i64", TMessageType::Exception, incoming_sequence_number);
11274            o_prot.write_message_begin(&message_ident)?;
11275            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11276            o_prot.write_message_end()?;
11277            o_prot.flush()
11278          },
11279          _ => {
11280            let ret_err = {
11281              ApplicationError::new(
11282                ApplicationErrorKind::Unknown,
11283                e.to_string()
11284              )
11285            };
11286            let message_ident = TMessageIdentifier::new("db_store_i64", TMessageType::Exception, incoming_sequence_number);
11287            o_prot.write_message_begin(&message_ident)?;
11288            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11289            o_prot.write_message_end()?;
11290            o_prot.flush()
11291          },
11292        }
11293      },
11294    }
11295  }
11296  pub fn process_db_update_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11297    let args = ApplyDbUpdateI64Args::read_from_in_protocol(i_prot)?;
11298    match handler.handle_db_update_i64(args.iterator, args.payer, args.data) {
11299      Ok(_) => {
11300        let message_ident = TMessageIdentifier::new("db_update_i64", TMessageType::Reply, incoming_sequence_number);
11301        o_prot.write_message_begin(&message_ident)?;
11302        let ret = ApplyDbUpdateI64Result {  };
11303        ret.write_to_out_protocol(o_prot)?;
11304        o_prot.write_message_end()?;
11305        o_prot.flush()
11306      },
11307      Err(e) => {
11308        match e {
11309          thrift::Error::Application(app_err) => {
11310            let message_ident = TMessageIdentifier::new("db_update_i64", TMessageType::Exception, incoming_sequence_number);
11311            o_prot.write_message_begin(&message_ident)?;
11312            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11313            o_prot.write_message_end()?;
11314            o_prot.flush()
11315          },
11316          _ => {
11317            let ret_err = {
11318              ApplicationError::new(
11319                ApplicationErrorKind::Unknown,
11320                e.to_string()
11321              )
11322            };
11323            let message_ident = TMessageIdentifier::new("db_update_i64", TMessageType::Exception, incoming_sequence_number);
11324            o_prot.write_message_begin(&message_ident)?;
11325            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11326            o_prot.write_message_end()?;
11327            o_prot.flush()
11328          },
11329        }
11330      },
11331    }
11332  }
11333  pub fn process_db_remove_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11334    let args = ApplyDbRemoveI64Args::read_from_in_protocol(i_prot)?;
11335    match handler.handle_db_remove_i64(args.iterator) {
11336      Ok(_) => {
11337        let message_ident = TMessageIdentifier::new("db_remove_i64", TMessageType::Reply, incoming_sequence_number);
11338        o_prot.write_message_begin(&message_ident)?;
11339        let ret = ApplyDbRemoveI64Result {  };
11340        ret.write_to_out_protocol(o_prot)?;
11341        o_prot.write_message_end()?;
11342        o_prot.flush()
11343      },
11344      Err(e) => {
11345        match e {
11346          thrift::Error::Application(app_err) => {
11347            let message_ident = TMessageIdentifier::new("db_remove_i64", TMessageType::Exception, incoming_sequence_number);
11348            o_prot.write_message_begin(&message_ident)?;
11349            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11350            o_prot.write_message_end()?;
11351            o_prot.flush()
11352          },
11353          _ => {
11354            let ret_err = {
11355              ApplicationError::new(
11356                ApplicationErrorKind::Unknown,
11357                e.to_string()
11358              )
11359            };
11360            let message_ident = TMessageIdentifier::new("db_remove_i64", TMessageType::Exception, incoming_sequence_number);
11361            o_prot.write_message_begin(&message_ident)?;
11362            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11363            o_prot.write_message_end()?;
11364            o_prot.flush()
11365          },
11366        }
11367      },
11368    }
11369  }
11370  pub fn process_db_get_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11371    let args = ApplyDbGetI64Args::read_from_in_protocol(i_prot)?;
11372    match handler.handle_db_get_i64(args.iterator) {
11373      Ok(handler_return) => {
11374        let message_ident = TMessageIdentifier::new("db_get_i64", TMessageType::Reply, incoming_sequence_number);
11375        o_prot.write_message_begin(&message_ident)?;
11376        let ret = ApplyDbGetI64Result { result_value: Some(handler_return) };
11377        ret.write_to_out_protocol(o_prot)?;
11378        o_prot.write_message_end()?;
11379        o_prot.flush()
11380      },
11381      Err(e) => {
11382        match e {
11383          thrift::Error::Application(app_err) => {
11384            let message_ident = TMessageIdentifier::new("db_get_i64", TMessageType::Exception, incoming_sequence_number);
11385            o_prot.write_message_begin(&message_ident)?;
11386            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11387            o_prot.write_message_end()?;
11388            o_prot.flush()
11389          },
11390          _ => {
11391            let ret_err = {
11392              ApplicationError::new(
11393                ApplicationErrorKind::Unknown,
11394                e.to_string()
11395              )
11396            };
11397            let message_ident = TMessageIdentifier::new("db_get_i64", TMessageType::Exception, incoming_sequence_number);
11398            o_prot.write_message_begin(&message_ident)?;
11399            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11400            o_prot.write_message_end()?;
11401            o_prot.flush()
11402          },
11403        }
11404      },
11405    }
11406  }
11407  pub fn process_db_next_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11408    let args = ApplyDbNextI64Args::read_from_in_protocol(i_prot)?;
11409    match handler.handle_db_next_i64(args.iterator) {
11410      Ok(handler_return) => {
11411        let message_ident = TMessageIdentifier::new("db_next_i64", TMessageType::Reply, incoming_sequence_number);
11412        o_prot.write_message_begin(&message_ident)?;
11413        let ret = ApplyDbNextI64Result { result_value: Some(handler_return) };
11414        ret.write_to_out_protocol(o_prot)?;
11415        o_prot.write_message_end()?;
11416        o_prot.flush()
11417      },
11418      Err(e) => {
11419        match e {
11420          thrift::Error::Application(app_err) => {
11421            let message_ident = TMessageIdentifier::new("db_next_i64", TMessageType::Exception, incoming_sequence_number);
11422            o_prot.write_message_begin(&message_ident)?;
11423            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11424            o_prot.write_message_end()?;
11425            o_prot.flush()
11426          },
11427          _ => {
11428            let ret_err = {
11429              ApplicationError::new(
11430                ApplicationErrorKind::Unknown,
11431                e.to_string()
11432              )
11433            };
11434            let message_ident = TMessageIdentifier::new("db_next_i64", TMessageType::Exception, incoming_sequence_number);
11435            o_prot.write_message_begin(&message_ident)?;
11436            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11437            o_prot.write_message_end()?;
11438            o_prot.flush()
11439          },
11440        }
11441      },
11442    }
11443  }
11444  pub fn process_db_previous_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11445    let args = ApplyDbPreviousI64Args::read_from_in_protocol(i_prot)?;
11446    match handler.handle_db_previous_i64(args.iterator) {
11447      Ok(handler_return) => {
11448        let message_ident = TMessageIdentifier::new("db_previous_i64", TMessageType::Reply, incoming_sequence_number);
11449        o_prot.write_message_begin(&message_ident)?;
11450        let ret = ApplyDbPreviousI64Result { result_value: Some(handler_return) };
11451        ret.write_to_out_protocol(o_prot)?;
11452        o_prot.write_message_end()?;
11453        o_prot.flush()
11454      },
11455      Err(e) => {
11456        match e {
11457          thrift::Error::Application(app_err) => {
11458            let message_ident = TMessageIdentifier::new("db_previous_i64", TMessageType::Exception, incoming_sequence_number);
11459            o_prot.write_message_begin(&message_ident)?;
11460            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11461            o_prot.write_message_end()?;
11462            o_prot.flush()
11463          },
11464          _ => {
11465            let ret_err = {
11466              ApplicationError::new(
11467                ApplicationErrorKind::Unknown,
11468                e.to_string()
11469              )
11470            };
11471            let message_ident = TMessageIdentifier::new("db_previous_i64", TMessageType::Exception, incoming_sequence_number);
11472            o_prot.write_message_begin(&message_ident)?;
11473            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11474            o_prot.write_message_end()?;
11475            o_prot.flush()
11476          },
11477        }
11478      },
11479    }
11480  }
11481  pub fn process_db_find_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11482    let args = ApplyDbFindI64Args::read_from_in_protocol(i_prot)?;
11483    match handler.handle_db_find_i64(args.code, args.scope, args.table, args.id) {
11484      Ok(handler_return) => {
11485        let message_ident = TMessageIdentifier::new("db_find_i64", TMessageType::Reply, incoming_sequence_number);
11486        o_prot.write_message_begin(&message_ident)?;
11487        let ret = ApplyDbFindI64Result { result_value: Some(handler_return) };
11488        ret.write_to_out_protocol(o_prot)?;
11489        o_prot.write_message_end()?;
11490        o_prot.flush()
11491      },
11492      Err(e) => {
11493        match e {
11494          thrift::Error::Application(app_err) => {
11495            let message_ident = TMessageIdentifier::new("db_find_i64", TMessageType::Exception, incoming_sequence_number);
11496            o_prot.write_message_begin(&message_ident)?;
11497            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11498            o_prot.write_message_end()?;
11499            o_prot.flush()
11500          },
11501          _ => {
11502            let ret_err = {
11503              ApplicationError::new(
11504                ApplicationErrorKind::Unknown,
11505                e.to_string()
11506              )
11507            };
11508            let message_ident = TMessageIdentifier::new("db_find_i64", TMessageType::Exception, incoming_sequence_number);
11509            o_prot.write_message_begin(&message_ident)?;
11510            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11511            o_prot.write_message_end()?;
11512            o_prot.flush()
11513          },
11514        }
11515      },
11516    }
11517  }
11518  pub fn process_db_lowerbound_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11519    let args = ApplyDbLowerboundI64Args::read_from_in_protocol(i_prot)?;
11520    match handler.handle_db_lowerbound_i64(args.code, args.scope, args.table, args.id) {
11521      Ok(handler_return) => {
11522        let message_ident = TMessageIdentifier::new("db_lowerbound_i64", TMessageType::Reply, incoming_sequence_number);
11523        o_prot.write_message_begin(&message_ident)?;
11524        let ret = ApplyDbLowerboundI64Result { result_value: Some(handler_return) };
11525        ret.write_to_out_protocol(o_prot)?;
11526        o_prot.write_message_end()?;
11527        o_prot.flush()
11528      },
11529      Err(e) => {
11530        match e {
11531          thrift::Error::Application(app_err) => {
11532            let message_ident = TMessageIdentifier::new("db_lowerbound_i64", TMessageType::Exception, incoming_sequence_number);
11533            o_prot.write_message_begin(&message_ident)?;
11534            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11535            o_prot.write_message_end()?;
11536            o_prot.flush()
11537          },
11538          _ => {
11539            let ret_err = {
11540              ApplicationError::new(
11541                ApplicationErrorKind::Unknown,
11542                e.to_string()
11543              )
11544            };
11545            let message_ident = TMessageIdentifier::new("db_lowerbound_i64", TMessageType::Exception, incoming_sequence_number);
11546            o_prot.write_message_begin(&message_ident)?;
11547            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11548            o_prot.write_message_end()?;
11549            o_prot.flush()
11550          },
11551        }
11552      },
11553    }
11554  }
11555  pub fn process_db_upperbound_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11556    let args = ApplyDbUpperboundI64Args::read_from_in_protocol(i_prot)?;
11557    match handler.handle_db_upperbound_i64(args.code, args.scope, args.table, args.id) {
11558      Ok(handler_return) => {
11559        let message_ident = TMessageIdentifier::new("db_upperbound_i64", TMessageType::Reply, incoming_sequence_number);
11560        o_prot.write_message_begin(&message_ident)?;
11561        let ret = ApplyDbUpperboundI64Result { result_value: Some(handler_return) };
11562        ret.write_to_out_protocol(o_prot)?;
11563        o_prot.write_message_end()?;
11564        o_prot.flush()
11565      },
11566      Err(e) => {
11567        match e {
11568          thrift::Error::Application(app_err) => {
11569            let message_ident = TMessageIdentifier::new("db_upperbound_i64", TMessageType::Exception, incoming_sequence_number);
11570            o_prot.write_message_begin(&message_ident)?;
11571            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11572            o_prot.write_message_end()?;
11573            o_prot.flush()
11574          },
11575          _ => {
11576            let ret_err = {
11577              ApplicationError::new(
11578                ApplicationErrorKind::Unknown,
11579                e.to_string()
11580              )
11581            };
11582            let message_ident = TMessageIdentifier::new("db_upperbound_i64", TMessageType::Exception, incoming_sequence_number);
11583            o_prot.write_message_begin(&message_ident)?;
11584            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11585            o_prot.write_message_end()?;
11586            o_prot.flush()
11587          },
11588        }
11589      },
11590    }
11591  }
11592  pub fn process_db_end_i64<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11593    let args = ApplyDbEndI64Args::read_from_in_protocol(i_prot)?;
11594    match handler.handle_db_end_i64(args.code, args.scope, args.table) {
11595      Ok(handler_return) => {
11596        let message_ident = TMessageIdentifier::new("db_end_i64", TMessageType::Reply, incoming_sequence_number);
11597        o_prot.write_message_begin(&message_ident)?;
11598        let ret = ApplyDbEndI64Result { result_value: Some(handler_return) };
11599        ret.write_to_out_protocol(o_prot)?;
11600        o_prot.write_message_end()?;
11601        o_prot.flush()
11602      },
11603      Err(e) => {
11604        match e {
11605          thrift::Error::Application(app_err) => {
11606            let message_ident = TMessageIdentifier::new("db_end_i64", TMessageType::Exception, incoming_sequence_number);
11607            o_prot.write_message_begin(&message_ident)?;
11608            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11609            o_prot.write_message_end()?;
11610            o_prot.flush()
11611          },
11612          _ => {
11613            let ret_err = {
11614              ApplicationError::new(
11615                ApplicationErrorKind::Unknown,
11616                e.to_string()
11617              )
11618            };
11619            let message_ident = TMessageIdentifier::new("db_end_i64", TMessageType::Exception, incoming_sequence_number);
11620            o_prot.write_message_begin(&message_ident)?;
11621            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11622            o_prot.write_message_end()?;
11623            o_prot.flush()
11624          },
11625        }
11626      },
11627    }
11628  }
11629  pub fn process_db_idx64_store<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11630    let args = ApplyDbIdx64StoreArgs::read_from_in_protocol(i_prot)?;
11631    match handler.handle_db_idx64_store(args.scope, args.table, args.payer, args.id, args.secondary) {
11632      Ok(handler_return) => {
11633        let message_ident = TMessageIdentifier::new("db_idx64_store", TMessageType::Reply, incoming_sequence_number);
11634        o_prot.write_message_begin(&message_ident)?;
11635        let ret = ApplyDbIdx64StoreResult { result_value: Some(handler_return) };
11636        ret.write_to_out_protocol(o_prot)?;
11637        o_prot.write_message_end()?;
11638        o_prot.flush()
11639      },
11640      Err(e) => {
11641        match e {
11642          thrift::Error::Application(app_err) => {
11643            let message_ident = TMessageIdentifier::new("db_idx64_store", TMessageType::Exception, incoming_sequence_number);
11644            o_prot.write_message_begin(&message_ident)?;
11645            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11646            o_prot.write_message_end()?;
11647            o_prot.flush()
11648          },
11649          _ => {
11650            let ret_err = {
11651              ApplicationError::new(
11652                ApplicationErrorKind::Unknown,
11653                e.to_string()
11654              )
11655            };
11656            let message_ident = TMessageIdentifier::new("db_idx64_store", TMessageType::Exception, incoming_sequence_number);
11657            o_prot.write_message_begin(&message_ident)?;
11658            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11659            o_prot.write_message_end()?;
11660            o_prot.flush()
11661          },
11662        }
11663      },
11664    }
11665  }
11666  pub fn process_db_idx64_update<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11667    let args = ApplyDbIdx64UpdateArgs::read_from_in_protocol(i_prot)?;
11668    match handler.handle_db_idx64_update(args.iterator, args.payer, args.secondary) {
11669      Ok(_) => {
11670        let message_ident = TMessageIdentifier::new("db_idx64_update", TMessageType::Reply, incoming_sequence_number);
11671        o_prot.write_message_begin(&message_ident)?;
11672        let ret = ApplyDbIdx64UpdateResult {  };
11673        ret.write_to_out_protocol(o_prot)?;
11674        o_prot.write_message_end()?;
11675        o_prot.flush()
11676      },
11677      Err(e) => {
11678        match e {
11679          thrift::Error::Application(app_err) => {
11680            let message_ident = TMessageIdentifier::new("db_idx64_update", TMessageType::Exception, incoming_sequence_number);
11681            o_prot.write_message_begin(&message_ident)?;
11682            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11683            o_prot.write_message_end()?;
11684            o_prot.flush()
11685          },
11686          _ => {
11687            let ret_err = {
11688              ApplicationError::new(
11689                ApplicationErrorKind::Unknown,
11690                e.to_string()
11691              )
11692            };
11693            let message_ident = TMessageIdentifier::new("db_idx64_update", TMessageType::Exception, incoming_sequence_number);
11694            o_prot.write_message_begin(&message_ident)?;
11695            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11696            o_prot.write_message_end()?;
11697            o_prot.flush()
11698          },
11699        }
11700      },
11701    }
11702  }
11703  pub fn process_db_idx64_remove<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11704    let args = ApplyDbIdx64RemoveArgs::read_from_in_protocol(i_prot)?;
11705    match handler.handle_db_idx64_remove(args.iterator) {
11706      Ok(_) => {
11707        let message_ident = TMessageIdentifier::new("db_idx64_remove", TMessageType::Reply, incoming_sequence_number);
11708        o_prot.write_message_begin(&message_ident)?;
11709        let ret = ApplyDbIdx64RemoveResult {  };
11710        ret.write_to_out_protocol(o_prot)?;
11711        o_prot.write_message_end()?;
11712        o_prot.flush()
11713      },
11714      Err(e) => {
11715        match e {
11716          thrift::Error::Application(app_err) => {
11717            let message_ident = TMessageIdentifier::new("db_idx64_remove", TMessageType::Exception, incoming_sequence_number);
11718            o_prot.write_message_begin(&message_ident)?;
11719            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11720            o_prot.write_message_end()?;
11721            o_prot.flush()
11722          },
11723          _ => {
11724            let ret_err = {
11725              ApplicationError::new(
11726                ApplicationErrorKind::Unknown,
11727                e.to_string()
11728              )
11729            };
11730            let message_ident = TMessageIdentifier::new("db_idx64_remove", TMessageType::Exception, incoming_sequence_number);
11731            o_prot.write_message_begin(&message_ident)?;
11732            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11733            o_prot.write_message_end()?;
11734            o_prot.flush()
11735          },
11736        }
11737      },
11738    }
11739  }
11740  pub fn process_db_idx64_next<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11741    let args = ApplyDbIdx64NextArgs::read_from_in_protocol(i_prot)?;
11742    match handler.handle_db_idx64_next(args.iterator) {
11743      Ok(handler_return) => {
11744        let message_ident = TMessageIdentifier::new("db_idx64_next", TMessageType::Reply, incoming_sequence_number);
11745        o_prot.write_message_begin(&message_ident)?;
11746        let ret = ApplyDbIdx64NextResult { result_value: Some(handler_return) };
11747        ret.write_to_out_protocol(o_prot)?;
11748        o_prot.write_message_end()?;
11749        o_prot.flush()
11750      },
11751      Err(e) => {
11752        match e {
11753          thrift::Error::Application(app_err) => {
11754            let message_ident = TMessageIdentifier::new("db_idx64_next", TMessageType::Exception, incoming_sequence_number);
11755            o_prot.write_message_begin(&message_ident)?;
11756            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11757            o_prot.write_message_end()?;
11758            o_prot.flush()
11759          },
11760          _ => {
11761            let ret_err = {
11762              ApplicationError::new(
11763                ApplicationErrorKind::Unknown,
11764                e.to_string()
11765              )
11766            };
11767            let message_ident = TMessageIdentifier::new("db_idx64_next", TMessageType::Exception, incoming_sequence_number);
11768            o_prot.write_message_begin(&message_ident)?;
11769            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11770            o_prot.write_message_end()?;
11771            o_prot.flush()
11772          },
11773        }
11774      },
11775    }
11776  }
11777  pub fn process_db_idx64_previous<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11778    let args = ApplyDbIdx64PreviousArgs::read_from_in_protocol(i_prot)?;
11779    match handler.handle_db_idx64_previous(args.iteratory) {
11780      Ok(handler_return) => {
11781        let message_ident = TMessageIdentifier::new("db_idx64_previous", TMessageType::Reply, incoming_sequence_number);
11782        o_prot.write_message_begin(&message_ident)?;
11783        let ret = ApplyDbIdx64PreviousResult { result_value: Some(handler_return) };
11784        ret.write_to_out_protocol(o_prot)?;
11785        o_prot.write_message_end()?;
11786        o_prot.flush()
11787      },
11788      Err(e) => {
11789        match e {
11790          thrift::Error::Application(app_err) => {
11791            let message_ident = TMessageIdentifier::new("db_idx64_previous", TMessageType::Exception, incoming_sequence_number);
11792            o_prot.write_message_begin(&message_ident)?;
11793            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11794            o_prot.write_message_end()?;
11795            o_prot.flush()
11796          },
11797          _ => {
11798            let ret_err = {
11799              ApplicationError::new(
11800                ApplicationErrorKind::Unknown,
11801                e.to_string()
11802              )
11803            };
11804            let message_ident = TMessageIdentifier::new("db_idx64_previous", TMessageType::Exception, incoming_sequence_number);
11805            o_prot.write_message_begin(&message_ident)?;
11806            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11807            o_prot.write_message_end()?;
11808            o_prot.flush()
11809          },
11810        }
11811      },
11812    }
11813  }
11814  pub fn process_db_idx64_find_primary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11815    let args = ApplyDbIdx64FindPrimaryArgs::read_from_in_protocol(i_prot)?;
11816    match handler.handle_db_idx64_find_primary(args.code, args.scope, args.table, args.primary) {
11817      Ok(handler_return) => {
11818        let message_ident = TMessageIdentifier::new("db_idx64_find_primary", TMessageType::Reply, incoming_sequence_number);
11819        o_prot.write_message_begin(&message_ident)?;
11820        let ret = ApplyDbIdx64FindPrimaryResult { result_value: Some(handler_return) };
11821        ret.write_to_out_protocol(o_prot)?;
11822        o_prot.write_message_end()?;
11823        o_prot.flush()
11824      },
11825      Err(e) => {
11826        match e {
11827          thrift::Error::Application(app_err) => {
11828            let message_ident = TMessageIdentifier::new("db_idx64_find_primary", TMessageType::Exception, incoming_sequence_number);
11829            o_prot.write_message_begin(&message_ident)?;
11830            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11831            o_prot.write_message_end()?;
11832            o_prot.flush()
11833          },
11834          _ => {
11835            let ret_err = {
11836              ApplicationError::new(
11837                ApplicationErrorKind::Unknown,
11838                e.to_string()
11839              )
11840            };
11841            let message_ident = TMessageIdentifier::new("db_idx64_find_primary", TMessageType::Exception, incoming_sequence_number);
11842            o_prot.write_message_begin(&message_ident)?;
11843            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11844            o_prot.write_message_end()?;
11845            o_prot.flush()
11846          },
11847        }
11848      },
11849    }
11850  }
11851  pub fn process_db_idx64_find_secondary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11852    let args = ApplyDbIdx64FindSecondaryArgs::read_from_in_protocol(i_prot)?;
11853    match handler.handle_db_idx64_find_secondary(args.code, args.scope, args.table, args.secondary) {
11854      Ok(handler_return) => {
11855        let message_ident = TMessageIdentifier::new("db_idx64_find_secondary", TMessageType::Reply, incoming_sequence_number);
11856        o_prot.write_message_begin(&message_ident)?;
11857        let ret = ApplyDbIdx64FindSecondaryResult { result_value: Some(handler_return) };
11858        ret.write_to_out_protocol(o_prot)?;
11859        o_prot.write_message_end()?;
11860        o_prot.flush()
11861      },
11862      Err(e) => {
11863        match e {
11864          thrift::Error::Application(app_err) => {
11865            let message_ident = TMessageIdentifier::new("db_idx64_find_secondary", TMessageType::Exception, incoming_sequence_number);
11866            o_prot.write_message_begin(&message_ident)?;
11867            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11868            o_prot.write_message_end()?;
11869            o_prot.flush()
11870          },
11871          _ => {
11872            let ret_err = {
11873              ApplicationError::new(
11874                ApplicationErrorKind::Unknown,
11875                e.to_string()
11876              )
11877            };
11878            let message_ident = TMessageIdentifier::new("db_idx64_find_secondary", TMessageType::Exception, incoming_sequence_number);
11879            o_prot.write_message_begin(&message_ident)?;
11880            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11881            o_prot.write_message_end()?;
11882            o_prot.flush()
11883          },
11884        }
11885      },
11886    }
11887  }
11888  pub fn process_db_idx64_lowerbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11889    let args = ApplyDbIdx64LowerboundArgs::read_from_in_protocol(i_prot)?;
11890    match handler.handle_db_idx64_lowerbound(args.code, args.scope, args.table, args.secondary, args.primary) {
11891      Ok(handler_return) => {
11892        let message_ident = TMessageIdentifier::new("db_idx64_lowerbound", TMessageType::Reply, incoming_sequence_number);
11893        o_prot.write_message_begin(&message_ident)?;
11894        let ret = ApplyDbIdx64LowerboundResult { result_value: Some(handler_return) };
11895        ret.write_to_out_protocol(o_prot)?;
11896        o_prot.write_message_end()?;
11897        o_prot.flush()
11898      },
11899      Err(e) => {
11900        match e {
11901          thrift::Error::Application(app_err) => {
11902            let message_ident = TMessageIdentifier::new("db_idx64_lowerbound", TMessageType::Exception, incoming_sequence_number);
11903            o_prot.write_message_begin(&message_ident)?;
11904            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11905            o_prot.write_message_end()?;
11906            o_prot.flush()
11907          },
11908          _ => {
11909            let ret_err = {
11910              ApplicationError::new(
11911                ApplicationErrorKind::Unknown,
11912                e.to_string()
11913              )
11914            };
11915            let message_ident = TMessageIdentifier::new("db_idx64_lowerbound", TMessageType::Exception, incoming_sequence_number);
11916            o_prot.write_message_begin(&message_ident)?;
11917            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11918            o_prot.write_message_end()?;
11919            o_prot.flush()
11920          },
11921        }
11922      },
11923    }
11924  }
11925  pub fn process_db_idx64_upperbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11926    let args = ApplyDbIdx64UpperboundArgs::read_from_in_protocol(i_prot)?;
11927    match handler.handle_db_idx64_upperbound(args.code, args.scope, args.table, args.secondary, args.primary) {
11928      Ok(handler_return) => {
11929        let message_ident = TMessageIdentifier::new("db_idx64_upperbound", TMessageType::Reply, incoming_sequence_number);
11930        o_prot.write_message_begin(&message_ident)?;
11931        let ret = ApplyDbIdx64UpperboundResult { result_value: Some(handler_return) };
11932        ret.write_to_out_protocol(o_prot)?;
11933        o_prot.write_message_end()?;
11934        o_prot.flush()
11935      },
11936      Err(e) => {
11937        match e {
11938          thrift::Error::Application(app_err) => {
11939            let message_ident = TMessageIdentifier::new("db_idx64_upperbound", TMessageType::Exception, incoming_sequence_number);
11940            o_prot.write_message_begin(&message_ident)?;
11941            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11942            o_prot.write_message_end()?;
11943            o_prot.flush()
11944          },
11945          _ => {
11946            let ret_err = {
11947              ApplicationError::new(
11948                ApplicationErrorKind::Unknown,
11949                e.to_string()
11950              )
11951            };
11952            let message_ident = TMessageIdentifier::new("db_idx64_upperbound", TMessageType::Exception, incoming_sequence_number);
11953            o_prot.write_message_begin(&message_ident)?;
11954            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11955            o_prot.write_message_end()?;
11956            o_prot.flush()
11957          },
11958        }
11959      },
11960    }
11961  }
11962  pub fn process_db_idx64_end<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
11963    let args = ApplyDbIdx64EndArgs::read_from_in_protocol(i_prot)?;
11964    match handler.handle_db_idx64_end(args.code, args.scope, args.table) {
11965      Ok(handler_return) => {
11966        let message_ident = TMessageIdentifier::new("db_idx64_end", TMessageType::Reply, incoming_sequence_number);
11967        o_prot.write_message_begin(&message_ident)?;
11968        let ret = ApplyDbIdx64EndResult { result_value: Some(handler_return) };
11969        ret.write_to_out_protocol(o_prot)?;
11970        o_prot.write_message_end()?;
11971        o_prot.flush()
11972      },
11973      Err(e) => {
11974        match e {
11975          thrift::Error::Application(app_err) => {
11976            let message_ident = TMessageIdentifier::new("db_idx64_end", TMessageType::Exception, incoming_sequence_number);
11977            o_prot.write_message_begin(&message_ident)?;
11978            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
11979            o_prot.write_message_end()?;
11980            o_prot.flush()
11981          },
11982          _ => {
11983            let ret_err = {
11984              ApplicationError::new(
11985                ApplicationErrorKind::Unknown,
11986                e.to_string()
11987              )
11988            };
11989            let message_ident = TMessageIdentifier::new("db_idx64_end", TMessageType::Exception, incoming_sequence_number);
11990            o_prot.write_message_begin(&message_ident)?;
11991            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
11992            o_prot.write_message_end()?;
11993            o_prot.flush()
11994          },
11995        }
11996      },
11997    }
11998  }
11999  pub fn process_db_idx128_store<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12000    let args = ApplyDbIdx128StoreArgs::read_from_in_protocol(i_prot)?;
12001    match handler.handle_db_idx128_store(args.scope, args.table, args.payer, args.id, args.secondary) {
12002      Ok(handler_return) => {
12003        let message_ident = TMessageIdentifier::new("db_idx128_store", TMessageType::Reply, incoming_sequence_number);
12004        o_prot.write_message_begin(&message_ident)?;
12005        let ret = ApplyDbIdx128StoreResult { result_value: Some(handler_return) };
12006        ret.write_to_out_protocol(o_prot)?;
12007        o_prot.write_message_end()?;
12008        o_prot.flush()
12009      },
12010      Err(e) => {
12011        match e {
12012          thrift::Error::Application(app_err) => {
12013            let message_ident = TMessageIdentifier::new("db_idx128_store", TMessageType::Exception, incoming_sequence_number);
12014            o_prot.write_message_begin(&message_ident)?;
12015            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12016            o_prot.write_message_end()?;
12017            o_prot.flush()
12018          },
12019          _ => {
12020            let ret_err = {
12021              ApplicationError::new(
12022                ApplicationErrorKind::Unknown,
12023                e.to_string()
12024              )
12025            };
12026            let message_ident = TMessageIdentifier::new("db_idx128_store", TMessageType::Exception, incoming_sequence_number);
12027            o_prot.write_message_begin(&message_ident)?;
12028            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12029            o_prot.write_message_end()?;
12030            o_prot.flush()
12031          },
12032        }
12033      },
12034    }
12035  }
12036  pub fn process_db_idx128_update<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12037    let args = ApplyDbIdx128UpdateArgs::read_from_in_protocol(i_prot)?;
12038    match handler.handle_db_idx128_update(args.iterator, args.payer, args.secondary) {
12039      Ok(_) => {
12040        let message_ident = TMessageIdentifier::new("db_idx128_update", TMessageType::Reply, incoming_sequence_number);
12041        o_prot.write_message_begin(&message_ident)?;
12042        let ret = ApplyDbIdx128UpdateResult {  };
12043        ret.write_to_out_protocol(o_prot)?;
12044        o_prot.write_message_end()?;
12045        o_prot.flush()
12046      },
12047      Err(e) => {
12048        match e {
12049          thrift::Error::Application(app_err) => {
12050            let message_ident = TMessageIdentifier::new("db_idx128_update", TMessageType::Exception, incoming_sequence_number);
12051            o_prot.write_message_begin(&message_ident)?;
12052            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12053            o_prot.write_message_end()?;
12054            o_prot.flush()
12055          },
12056          _ => {
12057            let ret_err = {
12058              ApplicationError::new(
12059                ApplicationErrorKind::Unknown,
12060                e.to_string()
12061              )
12062            };
12063            let message_ident = TMessageIdentifier::new("db_idx128_update", TMessageType::Exception, incoming_sequence_number);
12064            o_prot.write_message_begin(&message_ident)?;
12065            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12066            o_prot.write_message_end()?;
12067            o_prot.flush()
12068          },
12069        }
12070      },
12071    }
12072  }
12073  pub fn process_db_idx128_remove<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12074    let args = ApplyDbIdx128RemoveArgs::read_from_in_protocol(i_prot)?;
12075    match handler.handle_db_idx128_remove(args.iterator) {
12076      Ok(_) => {
12077        let message_ident = TMessageIdentifier::new("db_idx128_remove", TMessageType::Reply, incoming_sequence_number);
12078        o_prot.write_message_begin(&message_ident)?;
12079        let ret = ApplyDbIdx128RemoveResult {  };
12080        ret.write_to_out_protocol(o_prot)?;
12081        o_prot.write_message_end()?;
12082        o_prot.flush()
12083      },
12084      Err(e) => {
12085        match e {
12086          thrift::Error::Application(app_err) => {
12087            let message_ident = TMessageIdentifier::new("db_idx128_remove", TMessageType::Exception, incoming_sequence_number);
12088            o_prot.write_message_begin(&message_ident)?;
12089            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12090            o_prot.write_message_end()?;
12091            o_prot.flush()
12092          },
12093          _ => {
12094            let ret_err = {
12095              ApplicationError::new(
12096                ApplicationErrorKind::Unknown,
12097                e.to_string()
12098              )
12099            };
12100            let message_ident = TMessageIdentifier::new("db_idx128_remove", TMessageType::Exception, incoming_sequence_number);
12101            o_prot.write_message_begin(&message_ident)?;
12102            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12103            o_prot.write_message_end()?;
12104            o_prot.flush()
12105          },
12106        }
12107      },
12108    }
12109  }
12110  pub fn process_db_idx128_next<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12111    let args = ApplyDbIdx128NextArgs::read_from_in_protocol(i_prot)?;
12112    match handler.handle_db_idx128_next(args.iterator) {
12113      Ok(handler_return) => {
12114        let message_ident = TMessageIdentifier::new("db_idx128_next", TMessageType::Reply, incoming_sequence_number);
12115        o_prot.write_message_begin(&message_ident)?;
12116        let ret = ApplyDbIdx128NextResult { result_value: Some(handler_return) };
12117        ret.write_to_out_protocol(o_prot)?;
12118        o_prot.write_message_end()?;
12119        o_prot.flush()
12120      },
12121      Err(e) => {
12122        match e {
12123          thrift::Error::Application(app_err) => {
12124            let message_ident = TMessageIdentifier::new("db_idx128_next", TMessageType::Exception, incoming_sequence_number);
12125            o_prot.write_message_begin(&message_ident)?;
12126            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12127            o_prot.write_message_end()?;
12128            o_prot.flush()
12129          },
12130          _ => {
12131            let ret_err = {
12132              ApplicationError::new(
12133                ApplicationErrorKind::Unknown,
12134                e.to_string()
12135              )
12136            };
12137            let message_ident = TMessageIdentifier::new("db_idx128_next", TMessageType::Exception, incoming_sequence_number);
12138            o_prot.write_message_begin(&message_ident)?;
12139            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12140            o_prot.write_message_end()?;
12141            o_prot.flush()
12142          },
12143        }
12144      },
12145    }
12146  }
12147  pub fn process_db_idx128_previous<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12148    let args = ApplyDbIdx128PreviousArgs::read_from_in_protocol(i_prot)?;
12149    match handler.handle_db_idx128_previous(args.iterator) {
12150      Ok(handler_return) => {
12151        let message_ident = TMessageIdentifier::new("db_idx128_previous", TMessageType::Reply, incoming_sequence_number);
12152        o_prot.write_message_begin(&message_ident)?;
12153        let ret = ApplyDbIdx128PreviousResult { result_value: Some(handler_return) };
12154        ret.write_to_out_protocol(o_prot)?;
12155        o_prot.write_message_end()?;
12156        o_prot.flush()
12157      },
12158      Err(e) => {
12159        match e {
12160          thrift::Error::Application(app_err) => {
12161            let message_ident = TMessageIdentifier::new("db_idx128_previous", TMessageType::Exception, incoming_sequence_number);
12162            o_prot.write_message_begin(&message_ident)?;
12163            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12164            o_prot.write_message_end()?;
12165            o_prot.flush()
12166          },
12167          _ => {
12168            let ret_err = {
12169              ApplicationError::new(
12170                ApplicationErrorKind::Unknown,
12171                e.to_string()
12172              )
12173            };
12174            let message_ident = TMessageIdentifier::new("db_idx128_previous", TMessageType::Exception, incoming_sequence_number);
12175            o_prot.write_message_begin(&message_ident)?;
12176            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12177            o_prot.write_message_end()?;
12178            o_prot.flush()
12179          },
12180        }
12181      },
12182    }
12183  }
12184  pub fn process_db_idx128_find_primary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12185    let args = ApplyDbIdx128FindPrimaryArgs::read_from_in_protocol(i_prot)?;
12186    match handler.handle_db_idx128_find_primary(args.code, args.scope, args.table, args.primary) {
12187      Ok(handler_return) => {
12188        let message_ident = TMessageIdentifier::new("db_idx128_find_primary", TMessageType::Reply, incoming_sequence_number);
12189        o_prot.write_message_begin(&message_ident)?;
12190        let ret = ApplyDbIdx128FindPrimaryResult { result_value: Some(handler_return) };
12191        ret.write_to_out_protocol(o_prot)?;
12192        o_prot.write_message_end()?;
12193        o_prot.flush()
12194      },
12195      Err(e) => {
12196        match e {
12197          thrift::Error::Application(app_err) => {
12198            let message_ident = TMessageIdentifier::new("db_idx128_find_primary", TMessageType::Exception, incoming_sequence_number);
12199            o_prot.write_message_begin(&message_ident)?;
12200            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12201            o_prot.write_message_end()?;
12202            o_prot.flush()
12203          },
12204          _ => {
12205            let ret_err = {
12206              ApplicationError::new(
12207                ApplicationErrorKind::Unknown,
12208                e.to_string()
12209              )
12210            };
12211            let message_ident = TMessageIdentifier::new("db_idx128_find_primary", TMessageType::Exception, incoming_sequence_number);
12212            o_prot.write_message_begin(&message_ident)?;
12213            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12214            o_prot.write_message_end()?;
12215            o_prot.flush()
12216          },
12217        }
12218      },
12219    }
12220  }
12221  pub fn process_db_idx128_find_secondary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12222    let args = ApplyDbIdx128FindSecondaryArgs::read_from_in_protocol(i_prot)?;
12223    match handler.handle_db_idx128_find_secondary(args.code, args.scope, args.table, args.secondary) {
12224      Ok(handler_return) => {
12225        let message_ident = TMessageIdentifier::new("db_idx128_find_secondary", TMessageType::Reply, incoming_sequence_number);
12226        o_prot.write_message_begin(&message_ident)?;
12227        let ret = ApplyDbIdx128FindSecondaryResult { result_value: Some(handler_return) };
12228        ret.write_to_out_protocol(o_prot)?;
12229        o_prot.write_message_end()?;
12230        o_prot.flush()
12231      },
12232      Err(e) => {
12233        match e {
12234          thrift::Error::Application(app_err) => {
12235            let message_ident = TMessageIdentifier::new("db_idx128_find_secondary", TMessageType::Exception, incoming_sequence_number);
12236            o_prot.write_message_begin(&message_ident)?;
12237            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12238            o_prot.write_message_end()?;
12239            o_prot.flush()
12240          },
12241          _ => {
12242            let ret_err = {
12243              ApplicationError::new(
12244                ApplicationErrorKind::Unknown,
12245                e.to_string()
12246              )
12247            };
12248            let message_ident = TMessageIdentifier::new("db_idx128_find_secondary", TMessageType::Exception, incoming_sequence_number);
12249            o_prot.write_message_begin(&message_ident)?;
12250            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12251            o_prot.write_message_end()?;
12252            o_prot.flush()
12253          },
12254        }
12255      },
12256    }
12257  }
12258  pub fn process_db_idx128_lowerbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12259    let args = ApplyDbIdx128LowerboundArgs::read_from_in_protocol(i_prot)?;
12260    match handler.handle_db_idx128_lowerbound(args.code, args.scope, args.table, args.secondary, args.primary) {
12261      Ok(handler_return) => {
12262        let message_ident = TMessageIdentifier::new("db_idx128_lowerbound", TMessageType::Reply, incoming_sequence_number);
12263        o_prot.write_message_begin(&message_ident)?;
12264        let ret = ApplyDbIdx128LowerboundResult { result_value: Some(handler_return) };
12265        ret.write_to_out_protocol(o_prot)?;
12266        o_prot.write_message_end()?;
12267        o_prot.flush()
12268      },
12269      Err(e) => {
12270        match e {
12271          thrift::Error::Application(app_err) => {
12272            let message_ident = TMessageIdentifier::new("db_idx128_lowerbound", TMessageType::Exception, incoming_sequence_number);
12273            o_prot.write_message_begin(&message_ident)?;
12274            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12275            o_prot.write_message_end()?;
12276            o_prot.flush()
12277          },
12278          _ => {
12279            let ret_err = {
12280              ApplicationError::new(
12281                ApplicationErrorKind::Unknown,
12282                e.to_string()
12283              )
12284            };
12285            let message_ident = TMessageIdentifier::new("db_idx128_lowerbound", TMessageType::Exception, incoming_sequence_number);
12286            o_prot.write_message_begin(&message_ident)?;
12287            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12288            o_prot.write_message_end()?;
12289            o_prot.flush()
12290          },
12291        }
12292      },
12293    }
12294  }
12295  pub fn process_db_idx128_upperbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12296    let args = ApplyDbIdx128UpperboundArgs::read_from_in_protocol(i_prot)?;
12297    match handler.handle_db_idx128_upperbound(args.code, args.scope, args.table, args.secondary, args.primary) {
12298      Ok(handler_return) => {
12299        let message_ident = TMessageIdentifier::new("db_idx128_upperbound", TMessageType::Reply, incoming_sequence_number);
12300        o_prot.write_message_begin(&message_ident)?;
12301        let ret = ApplyDbIdx128UpperboundResult { result_value: Some(handler_return) };
12302        ret.write_to_out_protocol(o_prot)?;
12303        o_prot.write_message_end()?;
12304        o_prot.flush()
12305      },
12306      Err(e) => {
12307        match e {
12308          thrift::Error::Application(app_err) => {
12309            let message_ident = TMessageIdentifier::new("db_idx128_upperbound", TMessageType::Exception, incoming_sequence_number);
12310            o_prot.write_message_begin(&message_ident)?;
12311            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12312            o_prot.write_message_end()?;
12313            o_prot.flush()
12314          },
12315          _ => {
12316            let ret_err = {
12317              ApplicationError::new(
12318                ApplicationErrorKind::Unknown,
12319                e.to_string()
12320              )
12321            };
12322            let message_ident = TMessageIdentifier::new("db_idx128_upperbound", TMessageType::Exception, incoming_sequence_number);
12323            o_prot.write_message_begin(&message_ident)?;
12324            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12325            o_prot.write_message_end()?;
12326            o_prot.flush()
12327          },
12328        }
12329      },
12330    }
12331  }
12332  pub fn process_db_idx128_end<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12333    let args = ApplyDbIdx128EndArgs::read_from_in_protocol(i_prot)?;
12334    match handler.handle_db_idx128_end(args.code, args.scope, args.table) {
12335      Ok(handler_return) => {
12336        let message_ident = TMessageIdentifier::new("db_idx128_end", TMessageType::Reply, incoming_sequence_number);
12337        o_prot.write_message_begin(&message_ident)?;
12338        let ret = ApplyDbIdx128EndResult { result_value: Some(handler_return) };
12339        ret.write_to_out_protocol(o_prot)?;
12340        o_prot.write_message_end()?;
12341        o_prot.flush()
12342      },
12343      Err(e) => {
12344        match e {
12345          thrift::Error::Application(app_err) => {
12346            let message_ident = TMessageIdentifier::new("db_idx128_end", TMessageType::Exception, incoming_sequence_number);
12347            o_prot.write_message_begin(&message_ident)?;
12348            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12349            o_prot.write_message_end()?;
12350            o_prot.flush()
12351          },
12352          _ => {
12353            let ret_err = {
12354              ApplicationError::new(
12355                ApplicationErrorKind::Unknown,
12356                e.to_string()
12357              )
12358            };
12359            let message_ident = TMessageIdentifier::new("db_idx128_end", TMessageType::Exception, incoming_sequence_number);
12360            o_prot.write_message_begin(&message_ident)?;
12361            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12362            o_prot.write_message_end()?;
12363            o_prot.flush()
12364          },
12365        }
12366      },
12367    }
12368  }
12369  pub fn process_db_idx256_store<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12370    let args = ApplyDbIdx256StoreArgs::read_from_in_protocol(i_prot)?;
12371    match handler.handle_db_idx256_store(args.scope, args.table, args.payer, args.id, args.data) {
12372      Ok(handler_return) => {
12373        let message_ident = TMessageIdentifier::new("db_idx256_store", TMessageType::Reply, incoming_sequence_number);
12374        o_prot.write_message_begin(&message_ident)?;
12375        let ret = ApplyDbIdx256StoreResult { result_value: Some(handler_return) };
12376        ret.write_to_out_protocol(o_prot)?;
12377        o_prot.write_message_end()?;
12378        o_prot.flush()
12379      },
12380      Err(e) => {
12381        match e {
12382          thrift::Error::Application(app_err) => {
12383            let message_ident = TMessageIdentifier::new("db_idx256_store", TMessageType::Exception, incoming_sequence_number);
12384            o_prot.write_message_begin(&message_ident)?;
12385            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12386            o_prot.write_message_end()?;
12387            o_prot.flush()
12388          },
12389          _ => {
12390            let ret_err = {
12391              ApplicationError::new(
12392                ApplicationErrorKind::Unknown,
12393                e.to_string()
12394              )
12395            };
12396            let message_ident = TMessageIdentifier::new("db_idx256_store", TMessageType::Exception, incoming_sequence_number);
12397            o_prot.write_message_begin(&message_ident)?;
12398            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12399            o_prot.write_message_end()?;
12400            o_prot.flush()
12401          },
12402        }
12403      },
12404    }
12405  }
12406  pub fn process_db_idx256_update<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12407    let args = ApplyDbIdx256UpdateArgs::read_from_in_protocol(i_prot)?;
12408    match handler.handle_db_idx256_update(args.iterator, args.payer, args.data) {
12409      Ok(_) => {
12410        let message_ident = TMessageIdentifier::new("db_idx256_update", TMessageType::Reply, incoming_sequence_number);
12411        o_prot.write_message_begin(&message_ident)?;
12412        let ret = ApplyDbIdx256UpdateResult {  };
12413        ret.write_to_out_protocol(o_prot)?;
12414        o_prot.write_message_end()?;
12415        o_prot.flush()
12416      },
12417      Err(e) => {
12418        match e {
12419          thrift::Error::Application(app_err) => {
12420            let message_ident = TMessageIdentifier::new("db_idx256_update", TMessageType::Exception, incoming_sequence_number);
12421            o_prot.write_message_begin(&message_ident)?;
12422            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12423            o_prot.write_message_end()?;
12424            o_prot.flush()
12425          },
12426          _ => {
12427            let ret_err = {
12428              ApplicationError::new(
12429                ApplicationErrorKind::Unknown,
12430                e.to_string()
12431              )
12432            };
12433            let message_ident = TMessageIdentifier::new("db_idx256_update", TMessageType::Exception, incoming_sequence_number);
12434            o_prot.write_message_begin(&message_ident)?;
12435            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12436            o_prot.write_message_end()?;
12437            o_prot.flush()
12438          },
12439        }
12440      },
12441    }
12442  }
12443  pub fn process_db_idx256_remove<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12444    let args = ApplyDbIdx256RemoveArgs::read_from_in_protocol(i_prot)?;
12445    match handler.handle_db_idx256_remove(args.iterator) {
12446      Ok(_) => {
12447        let message_ident = TMessageIdentifier::new("db_idx256_remove", TMessageType::Reply, incoming_sequence_number);
12448        o_prot.write_message_begin(&message_ident)?;
12449        let ret = ApplyDbIdx256RemoveResult {  };
12450        ret.write_to_out_protocol(o_prot)?;
12451        o_prot.write_message_end()?;
12452        o_prot.flush()
12453      },
12454      Err(e) => {
12455        match e {
12456          thrift::Error::Application(app_err) => {
12457            let message_ident = TMessageIdentifier::new("db_idx256_remove", TMessageType::Exception, incoming_sequence_number);
12458            o_prot.write_message_begin(&message_ident)?;
12459            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12460            o_prot.write_message_end()?;
12461            o_prot.flush()
12462          },
12463          _ => {
12464            let ret_err = {
12465              ApplicationError::new(
12466                ApplicationErrorKind::Unknown,
12467                e.to_string()
12468              )
12469            };
12470            let message_ident = TMessageIdentifier::new("db_idx256_remove", TMessageType::Exception, incoming_sequence_number);
12471            o_prot.write_message_begin(&message_ident)?;
12472            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12473            o_prot.write_message_end()?;
12474            o_prot.flush()
12475          },
12476        }
12477      },
12478    }
12479  }
12480  pub fn process_db_idx256_next<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12481    let args = ApplyDbIdx256NextArgs::read_from_in_protocol(i_prot)?;
12482    match handler.handle_db_idx256_next(args.iterator) {
12483      Ok(handler_return) => {
12484        let message_ident = TMessageIdentifier::new("db_idx256_next", TMessageType::Reply, incoming_sequence_number);
12485        o_prot.write_message_begin(&message_ident)?;
12486        let ret = ApplyDbIdx256NextResult { result_value: Some(handler_return) };
12487        ret.write_to_out_protocol(o_prot)?;
12488        o_prot.write_message_end()?;
12489        o_prot.flush()
12490      },
12491      Err(e) => {
12492        match e {
12493          thrift::Error::Application(app_err) => {
12494            let message_ident = TMessageIdentifier::new("db_idx256_next", TMessageType::Exception, incoming_sequence_number);
12495            o_prot.write_message_begin(&message_ident)?;
12496            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12497            o_prot.write_message_end()?;
12498            o_prot.flush()
12499          },
12500          _ => {
12501            let ret_err = {
12502              ApplicationError::new(
12503                ApplicationErrorKind::Unknown,
12504                e.to_string()
12505              )
12506            };
12507            let message_ident = TMessageIdentifier::new("db_idx256_next", TMessageType::Exception, incoming_sequence_number);
12508            o_prot.write_message_begin(&message_ident)?;
12509            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12510            o_prot.write_message_end()?;
12511            o_prot.flush()
12512          },
12513        }
12514      },
12515    }
12516  }
12517  pub fn process_db_idx256_previous<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12518    let args = ApplyDbIdx256PreviousArgs::read_from_in_protocol(i_prot)?;
12519    match handler.handle_db_idx256_previous(args.iterator) {
12520      Ok(handler_return) => {
12521        let message_ident = TMessageIdentifier::new("db_idx256_previous", TMessageType::Reply, incoming_sequence_number);
12522        o_prot.write_message_begin(&message_ident)?;
12523        let ret = ApplyDbIdx256PreviousResult { result_value: Some(handler_return) };
12524        ret.write_to_out_protocol(o_prot)?;
12525        o_prot.write_message_end()?;
12526        o_prot.flush()
12527      },
12528      Err(e) => {
12529        match e {
12530          thrift::Error::Application(app_err) => {
12531            let message_ident = TMessageIdentifier::new("db_idx256_previous", TMessageType::Exception, incoming_sequence_number);
12532            o_prot.write_message_begin(&message_ident)?;
12533            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12534            o_prot.write_message_end()?;
12535            o_prot.flush()
12536          },
12537          _ => {
12538            let ret_err = {
12539              ApplicationError::new(
12540                ApplicationErrorKind::Unknown,
12541                e.to_string()
12542              )
12543            };
12544            let message_ident = TMessageIdentifier::new("db_idx256_previous", TMessageType::Exception, incoming_sequence_number);
12545            o_prot.write_message_begin(&message_ident)?;
12546            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12547            o_prot.write_message_end()?;
12548            o_prot.flush()
12549          },
12550        }
12551      },
12552    }
12553  }
12554  pub fn process_db_idx256_find_primary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12555    let args = ApplyDbIdx256FindPrimaryArgs::read_from_in_protocol(i_prot)?;
12556    match handler.handle_db_idx256_find_primary(args.code, args.scope, args.table, args.primary) {
12557      Ok(handler_return) => {
12558        let message_ident = TMessageIdentifier::new("db_idx256_find_primary", TMessageType::Reply, incoming_sequence_number);
12559        o_prot.write_message_begin(&message_ident)?;
12560        let ret = ApplyDbIdx256FindPrimaryResult { result_value: Some(handler_return) };
12561        ret.write_to_out_protocol(o_prot)?;
12562        o_prot.write_message_end()?;
12563        o_prot.flush()
12564      },
12565      Err(e) => {
12566        match e {
12567          thrift::Error::Application(app_err) => {
12568            let message_ident = TMessageIdentifier::new("db_idx256_find_primary", TMessageType::Exception, incoming_sequence_number);
12569            o_prot.write_message_begin(&message_ident)?;
12570            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12571            o_prot.write_message_end()?;
12572            o_prot.flush()
12573          },
12574          _ => {
12575            let ret_err = {
12576              ApplicationError::new(
12577                ApplicationErrorKind::Unknown,
12578                e.to_string()
12579              )
12580            };
12581            let message_ident = TMessageIdentifier::new("db_idx256_find_primary", TMessageType::Exception, incoming_sequence_number);
12582            o_prot.write_message_begin(&message_ident)?;
12583            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12584            o_prot.write_message_end()?;
12585            o_prot.flush()
12586          },
12587        }
12588      },
12589    }
12590  }
12591  pub fn process_db_idx256_find_secondary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12592    let args = ApplyDbIdx256FindSecondaryArgs::read_from_in_protocol(i_prot)?;
12593    match handler.handle_db_idx256_find_secondary(args.code, args.scope, args.table, args.data) {
12594      Ok(handler_return) => {
12595        let message_ident = TMessageIdentifier::new("db_idx256_find_secondary", TMessageType::Reply, incoming_sequence_number);
12596        o_prot.write_message_begin(&message_ident)?;
12597        let ret = ApplyDbIdx256FindSecondaryResult { result_value: Some(handler_return) };
12598        ret.write_to_out_protocol(o_prot)?;
12599        o_prot.write_message_end()?;
12600        o_prot.flush()
12601      },
12602      Err(e) => {
12603        match e {
12604          thrift::Error::Application(app_err) => {
12605            let message_ident = TMessageIdentifier::new("db_idx256_find_secondary", TMessageType::Exception, incoming_sequence_number);
12606            o_prot.write_message_begin(&message_ident)?;
12607            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12608            o_prot.write_message_end()?;
12609            o_prot.flush()
12610          },
12611          _ => {
12612            let ret_err = {
12613              ApplicationError::new(
12614                ApplicationErrorKind::Unknown,
12615                e.to_string()
12616              )
12617            };
12618            let message_ident = TMessageIdentifier::new("db_idx256_find_secondary", TMessageType::Exception, incoming_sequence_number);
12619            o_prot.write_message_begin(&message_ident)?;
12620            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12621            o_prot.write_message_end()?;
12622            o_prot.flush()
12623          },
12624        }
12625      },
12626    }
12627  }
12628  pub fn process_db_idx256_lowerbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12629    let args = ApplyDbIdx256LowerboundArgs::read_from_in_protocol(i_prot)?;
12630    match handler.handle_db_idx256_lowerbound(args.code, args.scope, args.table, args.data, args.primary) {
12631      Ok(handler_return) => {
12632        let message_ident = TMessageIdentifier::new("db_idx256_lowerbound", TMessageType::Reply, incoming_sequence_number);
12633        o_prot.write_message_begin(&message_ident)?;
12634        let ret = ApplyDbIdx256LowerboundResult { result_value: Some(handler_return) };
12635        ret.write_to_out_protocol(o_prot)?;
12636        o_prot.write_message_end()?;
12637        o_prot.flush()
12638      },
12639      Err(e) => {
12640        match e {
12641          thrift::Error::Application(app_err) => {
12642            let message_ident = TMessageIdentifier::new("db_idx256_lowerbound", TMessageType::Exception, incoming_sequence_number);
12643            o_prot.write_message_begin(&message_ident)?;
12644            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12645            o_prot.write_message_end()?;
12646            o_prot.flush()
12647          },
12648          _ => {
12649            let ret_err = {
12650              ApplicationError::new(
12651                ApplicationErrorKind::Unknown,
12652                e.to_string()
12653              )
12654            };
12655            let message_ident = TMessageIdentifier::new("db_idx256_lowerbound", TMessageType::Exception, incoming_sequence_number);
12656            o_prot.write_message_begin(&message_ident)?;
12657            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12658            o_prot.write_message_end()?;
12659            o_prot.flush()
12660          },
12661        }
12662      },
12663    }
12664  }
12665  pub fn process_db_idx256_upperbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12666    let args = ApplyDbIdx256UpperboundArgs::read_from_in_protocol(i_prot)?;
12667    match handler.handle_db_idx256_upperbound(args.code, args.scope, args.table, args.data, args.primary) {
12668      Ok(handler_return) => {
12669        let message_ident = TMessageIdentifier::new("db_idx256_upperbound", TMessageType::Reply, incoming_sequence_number);
12670        o_prot.write_message_begin(&message_ident)?;
12671        let ret = ApplyDbIdx256UpperboundResult { result_value: Some(handler_return) };
12672        ret.write_to_out_protocol(o_prot)?;
12673        o_prot.write_message_end()?;
12674        o_prot.flush()
12675      },
12676      Err(e) => {
12677        match e {
12678          thrift::Error::Application(app_err) => {
12679            let message_ident = TMessageIdentifier::new("db_idx256_upperbound", TMessageType::Exception, incoming_sequence_number);
12680            o_prot.write_message_begin(&message_ident)?;
12681            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12682            o_prot.write_message_end()?;
12683            o_prot.flush()
12684          },
12685          _ => {
12686            let ret_err = {
12687              ApplicationError::new(
12688                ApplicationErrorKind::Unknown,
12689                e.to_string()
12690              )
12691            };
12692            let message_ident = TMessageIdentifier::new("db_idx256_upperbound", TMessageType::Exception, incoming_sequence_number);
12693            o_prot.write_message_begin(&message_ident)?;
12694            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12695            o_prot.write_message_end()?;
12696            o_prot.flush()
12697          },
12698        }
12699      },
12700    }
12701  }
12702  pub fn process_db_idx256_end<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12703    let args = ApplyDbIdx256EndArgs::read_from_in_protocol(i_prot)?;
12704    match handler.handle_db_idx256_end(args.code, args.scope, args.table) {
12705      Ok(handler_return) => {
12706        let message_ident = TMessageIdentifier::new("db_idx256_end", TMessageType::Reply, incoming_sequence_number);
12707        o_prot.write_message_begin(&message_ident)?;
12708        let ret = ApplyDbIdx256EndResult { result_value: Some(handler_return) };
12709        ret.write_to_out_protocol(o_prot)?;
12710        o_prot.write_message_end()?;
12711        o_prot.flush()
12712      },
12713      Err(e) => {
12714        match e {
12715          thrift::Error::Application(app_err) => {
12716            let message_ident = TMessageIdentifier::new("db_idx256_end", TMessageType::Exception, incoming_sequence_number);
12717            o_prot.write_message_begin(&message_ident)?;
12718            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12719            o_prot.write_message_end()?;
12720            o_prot.flush()
12721          },
12722          _ => {
12723            let ret_err = {
12724              ApplicationError::new(
12725                ApplicationErrorKind::Unknown,
12726                e.to_string()
12727              )
12728            };
12729            let message_ident = TMessageIdentifier::new("db_idx256_end", TMessageType::Exception, incoming_sequence_number);
12730            o_prot.write_message_begin(&message_ident)?;
12731            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12732            o_prot.write_message_end()?;
12733            o_prot.flush()
12734          },
12735        }
12736      },
12737    }
12738  }
12739  pub fn process_db_idx_double_store<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12740    let args = ApplyDbIdxDoubleStoreArgs::read_from_in_protocol(i_prot)?;
12741    match handler.handle_db_idx_double_store(args.scope, args.table, args.payer, args.id, args.secondary) {
12742      Ok(handler_return) => {
12743        let message_ident = TMessageIdentifier::new("db_idx_double_store", TMessageType::Reply, incoming_sequence_number);
12744        o_prot.write_message_begin(&message_ident)?;
12745        let ret = ApplyDbIdxDoubleStoreResult { result_value: Some(handler_return) };
12746        ret.write_to_out_protocol(o_prot)?;
12747        o_prot.write_message_end()?;
12748        o_prot.flush()
12749      },
12750      Err(e) => {
12751        match e {
12752          thrift::Error::Application(app_err) => {
12753            let message_ident = TMessageIdentifier::new("db_idx_double_store", TMessageType::Exception, incoming_sequence_number);
12754            o_prot.write_message_begin(&message_ident)?;
12755            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12756            o_prot.write_message_end()?;
12757            o_prot.flush()
12758          },
12759          _ => {
12760            let ret_err = {
12761              ApplicationError::new(
12762                ApplicationErrorKind::Unknown,
12763                e.to_string()
12764              )
12765            };
12766            let message_ident = TMessageIdentifier::new("db_idx_double_store", TMessageType::Exception, incoming_sequence_number);
12767            o_prot.write_message_begin(&message_ident)?;
12768            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12769            o_prot.write_message_end()?;
12770            o_prot.flush()
12771          },
12772        }
12773      },
12774    }
12775  }
12776  pub fn process_db_idx_double_update<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12777    let args = ApplyDbIdxDoubleUpdateArgs::read_from_in_protocol(i_prot)?;
12778    match handler.handle_db_idx_double_update(args.iterator, args.payer, args.secondary) {
12779      Ok(_) => {
12780        let message_ident = TMessageIdentifier::new("db_idx_double_update", TMessageType::Reply, incoming_sequence_number);
12781        o_prot.write_message_begin(&message_ident)?;
12782        let ret = ApplyDbIdxDoubleUpdateResult {  };
12783        ret.write_to_out_protocol(o_prot)?;
12784        o_prot.write_message_end()?;
12785        o_prot.flush()
12786      },
12787      Err(e) => {
12788        match e {
12789          thrift::Error::Application(app_err) => {
12790            let message_ident = TMessageIdentifier::new("db_idx_double_update", TMessageType::Exception, incoming_sequence_number);
12791            o_prot.write_message_begin(&message_ident)?;
12792            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12793            o_prot.write_message_end()?;
12794            o_prot.flush()
12795          },
12796          _ => {
12797            let ret_err = {
12798              ApplicationError::new(
12799                ApplicationErrorKind::Unknown,
12800                e.to_string()
12801              )
12802            };
12803            let message_ident = TMessageIdentifier::new("db_idx_double_update", TMessageType::Exception, incoming_sequence_number);
12804            o_prot.write_message_begin(&message_ident)?;
12805            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12806            o_prot.write_message_end()?;
12807            o_prot.flush()
12808          },
12809        }
12810      },
12811    }
12812  }
12813  pub fn process_db_idx_double_remove<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12814    let args = ApplyDbIdxDoubleRemoveArgs::read_from_in_protocol(i_prot)?;
12815    match handler.handle_db_idx_double_remove(args.iterator) {
12816      Ok(_) => {
12817        let message_ident = TMessageIdentifier::new("db_idx_double_remove", TMessageType::Reply, incoming_sequence_number);
12818        o_prot.write_message_begin(&message_ident)?;
12819        let ret = ApplyDbIdxDoubleRemoveResult {  };
12820        ret.write_to_out_protocol(o_prot)?;
12821        o_prot.write_message_end()?;
12822        o_prot.flush()
12823      },
12824      Err(e) => {
12825        match e {
12826          thrift::Error::Application(app_err) => {
12827            let message_ident = TMessageIdentifier::new("db_idx_double_remove", TMessageType::Exception, incoming_sequence_number);
12828            o_prot.write_message_begin(&message_ident)?;
12829            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12830            o_prot.write_message_end()?;
12831            o_prot.flush()
12832          },
12833          _ => {
12834            let ret_err = {
12835              ApplicationError::new(
12836                ApplicationErrorKind::Unknown,
12837                e.to_string()
12838              )
12839            };
12840            let message_ident = TMessageIdentifier::new("db_idx_double_remove", TMessageType::Exception, incoming_sequence_number);
12841            o_prot.write_message_begin(&message_ident)?;
12842            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12843            o_prot.write_message_end()?;
12844            o_prot.flush()
12845          },
12846        }
12847      },
12848    }
12849  }
12850  pub fn process_db_idx_double_next<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12851    let args = ApplyDbIdxDoubleNextArgs::read_from_in_protocol(i_prot)?;
12852    match handler.handle_db_idx_double_next(args.iterator) {
12853      Ok(handler_return) => {
12854        let message_ident = TMessageIdentifier::new("db_idx_double_next", TMessageType::Reply, incoming_sequence_number);
12855        o_prot.write_message_begin(&message_ident)?;
12856        let ret = ApplyDbIdxDoubleNextResult { result_value: Some(handler_return) };
12857        ret.write_to_out_protocol(o_prot)?;
12858        o_prot.write_message_end()?;
12859        o_prot.flush()
12860      },
12861      Err(e) => {
12862        match e {
12863          thrift::Error::Application(app_err) => {
12864            let message_ident = TMessageIdentifier::new("db_idx_double_next", TMessageType::Exception, incoming_sequence_number);
12865            o_prot.write_message_begin(&message_ident)?;
12866            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12867            o_prot.write_message_end()?;
12868            o_prot.flush()
12869          },
12870          _ => {
12871            let ret_err = {
12872              ApplicationError::new(
12873                ApplicationErrorKind::Unknown,
12874                e.to_string()
12875              )
12876            };
12877            let message_ident = TMessageIdentifier::new("db_idx_double_next", TMessageType::Exception, incoming_sequence_number);
12878            o_prot.write_message_begin(&message_ident)?;
12879            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12880            o_prot.write_message_end()?;
12881            o_prot.flush()
12882          },
12883        }
12884      },
12885    }
12886  }
12887  pub fn process_db_idx_double_previous<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12888    let args = ApplyDbIdxDoublePreviousArgs::read_from_in_protocol(i_prot)?;
12889    match handler.handle_db_idx_double_previous(args.iterator) {
12890      Ok(handler_return) => {
12891        let message_ident = TMessageIdentifier::new("db_idx_double_previous", TMessageType::Reply, incoming_sequence_number);
12892        o_prot.write_message_begin(&message_ident)?;
12893        let ret = ApplyDbIdxDoublePreviousResult { result_value: Some(handler_return) };
12894        ret.write_to_out_protocol(o_prot)?;
12895        o_prot.write_message_end()?;
12896        o_prot.flush()
12897      },
12898      Err(e) => {
12899        match e {
12900          thrift::Error::Application(app_err) => {
12901            let message_ident = TMessageIdentifier::new("db_idx_double_previous", TMessageType::Exception, incoming_sequence_number);
12902            o_prot.write_message_begin(&message_ident)?;
12903            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12904            o_prot.write_message_end()?;
12905            o_prot.flush()
12906          },
12907          _ => {
12908            let ret_err = {
12909              ApplicationError::new(
12910                ApplicationErrorKind::Unknown,
12911                e.to_string()
12912              )
12913            };
12914            let message_ident = TMessageIdentifier::new("db_idx_double_previous", TMessageType::Exception, incoming_sequence_number);
12915            o_prot.write_message_begin(&message_ident)?;
12916            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12917            o_prot.write_message_end()?;
12918            o_prot.flush()
12919          },
12920        }
12921      },
12922    }
12923  }
12924  pub fn process_db_idx_double_find_primary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12925    let args = ApplyDbIdxDoubleFindPrimaryArgs::read_from_in_protocol(i_prot)?;
12926    match handler.handle_db_idx_double_find_primary(args.code, args.scope, args.table, args.primary) {
12927      Ok(handler_return) => {
12928        let message_ident = TMessageIdentifier::new("db_idx_double_find_primary", TMessageType::Reply, incoming_sequence_number);
12929        o_prot.write_message_begin(&message_ident)?;
12930        let ret = ApplyDbIdxDoubleFindPrimaryResult { result_value: Some(handler_return) };
12931        ret.write_to_out_protocol(o_prot)?;
12932        o_prot.write_message_end()?;
12933        o_prot.flush()
12934      },
12935      Err(e) => {
12936        match e {
12937          thrift::Error::Application(app_err) => {
12938            let message_ident = TMessageIdentifier::new("db_idx_double_find_primary", TMessageType::Exception, incoming_sequence_number);
12939            o_prot.write_message_begin(&message_ident)?;
12940            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12941            o_prot.write_message_end()?;
12942            o_prot.flush()
12943          },
12944          _ => {
12945            let ret_err = {
12946              ApplicationError::new(
12947                ApplicationErrorKind::Unknown,
12948                e.to_string()
12949              )
12950            };
12951            let message_ident = TMessageIdentifier::new("db_idx_double_find_primary", TMessageType::Exception, incoming_sequence_number);
12952            o_prot.write_message_begin(&message_ident)?;
12953            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12954            o_prot.write_message_end()?;
12955            o_prot.flush()
12956          },
12957        }
12958      },
12959    }
12960  }
12961  pub fn process_db_idx_double_find_secondary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12962    let args = ApplyDbIdxDoubleFindSecondaryArgs::read_from_in_protocol(i_prot)?;
12963    match handler.handle_db_idx_double_find_secondary(args.code, args.scope, args.table, args.secondary) {
12964      Ok(handler_return) => {
12965        let message_ident = TMessageIdentifier::new("db_idx_double_find_secondary", TMessageType::Reply, incoming_sequence_number);
12966        o_prot.write_message_begin(&message_ident)?;
12967        let ret = ApplyDbIdxDoubleFindSecondaryResult { result_value: Some(handler_return) };
12968        ret.write_to_out_protocol(o_prot)?;
12969        o_prot.write_message_end()?;
12970        o_prot.flush()
12971      },
12972      Err(e) => {
12973        match e {
12974          thrift::Error::Application(app_err) => {
12975            let message_ident = TMessageIdentifier::new("db_idx_double_find_secondary", TMessageType::Exception, incoming_sequence_number);
12976            o_prot.write_message_begin(&message_ident)?;
12977            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
12978            o_prot.write_message_end()?;
12979            o_prot.flush()
12980          },
12981          _ => {
12982            let ret_err = {
12983              ApplicationError::new(
12984                ApplicationErrorKind::Unknown,
12985                e.to_string()
12986              )
12987            };
12988            let message_ident = TMessageIdentifier::new("db_idx_double_find_secondary", TMessageType::Exception, incoming_sequence_number);
12989            o_prot.write_message_begin(&message_ident)?;
12990            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
12991            o_prot.write_message_end()?;
12992            o_prot.flush()
12993          },
12994        }
12995      },
12996    }
12997  }
12998  pub fn process_db_idx_double_lowerbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
12999    let args = ApplyDbIdxDoubleLowerboundArgs::read_from_in_protocol(i_prot)?;
13000    match handler.handle_db_idx_double_lowerbound(args.code, args.scope, args.table, args.secondary, args.primary) {
13001      Ok(handler_return) => {
13002        let message_ident = TMessageIdentifier::new("db_idx_double_lowerbound", TMessageType::Reply, incoming_sequence_number);
13003        o_prot.write_message_begin(&message_ident)?;
13004        let ret = ApplyDbIdxDoubleLowerboundResult { result_value: Some(handler_return) };
13005        ret.write_to_out_protocol(o_prot)?;
13006        o_prot.write_message_end()?;
13007        o_prot.flush()
13008      },
13009      Err(e) => {
13010        match e {
13011          thrift::Error::Application(app_err) => {
13012            let message_ident = TMessageIdentifier::new("db_idx_double_lowerbound", TMessageType::Exception, incoming_sequence_number);
13013            o_prot.write_message_begin(&message_ident)?;
13014            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13015            o_prot.write_message_end()?;
13016            o_prot.flush()
13017          },
13018          _ => {
13019            let ret_err = {
13020              ApplicationError::new(
13021                ApplicationErrorKind::Unknown,
13022                e.to_string()
13023              )
13024            };
13025            let message_ident = TMessageIdentifier::new("db_idx_double_lowerbound", TMessageType::Exception, incoming_sequence_number);
13026            o_prot.write_message_begin(&message_ident)?;
13027            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13028            o_prot.write_message_end()?;
13029            o_prot.flush()
13030          },
13031        }
13032      },
13033    }
13034  }
13035  pub fn process_db_idx_double_upperbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13036    let args = ApplyDbIdxDoubleUpperboundArgs::read_from_in_protocol(i_prot)?;
13037    match handler.handle_db_idx_double_upperbound(args.code, args.scope, args.table, args.secondary, args.primary) {
13038      Ok(handler_return) => {
13039        let message_ident = TMessageIdentifier::new("db_idx_double_upperbound", TMessageType::Reply, incoming_sequence_number);
13040        o_prot.write_message_begin(&message_ident)?;
13041        let ret = ApplyDbIdxDoubleUpperboundResult { result_value: Some(handler_return) };
13042        ret.write_to_out_protocol(o_prot)?;
13043        o_prot.write_message_end()?;
13044        o_prot.flush()
13045      },
13046      Err(e) => {
13047        match e {
13048          thrift::Error::Application(app_err) => {
13049            let message_ident = TMessageIdentifier::new("db_idx_double_upperbound", TMessageType::Exception, incoming_sequence_number);
13050            o_prot.write_message_begin(&message_ident)?;
13051            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13052            o_prot.write_message_end()?;
13053            o_prot.flush()
13054          },
13055          _ => {
13056            let ret_err = {
13057              ApplicationError::new(
13058                ApplicationErrorKind::Unknown,
13059                e.to_string()
13060              )
13061            };
13062            let message_ident = TMessageIdentifier::new("db_idx_double_upperbound", TMessageType::Exception, incoming_sequence_number);
13063            o_prot.write_message_begin(&message_ident)?;
13064            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13065            o_prot.write_message_end()?;
13066            o_prot.flush()
13067          },
13068        }
13069      },
13070    }
13071  }
13072  pub fn process_db_idx_double_end<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13073    let args = ApplyDbIdxDoubleEndArgs::read_from_in_protocol(i_prot)?;
13074    match handler.handle_db_idx_double_end(args.code, args.scope, args.table) {
13075      Ok(handler_return) => {
13076        let message_ident = TMessageIdentifier::new("db_idx_double_end", TMessageType::Reply, incoming_sequence_number);
13077        o_prot.write_message_begin(&message_ident)?;
13078        let ret = ApplyDbIdxDoubleEndResult { result_value: Some(handler_return) };
13079        ret.write_to_out_protocol(o_prot)?;
13080        o_prot.write_message_end()?;
13081        o_prot.flush()
13082      },
13083      Err(e) => {
13084        match e {
13085          thrift::Error::Application(app_err) => {
13086            let message_ident = TMessageIdentifier::new("db_idx_double_end", TMessageType::Exception, incoming_sequence_number);
13087            o_prot.write_message_begin(&message_ident)?;
13088            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13089            o_prot.write_message_end()?;
13090            o_prot.flush()
13091          },
13092          _ => {
13093            let ret_err = {
13094              ApplicationError::new(
13095                ApplicationErrorKind::Unknown,
13096                e.to_string()
13097              )
13098            };
13099            let message_ident = TMessageIdentifier::new("db_idx_double_end", TMessageType::Exception, incoming_sequence_number);
13100            o_prot.write_message_begin(&message_ident)?;
13101            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13102            o_prot.write_message_end()?;
13103            o_prot.flush()
13104          },
13105        }
13106      },
13107    }
13108  }
13109  pub fn process_db_idx_long_double_store<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13110    let args = ApplyDbIdxLongDoubleStoreArgs::read_from_in_protocol(i_prot)?;
13111    match handler.handle_db_idx_long_double_store(args.scope, args.table, args.payer, args.id, args.secondary) {
13112      Ok(handler_return) => {
13113        let message_ident = TMessageIdentifier::new("db_idx_long_double_store", TMessageType::Reply, incoming_sequence_number);
13114        o_prot.write_message_begin(&message_ident)?;
13115        let ret = ApplyDbIdxLongDoubleStoreResult { result_value: Some(handler_return) };
13116        ret.write_to_out_protocol(o_prot)?;
13117        o_prot.write_message_end()?;
13118        o_prot.flush()
13119      },
13120      Err(e) => {
13121        match e {
13122          thrift::Error::Application(app_err) => {
13123            let message_ident = TMessageIdentifier::new("db_idx_long_double_store", TMessageType::Exception, incoming_sequence_number);
13124            o_prot.write_message_begin(&message_ident)?;
13125            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13126            o_prot.write_message_end()?;
13127            o_prot.flush()
13128          },
13129          _ => {
13130            let ret_err = {
13131              ApplicationError::new(
13132                ApplicationErrorKind::Unknown,
13133                e.to_string()
13134              )
13135            };
13136            let message_ident = TMessageIdentifier::new("db_idx_long_double_store", TMessageType::Exception, incoming_sequence_number);
13137            o_prot.write_message_begin(&message_ident)?;
13138            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13139            o_prot.write_message_end()?;
13140            o_prot.flush()
13141          },
13142        }
13143      },
13144    }
13145  }
13146  pub fn process_db_idx_long_double_update<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13147    let args = ApplyDbIdxLongDoubleUpdateArgs::read_from_in_protocol(i_prot)?;
13148    match handler.handle_db_idx_long_double_update(args.iterator, args.payer, args.secondary) {
13149      Ok(_) => {
13150        let message_ident = TMessageIdentifier::new("db_idx_long_double_update", TMessageType::Reply, incoming_sequence_number);
13151        o_prot.write_message_begin(&message_ident)?;
13152        let ret = ApplyDbIdxLongDoubleUpdateResult {  };
13153        ret.write_to_out_protocol(o_prot)?;
13154        o_prot.write_message_end()?;
13155        o_prot.flush()
13156      },
13157      Err(e) => {
13158        match e {
13159          thrift::Error::Application(app_err) => {
13160            let message_ident = TMessageIdentifier::new("db_idx_long_double_update", TMessageType::Exception, incoming_sequence_number);
13161            o_prot.write_message_begin(&message_ident)?;
13162            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13163            o_prot.write_message_end()?;
13164            o_prot.flush()
13165          },
13166          _ => {
13167            let ret_err = {
13168              ApplicationError::new(
13169                ApplicationErrorKind::Unknown,
13170                e.to_string()
13171              )
13172            };
13173            let message_ident = TMessageIdentifier::new("db_idx_long_double_update", TMessageType::Exception, incoming_sequence_number);
13174            o_prot.write_message_begin(&message_ident)?;
13175            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13176            o_prot.write_message_end()?;
13177            o_prot.flush()
13178          },
13179        }
13180      },
13181    }
13182  }
13183  pub fn process_db_idx_long_double_remove<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13184    let args = ApplyDbIdxLongDoubleRemoveArgs::read_from_in_protocol(i_prot)?;
13185    match handler.handle_db_idx_long_double_remove(args.iterator) {
13186      Ok(_) => {
13187        let message_ident = TMessageIdentifier::new("db_idx_long_double_remove", TMessageType::Reply, incoming_sequence_number);
13188        o_prot.write_message_begin(&message_ident)?;
13189        let ret = ApplyDbIdxLongDoubleRemoveResult {  };
13190        ret.write_to_out_protocol(o_prot)?;
13191        o_prot.write_message_end()?;
13192        o_prot.flush()
13193      },
13194      Err(e) => {
13195        match e {
13196          thrift::Error::Application(app_err) => {
13197            let message_ident = TMessageIdentifier::new("db_idx_long_double_remove", TMessageType::Exception, incoming_sequence_number);
13198            o_prot.write_message_begin(&message_ident)?;
13199            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13200            o_prot.write_message_end()?;
13201            o_prot.flush()
13202          },
13203          _ => {
13204            let ret_err = {
13205              ApplicationError::new(
13206                ApplicationErrorKind::Unknown,
13207                e.to_string()
13208              )
13209            };
13210            let message_ident = TMessageIdentifier::new("db_idx_long_double_remove", TMessageType::Exception, incoming_sequence_number);
13211            o_prot.write_message_begin(&message_ident)?;
13212            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13213            o_prot.write_message_end()?;
13214            o_prot.flush()
13215          },
13216        }
13217      },
13218    }
13219  }
13220  pub fn process_db_idx_long_double_next<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13221    let args = ApplyDbIdxLongDoubleNextArgs::read_from_in_protocol(i_prot)?;
13222    match handler.handle_db_idx_long_double_next(args.iterator) {
13223      Ok(handler_return) => {
13224        let message_ident = TMessageIdentifier::new("db_idx_long_double_next", TMessageType::Reply, incoming_sequence_number);
13225        o_prot.write_message_begin(&message_ident)?;
13226        let ret = ApplyDbIdxLongDoubleNextResult { result_value: Some(handler_return) };
13227        ret.write_to_out_protocol(o_prot)?;
13228        o_prot.write_message_end()?;
13229        o_prot.flush()
13230      },
13231      Err(e) => {
13232        match e {
13233          thrift::Error::Application(app_err) => {
13234            let message_ident = TMessageIdentifier::new("db_idx_long_double_next", TMessageType::Exception, incoming_sequence_number);
13235            o_prot.write_message_begin(&message_ident)?;
13236            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13237            o_prot.write_message_end()?;
13238            o_prot.flush()
13239          },
13240          _ => {
13241            let ret_err = {
13242              ApplicationError::new(
13243                ApplicationErrorKind::Unknown,
13244                e.to_string()
13245              )
13246            };
13247            let message_ident = TMessageIdentifier::new("db_idx_long_double_next", TMessageType::Exception, incoming_sequence_number);
13248            o_prot.write_message_begin(&message_ident)?;
13249            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13250            o_prot.write_message_end()?;
13251            o_prot.flush()
13252          },
13253        }
13254      },
13255    }
13256  }
13257  pub fn process_db_idx_long_double_previous<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13258    let args = ApplyDbIdxLongDoublePreviousArgs::read_from_in_protocol(i_prot)?;
13259    match handler.handle_db_idx_long_double_previous(args.iterator) {
13260      Ok(handler_return) => {
13261        let message_ident = TMessageIdentifier::new("db_idx_long_double_previous", TMessageType::Reply, incoming_sequence_number);
13262        o_prot.write_message_begin(&message_ident)?;
13263        let ret = ApplyDbIdxLongDoublePreviousResult { result_value: Some(handler_return) };
13264        ret.write_to_out_protocol(o_prot)?;
13265        o_prot.write_message_end()?;
13266        o_prot.flush()
13267      },
13268      Err(e) => {
13269        match e {
13270          thrift::Error::Application(app_err) => {
13271            let message_ident = TMessageIdentifier::new("db_idx_long_double_previous", TMessageType::Exception, incoming_sequence_number);
13272            o_prot.write_message_begin(&message_ident)?;
13273            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13274            o_prot.write_message_end()?;
13275            o_prot.flush()
13276          },
13277          _ => {
13278            let ret_err = {
13279              ApplicationError::new(
13280                ApplicationErrorKind::Unknown,
13281                e.to_string()
13282              )
13283            };
13284            let message_ident = TMessageIdentifier::new("db_idx_long_double_previous", TMessageType::Exception, incoming_sequence_number);
13285            o_prot.write_message_begin(&message_ident)?;
13286            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13287            o_prot.write_message_end()?;
13288            o_prot.flush()
13289          },
13290        }
13291      },
13292    }
13293  }
13294  pub fn process_db_idx_long_double_find_primary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13295    let args = ApplyDbIdxLongDoubleFindPrimaryArgs::read_from_in_protocol(i_prot)?;
13296    match handler.handle_db_idx_long_double_find_primary(args.code, args.scope, args.table, args.primary) {
13297      Ok(handler_return) => {
13298        let message_ident = TMessageIdentifier::new("db_idx_long_double_find_primary", TMessageType::Reply, incoming_sequence_number);
13299        o_prot.write_message_begin(&message_ident)?;
13300        let ret = ApplyDbIdxLongDoubleFindPrimaryResult { result_value: Some(handler_return) };
13301        ret.write_to_out_protocol(o_prot)?;
13302        o_prot.write_message_end()?;
13303        o_prot.flush()
13304      },
13305      Err(e) => {
13306        match e {
13307          thrift::Error::Application(app_err) => {
13308            let message_ident = TMessageIdentifier::new("db_idx_long_double_find_primary", TMessageType::Exception, incoming_sequence_number);
13309            o_prot.write_message_begin(&message_ident)?;
13310            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13311            o_prot.write_message_end()?;
13312            o_prot.flush()
13313          },
13314          _ => {
13315            let ret_err = {
13316              ApplicationError::new(
13317                ApplicationErrorKind::Unknown,
13318                e.to_string()
13319              )
13320            };
13321            let message_ident = TMessageIdentifier::new("db_idx_long_double_find_primary", TMessageType::Exception, incoming_sequence_number);
13322            o_prot.write_message_begin(&message_ident)?;
13323            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13324            o_prot.write_message_end()?;
13325            o_prot.flush()
13326          },
13327        }
13328      },
13329    }
13330  }
13331  pub fn process_db_idx_long_double_find_secondary<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13332    let args = ApplyDbIdxLongDoubleFindSecondaryArgs::read_from_in_protocol(i_prot)?;
13333    match handler.handle_db_idx_long_double_find_secondary(args.code, args.scope, args.table, args.secondary) {
13334      Ok(handler_return) => {
13335        let message_ident = TMessageIdentifier::new("db_idx_long_double_find_secondary", TMessageType::Reply, incoming_sequence_number);
13336        o_prot.write_message_begin(&message_ident)?;
13337        let ret = ApplyDbIdxLongDoubleFindSecondaryResult { result_value: Some(handler_return) };
13338        ret.write_to_out_protocol(o_prot)?;
13339        o_prot.write_message_end()?;
13340        o_prot.flush()
13341      },
13342      Err(e) => {
13343        match e {
13344          thrift::Error::Application(app_err) => {
13345            let message_ident = TMessageIdentifier::new("db_idx_long_double_find_secondary", TMessageType::Exception, incoming_sequence_number);
13346            o_prot.write_message_begin(&message_ident)?;
13347            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13348            o_prot.write_message_end()?;
13349            o_prot.flush()
13350          },
13351          _ => {
13352            let ret_err = {
13353              ApplicationError::new(
13354                ApplicationErrorKind::Unknown,
13355                e.to_string()
13356              )
13357            };
13358            let message_ident = TMessageIdentifier::new("db_idx_long_double_find_secondary", TMessageType::Exception, incoming_sequence_number);
13359            o_prot.write_message_begin(&message_ident)?;
13360            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13361            o_prot.write_message_end()?;
13362            o_prot.flush()
13363          },
13364        }
13365      },
13366    }
13367  }
13368  pub fn process_db_idx_long_double_lowerbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13369    let args = ApplyDbIdxLongDoubleLowerboundArgs::read_from_in_protocol(i_prot)?;
13370    match handler.handle_db_idx_long_double_lowerbound(args.code, args.scope, args.table, args.secondary, args.primary) {
13371      Ok(handler_return) => {
13372        let message_ident = TMessageIdentifier::new("db_idx_long_double_lowerbound", TMessageType::Reply, incoming_sequence_number);
13373        o_prot.write_message_begin(&message_ident)?;
13374        let ret = ApplyDbIdxLongDoubleLowerboundResult { result_value: Some(handler_return) };
13375        ret.write_to_out_protocol(o_prot)?;
13376        o_prot.write_message_end()?;
13377        o_prot.flush()
13378      },
13379      Err(e) => {
13380        match e {
13381          thrift::Error::Application(app_err) => {
13382            let message_ident = TMessageIdentifier::new("db_idx_long_double_lowerbound", TMessageType::Exception, incoming_sequence_number);
13383            o_prot.write_message_begin(&message_ident)?;
13384            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13385            o_prot.write_message_end()?;
13386            o_prot.flush()
13387          },
13388          _ => {
13389            let ret_err = {
13390              ApplicationError::new(
13391                ApplicationErrorKind::Unknown,
13392                e.to_string()
13393              )
13394            };
13395            let message_ident = TMessageIdentifier::new("db_idx_long_double_lowerbound", TMessageType::Exception, incoming_sequence_number);
13396            o_prot.write_message_begin(&message_ident)?;
13397            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13398            o_prot.write_message_end()?;
13399            o_prot.flush()
13400          },
13401        }
13402      },
13403    }
13404  }
13405  pub fn process_db_idx_long_double_upperbound<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13406    let args = ApplyDbIdxLongDoubleUpperboundArgs::read_from_in_protocol(i_prot)?;
13407    match handler.handle_db_idx_long_double_upperbound(args.code, args.scope, args.table, args.secondary, args.primary) {
13408      Ok(handler_return) => {
13409        let message_ident = TMessageIdentifier::new("db_idx_long_double_upperbound", TMessageType::Reply, incoming_sequence_number);
13410        o_prot.write_message_begin(&message_ident)?;
13411        let ret = ApplyDbIdxLongDoubleUpperboundResult { result_value: Some(handler_return) };
13412        ret.write_to_out_protocol(o_prot)?;
13413        o_prot.write_message_end()?;
13414        o_prot.flush()
13415      },
13416      Err(e) => {
13417        match e {
13418          thrift::Error::Application(app_err) => {
13419            let message_ident = TMessageIdentifier::new("db_idx_long_double_upperbound", TMessageType::Exception, incoming_sequence_number);
13420            o_prot.write_message_begin(&message_ident)?;
13421            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13422            o_prot.write_message_end()?;
13423            o_prot.flush()
13424          },
13425          _ => {
13426            let ret_err = {
13427              ApplicationError::new(
13428                ApplicationErrorKind::Unknown,
13429                e.to_string()
13430              )
13431            };
13432            let message_ident = TMessageIdentifier::new("db_idx_long_double_upperbound", TMessageType::Exception, incoming_sequence_number);
13433            o_prot.write_message_begin(&message_ident)?;
13434            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13435            o_prot.write_message_end()?;
13436            o_prot.flush()
13437          },
13438        }
13439      },
13440    }
13441  }
13442  pub fn process_db_idx_long_double_end<H: ApplySyncHandler>(handler: &H, incoming_sequence_number: i32, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13443    let args = ApplyDbIdxLongDoubleEndArgs::read_from_in_protocol(i_prot)?;
13444    match handler.handle_db_idx_long_double_end(args.code, args.scope, args.table) {
13445      Ok(handler_return) => {
13446        let message_ident = TMessageIdentifier::new("db_idx_long_double_end", TMessageType::Reply, incoming_sequence_number);
13447        o_prot.write_message_begin(&message_ident)?;
13448        let ret = ApplyDbIdxLongDoubleEndResult { result_value: Some(handler_return) };
13449        ret.write_to_out_protocol(o_prot)?;
13450        o_prot.write_message_end()?;
13451        o_prot.flush()
13452      },
13453      Err(e) => {
13454        match e {
13455          thrift::Error::Application(app_err) => {
13456            let message_ident = TMessageIdentifier::new("db_idx_long_double_end", TMessageType::Exception, incoming_sequence_number);
13457            o_prot.write_message_begin(&message_ident)?;
13458            thrift::Error::write_application_error_to_out_protocol(&app_err, o_prot)?;
13459            o_prot.write_message_end()?;
13460            o_prot.flush()
13461          },
13462          _ => {
13463            let ret_err = {
13464              ApplicationError::new(
13465                ApplicationErrorKind::Unknown,
13466                e.to_string()
13467              )
13468            };
13469            let message_ident = TMessageIdentifier::new("db_idx_long_double_end", TMessageType::Exception, incoming_sequence_number);
13470            o_prot.write_message_begin(&message_ident)?;
13471            thrift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)?;
13472            o_prot.write_message_end()?;
13473            o_prot.flush()
13474          },
13475        }
13476      },
13477    }
13478  }
13479}
13480
13481impl <H: ApplySyncHandler> TProcessor for ApplySyncProcessor<H> {
13482  fn process(&self, i_prot: &mut dyn TInputProtocol, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13483    let message_ident = i_prot.read_message_begin()?;
13484    let res = match &*message_ident.name {
13485      "end_apply" => {
13486        self.process_end_apply(message_ident.sequence_number, i_prot, o_prot)
13487      },
13488      "get_active_producers" => {
13489        self.process_get_active_producers(message_ident.sequence_number, i_prot, o_prot)
13490      },
13491      "get_resource_limits" => {
13492        self.process_get_resource_limits(message_ident.sequence_number, i_prot, o_prot)
13493      },
13494      "set_resource_limits" => {
13495        self.process_set_resource_limits(message_ident.sequence_number, i_prot, o_prot)
13496      },
13497      "set_proposed_producers" => {
13498        self.process_set_proposed_producers(message_ident.sequence_number, i_prot, o_prot)
13499      },
13500      "set_proposed_producers_ex" => {
13501        self.process_set_proposed_producers_ex(message_ident.sequence_number, i_prot, o_prot)
13502      },
13503      "is_privileged" => {
13504        self.process_is_privileged(message_ident.sequence_number, i_prot, o_prot)
13505      },
13506      "set_privileged" => {
13507        self.process_set_privileged(message_ident.sequence_number, i_prot, o_prot)
13508      },
13509      "set_blockchain_parameters_packed" => {
13510        self.process_set_blockchain_parameters_packed(message_ident.sequence_number, i_prot, o_prot)
13511      },
13512      "get_blockchain_parameters_packed" => {
13513        self.process_get_blockchain_parameters_packed(message_ident.sequence_number, i_prot, o_prot)
13514      },
13515      "preactivate_feature" => {
13516        self.process_preactivate_feature(message_ident.sequence_number, i_prot, o_prot)
13517      },
13518      "check_transaction_authorization" => {
13519        self.process_check_transaction_authorization(message_ident.sequence_number, i_prot, o_prot)
13520      },
13521      "check_permission_authorization" => {
13522        self.process_check_permission_authorization(message_ident.sequence_number, i_prot, o_prot)
13523      },
13524      "get_permission_last_used" => {
13525        self.process_get_permission_last_used(message_ident.sequence_number, i_prot, o_prot)
13526      },
13527      "get_account_creation_time" => {
13528        self.process_get_account_creation_time(message_ident.sequence_number, i_prot, o_prot)
13529      },
13530      "prints" => {
13531        self.process_prints(message_ident.sequence_number, i_prot, o_prot)
13532      },
13533      "prints_l" => {
13534        self.process_prints_l(message_ident.sequence_number, i_prot, o_prot)
13535      },
13536      "printi" => {
13537        self.process_printi(message_ident.sequence_number, i_prot, o_prot)
13538      },
13539      "printui" => {
13540        self.process_printui(message_ident.sequence_number, i_prot, o_prot)
13541      },
13542      "printi128" => {
13543        self.process_printi128(message_ident.sequence_number, i_prot, o_prot)
13544      },
13545      "printui128" => {
13546        self.process_printui128(message_ident.sequence_number, i_prot, o_prot)
13547      },
13548      "printsf" => {
13549        self.process_printsf(message_ident.sequence_number, i_prot, o_prot)
13550      },
13551      "printdf" => {
13552        self.process_printdf(message_ident.sequence_number, i_prot, o_prot)
13553      },
13554      "printqf" => {
13555        self.process_printqf(message_ident.sequence_number, i_prot, o_prot)
13556      },
13557      "printn" => {
13558        self.process_printn(message_ident.sequence_number, i_prot, o_prot)
13559      },
13560      "printhex" => {
13561        self.process_printhex(message_ident.sequence_number, i_prot, o_prot)
13562      },
13563      "action_data_size" => {
13564        self.process_action_data_size(message_ident.sequence_number, i_prot, o_prot)
13565      },
13566      "read_action_data" => {
13567        self.process_read_action_data(message_ident.sequence_number, i_prot, o_prot)
13568      },
13569      "require_recipient" => {
13570        self.process_require_recipient(message_ident.sequence_number, i_prot, o_prot)
13571      },
13572      "require_auth" => {
13573        self.process_require_auth(message_ident.sequence_number, i_prot, o_prot)
13574      },
13575      "has_auth" => {
13576        self.process_has_auth(message_ident.sequence_number, i_prot, o_prot)
13577      },
13578      "require_auth2" => {
13579        self.process_require_auth2(message_ident.sequence_number, i_prot, o_prot)
13580      },
13581      "is_account" => {
13582        self.process_is_account(message_ident.sequence_number, i_prot, o_prot)
13583      },
13584      "send_inline" => {
13585        self.process_send_inline(message_ident.sequence_number, i_prot, o_prot)
13586      },
13587      "send_context_free_inline" => {
13588        self.process_send_context_free_inline(message_ident.sequence_number, i_prot, o_prot)
13589      },
13590      "publication_time" => {
13591        self.process_publication_time(message_ident.sequence_number, i_prot, o_prot)
13592      },
13593      "current_receiver" => {
13594        self.process_current_receiver(message_ident.sequence_number, i_prot, o_prot)
13595      },
13596      "eosio_assert" => {
13597        self.process_eosio_assert(message_ident.sequence_number, i_prot, o_prot)
13598      },
13599      "eosio_assert_message" => {
13600        self.process_eosio_assert_message(message_ident.sequence_number, i_prot, o_prot)
13601      },
13602      "eosio_assert_code" => {
13603        self.process_eosio_assert_code(message_ident.sequence_number, i_prot, o_prot)
13604      },
13605      "eosio_exit" => {
13606        self.process_eosio_exit(message_ident.sequence_number, i_prot, o_prot)
13607      },
13608      "current_time" => {
13609        self.process_current_time(message_ident.sequence_number, i_prot, o_prot)
13610      },
13611      "is_feature_activated" => {
13612        self.process_is_feature_activated(message_ident.sequence_number, i_prot, o_prot)
13613      },
13614      "get_sender" => {
13615        self.process_get_sender(message_ident.sequence_number, i_prot, o_prot)
13616      },
13617      "assert_sha256" => {
13618        self.process_assert_sha256(message_ident.sequence_number, i_prot, o_prot)
13619      },
13620      "assert_sha1" => {
13621        self.process_assert_sha1(message_ident.sequence_number, i_prot, o_prot)
13622      },
13623      "assert_sha512" => {
13624        self.process_assert_sha512(message_ident.sequence_number, i_prot, o_prot)
13625      },
13626      "assert_ripemd160" => {
13627        self.process_assert_ripemd160(message_ident.sequence_number, i_prot, o_prot)
13628      },
13629      "sha256" => {
13630        self.process_sha256(message_ident.sequence_number, i_prot, o_prot)
13631      },
13632      "sha1" => {
13633        self.process_sha1(message_ident.sequence_number, i_prot, o_prot)
13634      },
13635      "sha512" => {
13636        self.process_sha512(message_ident.sequence_number, i_prot, o_prot)
13637      },
13638      "ripemd160" => {
13639        self.process_ripemd160(message_ident.sequence_number, i_prot, o_prot)
13640      },
13641      "recover_key" => {
13642        self.process_recover_key(message_ident.sequence_number, i_prot, o_prot)
13643      },
13644      "assert_recover_key" => {
13645        self.process_assert_recover_key(message_ident.sequence_number, i_prot, o_prot)
13646      },
13647      "send_deferred" => {
13648        self.process_send_deferred(message_ident.sequence_number, i_prot, o_prot)
13649      },
13650      "cancel_deferred" => {
13651        self.process_cancel_deferred(message_ident.sequence_number, i_prot, o_prot)
13652      },
13653      "read_transaction" => {
13654        self.process_read_transaction(message_ident.sequence_number, i_prot, o_prot)
13655      },
13656      "transaction_size" => {
13657        self.process_transaction_size(message_ident.sequence_number, i_prot, o_prot)
13658      },
13659      "tapos_block_num" => {
13660        self.process_tapos_block_num(message_ident.sequence_number, i_prot, o_prot)
13661      },
13662      "tapos_block_prefix" => {
13663        self.process_tapos_block_prefix(message_ident.sequence_number, i_prot, o_prot)
13664      },
13665      "expiration" => {
13666        self.process_expiration(message_ident.sequence_number, i_prot, o_prot)
13667      },
13668      "get_action" => {
13669        self.process_get_action(message_ident.sequence_number, i_prot, o_prot)
13670      },
13671      "get_context_free_data" => {
13672        self.process_get_context_free_data(message_ident.sequence_number, i_prot, o_prot)
13673      },
13674      "db_store_i64" => {
13675        self.process_db_store_i64(message_ident.sequence_number, i_prot, o_prot)
13676      },
13677      "db_update_i64" => {
13678        self.process_db_update_i64(message_ident.sequence_number, i_prot, o_prot)
13679      },
13680      "db_remove_i64" => {
13681        self.process_db_remove_i64(message_ident.sequence_number, i_prot, o_prot)
13682      },
13683      "db_get_i64" => {
13684        self.process_db_get_i64(message_ident.sequence_number, i_prot, o_prot)
13685      },
13686      "db_next_i64" => {
13687        self.process_db_next_i64(message_ident.sequence_number, i_prot, o_prot)
13688      },
13689      "db_previous_i64" => {
13690        self.process_db_previous_i64(message_ident.sequence_number, i_prot, o_prot)
13691      },
13692      "db_find_i64" => {
13693        self.process_db_find_i64(message_ident.sequence_number, i_prot, o_prot)
13694      },
13695      "db_lowerbound_i64" => {
13696        self.process_db_lowerbound_i64(message_ident.sequence_number, i_prot, o_prot)
13697      },
13698      "db_upperbound_i64" => {
13699        self.process_db_upperbound_i64(message_ident.sequence_number, i_prot, o_prot)
13700      },
13701      "db_end_i64" => {
13702        self.process_db_end_i64(message_ident.sequence_number, i_prot, o_prot)
13703      },
13704      "db_idx64_store" => {
13705        self.process_db_idx64_store(message_ident.sequence_number, i_prot, o_prot)
13706      },
13707      "db_idx64_update" => {
13708        self.process_db_idx64_update(message_ident.sequence_number, i_prot, o_prot)
13709      },
13710      "db_idx64_remove" => {
13711        self.process_db_idx64_remove(message_ident.sequence_number, i_prot, o_prot)
13712      },
13713      "db_idx64_next" => {
13714        self.process_db_idx64_next(message_ident.sequence_number, i_prot, o_prot)
13715      },
13716      "db_idx64_previous" => {
13717        self.process_db_idx64_previous(message_ident.sequence_number, i_prot, o_prot)
13718      },
13719      "db_idx64_find_primary" => {
13720        self.process_db_idx64_find_primary(message_ident.sequence_number, i_prot, o_prot)
13721      },
13722      "db_idx64_find_secondary" => {
13723        self.process_db_idx64_find_secondary(message_ident.sequence_number, i_prot, o_prot)
13724      },
13725      "db_idx64_lowerbound" => {
13726        self.process_db_idx64_lowerbound(message_ident.sequence_number, i_prot, o_prot)
13727      },
13728      "db_idx64_upperbound" => {
13729        self.process_db_idx64_upperbound(message_ident.sequence_number, i_prot, o_prot)
13730      },
13731      "db_idx64_end" => {
13732        self.process_db_idx64_end(message_ident.sequence_number, i_prot, o_prot)
13733      },
13734      "db_idx128_store" => {
13735        self.process_db_idx128_store(message_ident.sequence_number, i_prot, o_prot)
13736      },
13737      "db_idx128_update" => {
13738        self.process_db_idx128_update(message_ident.sequence_number, i_prot, o_prot)
13739      },
13740      "db_idx128_remove" => {
13741        self.process_db_idx128_remove(message_ident.sequence_number, i_prot, o_prot)
13742      },
13743      "db_idx128_next" => {
13744        self.process_db_idx128_next(message_ident.sequence_number, i_prot, o_prot)
13745      },
13746      "db_idx128_previous" => {
13747        self.process_db_idx128_previous(message_ident.sequence_number, i_prot, o_prot)
13748      },
13749      "db_idx128_find_primary" => {
13750        self.process_db_idx128_find_primary(message_ident.sequence_number, i_prot, o_prot)
13751      },
13752      "db_idx128_find_secondary" => {
13753        self.process_db_idx128_find_secondary(message_ident.sequence_number, i_prot, o_prot)
13754      },
13755      "db_idx128_lowerbound" => {
13756        self.process_db_idx128_lowerbound(message_ident.sequence_number, i_prot, o_prot)
13757      },
13758      "db_idx128_upperbound" => {
13759        self.process_db_idx128_upperbound(message_ident.sequence_number, i_prot, o_prot)
13760      },
13761      "db_idx128_end" => {
13762        self.process_db_idx128_end(message_ident.sequence_number, i_prot, o_prot)
13763      },
13764      "db_idx256_store" => {
13765        self.process_db_idx256_store(message_ident.sequence_number, i_prot, o_prot)
13766      },
13767      "db_idx256_update" => {
13768        self.process_db_idx256_update(message_ident.sequence_number, i_prot, o_prot)
13769      },
13770      "db_idx256_remove" => {
13771        self.process_db_idx256_remove(message_ident.sequence_number, i_prot, o_prot)
13772      },
13773      "db_idx256_next" => {
13774        self.process_db_idx256_next(message_ident.sequence_number, i_prot, o_prot)
13775      },
13776      "db_idx256_previous" => {
13777        self.process_db_idx256_previous(message_ident.sequence_number, i_prot, o_prot)
13778      },
13779      "db_idx256_find_primary" => {
13780        self.process_db_idx256_find_primary(message_ident.sequence_number, i_prot, o_prot)
13781      },
13782      "db_idx256_find_secondary" => {
13783        self.process_db_idx256_find_secondary(message_ident.sequence_number, i_prot, o_prot)
13784      },
13785      "db_idx256_lowerbound" => {
13786        self.process_db_idx256_lowerbound(message_ident.sequence_number, i_prot, o_prot)
13787      },
13788      "db_idx256_upperbound" => {
13789        self.process_db_idx256_upperbound(message_ident.sequence_number, i_prot, o_prot)
13790      },
13791      "db_idx256_end" => {
13792        self.process_db_idx256_end(message_ident.sequence_number, i_prot, o_prot)
13793      },
13794      "db_idx_double_store" => {
13795        self.process_db_idx_double_store(message_ident.sequence_number, i_prot, o_prot)
13796      },
13797      "db_idx_double_update" => {
13798        self.process_db_idx_double_update(message_ident.sequence_number, i_prot, o_prot)
13799      },
13800      "db_idx_double_remove" => {
13801        self.process_db_idx_double_remove(message_ident.sequence_number, i_prot, o_prot)
13802      },
13803      "db_idx_double_next" => {
13804        self.process_db_idx_double_next(message_ident.sequence_number, i_prot, o_prot)
13805      },
13806      "db_idx_double_previous" => {
13807        self.process_db_idx_double_previous(message_ident.sequence_number, i_prot, o_prot)
13808      },
13809      "db_idx_double_find_primary" => {
13810        self.process_db_idx_double_find_primary(message_ident.sequence_number, i_prot, o_prot)
13811      },
13812      "db_idx_double_find_secondary" => {
13813        self.process_db_idx_double_find_secondary(message_ident.sequence_number, i_prot, o_prot)
13814      },
13815      "db_idx_double_lowerbound" => {
13816        self.process_db_idx_double_lowerbound(message_ident.sequence_number, i_prot, o_prot)
13817      },
13818      "db_idx_double_upperbound" => {
13819        self.process_db_idx_double_upperbound(message_ident.sequence_number, i_prot, o_prot)
13820      },
13821      "db_idx_double_end" => {
13822        self.process_db_idx_double_end(message_ident.sequence_number, i_prot, o_prot)
13823      },
13824      "db_idx_long_double_store" => {
13825        self.process_db_idx_long_double_store(message_ident.sequence_number, i_prot, o_prot)
13826      },
13827      "db_idx_long_double_update" => {
13828        self.process_db_idx_long_double_update(message_ident.sequence_number, i_prot, o_prot)
13829      },
13830      "db_idx_long_double_remove" => {
13831        self.process_db_idx_long_double_remove(message_ident.sequence_number, i_prot, o_prot)
13832      },
13833      "db_idx_long_double_next" => {
13834        self.process_db_idx_long_double_next(message_ident.sequence_number, i_prot, o_prot)
13835      },
13836      "db_idx_long_double_previous" => {
13837        self.process_db_idx_long_double_previous(message_ident.sequence_number, i_prot, o_prot)
13838      },
13839      "db_idx_long_double_find_primary" => {
13840        self.process_db_idx_long_double_find_primary(message_ident.sequence_number, i_prot, o_prot)
13841      },
13842      "db_idx_long_double_find_secondary" => {
13843        self.process_db_idx_long_double_find_secondary(message_ident.sequence_number, i_prot, o_prot)
13844      },
13845      "db_idx_long_double_lowerbound" => {
13846        self.process_db_idx_long_double_lowerbound(message_ident.sequence_number, i_prot, o_prot)
13847      },
13848      "db_idx_long_double_upperbound" => {
13849        self.process_db_idx_long_double_upperbound(message_ident.sequence_number, i_prot, o_prot)
13850      },
13851      "db_idx_long_double_end" => {
13852        self.process_db_idx_long_double_end(message_ident.sequence_number, i_prot, o_prot)
13853      },
13854      method => {
13855        Err(
13856          thrift::Error::Application(
13857            ApplicationError::new(
13858              ApplicationErrorKind::UnknownMethod,
13859              format!("unknown method {}", method)
13860            )
13861          )
13862        )
13863      },
13864    };
13865    thrift::server::handle_process_result(&message_ident, res, o_prot)
13866  }
13867}
13868
13869//
13870// ApplyEndApplyArgs
13871//
13872
13873#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
13874struct ApplyEndApplyArgs {
13875}
13876
13877impl ApplyEndApplyArgs {
13878  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEndApplyArgs> {
13879    i_prot.read_struct_begin()?;
13880    loop {
13881      let field_ident = i_prot.read_field_begin()?;
13882      if field_ident.field_type == TType::Stop {
13883        break;
13884      }
13885      let field_id = field_id(&field_ident)?;
13886      match field_id {
13887        _ => {
13888          i_prot.skip(field_ident.field_type)?;
13889        },
13890      };
13891      i_prot.read_field_end()?;
13892    }
13893    i_prot.read_struct_end()?;
13894    let ret = ApplyEndApplyArgs {};
13895    Ok(ret)
13896  }
13897  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13898    let struct_ident = TStructIdentifier::new("end_apply_args");
13899    o_prot.write_struct_begin(&struct_ident)?;
13900    o_prot.write_field_stop()?;
13901    o_prot.write_struct_end()
13902  }
13903}
13904
13905//
13906// ApplyEndApplyResult
13907//
13908
13909#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
13910struct ApplyEndApplyResult {
13911  result_value: Option<i32>,
13912}
13913
13914impl ApplyEndApplyResult {
13915  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEndApplyResult> {
13916    i_prot.read_struct_begin()?;
13917    let mut f_0: Option<i32> = None;
13918    loop {
13919      let field_ident = i_prot.read_field_begin()?;
13920      if field_ident.field_type == TType::Stop {
13921        break;
13922      }
13923      let field_id = field_id(&field_ident)?;
13924      match field_id {
13925        0 => {
13926          let val = i_prot.read_i32()?;
13927          f_0 = Some(val);
13928        },
13929        _ => {
13930          i_prot.skip(field_ident.field_type)?;
13931        },
13932      };
13933      i_prot.read_field_end()?;
13934    }
13935    i_prot.read_struct_end()?;
13936    let ret = ApplyEndApplyResult {
13937      result_value: f_0,
13938    };
13939    Ok(ret)
13940  }
13941  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13942    let struct_ident = TStructIdentifier::new("ApplyEndApplyResult");
13943    o_prot.write_struct_begin(&struct_ident)?;
13944    if let Some(fld_var) = self.result_value {
13945      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
13946      o_prot.write_i32(fld_var)?;
13947      o_prot.write_field_end()?
13948    }
13949    o_prot.write_field_stop()?;
13950    o_prot.write_struct_end()
13951  }
13952  fn ok_or(self) -> thrift::Result<i32> {
13953    if self.result_value.is_some() {
13954      Ok(self.result_value.unwrap())
13955    } else {
13956      Err(
13957        thrift::Error::Application(
13958          ApplicationError::new(
13959            ApplicationErrorKind::MissingResult,
13960            "no result received for ApplyEndApply"
13961          )
13962        )
13963      )
13964    }
13965  }
13966}
13967
13968//
13969// ApplyGetActiveProducersArgs
13970//
13971
13972#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
13973struct ApplyGetActiveProducersArgs {
13974}
13975
13976impl ApplyGetActiveProducersArgs {
13977  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetActiveProducersArgs> {
13978    i_prot.read_struct_begin()?;
13979    loop {
13980      let field_ident = i_prot.read_field_begin()?;
13981      if field_ident.field_type == TType::Stop {
13982        break;
13983      }
13984      let field_id = field_id(&field_ident)?;
13985      match field_id {
13986        _ => {
13987          i_prot.skip(field_ident.field_type)?;
13988        },
13989      };
13990      i_prot.read_field_end()?;
13991    }
13992    i_prot.read_struct_end()?;
13993    let ret = ApplyGetActiveProducersArgs {};
13994    Ok(ret)
13995  }
13996  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
13997    let struct_ident = TStructIdentifier::new("get_active_producers_args");
13998    o_prot.write_struct_begin(&struct_ident)?;
13999    o_prot.write_field_stop()?;
14000    o_prot.write_struct_end()
14001  }
14002}
14003
14004//
14005// ApplyGetActiveProducersResult
14006//
14007
14008#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14009struct ApplyGetActiveProducersResult {
14010  result_value: Option<Vec<u8>>,
14011}
14012
14013impl ApplyGetActiveProducersResult {
14014  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetActiveProducersResult> {
14015    i_prot.read_struct_begin()?;
14016    let mut f_0: Option<Vec<u8>> = None;
14017    loop {
14018      let field_ident = i_prot.read_field_begin()?;
14019      if field_ident.field_type == TType::Stop {
14020        break;
14021      }
14022      let field_id = field_id(&field_ident)?;
14023      match field_id {
14024        0 => {
14025          let val = i_prot.read_bytes()?;
14026          f_0 = Some(val);
14027        },
14028        _ => {
14029          i_prot.skip(field_ident.field_type)?;
14030        },
14031      };
14032      i_prot.read_field_end()?;
14033    }
14034    i_prot.read_struct_end()?;
14035    let ret = ApplyGetActiveProducersResult {
14036      result_value: f_0,
14037    };
14038    Ok(ret)
14039  }
14040  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14041    let struct_ident = TStructIdentifier::new("ApplyGetActiveProducersResult");
14042    o_prot.write_struct_begin(&struct_ident)?;
14043    if let Some(ref fld_var) = self.result_value {
14044      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
14045      o_prot.write_bytes(fld_var)?;
14046      o_prot.write_field_end()?
14047    }
14048    o_prot.write_field_stop()?;
14049    o_prot.write_struct_end()
14050  }
14051  fn ok_or(self) -> thrift::Result<Vec<u8>> {
14052    if self.result_value.is_some() {
14053      Ok(self.result_value.unwrap())
14054    } else {
14055      Err(
14056        thrift::Error::Application(
14057          ApplicationError::new(
14058            ApplicationErrorKind::MissingResult,
14059            "no result received for ApplyGetActiveProducers"
14060          )
14061        )
14062      )
14063    }
14064  }
14065}
14066
14067//
14068// ApplyGetResourceLimitsArgs
14069//
14070
14071#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14072struct ApplyGetResourceLimitsArgs {
14073  account: Uint64,
14074}
14075
14076impl ApplyGetResourceLimitsArgs {
14077  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetResourceLimitsArgs> {
14078    i_prot.read_struct_begin()?;
14079    let mut f_1: Option<Uint64> = None;
14080    loop {
14081      let field_ident = i_prot.read_field_begin()?;
14082      if field_ident.field_type == TType::Stop {
14083        break;
14084      }
14085      let field_id = field_id(&field_ident)?;
14086      match field_id {
14087        1 => {
14088          let val = Uint64::read_from_in_protocol(i_prot)?;
14089          f_1 = Some(val);
14090        },
14091        _ => {
14092          i_prot.skip(field_ident.field_type)?;
14093        },
14094      };
14095      i_prot.read_field_end()?;
14096    }
14097    i_prot.read_struct_end()?;
14098    verify_required_field_exists("ApplyGetResourceLimitsArgs.account", &f_1)?;
14099    let ret = ApplyGetResourceLimitsArgs {
14100      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
14101    };
14102    Ok(ret)
14103  }
14104  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14105    let struct_ident = TStructIdentifier::new("get_resource_limits_args");
14106    o_prot.write_struct_begin(&struct_ident)?;
14107    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
14108    self.account.write_to_out_protocol(o_prot)?;
14109    o_prot.write_field_end()?;
14110    o_prot.write_field_stop()?;
14111    o_prot.write_struct_end()
14112  }
14113}
14114
14115//
14116// ApplyGetResourceLimitsResult
14117//
14118
14119#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14120struct ApplyGetResourceLimitsResult {
14121  result_value: Option<GetResourceLimitsReturn>,
14122}
14123
14124impl ApplyGetResourceLimitsResult {
14125  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetResourceLimitsResult> {
14126    i_prot.read_struct_begin()?;
14127    let mut f_0: Option<GetResourceLimitsReturn> = None;
14128    loop {
14129      let field_ident = i_prot.read_field_begin()?;
14130      if field_ident.field_type == TType::Stop {
14131        break;
14132      }
14133      let field_id = field_id(&field_ident)?;
14134      match field_id {
14135        0 => {
14136          let val = GetResourceLimitsReturn::read_from_in_protocol(i_prot)?;
14137          f_0 = Some(val);
14138        },
14139        _ => {
14140          i_prot.skip(field_ident.field_type)?;
14141        },
14142      };
14143      i_prot.read_field_end()?;
14144    }
14145    i_prot.read_struct_end()?;
14146    let ret = ApplyGetResourceLimitsResult {
14147      result_value: f_0,
14148    };
14149    Ok(ret)
14150  }
14151  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14152    let struct_ident = TStructIdentifier::new("ApplyGetResourceLimitsResult");
14153    o_prot.write_struct_begin(&struct_ident)?;
14154    if let Some(ref fld_var) = self.result_value {
14155      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
14156      fld_var.write_to_out_protocol(o_prot)?;
14157      o_prot.write_field_end()?
14158    }
14159    o_prot.write_field_stop()?;
14160    o_prot.write_struct_end()
14161  }
14162  fn ok_or(self) -> thrift::Result<GetResourceLimitsReturn> {
14163    if self.result_value.is_some() {
14164      Ok(self.result_value.unwrap())
14165    } else {
14166      Err(
14167        thrift::Error::Application(
14168          ApplicationError::new(
14169            ApplicationErrorKind::MissingResult,
14170            "no result received for ApplyGetResourceLimits"
14171          )
14172        )
14173      )
14174    }
14175  }
14176}
14177
14178//
14179// ApplySetResourceLimitsArgs
14180//
14181
14182#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14183struct ApplySetResourceLimitsArgs {
14184  account: Uint64,
14185  ram_bytes: i64,
14186  net_weight: i64,
14187  cpu_weight: i64,
14188}
14189
14190impl ApplySetResourceLimitsArgs {
14191  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetResourceLimitsArgs> {
14192    i_prot.read_struct_begin()?;
14193    let mut f_1: Option<Uint64> = None;
14194    let mut f_2: Option<i64> = None;
14195    let mut f_3: Option<i64> = None;
14196    let mut f_4: Option<i64> = None;
14197    loop {
14198      let field_ident = i_prot.read_field_begin()?;
14199      if field_ident.field_type == TType::Stop {
14200        break;
14201      }
14202      let field_id = field_id(&field_ident)?;
14203      match field_id {
14204        1 => {
14205          let val = Uint64::read_from_in_protocol(i_prot)?;
14206          f_1 = Some(val);
14207        },
14208        2 => {
14209          let val = i_prot.read_i64()?;
14210          f_2 = Some(val);
14211        },
14212        3 => {
14213          let val = i_prot.read_i64()?;
14214          f_3 = Some(val);
14215        },
14216        4 => {
14217          let val = i_prot.read_i64()?;
14218          f_4 = Some(val);
14219        },
14220        _ => {
14221          i_prot.skip(field_ident.field_type)?;
14222        },
14223      };
14224      i_prot.read_field_end()?;
14225    }
14226    i_prot.read_struct_end()?;
14227    verify_required_field_exists("ApplySetResourceLimitsArgs.account", &f_1)?;
14228    verify_required_field_exists("ApplySetResourceLimitsArgs.ram_bytes", &f_2)?;
14229    verify_required_field_exists("ApplySetResourceLimitsArgs.net_weight", &f_3)?;
14230    verify_required_field_exists("ApplySetResourceLimitsArgs.cpu_weight", &f_4)?;
14231    let ret = ApplySetResourceLimitsArgs {
14232      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
14233      ram_bytes: f_2.expect("auto-generated code should have checked for presence of required fields"),
14234      net_weight: f_3.expect("auto-generated code should have checked for presence of required fields"),
14235      cpu_weight: f_4.expect("auto-generated code should have checked for presence of required fields"),
14236    };
14237    Ok(ret)
14238  }
14239  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14240    let struct_ident = TStructIdentifier::new("set_resource_limits_args");
14241    o_prot.write_struct_begin(&struct_ident)?;
14242    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
14243    self.account.write_to_out_protocol(o_prot)?;
14244    o_prot.write_field_end()?;
14245    o_prot.write_field_begin(&TFieldIdentifier::new("ram_bytes", TType::I64, 2))?;
14246    o_prot.write_i64(self.ram_bytes)?;
14247    o_prot.write_field_end()?;
14248    o_prot.write_field_begin(&TFieldIdentifier::new("net_weight", TType::I64, 3))?;
14249    o_prot.write_i64(self.net_weight)?;
14250    o_prot.write_field_end()?;
14251    o_prot.write_field_begin(&TFieldIdentifier::new("cpu_weight", TType::I64, 4))?;
14252    o_prot.write_i64(self.cpu_weight)?;
14253    o_prot.write_field_end()?;
14254    o_prot.write_field_stop()?;
14255    o_prot.write_struct_end()
14256  }
14257}
14258
14259//
14260// ApplySetResourceLimitsResult
14261//
14262
14263#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14264struct ApplySetResourceLimitsResult {
14265}
14266
14267impl ApplySetResourceLimitsResult {
14268  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetResourceLimitsResult> {
14269    i_prot.read_struct_begin()?;
14270    loop {
14271      let field_ident = i_prot.read_field_begin()?;
14272      if field_ident.field_type == TType::Stop {
14273        break;
14274      }
14275      let field_id = field_id(&field_ident)?;
14276      match field_id {
14277        _ => {
14278          i_prot.skip(field_ident.field_type)?;
14279        },
14280      };
14281      i_prot.read_field_end()?;
14282    }
14283    i_prot.read_struct_end()?;
14284    let ret = ApplySetResourceLimitsResult {};
14285    Ok(ret)
14286  }
14287  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14288    let struct_ident = TStructIdentifier::new("ApplySetResourceLimitsResult");
14289    o_prot.write_struct_begin(&struct_ident)?;
14290    o_prot.write_field_stop()?;
14291    o_prot.write_struct_end()
14292  }
14293  fn ok_or(self) -> thrift::Result<()> {
14294    Ok(())
14295  }
14296}
14297
14298//
14299// ApplySetProposedProducersArgs
14300//
14301
14302#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14303struct ApplySetProposedProducersArgs {
14304  producer_data: Vec<u8>,
14305}
14306
14307impl ApplySetProposedProducersArgs {
14308  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetProposedProducersArgs> {
14309    i_prot.read_struct_begin()?;
14310    let mut f_1: Option<Vec<u8>> = None;
14311    loop {
14312      let field_ident = i_prot.read_field_begin()?;
14313      if field_ident.field_type == TType::Stop {
14314        break;
14315      }
14316      let field_id = field_id(&field_ident)?;
14317      match field_id {
14318        1 => {
14319          let val = i_prot.read_bytes()?;
14320          f_1 = Some(val);
14321        },
14322        _ => {
14323          i_prot.skip(field_ident.field_type)?;
14324        },
14325      };
14326      i_prot.read_field_end()?;
14327    }
14328    i_prot.read_struct_end()?;
14329    verify_required_field_exists("ApplySetProposedProducersArgs.producer_data", &f_1)?;
14330    let ret = ApplySetProposedProducersArgs {
14331      producer_data: f_1.expect("auto-generated code should have checked for presence of required fields"),
14332    };
14333    Ok(ret)
14334  }
14335  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14336    let struct_ident = TStructIdentifier::new("set_proposed_producers_args");
14337    o_prot.write_struct_begin(&struct_ident)?;
14338    o_prot.write_field_begin(&TFieldIdentifier::new("producer_data", TType::String, 1))?;
14339    o_prot.write_bytes(&self.producer_data)?;
14340    o_prot.write_field_end()?;
14341    o_prot.write_field_stop()?;
14342    o_prot.write_struct_end()
14343  }
14344}
14345
14346//
14347// ApplySetProposedProducersResult
14348//
14349
14350#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14351struct ApplySetProposedProducersResult {
14352  result_value: Option<i64>,
14353}
14354
14355impl ApplySetProposedProducersResult {
14356  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetProposedProducersResult> {
14357    i_prot.read_struct_begin()?;
14358    let mut f_0: Option<i64> = None;
14359    loop {
14360      let field_ident = i_prot.read_field_begin()?;
14361      if field_ident.field_type == TType::Stop {
14362        break;
14363      }
14364      let field_id = field_id(&field_ident)?;
14365      match field_id {
14366        0 => {
14367          let val = i_prot.read_i64()?;
14368          f_0 = Some(val);
14369        },
14370        _ => {
14371          i_prot.skip(field_ident.field_type)?;
14372        },
14373      };
14374      i_prot.read_field_end()?;
14375    }
14376    i_prot.read_struct_end()?;
14377    let ret = ApplySetProposedProducersResult {
14378      result_value: f_0,
14379    };
14380    Ok(ret)
14381  }
14382  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14383    let struct_ident = TStructIdentifier::new("ApplySetProposedProducersResult");
14384    o_prot.write_struct_begin(&struct_ident)?;
14385    if let Some(fld_var) = self.result_value {
14386      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I64, 0))?;
14387      o_prot.write_i64(fld_var)?;
14388      o_prot.write_field_end()?
14389    }
14390    o_prot.write_field_stop()?;
14391    o_prot.write_struct_end()
14392  }
14393  fn ok_or(self) -> thrift::Result<i64> {
14394    if self.result_value.is_some() {
14395      Ok(self.result_value.unwrap())
14396    } else {
14397      Err(
14398        thrift::Error::Application(
14399          ApplicationError::new(
14400            ApplicationErrorKind::MissingResult,
14401            "no result received for ApplySetProposedProducers"
14402          )
14403        )
14404      )
14405    }
14406  }
14407}
14408
14409//
14410// ApplySetProposedProducersExArgs
14411//
14412
14413#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14414struct ApplySetProposedProducersExArgs {
14415  producer_data_format: Uint64,
14416  producer_data: Vec<u8>,
14417}
14418
14419impl ApplySetProposedProducersExArgs {
14420  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetProposedProducersExArgs> {
14421    i_prot.read_struct_begin()?;
14422    let mut f_1: Option<Uint64> = None;
14423    let mut f_2: Option<Vec<u8>> = None;
14424    loop {
14425      let field_ident = i_prot.read_field_begin()?;
14426      if field_ident.field_type == TType::Stop {
14427        break;
14428      }
14429      let field_id = field_id(&field_ident)?;
14430      match field_id {
14431        1 => {
14432          let val = Uint64::read_from_in_protocol(i_prot)?;
14433          f_1 = Some(val);
14434        },
14435        2 => {
14436          let val = i_prot.read_bytes()?;
14437          f_2 = Some(val);
14438        },
14439        _ => {
14440          i_prot.skip(field_ident.field_type)?;
14441        },
14442      };
14443      i_prot.read_field_end()?;
14444    }
14445    i_prot.read_struct_end()?;
14446    verify_required_field_exists("ApplySetProposedProducersExArgs.producer_data_format", &f_1)?;
14447    verify_required_field_exists("ApplySetProposedProducersExArgs.producer_data", &f_2)?;
14448    let ret = ApplySetProposedProducersExArgs {
14449      producer_data_format: f_1.expect("auto-generated code should have checked for presence of required fields"),
14450      producer_data: f_2.expect("auto-generated code should have checked for presence of required fields"),
14451    };
14452    Ok(ret)
14453  }
14454  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14455    let struct_ident = TStructIdentifier::new("set_proposed_producers_ex_args");
14456    o_prot.write_struct_begin(&struct_ident)?;
14457    o_prot.write_field_begin(&TFieldIdentifier::new("producer_data_format", TType::Struct, 1))?;
14458    self.producer_data_format.write_to_out_protocol(o_prot)?;
14459    o_prot.write_field_end()?;
14460    o_prot.write_field_begin(&TFieldIdentifier::new("producer_data", TType::String, 2))?;
14461    o_prot.write_bytes(&self.producer_data)?;
14462    o_prot.write_field_end()?;
14463    o_prot.write_field_stop()?;
14464    o_prot.write_struct_end()
14465  }
14466}
14467
14468//
14469// ApplySetProposedProducersExResult
14470//
14471
14472#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14473struct ApplySetProposedProducersExResult {
14474  result_value: Option<i64>,
14475}
14476
14477impl ApplySetProposedProducersExResult {
14478  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetProposedProducersExResult> {
14479    i_prot.read_struct_begin()?;
14480    let mut f_0: Option<i64> = None;
14481    loop {
14482      let field_ident = i_prot.read_field_begin()?;
14483      if field_ident.field_type == TType::Stop {
14484        break;
14485      }
14486      let field_id = field_id(&field_ident)?;
14487      match field_id {
14488        0 => {
14489          let val = i_prot.read_i64()?;
14490          f_0 = Some(val);
14491        },
14492        _ => {
14493          i_prot.skip(field_ident.field_type)?;
14494        },
14495      };
14496      i_prot.read_field_end()?;
14497    }
14498    i_prot.read_struct_end()?;
14499    let ret = ApplySetProposedProducersExResult {
14500      result_value: f_0,
14501    };
14502    Ok(ret)
14503  }
14504  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14505    let struct_ident = TStructIdentifier::new("ApplySetProposedProducersExResult");
14506    o_prot.write_struct_begin(&struct_ident)?;
14507    if let Some(fld_var) = self.result_value {
14508      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I64, 0))?;
14509      o_prot.write_i64(fld_var)?;
14510      o_prot.write_field_end()?
14511    }
14512    o_prot.write_field_stop()?;
14513    o_prot.write_struct_end()
14514  }
14515  fn ok_or(self) -> thrift::Result<i64> {
14516    if self.result_value.is_some() {
14517      Ok(self.result_value.unwrap())
14518    } else {
14519      Err(
14520        thrift::Error::Application(
14521          ApplicationError::new(
14522            ApplicationErrorKind::MissingResult,
14523            "no result received for ApplySetProposedProducersEx"
14524          )
14525        )
14526      )
14527    }
14528  }
14529}
14530
14531//
14532// ApplyIsPrivilegedArgs
14533//
14534
14535#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14536struct ApplyIsPrivilegedArgs {
14537  account: Uint64,
14538}
14539
14540impl ApplyIsPrivilegedArgs {
14541  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyIsPrivilegedArgs> {
14542    i_prot.read_struct_begin()?;
14543    let mut f_1: Option<Uint64> = None;
14544    loop {
14545      let field_ident = i_prot.read_field_begin()?;
14546      if field_ident.field_type == TType::Stop {
14547        break;
14548      }
14549      let field_id = field_id(&field_ident)?;
14550      match field_id {
14551        1 => {
14552          let val = Uint64::read_from_in_protocol(i_prot)?;
14553          f_1 = Some(val);
14554        },
14555        _ => {
14556          i_prot.skip(field_ident.field_type)?;
14557        },
14558      };
14559      i_prot.read_field_end()?;
14560    }
14561    i_prot.read_struct_end()?;
14562    verify_required_field_exists("ApplyIsPrivilegedArgs.account", &f_1)?;
14563    let ret = ApplyIsPrivilegedArgs {
14564      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
14565    };
14566    Ok(ret)
14567  }
14568  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14569    let struct_ident = TStructIdentifier::new("is_privileged_args");
14570    o_prot.write_struct_begin(&struct_ident)?;
14571    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
14572    self.account.write_to_out_protocol(o_prot)?;
14573    o_prot.write_field_end()?;
14574    o_prot.write_field_stop()?;
14575    o_prot.write_struct_end()
14576  }
14577}
14578
14579//
14580// ApplyIsPrivilegedResult
14581//
14582
14583#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14584struct ApplyIsPrivilegedResult {
14585  result_value: Option<bool>,
14586}
14587
14588impl ApplyIsPrivilegedResult {
14589  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyIsPrivilegedResult> {
14590    i_prot.read_struct_begin()?;
14591    let mut f_0: Option<bool> = None;
14592    loop {
14593      let field_ident = i_prot.read_field_begin()?;
14594      if field_ident.field_type == TType::Stop {
14595        break;
14596      }
14597      let field_id = field_id(&field_ident)?;
14598      match field_id {
14599        0 => {
14600          let val = i_prot.read_bool()?;
14601          f_0 = Some(val);
14602        },
14603        _ => {
14604          i_prot.skip(field_ident.field_type)?;
14605        },
14606      };
14607      i_prot.read_field_end()?;
14608    }
14609    i_prot.read_struct_end()?;
14610    let ret = ApplyIsPrivilegedResult {
14611      result_value: f_0,
14612    };
14613    Ok(ret)
14614  }
14615  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14616    let struct_ident = TStructIdentifier::new("ApplyIsPrivilegedResult");
14617    o_prot.write_struct_begin(&struct_ident)?;
14618    if let Some(fld_var) = self.result_value {
14619      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Bool, 0))?;
14620      o_prot.write_bool(fld_var)?;
14621      o_prot.write_field_end()?
14622    }
14623    o_prot.write_field_stop()?;
14624    o_prot.write_struct_end()
14625  }
14626  fn ok_or(self) -> thrift::Result<bool> {
14627    if self.result_value.is_some() {
14628      Ok(self.result_value.unwrap())
14629    } else {
14630      Err(
14631        thrift::Error::Application(
14632          ApplicationError::new(
14633            ApplicationErrorKind::MissingResult,
14634            "no result received for ApplyIsPrivileged"
14635          )
14636        )
14637      )
14638    }
14639  }
14640}
14641
14642//
14643// ApplySetPrivilegedArgs
14644//
14645
14646#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14647struct ApplySetPrivilegedArgs {
14648  account: Uint64,
14649  is_priv: bool,
14650}
14651
14652impl ApplySetPrivilegedArgs {
14653  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetPrivilegedArgs> {
14654    i_prot.read_struct_begin()?;
14655    let mut f_1: Option<Uint64> = None;
14656    let mut f_2: Option<bool> = None;
14657    loop {
14658      let field_ident = i_prot.read_field_begin()?;
14659      if field_ident.field_type == TType::Stop {
14660        break;
14661      }
14662      let field_id = field_id(&field_ident)?;
14663      match field_id {
14664        1 => {
14665          let val = Uint64::read_from_in_protocol(i_prot)?;
14666          f_1 = Some(val);
14667        },
14668        2 => {
14669          let val = i_prot.read_bool()?;
14670          f_2 = Some(val);
14671        },
14672        _ => {
14673          i_prot.skip(field_ident.field_type)?;
14674        },
14675      };
14676      i_prot.read_field_end()?;
14677    }
14678    i_prot.read_struct_end()?;
14679    verify_required_field_exists("ApplySetPrivilegedArgs.account", &f_1)?;
14680    verify_required_field_exists("ApplySetPrivilegedArgs.is_priv", &f_2)?;
14681    let ret = ApplySetPrivilegedArgs {
14682      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
14683      is_priv: f_2.expect("auto-generated code should have checked for presence of required fields"),
14684    };
14685    Ok(ret)
14686  }
14687  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14688    let struct_ident = TStructIdentifier::new("set_privileged_args");
14689    o_prot.write_struct_begin(&struct_ident)?;
14690    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
14691    self.account.write_to_out_protocol(o_prot)?;
14692    o_prot.write_field_end()?;
14693    o_prot.write_field_begin(&TFieldIdentifier::new("is_priv", TType::Bool, 2))?;
14694    o_prot.write_bool(self.is_priv)?;
14695    o_prot.write_field_end()?;
14696    o_prot.write_field_stop()?;
14697    o_prot.write_struct_end()
14698  }
14699}
14700
14701//
14702// ApplySetPrivilegedResult
14703//
14704
14705#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14706struct ApplySetPrivilegedResult {
14707}
14708
14709impl ApplySetPrivilegedResult {
14710  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetPrivilegedResult> {
14711    i_prot.read_struct_begin()?;
14712    loop {
14713      let field_ident = i_prot.read_field_begin()?;
14714      if field_ident.field_type == TType::Stop {
14715        break;
14716      }
14717      let field_id = field_id(&field_ident)?;
14718      match field_id {
14719        _ => {
14720          i_prot.skip(field_ident.field_type)?;
14721        },
14722      };
14723      i_prot.read_field_end()?;
14724    }
14725    i_prot.read_struct_end()?;
14726    let ret = ApplySetPrivilegedResult {};
14727    Ok(ret)
14728  }
14729  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14730    let struct_ident = TStructIdentifier::new("ApplySetPrivilegedResult");
14731    o_prot.write_struct_begin(&struct_ident)?;
14732    o_prot.write_field_stop()?;
14733    o_prot.write_struct_end()
14734  }
14735  fn ok_or(self) -> thrift::Result<()> {
14736    Ok(())
14737  }
14738}
14739
14740//
14741// ApplySetBlockchainParametersPackedArgs
14742//
14743
14744#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14745struct ApplySetBlockchainParametersPackedArgs {
14746  data: Vec<u8>,
14747}
14748
14749impl ApplySetBlockchainParametersPackedArgs {
14750  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetBlockchainParametersPackedArgs> {
14751    i_prot.read_struct_begin()?;
14752    let mut f_1: Option<Vec<u8>> = None;
14753    loop {
14754      let field_ident = i_prot.read_field_begin()?;
14755      if field_ident.field_type == TType::Stop {
14756        break;
14757      }
14758      let field_id = field_id(&field_ident)?;
14759      match field_id {
14760        1 => {
14761          let val = i_prot.read_bytes()?;
14762          f_1 = Some(val);
14763        },
14764        _ => {
14765          i_prot.skip(field_ident.field_type)?;
14766        },
14767      };
14768      i_prot.read_field_end()?;
14769    }
14770    i_prot.read_struct_end()?;
14771    verify_required_field_exists("ApplySetBlockchainParametersPackedArgs.data", &f_1)?;
14772    let ret = ApplySetBlockchainParametersPackedArgs {
14773      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
14774    };
14775    Ok(ret)
14776  }
14777  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14778    let struct_ident = TStructIdentifier::new("set_blockchain_parameters_packed_args");
14779    o_prot.write_struct_begin(&struct_ident)?;
14780    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
14781    o_prot.write_bytes(&self.data)?;
14782    o_prot.write_field_end()?;
14783    o_prot.write_field_stop()?;
14784    o_prot.write_struct_end()
14785  }
14786}
14787
14788//
14789// ApplySetBlockchainParametersPackedResult
14790//
14791
14792#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14793struct ApplySetBlockchainParametersPackedResult {
14794}
14795
14796impl ApplySetBlockchainParametersPackedResult {
14797  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySetBlockchainParametersPackedResult> {
14798    i_prot.read_struct_begin()?;
14799    loop {
14800      let field_ident = i_prot.read_field_begin()?;
14801      if field_ident.field_type == TType::Stop {
14802        break;
14803      }
14804      let field_id = field_id(&field_ident)?;
14805      match field_id {
14806        _ => {
14807          i_prot.skip(field_ident.field_type)?;
14808        },
14809      };
14810      i_prot.read_field_end()?;
14811    }
14812    i_prot.read_struct_end()?;
14813    let ret = ApplySetBlockchainParametersPackedResult {};
14814    Ok(ret)
14815  }
14816  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14817    let struct_ident = TStructIdentifier::new("ApplySetBlockchainParametersPackedResult");
14818    o_prot.write_struct_begin(&struct_ident)?;
14819    o_prot.write_field_stop()?;
14820    o_prot.write_struct_end()
14821  }
14822  fn ok_or(self) -> thrift::Result<()> {
14823    Ok(())
14824  }
14825}
14826
14827//
14828// ApplyGetBlockchainParametersPackedArgs
14829//
14830
14831#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14832struct ApplyGetBlockchainParametersPackedArgs {
14833}
14834
14835impl ApplyGetBlockchainParametersPackedArgs {
14836  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetBlockchainParametersPackedArgs> {
14837    i_prot.read_struct_begin()?;
14838    loop {
14839      let field_ident = i_prot.read_field_begin()?;
14840      if field_ident.field_type == TType::Stop {
14841        break;
14842      }
14843      let field_id = field_id(&field_ident)?;
14844      match field_id {
14845        _ => {
14846          i_prot.skip(field_ident.field_type)?;
14847        },
14848      };
14849      i_prot.read_field_end()?;
14850    }
14851    i_prot.read_struct_end()?;
14852    let ret = ApplyGetBlockchainParametersPackedArgs {};
14853    Ok(ret)
14854  }
14855  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14856    let struct_ident = TStructIdentifier::new("get_blockchain_parameters_packed_args");
14857    o_prot.write_struct_begin(&struct_ident)?;
14858    o_prot.write_field_stop()?;
14859    o_prot.write_struct_end()
14860  }
14861}
14862
14863//
14864// ApplyGetBlockchainParametersPackedResult
14865//
14866
14867#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14868struct ApplyGetBlockchainParametersPackedResult {
14869  result_value: Option<Vec<u8>>,
14870}
14871
14872impl ApplyGetBlockchainParametersPackedResult {
14873  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetBlockchainParametersPackedResult> {
14874    i_prot.read_struct_begin()?;
14875    let mut f_0: Option<Vec<u8>> = None;
14876    loop {
14877      let field_ident = i_prot.read_field_begin()?;
14878      if field_ident.field_type == TType::Stop {
14879        break;
14880      }
14881      let field_id = field_id(&field_ident)?;
14882      match field_id {
14883        0 => {
14884          let val = i_prot.read_bytes()?;
14885          f_0 = Some(val);
14886        },
14887        _ => {
14888          i_prot.skip(field_ident.field_type)?;
14889        },
14890      };
14891      i_prot.read_field_end()?;
14892    }
14893    i_prot.read_struct_end()?;
14894    let ret = ApplyGetBlockchainParametersPackedResult {
14895      result_value: f_0,
14896    };
14897    Ok(ret)
14898  }
14899  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14900    let struct_ident = TStructIdentifier::new("ApplyGetBlockchainParametersPackedResult");
14901    o_prot.write_struct_begin(&struct_ident)?;
14902    if let Some(ref fld_var) = self.result_value {
14903      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
14904      o_prot.write_bytes(fld_var)?;
14905      o_prot.write_field_end()?
14906    }
14907    o_prot.write_field_stop()?;
14908    o_prot.write_struct_end()
14909  }
14910  fn ok_or(self) -> thrift::Result<Vec<u8>> {
14911    if self.result_value.is_some() {
14912      Ok(self.result_value.unwrap())
14913    } else {
14914      Err(
14915        thrift::Error::Application(
14916          ApplicationError::new(
14917            ApplicationErrorKind::MissingResult,
14918            "no result received for ApplyGetBlockchainParametersPacked"
14919          )
14920        )
14921      )
14922    }
14923  }
14924}
14925
14926//
14927// ApplyPreactivateFeatureArgs
14928//
14929
14930#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14931struct ApplyPreactivateFeatureArgs {
14932  feature_digest: Vec<u8>,
14933}
14934
14935impl ApplyPreactivateFeatureArgs {
14936  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPreactivateFeatureArgs> {
14937    i_prot.read_struct_begin()?;
14938    let mut f_1: Option<Vec<u8>> = None;
14939    loop {
14940      let field_ident = i_prot.read_field_begin()?;
14941      if field_ident.field_type == TType::Stop {
14942        break;
14943      }
14944      let field_id = field_id(&field_ident)?;
14945      match field_id {
14946        1 => {
14947          let val = i_prot.read_bytes()?;
14948          f_1 = Some(val);
14949        },
14950        _ => {
14951          i_prot.skip(field_ident.field_type)?;
14952        },
14953      };
14954      i_prot.read_field_end()?;
14955    }
14956    i_prot.read_struct_end()?;
14957    verify_required_field_exists("ApplyPreactivateFeatureArgs.feature_digest", &f_1)?;
14958    let ret = ApplyPreactivateFeatureArgs {
14959      feature_digest: f_1.expect("auto-generated code should have checked for presence of required fields"),
14960    };
14961    Ok(ret)
14962  }
14963  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
14964    let struct_ident = TStructIdentifier::new("preactivate_feature_args");
14965    o_prot.write_struct_begin(&struct_ident)?;
14966    o_prot.write_field_begin(&TFieldIdentifier::new("feature_digest", TType::String, 1))?;
14967    o_prot.write_bytes(&self.feature_digest)?;
14968    o_prot.write_field_end()?;
14969    o_prot.write_field_stop()?;
14970    o_prot.write_struct_end()
14971  }
14972}
14973
14974//
14975// ApplyPreactivateFeatureResult
14976//
14977
14978#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
14979struct ApplyPreactivateFeatureResult {
14980}
14981
14982impl ApplyPreactivateFeatureResult {
14983  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPreactivateFeatureResult> {
14984    i_prot.read_struct_begin()?;
14985    loop {
14986      let field_ident = i_prot.read_field_begin()?;
14987      if field_ident.field_type == TType::Stop {
14988        break;
14989      }
14990      let field_id = field_id(&field_ident)?;
14991      match field_id {
14992        _ => {
14993          i_prot.skip(field_ident.field_type)?;
14994        },
14995      };
14996      i_prot.read_field_end()?;
14997    }
14998    i_prot.read_struct_end()?;
14999    let ret = ApplyPreactivateFeatureResult {};
15000    Ok(ret)
15001  }
15002  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15003    let struct_ident = TStructIdentifier::new("ApplyPreactivateFeatureResult");
15004    o_prot.write_struct_begin(&struct_ident)?;
15005    o_prot.write_field_stop()?;
15006    o_prot.write_struct_end()
15007  }
15008  fn ok_or(self) -> thrift::Result<()> {
15009    Ok(())
15010  }
15011}
15012
15013//
15014// ApplyCheckTransactionAuthorizationArgs
15015//
15016
15017#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15018struct ApplyCheckTransactionAuthorizationArgs {
15019  trx_data: Vec<u8>,
15020  pubkeys_data: Vec<u8>,
15021  perms_data: Vec<u8>,
15022}
15023
15024impl ApplyCheckTransactionAuthorizationArgs {
15025  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCheckTransactionAuthorizationArgs> {
15026    i_prot.read_struct_begin()?;
15027    let mut f_1: Option<Vec<u8>> = None;
15028    let mut f_2: Option<Vec<u8>> = None;
15029    let mut f_3: Option<Vec<u8>> = None;
15030    loop {
15031      let field_ident = i_prot.read_field_begin()?;
15032      if field_ident.field_type == TType::Stop {
15033        break;
15034      }
15035      let field_id = field_id(&field_ident)?;
15036      match field_id {
15037        1 => {
15038          let val = i_prot.read_bytes()?;
15039          f_1 = Some(val);
15040        },
15041        2 => {
15042          let val = i_prot.read_bytes()?;
15043          f_2 = Some(val);
15044        },
15045        3 => {
15046          let val = i_prot.read_bytes()?;
15047          f_3 = Some(val);
15048        },
15049        _ => {
15050          i_prot.skip(field_ident.field_type)?;
15051        },
15052      };
15053      i_prot.read_field_end()?;
15054    }
15055    i_prot.read_struct_end()?;
15056    verify_required_field_exists("ApplyCheckTransactionAuthorizationArgs.trx_data", &f_1)?;
15057    verify_required_field_exists("ApplyCheckTransactionAuthorizationArgs.pubkeys_data", &f_2)?;
15058    verify_required_field_exists("ApplyCheckTransactionAuthorizationArgs.perms_data", &f_3)?;
15059    let ret = ApplyCheckTransactionAuthorizationArgs {
15060      trx_data: f_1.expect("auto-generated code should have checked for presence of required fields"),
15061      pubkeys_data: f_2.expect("auto-generated code should have checked for presence of required fields"),
15062      perms_data: f_3.expect("auto-generated code should have checked for presence of required fields"),
15063    };
15064    Ok(ret)
15065  }
15066  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15067    let struct_ident = TStructIdentifier::new("check_transaction_authorization_args");
15068    o_prot.write_struct_begin(&struct_ident)?;
15069    o_prot.write_field_begin(&TFieldIdentifier::new("trx_data", TType::String, 1))?;
15070    o_prot.write_bytes(&self.trx_data)?;
15071    o_prot.write_field_end()?;
15072    o_prot.write_field_begin(&TFieldIdentifier::new("pubkeys_data", TType::String, 2))?;
15073    o_prot.write_bytes(&self.pubkeys_data)?;
15074    o_prot.write_field_end()?;
15075    o_prot.write_field_begin(&TFieldIdentifier::new("perms_data", TType::String, 3))?;
15076    o_prot.write_bytes(&self.perms_data)?;
15077    o_prot.write_field_end()?;
15078    o_prot.write_field_stop()?;
15079    o_prot.write_struct_end()
15080  }
15081}
15082
15083//
15084// ApplyCheckTransactionAuthorizationResult
15085//
15086
15087#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15088struct ApplyCheckTransactionAuthorizationResult {
15089  result_value: Option<i32>,
15090}
15091
15092impl ApplyCheckTransactionAuthorizationResult {
15093  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCheckTransactionAuthorizationResult> {
15094    i_prot.read_struct_begin()?;
15095    let mut f_0: Option<i32> = None;
15096    loop {
15097      let field_ident = i_prot.read_field_begin()?;
15098      if field_ident.field_type == TType::Stop {
15099        break;
15100      }
15101      let field_id = field_id(&field_ident)?;
15102      match field_id {
15103        0 => {
15104          let val = i_prot.read_i32()?;
15105          f_0 = Some(val);
15106        },
15107        _ => {
15108          i_prot.skip(field_ident.field_type)?;
15109        },
15110      };
15111      i_prot.read_field_end()?;
15112    }
15113    i_prot.read_struct_end()?;
15114    let ret = ApplyCheckTransactionAuthorizationResult {
15115      result_value: f_0,
15116    };
15117    Ok(ret)
15118  }
15119  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15120    let struct_ident = TStructIdentifier::new("ApplyCheckTransactionAuthorizationResult");
15121    o_prot.write_struct_begin(&struct_ident)?;
15122    if let Some(fld_var) = self.result_value {
15123      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
15124      o_prot.write_i32(fld_var)?;
15125      o_prot.write_field_end()?
15126    }
15127    o_prot.write_field_stop()?;
15128    o_prot.write_struct_end()
15129  }
15130  fn ok_or(self) -> thrift::Result<i32> {
15131    if self.result_value.is_some() {
15132      Ok(self.result_value.unwrap())
15133    } else {
15134      Err(
15135        thrift::Error::Application(
15136          ApplicationError::new(
15137            ApplicationErrorKind::MissingResult,
15138            "no result received for ApplyCheckTransactionAuthorization"
15139          )
15140        )
15141      )
15142    }
15143  }
15144}
15145
15146//
15147// ApplyCheckPermissionAuthorizationArgs
15148//
15149
15150#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15151struct ApplyCheckPermissionAuthorizationArgs {
15152  account: Uint64,
15153  permission: Uint64,
15154  pubkeys_data: Vec<u8>,
15155  perms_data: Vec<u8>,
15156  delay_us: Uint64,
15157}
15158
15159impl ApplyCheckPermissionAuthorizationArgs {
15160  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCheckPermissionAuthorizationArgs> {
15161    i_prot.read_struct_begin()?;
15162    let mut f_1: Option<Uint64> = None;
15163    let mut f_2: Option<Uint64> = None;
15164    let mut f_3: Option<Vec<u8>> = None;
15165    let mut f_4: Option<Vec<u8>> = None;
15166    let mut f_5: Option<Uint64> = None;
15167    loop {
15168      let field_ident = i_prot.read_field_begin()?;
15169      if field_ident.field_type == TType::Stop {
15170        break;
15171      }
15172      let field_id = field_id(&field_ident)?;
15173      match field_id {
15174        1 => {
15175          let val = Uint64::read_from_in_protocol(i_prot)?;
15176          f_1 = Some(val);
15177        },
15178        2 => {
15179          let val = Uint64::read_from_in_protocol(i_prot)?;
15180          f_2 = Some(val);
15181        },
15182        3 => {
15183          let val = i_prot.read_bytes()?;
15184          f_3 = Some(val);
15185        },
15186        4 => {
15187          let val = i_prot.read_bytes()?;
15188          f_4 = Some(val);
15189        },
15190        5 => {
15191          let val = Uint64::read_from_in_protocol(i_prot)?;
15192          f_5 = Some(val);
15193        },
15194        _ => {
15195          i_prot.skip(field_ident.field_type)?;
15196        },
15197      };
15198      i_prot.read_field_end()?;
15199    }
15200    i_prot.read_struct_end()?;
15201    verify_required_field_exists("ApplyCheckPermissionAuthorizationArgs.account", &f_1)?;
15202    verify_required_field_exists("ApplyCheckPermissionAuthorizationArgs.permission", &f_2)?;
15203    verify_required_field_exists("ApplyCheckPermissionAuthorizationArgs.pubkeys_data", &f_3)?;
15204    verify_required_field_exists("ApplyCheckPermissionAuthorizationArgs.perms_data", &f_4)?;
15205    verify_required_field_exists("ApplyCheckPermissionAuthorizationArgs.delay_us", &f_5)?;
15206    let ret = ApplyCheckPermissionAuthorizationArgs {
15207      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
15208      permission: f_2.expect("auto-generated code should have checked for presence of required fields"),
15209      pubkeys_data: f_3.expect("auto-generated code should have checked for presence of required fields"),
15210      perms_data: f_4.expect("auto-generated code should have checked for presence of required fields"),
15211      delay_us: f_5.expect("auto-generated code should have checked for presence of required fields"),
15212    };
15213    Ok(ret)
15214  }
15215  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15216    let struct_ident = TStructIdentifier::new("check_permission_authorization_args");
15217    o_prot.write_struct_begin(&struct_ident)?;
15218    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
15219    self.account.write_to_out_protocol(o_prot)?;
15220    o_prot.write_field_end()?;
15221    o_prot.write_field_begin(&TFieldIdentifier::new("permission", TType::Struct, 2))?;
15222    self.permission.write_to_out_protocol(o_prot)?;
15223    o_prot.write_field_end()?;
15224    o_prot.write_field_begin(&TFieldIdentifier::new("pubkeys_data", TType::String, 3))?;
15225    o_prot.write_bytes(&self.pubkeys_data)?;
15226    o_prot.write_field_end()?;
15227    o_prot.write_field_begin(&TFieldIdentifier::new("perms_data", TType::String, 4))?;
15228    o_prot.write_bytes(&self.perms_data)?;
15229    o_prot.write_field_end()?;
15230    o_prot.write_field_begin(&TFieldIdentifier::new("delay_us", TType::Struct, 5))?;
15231    self.delay_us.write_to_out_protocol(o_prot)?;
15232    o_prot.write_field_end()?;
15233    o_prot.write_field_stop()?;
15234    o_prot.write_struct_end()
15235  }
15236}
15237
15238//
15239// ApplyCheckPermissionAuthorizationResult
15240//
15241
15242#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15243struct ApplyCheckPermissionAuthorizationResult {
15244  result_value: Option<i32>,
15245}
15246
15247impl ApplyCheckPermissionAuthorizationResult {
15248  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCheckPermissionAuthorizationResult> {
15249    i_prot.read_struct_begin()?;
15250    let mut f_0: Option<i32> = None;
15251    loop {
15252      let field_ident = i_prot.read_field_begin()?;
15253      if field_ident.field_type == TType::Stop {
15254        break;
15255      }
15256      let field_id = field_id(&field_ident)?;
15257      match field_id {
15258        0 => {
15259          let val = i_prot.read_i32()?;
15260          f_0 = Some(val);
15261        },
15262        _ => {
15263          i_prot.skip(field_ident.field_type)?;
15264        },
15265      };
15266      i_prot.read_field_end()?;
15267    }
15268    i_prot.read_struct_end()?;
15269    let ret = ApplyCheckPermissionAuthorizationResult {
15270      result_value: f_0,
15271    };
15272    Ok(ret)
15273  }
15274  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15275    let struct_ident = TStructIdentifier::new("ApplyCheckPermissionAuthorizationResult");
15276    o_prot.write_struct_begin(&struct_ident)?;
15277    if let Some(fld_var) = self.result_value {
15278      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
15279      o_prot.write_i32(fld_var)?;
15280      o_prot.write_field_end()?
15281    }
15282    o_prot.write_field_stop()?;
15283    o_prot.write_struct_end()
15284  }
15285  fn ok_or(self) -> thrift::Result<i32> {
15286    if self.result_value.is_some() {
15287      Ok(self.result_value.unwrap())
15288    } else {
15289      Err(
15290        thrift::Error::Application(
15291          ApplicationError::new(
15292            ApplicationErrorKind::MissingResult,
15293            "no result received for ApplyCheckPermissionAuthorization"
15294          )
15295        )
15296      )
15297    }
15298  }
15299}
15300
15301//
15302// ApplyGetPermissionLastUsedArgs
15303//
15304
15305#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15306struct ApplyGetPermissionLastUsedArgs {
15307  account: Uint64,
15308  permission: Uint64,
15309}
15310
15311impl ApplyGetPermissionLastUsedArgs {
15312  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetPermissionLastUsedArgs> {
15313    i_prot.read_struct_begin()?;
15314    let mut f_1: Option<Uint64> = None;
15315    let mut f_2: Option<Uint64> = None;
15316    loop {
15317      let field_ident = i_prot.read_field_begin()?;
15318      if field_ident.field_type == TType::Stop {
15319        break;
15320      }
15321      let field_id = field_id(&field_ident)?;
15322      match field_id {
15323        1 => {
15324          let val = Uint64::read_from_in_protocol(i_prot)?;
15325          f_1 = Some(val);
15326        },
15327        2 => {
15328          let val = Uint64::read_from_in_protocol(i_prot)?;
15329          f_2 = Some(val);
15330        },
15331        _ => {
15332          i_prot.skip(field_ident.field_type)?;
15333        },
15334      };
15335      i_prot.read_field_end()?;
15336    }
15337    i_prot.read_struct_end()?;
15338    verify_required_field_exists("ApplyGetPermissionLastUsedArgs.account", &f_1)?;
15339    verify_required_field_exists("ApplyGetPermissionLastUsedArgs.permission", &f_2)?;
15340    let ret = ApplyGetPermissionLastUsedArgs {
15341      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
15342      permission: f_2.expect("auto-generated code should have checked for presence of required fields"),
15343    };
15344    Ok(ret)
15345  }
15346  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15347    let struct_ident = TStructIdentifier::new("get_permission_last_used_args");
15348    o_prot.write_struct_begin(&struct_ident)?;
15349    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
15350    self.account.write_to_out_protocol(o_prot)?;
15351    o_prot.write_field_end()?;
15352    o_prot.write_field_begin(&TFieldIdentifier::new("permission", TType::Struct, 2))?;
15353    self.permission.write_to_out_protocol(o_prot)?;
15354    o_prot.write_field_end()?;
15355    o_prot.write_field_stop()?;
15356    o_prot.write_struct_end()
15357  }
15358}
15359
15360//
15361// ApplyGetPermissionLastUsedResult
15362//
15363
15364#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15365struct ApplyGetPermissionLastUsedResult {
15366  result_value: Option<i64>,
15367}
15368
15369impl ApplyGetPermissionLastUsedResult {
15370  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetPermissionLastUsedResult> {
15371    i_prot.read_struct_begin()?;
15372    let mut f_0: Option<i64> = None;
15373    loop {
15374      let field_ident = i_prot.read_field_begin()?;
15375      if field_ident.field_type == TType::Stop {
15376        break;
15377      }
15378      let field_id = field_id(&field_ident)?;
15379      match field_id {
15380        0 => {
15381          let val = i_prot.read_i64()?;
15382          f_0 = Some(val);
15383        },
15384        _ => {
15385          i_prot.skip(field_ident.field_type)?;
15386        },
15387      };
15388      i_prot.read_field_end()?;
15389    }
15390    i_prot.read_struct_end()?;
15391    let ret = ApplyGetPermissionLastUsedResult {
15392      result_value: f_0,
15393    };
15394    Ok(ret)
15395  }
15396  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15397    let struct_ident = TStructIdentifier::new("ApplyGetPermissionLastUsedResult");
15398    o_prot.write_struct_begin(&struct_ident)?;
15399    if let Some(fld_var) = self.result_value {
15400      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I64, 0))?;
15401      o_prot.write_i64(fld_var)?;
15402      o_prot.write_field_end()?
15403    }
15404    o_prot.write_field_stop()?;
15405    o_prot.write_struct_end()
15406  }
15407  fn ok_or(self) -> thrift::Result<i64> {
15408    if self.result_value.is_some() {
15409      Ok(self.result_value.unwrap())
15410    } else {
15411      Err(
15412        thrift::Error::Application(
15413          ApplicationError::new(
15414            ApplicationErrorKind::MissingResult,
15415            "no result received for ApplyGetPermissionLastUsed"
15416          )
15417        )
15418      )
15419    }
15420  }
15421}
15422
15423//
15424// ApplyGetAccountCreationTimeArgs
15425//
15426
15427#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15428struct ApplyGetAccountCreationTimeArgs {
15429  account: Uint64,
15430}
15431
15432impl ApplyGetAccountCreationTimeArgs {
15433  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetAccountCreationTimeArgs> {
15434    i_prot.read_struct_begin()?;
15435    let mut f_1: Option<Uint64> = None;
15436    loop {
15437      let field_ident = i_prot.read_field_begin()?;
15438      if field_ident.field_type == TType::Stop {
15439        break;
15440      }
15441      let field_id = field_id(&field_ident)?;
15442      match field_id {
15443        1 => {
15444          let val = Uint64::read_from_in_protocol(i_prot)?;
15445          f_1 = Some(val);
15446        },
15447        _ => {
15448          i_prot.skip(field_ident.field_type)?;
15449        },
15450      };
15451      i_prot.read_field_end()?;
15452    }
15453    i_prot.read_struct_end()?;
15454    verify_required_field_exists("ApplyGetAccountCreationTimeArgs.account", &f_1)?;
15455    let ret = ApplyGetAccountCreationTimeArgs {
15456      account: f_1.expect("auto-generated code should have checked for presence of required fields"),
15457    };
15458    Ok(ret)
15459  }
15460  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15461    let struct_ident = TStructIdentifier::new("get_account_creation_time_args");
15462    o_prot.write_struct_begin(&struct_ident)?;
15463    o_prot.write_field_begin(&TFieldIdentifier::new("account", TType::Struct, 1))?;
15464    self.account.write_to_out_protocol(o_prot)?;
15465    o_prot.write_field_end()?;
15466    o_prot.write_field_stop()?;
15467    o_prot.write_struct_end()
15468  }
15469}
15470
15471//
15472// ApplyGetAccountCreationTimeResult
15473//
15474
15475#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15476struct ApplyGetAccountCreationTimeResult {
15477  result_value: Option<i64>,
15478}
15479
15480impl ApplyGetAccountCreationTimeResult {
15481  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetAccountCreationTimeResult> {
15482    i_prot.read_struct_begin()?;
15483    let mut f_0: Option<i64> = None;
15484    loop {
15485      let field_ident = i_prot.read_field_begin()?;
15486      if field_ident.field_type == TType::Stop {
15487        break;
15488      }
15489      let field_id = field_id(&field_ident)?;
15490      match field_id {
15491        0 => {
15492          let val = i_prot.read_i64()?;
15493          f_0 = Some(val);
15494        },
15495        _ => {
15496          i_prot.skip(field_ident.field_type)?;
15497        },
15498      };
15499      i_prot.read_field_end()?;
15500    }
15501    i_prot.read_struct_end()?;
15502    let ret = ApplyGetAccountCreationTimeResult {
15503      result_value: f_0,
15504    };
15505    Ok(ret)
15506  }
15507  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15508    let struct_ident = TStructIdentifier::new("ApplyGetAccountCreationTimeResult");
15509    o_prot.write_struct_begin(&struct_ident)?;
15510    if let Some(fld_var) = self.result_value {
15511      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I64, 0))?;
15512      o_prot.write_i64(fld_var)?;
15513      o_prot.write_field_end()?
15514    }
15515    o_prot.write_field_stop()?;
15516    o_prot.write_struct_end()
15517  }
15518  fn ok_or(self) -> thrift::Result<i64> {
15519    if self.result_value.is_some() {
15520      Ok(self.result_value.unwrap())
15521    } else {
15522      Err(
15523        thrift::Error::Application(
15524          ApplicationError::new(
15525            ApplicationErrorKind::MissingResult,
15526            "no result received for ApplyGetAccountCreationTime"
15527          )
15528        )
15529      )
15530    }
15531  }
15532}
15533
15534//
15535// ApplyPrintsArgs
15536//
15537
15538#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15539struct ApplyPrintsArgs {
15540  cstr: String,
15541}
15542
15543impl ApplyPrintsArgs {
15544  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintsArgs> {
15545    i_prot.read_struct_begin()?;
15546    let mut f_1: Option<String> = None;
15547    loop {
15548      let field_ident = i_prot.read_field_begin()?;
15549      if field_ident.field_type == TType::Stop {
15550        break;
15551      }
15552      let field_id = field_id(&field_ident)?;
15553      match field_id {
15554        1 => {
15555          let val = i_prot.read_string()?;
15556          f_1 = Some(val);
15557        },
15558        _ => {
15559          i_prot.skip(field_ident.field_type)?;
15560        },
15561      };
15562      i_prot.read_field_end()?;
15563    }
15564    i_prot.read_struct_end()?;
15565    verify_required_field_exists("ApplyPrintsArgs.cstr", &f_1)?;
15566    let ret = ApplyPrintsArgs {
15567      cstr: f_1.expect("auto-generated code should have checked for presence of required fields"),
15568    };
15569    Ok(ret)
15570  }
15571  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15572    let struct_ident = TStructIdentifier::new("prints_args");
15573    o_prot.write_struct_begin(&struct_ident)?;
15574    o_prot.write_field_begin(&TFieldIdentifier::new("cstr", TType::String, 1))?;
15575    o_prot.write_string(&self.cstr)?;
15576    o_prot.write_field_end()?;
15577    o_prot.write_field_stop()?;
15578    o_prot.write_struct_end()
15579  }
15580}
15581
15582//
15583// ApplyPrintsResult
15584//
15585
15586#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15587struct ApplyPrintsResult {
15588}
15589
15590impl ApplyPrintsResult {
15591  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintsResult> {
15592    i_prot.read_struct_begin()?;
15593    loop {
15594      let field_ident = i_prot.read_field_begin()?;
15595      if field_ident.field_type == TType::Stop {
15596        break;
15597      }
15598      let field_id = field_id(&field_ident)?;
15599      match field_id {
15600        _ => {
15601          i_prot.skip(field_ident.field_type)?;
15602        },
15603      };
15604      i_prot.read_field_end()?;
15605    }
15606    i_prot.read_struct_end()?;
15607    let ret = ApplyPrintsResult {};
15608    Ok(ret)
15609  }
15610  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15611    let struct_ident = TStructIdentifier::new("ApplyPrintsResult");
15612    o_prot.write_struct_begin(&struct_ident)?;
15613    o_prot.write_field_stop()?;
15614    o_prot.write_struct_end()
15615  }
15616  fn ok_or(self) -> thrift::Result<()> {
15617    Ok(())
15618  }
15619}
15620
15621//
15622// ApplyPrintsLArgs
15623//
15624
15625#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15626struct ApplyPrintsLArgs {
15627  cstr: Vec<u8>,
15628}
15629
15630impl ApplyPrintsLArgs {
15631  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintsLArgs> {
15632    i_prot.read_struct_begin()?;
15633    let mut f_1: Option<Vec<u8>> = None;
15634    loop {
15635      let field_ident = i_prot.read_field_begin()?;
15636      if field_ident.field_type == TType::Stop {
15637        break;
15638      }
15639      let field_id = field_id(&field_ident)?;
15640      match field_id {
15641        1 => {
15642          let val = i_prot.read_bytes()?;
15643          f_1 = Some(val);
15644        },
15645        _ => {
15646          i_prot.skip(field_ident.field_type)?;
15647        },
15648      };
15649      i_prot.read_field_end()?;
15650    }
15651    i_prot.read_struct_end()?;
15652    verify_required_field_exists("ApplyPrintsLArgs.cstr", &f_1)?;
15653    let ret = ApplyPrintsLArgs {
15654      cstr: f_1.expect("auto-generated code should have checked for presence of required fields"),
15655    };
15656    Ok(ret)
15657  }
15658  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15659    let struct_ident = TStructIdentifier::new("prints_l_args");
15660    o_prot.write_struct_begin(&struct_ident)?;
15661    o_prot.write_field_begin(&TFieldIdentifier::new("cstr", TType::String, 1))?;
15662    o_prot.write_bytes(&self.cstr)?;
15663    o_prot.write_field_end()?;
15664    o_prot.write_field_stop()?;
15665    o_prot.write_struct_end()
15666  }
15667}
15668
15669//
15670// ApplyPrintsLResult
15671//
15672
15673#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15674struct ApplyPrintsLResult {
15675}
15676
15677impl ApplyPrintsLResult {
15678  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintsLResult> {
15679    i_prot.read_struct_begin()?;
15680    loop {
15681      let field_ident = i_prot.read_field_begin()?;
15682      if field_ident.field_type == TType::Stop {
15683        break;
15684      }
15685      let field_id = field_id(&field_ident)?;
15686      match field_id {
15687        _ => {
15688          i_prot.skip(field_ident.field_type)?;
15689        },
15690      };
15691      i_prot.read_field_end()?;
15692    }
15693    i_prot.read_struct_end()?;
15694    let ret = ApplyPrintsLResult {};
15695    Ok(ret)
15696  }
15697  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15698    let struct_ident = TStructIdentifier::new("ApplyPrintsLResult");
15699    o_prot.write_struct_begin(&struct_ident)?;
15700    o_prot.write_field_stop()?;
15701    o_prot.write_struct_end()
15702  }
15703  fn ok_or(self) -> thrift::Result<()> {
15704    Ok(())
15705  }
15706}
15707
15708//
15709// ApplyPrintiArgs
15710//
15711
15712#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15713struct ApplyPrintiArgs {
15714  n: i64,
15715}
15716
15717impl ApplyPrintiArgs {
15718  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintiArgs> {
15719    i_prot.read_struct_begin()?;
15720    let mut f_1: Option<i64> = None;
15721    loop {
15722      let field_ident = i_prot.read_field_begin()?;
15723      if field_ident.field_type == TType::Stop {
15724        break;
15725      }
15726      let field_id = field_id(&field_ident)?;
15727      match field_id {
15728        1 => {
15729          let val = i_prot.read_i64()?;
15730          f_1 = Some(val);
15731        },
15732        _ => {
15733          i_prot.skip(field_ident.field_type)?;
15734        },
15735      };
15736      i_prot.read_field_end()?;
15737    }
15738    i_prot.read_struct_end()?;
15739    verify_required_field_exists("ApplyPrintiArgs.n", &f_1)?;
15740    let ret = ApplyPrintiArgs {
15741      n: f_1.expect("auto-generated code should have checked for presence of required fields"),
15742    };
15743    Ok(ret)
15744  }
15745  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15746    let struct_ident = TStructIdentifier::new("printi_args");
15747    o_prot.write_struct_begin(&struct_ident)?;
15748    o_prot.write_field_begin(&TFieldIdentifier::new("n", TType::I64, 1))?;
15749    o_prot.write_i64(self.n)?;
15750    o_prot.write_field_end()?;
15751    o_prot.write_field_stop()?;
15752    o_prot.write_struct_end()
15753  }
15754}
15755
15756//
15757// ApplyPrintiResult
15758//
15759
15760#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15761struct ApplyPrintiResult {
15762}
15763
15764impl ApplyPrintiResult {
15765  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintiResult> {
15766    i_prot.read_struct_begin()?;
15767    loop {
15768      let field_ident = i_prot.read_field_begin()?;
15769      if field_ident.field_type == TType::Stop {
15770        break;
15771      }
15772      let field_id = field_id(&field_ident)?;
15773      match field_id {
15774        _ => {
15775          i_prot.skip(field_ident.field_type)?;
15776        },
15777      };
15778      i_prot.read_field_end()?;
15779    }
15780    i_prot.read_struct_end()?;
15781    let ret = ApplyPrintiResult {};
15782    Ok(ret)
15783  }
15784  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15785    let struct_ident = TStructIdentifier::new("ApplyPrintiResult");
15786    o_prot.write_struct_begin(&struct_ident)?;
15787    o_prot.write_field_stop()?;
15788    o_prot.write_struct_end()
15789  }
15790  fn ok_or(self) -> thrift::Result<()> {
15791    Ok(())
15792  }
15793}
15794
15795//
15796// ApplyPrintuiArgs
15797//
15798
15799#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15800struct ApplyPrintuiArgs {
15801  n: Uint64,
15802}
15803
15804impl ApplyPrintuiArgs {
15805  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintuiArgs> {
15806    i_prot.read_struct_begin()?;
15807    let mut f_1: Option<Uint64> = None;
15808    loop {
15809      let field_ident = i_prot.read_field_begin()?;
15810      if field_ident.field_type == TType::Stop {
15811        break;
15812      }
15813      let field_id = field_id(&field_ident)?;
15814      match field_id {
15815        1 => {
15816          let val = Uint64::read_from_in_protocol(i_prot)?;
15817          f_1 = Some(val);
15818        },
15819        _ => {
15820          i_prot.skip(field_ident.field_type)?;
15821        },
15822      };
15823      i_prot.read_field_end()?;
15824    }
15825    i_prot.read_struct_end()?;
15826    verify_required_field_exists("ApplyPrintuiArgs.n", &f_1)?;
15827    let ret = ApplyPrintuiArgs {
15828      n: f_1.expect("auto-generated code should have checked for presence of required fields"),
15829    };
15830    Ok(ret)
15831  }
15832  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15833    let struct_ident = TStructIdentifier::new("printui_args");
15834    o_prot.write_struct_begin(&struct_ident)?;
15835    o_prot.write_field_begin(&TFieldIdentifier::new("n", TType::Struct, 1))?;
15836    self.n.write_to_out_protocol(o_prot)?;
15837    o_prot.write_field_end()?;
15838    o_prot.write_field_stop()?;
15839    o_prot.write_struct_end()
15840  }
15841}
15842
15843//
15844// ApplyPrintuiResult
15845//
15846
15847#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15848struct ApplyPrintuiResult {
15849}
15850
15851impl ApplyPrintuiResult {
15852  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintuiResult> {
15853    i_prot.read_struct_begin()?;
15854    loop {
15855      let field_ident = i_prot.read_field_begin()?;
15856      if field_ident.field_type == TType::Stop {
15857        break;
15858      }
15859      let field_id = field_id(&field_ident)?;
15860      match field_id {
15861        _ => {
15862          i_prot.skip(field_ident.field_type)?;
15863        },
15864      };
15865      i_prot.read_field_end()?;
15866    }
15867    i_prot.read_struct_end()?;
15868    let ret = ApplyPrintuiResult {};
15869    Ok(ret)
15870  }
15871  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15872    let struct_ident = TStructIdentifier::new("ApplyPrintuiResult");
15873    o_prot.write_struct_begin(&struct_ident)?;
15874    o_prot.write_field_stop()?;
15875    o_prot.write_struct_end()
15876  }
15877  fn ok_or(self) -> thrift::Result<()> {
15878    Ok(())
15879  }
15880}
15881
15882//
15883// ApplyPrinti128Args
15884//
15885
15886#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15887struct ApplyPrinti128Args {
15888  value: Vec<u8>,
15889}
15890
15891impl ApplyPrinti128Args {
15892  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrinti128Args> {
15893    i_prot.read_struct_begin()?;
15894    let mut f_1: Option<Vec<u8>> = None;
15895    loop {
15896      let field_ident = i_prot.read_field_begin()?;
15897      if field_ident.field_type == TType::Stop {
15898        break;
15899      }
15900      let field_id = field_id(&field_ident)?;
15901      match field_id {
15902        1 => {
15903          let val = i_prot.read_bytes()?;
15904          f_1 = Some(val);
15905        },
15906        _ => {
15907          i_prot.skip(field_ident.field_type)?;
15908        },
15909      };
15910      i_prot.read_field_end()?;
15911    }
15912    i_prot.read_struct_end()?;
15913    verify_required_field_exists("ApplyPrinti128Args.value", &f_1)?;
15914    let ret = ApplyPrinti128Args {
15915      value: f_1.expect("auto-generated code should have checked for presence of required fields"),
15916    };
15917    Ok(ret)
15918  }
15919  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15920    let struct_ident = TStructIdentifier::new("printi128_args");
15921    o_prot.write_struct_begin(&struct_ident)?;
15922    o_prot.write_field_begin(&TFieldIdentifier::new("value", TType::String, 1))?;
15923    o_prot.write_bytes(&self.value)?;
15924    o_prot.write_field_end()?;
15925    o_prot.write_field_stop()?;
15926    o_prot.write_struct_end()
15927  }
15928}
15929
15930//
15931// ApplyPrinti128Result
15932//
15933
15934#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15935struct ApplyPrinti128Result {
15936}
15937
15938impl ApplyPrinti128Result {
15939  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrinti128Result> {
15940    i_prot.read_struct_begin()?;
15941    loop {
15942      let field_ident = i_prot.read_field_begin()?;
15943      if field_ident.field_type == TType::Stop {
15944        break;
15945      }
15946      let field_id = field_id(&field_ident)?;
15947      match field_id {
15948        _ => {
15949          i_prot.skip(field_ident.field_type)?;
15950        },
15951      };
15952      i_prot.read_field_end()?;
15953    }
15954    i_prot.read_struct_end()?;
15955    let ret = ApplyPrinti128Result {};
15956    Ok(ret)
15957  }
15958  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
15959    let struct_ident = TStructIdentifier::new("ApplyPrinti128Result");
15960    o_prot.write_struct_begin(&struct_ident)?;
15961    o_prot.write_field_stop()?;
15962    o_prot.write_struct_end()
15963  }
15964  fn ok_or(self) -> thrift::Result<()> {
15965    Ok(())
15966  }
15967}
15968
15969//
15970// ApplyPrintui128Args
15971//
15972
15973#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
15974struct ApplyPrintui128Args {
15975  value: Vec<u8>,
15976}
15977
15978impl ApplyPrintui128Args {
15979  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintui128Args> {
15980    i_prot.read_struct_begin()?;
15981    let mut f_1: Option<Vec<u8>> = None;
15982    loop {
15983      let field_ident = i_prot.read_field_begin()?;
15984      if field_ident.field_type == TType::Stop {
15985        break;
15986      }
15987      let field_id = field_id(&field_ident)?;
15988      match field_id {
15989        1 => {
15990          let val = i_prot.read_bytes()?;
15991          f_1 = Some(val);
15992        },
15993        _ => {
15994          i_prot.skip(field_ident.field_type)?;
15995        },
15996      };
15997      i_prot.read_field_end()?;
15998    }
15999    i_prot.read_struct_end()?;
16000    verify_required_field_exists("ApplyPrintui128Args.value", &f_1)?;
16001    let ret = ApplyPrintui128Args {
16002      value: f_1.expect("auto-generated code should have checked for presence of required fields"),
16003    };
16004    Ok(ret)
16005  }
16006  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16007    let struct_ident = TStructIdentifier::new("printui128_args");
16008    o_prot.write_struct_begin(&struct_ident)?;
16009    o_prot.write_field_begin(&TFieldIdentifier::new("value", TType::String, 1))?;
16010    o_prot.write_bytes(&self.value)?;
16011    o_prot.write_field_end()?;
16012    o_prot.write_field_stop()?;
16013    o_prot.write_struct_end()
16014  }
16015}
16016
16017//
16018// ApplyPrintui128Result
16019//
16020
16021#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16022struct ApplyPrintui128Result {
16023}
16024
16025impl ApplyPrintui128Result {
16026  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintui128Result> {
16027    i_prot.read_struct_begin()?;
16028    loop {
16029      let field_ident = i_prot.read_field_begin()?;
16030      if field_ident.field_type == TType::Stop {
16031        break;
16032      }
16033      let field_id = field_id(&field_ident)?;
16034      match field_id {
16035        _ => {
16036          i_prot.skip(field_ident.field_type)?;
16037        },
16038      };
16039      i_prot.read_field_end()?;
16040    }
16041    i_prot.read_struct_end()?;
16042    let ret = ApplyPrintui128Result {};
16043    Ok(ret)
16044  }
16045  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16046    let struct_ident = TStructIdentifier::new("ApplyPrintui128Result");
16047    o_prot.write_struct_begin(&struct_ident)?;
16048    o_prot.write_field_stop()?;
16049    o_prot.write_struct_end()
16050  }
16051  fn ok_or(self) -> thrift::Result<()> {
16052    Ok(())
16053  }
16054}
16055
16056//
16057// ApplyPrintsfArgs
16058//
16059
16060#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16061struct ApplyPrintsfArgs {
16062  value: Vec<u8>,
16063}
16064
16065impl ApplyPrintsfArgs {
16066  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintsfArgs> {
16067    i_prot.read_struct_begin()?;
16068    let mut f_1: Option<Vec<u8>> = None;
16069    loop {
16070      let field_ident = i_prot.read_field_begin()?;
16071      if field_ident.field_type == TType::Stop {
16072        break;
16073      }
16074      let field_id = field_id(&field_ident)?;
16075      match field_id {
16076        1 => {
16077          let val = i_prot.read_bytes()?;
16078          f_1 = Some(val);
16079        },
16080        _ => {
16081          i_prot.skip(field_ident.field_type)?;
16082        },
16083      };
16084      i_prot.read_field_end()?;
16085    }
16086    i_prot.read_struct_end()?;
16087    verify_required_field_exists("ApplyPrintsfArgs.value", &f_1)?;
16088    let ret = ApplyPrintsfArgs {
16089      value: f_1.expect("auto-generated code should have checked for presence of required fields"),
16090    };
16091    Ok(ret)
16092  }
16093  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16094    let struct_ident = TStructIdentifier::new("printsf_args");
16095    o_prot.write_struct_begin(&struct_ident)?;
16096    o_prot.write_field_begin(&TFieldIdentifier::new("value", TType::String, 1))?;
16097    o_prot.write_bytes(&self.value)?;
16098    o_prot.write_field_end()?;
16099    o_prot.write_field_stop()?;
16100    o_prot.write_struct_end()
16101  }
16102}
16103
16104//
16105// ApplyPrintsfResult
16106//
16107
16108#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16109struct ApplyPrintsfResult {
16110}
16111
16112impl ApplyPrintsfResult {
16113  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintsfResult> {
16114    i_prot.read_struct_begin()?;
16115    loop {
16116      let field_ident = i_prot.read_field_begin()?;
16117      if field_ident.field_type == TType::Stop {
16118        break;
16119      }
16120      let field_id = field_id(&field_ident)?;
16121      match field_id {
16122        _ => {
16123          i_prot.skip(field_ident.field_type)?;
16124        },
16125      };
16126      i_prot.read_field_end()?;
16127    }
16128    i_prot.read_struct_end()?;
16129    let ret = ApplyPrintsfResult {};
16130    Ok(ret)
16131  }
16132  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16133    let struct_ident = TStructIdentifier::new("ApplyPrintsfResult");
16134    o_prot.write_struct_begin(&struct_ident)?;
16135    o_prot.write_field_stop()?;
16136    o_prot.write_struct_end()
16137  }
16138  fn ok_or(self) -> thrift::Result<()> {
16139    Ok(())
16140  }
16141}
16142
16143//
16144// ApplyPrintdfArgs
16145//
16146
16147#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16148struct ApplyPrintdfArgs {
16149  value: Vec<u8>,
16150}
16151
16152impl ApplyPrintdfArgs {
16153  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintdfArgs> {
16154    i_prot.read_struct_begin()?;
16155    let mut f_1: Option<Vec<u8>> = None;
16156    loop {
16157      let field_ident = i_prot.read_field_begin()?;
16158      if field_ident.field_type == TType::Stop {
16159        break;
16160      }
16161      let field_id = field_id(&field_ident)?;
16162      match field_id {
16163        1 => {
16164          let val = i_prot.read_bytes()?;
16165          f_1 = Some(val);
16166        },
16167        _ => {
16168          i_prot.skip(field_ident.field_type)?;
16169        },
16170      };
16171      i_prot.read_field_end()?;
16172    }
16173    i_prot.read_struct_end()?;
16174    verify_required_field_exists("ApplyPrintdfArgs.value", &f_1)?;
16175    let ret = ApplyPrintdfArgs {
16176      value: f_1.expect("auto-generated code should have checked for presence of required fields"),
16177    };
16178    Ok(ret)
16179  }
16180  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16181    let struct_ident = TStructIdentifier::new("printdf_args");
16182    o_prot.write_struct_begin(&struct_ident)?;
16183    o_prot.write_field_begin(&TFieldIdentifier::new("value", TType::String, 1))?;
16184    o_prot.write_bytes(&self.value)?;
16185    o_prot.write_field_end()?;
16186    o_prot.write_field_stop()?;
16187    o_prot.write_struct_end()
16188  }
16189}
16190
16191//
16192// ApplyPrintdfResult
16193//
16194
16195#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16196struct ApplyPrintdfResult {
16197}
16198
16199impl ApplyPrintdfResult {
16200  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintdfResult> {
16201    i_prot.read_struct_begin()?;
16202    loop {
16203      let field_ident = i_prot.read_field_begin()?;
16204      if field_ident.field_type == TType::Stop {
16205        break;
16206      }
16207      let field_id = field_id(&field_ident)?;
16208      match field_id {
16209        _ => {
16210          i_prot.skip(field_ident.field_type)?;
16211        },
16212      };
16213      i_prot.read_field_end()?;
16214    }
16215    i_prot.read_struct_end()?;
16216    let ret = ApplyPrintdfResult {};
16217    Ok(ret)
16218  }
16219  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16220    let struct_ident = TStructIdentifier::new("ApplyPrintdfResult");
16221    o_prot.write_struct_begin(&struct_ident)?;
16222    o_prot.write_field_stop()?;
16223    o_prot.write_struct_end()
16224  }
16225  fn ok_or(self) -> thrift::Result<()> {
16226    Ok(())
16227  }
16228}
16229
16230//
16231// ApplyPrintqfArgs
16232//
16233
16234#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16235struct ApplyPrintqfArgs {
16236  value: Vec<u8>,
16237}
16238
16239impl ApplyPrintqfArgs {
16240  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintqfArgs> {
16241    i_prot.read_struct_begin()?;
16242    let mut f_1: Option<Vec<u8>> = None;
16243    loop {
16244      let field_ident = i_prot.read_field_begin()?;
16245      if field_ident.field_type == TType::Stop {
16246        break;
16247      }
16248      let field_id = field_id(&field_ident)?;
16249      match field_id {
16250        1 => {
16251          let val = i_prot.read_bytes()?;
16252          f_1 = Some(val);
16253        },
16254        _ => {
16255          i_prot.skip(field_ident.field_type)?;
16256        },
16257      };
16258      i_prot.read_field_end()?;
16259    }
16260    i_prot.read_struct_end()?;
16261    verify_required_field_exists("ApplyPrintqfArgs.value", &f_1)?;
16262    let ret = ApplyPrintqfArgs {
16263      value: f_1.expect("auto-generated code should have checked for presence of required fields"),
16264    };
16265    Ok(ret)
16266  }
16267  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16268    let struct_ident = TStructIdentifier::new("printqf_args");
16269    o_prot.write_struct_begin(&struct_ident)?;
16270    o_prot.write_field_begin(&TFieldIdentifier::new("value", TType::String, 1))?;
16271    o_prot.write_bytes(&self.value)?;
16272    o_prot.write_field_end()?;
16273    o_prot.write_field_stop()?;
16274    o_prot.write_struct_end()
16275  }
16276}
16277
16278//
16279// ApplyPrintqfResult
16280//
16281
16282#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16283struct ApplyPrintqfResult {
16284}
16285
16286impl ApplyPrintqfResult {
16287  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintqfResult> {
16288    i_prot.read_struct_begin()?;
16289    loop {
16290      let field_ident = i_prot.read_field_begin()?;
16291      if field_ident.field_type == TType::Stop {
16292        break;
16293      }
16294      let field_id = field_id(&field_ident)?;
16295      match field_id {
16296        _ => {
16297          i_prot.skip(field_ident.field_type)?;
16298        },
16299      };
16300      i_prot.read_field_end()?;
16301    }
16302    i_prot.read_struct_end()?;
16303    let ret = ApplyPrintqfResult {};
16304    Ok(ret)
16305  }
16306  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16307    let struct_ident = TStructIdentifier::new("ApplyPrintqfResult");
16308    o_prot.write_struct_begin(&struct_ident)?;
16309    o_prot.write_field_stop()?;
16310    o_prot.write_struct_end()
16311  }
16312  fn ok_or(self) -> thrift::Result<()> {
16313    Ok(())
16314  }
16315}
16316
16317//
16318// ApplyPrintnArgs
16319//
16320
16321#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16322struct ApplyPrintnArgs {
16323  name: Uint64,
16324}
16325
16326impl ApplyPrintnArgs {
16327  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintnArgs> {
16328    i_prot.read_struct_begin()?;
16329    let mut f_1: Option<Uint64> = None;
16330    loop {
16331      let field_ident = i_prot.read_field_begin()?;
16332      if field_ident.field_type == TType::Stop {
16333        break;
16334      }
16335      let field_id = field_id(&field_ident)?;
16336      match field_id {
16337        1 => {
16338          let val = Uint64::read_from_in_protocol(i_prot)?;
16339          f_1 = Some(val);
16340        },
16341        _ => {
16342          i_prot.skip(field_ident.field_type)?;
16343        },
16344      };
16345      i_prot.read_field_end()?;
16346    }
16347    i_prot.read_struct_end()?;
16348    verify_required_field_exists("ApplyPrintnArgs.name", &f_1)?;
16349    let ret = ApplyPrintnArgs {
16350      name: f_1.expect("auto-generated code should have checked for presence of required fields"),
16351    };
16352    Ok(ret)
16353  }
16354  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16355    let struct_ident = TStructIdentifier::new("printn_args");
16356    o_prot.write_struct_begin(&struct_ident)?;
16357    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::Struct, 1))?;
16358    self.name.write_to_out_protocol(o_prot)?;
16359    o_prot.write_field_end()?;
16360    o_prot.write_field_stop()?;
16361    o_prot.write_struct_end()
16362  }
16363}
16364
16365//
16366// ApplyPrintnResult
16367//
16368
16369#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16370struct ApplyPrintnResult {
16371}
16372
16373impl ApplyPrintnResult {
16374  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrintnResult> {
16375    i_prot.read_struct_begin()?;
16376    loop {
16377      let field_ident = i_prot.read_field_begin()?;
16378      if field_ident.field_type == TType::Stop {
16379        break;
16380      }
16381      let field_id = field_id(&field_ident)?;
16382      match field_id {
16383        _ => {
16384          i_prot.skip(field_ident.field_type)?;
16385        },
16386      };
16387      i_prot.read_field_end()?;
16388    }
16389    i_prot.read_struct_end()?;
16390    let ret = ApplyPrintnResult {};
16391    Ok(ret)
16392  }
16393  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16394    let struct_ident = TStructIdentifier::new("ApplyPrintnResult");
16395    o_prot.write_struct_begin(&struct_ident)?;
16396    o_prot.write_field_stop()?;
16397    o_prot.write_struct_end()
16398  }
16399  fn ok_or(self) -> thrift::Result<()> {
16400    Ok(())
16401  }
16402}
16403
16404//
16405// ApplyPrinthexArgs
16406//
16407
16408#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16409struct ApplyPrinthexArgs {
16410  data: Vec<u8>,
16411}
16412
16413impl ApplyPrinthexArgs {
16414  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrinthexArgs> {
16415    i_prot.read_struct_begin()?;
16416    let mut f_1: Option<Vec<u8>> = None;
16417    loop {
16418      let field_ident = i_prot.read_field_begin()?;
16419      if field_ident.field_type == TType::Stop {
16420        break;
16421      }
16422      let field_id = field_id(&field_ident)?;
16423      match field_id {
16424        1 => {
16425          let val = i_prot.read_bytes()?;
16426          f_1 = Some(val);
16427        },
16428        _ => {
16429          i_prot.skip(field_ident.field_type)?;
16430        },
16431      };
16432      i_prot.read_field_end()?;
16433    }
16434    i_prot.read_struct_end()?;
16435    verify_required_field_exists("ApplyPrinthexArgs.data", &f_1)?;
16436    let ret = ApplyPrinthexArgs {
16437      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
16438    };
16439    Ok(ret)
16440  }
16441  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16442    let struct_ident = TStructIdentifier::new("printhex_args");
16443    o_prot.write_struct_begin(&struct_ident)?;
16444    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
16445    o_prot.write_bytes(&self.data)?;
16446    o_prot.write_field_end()?;
16447    o_prot.write_field_stop()?;
16448    o_prot.write_struct_end()
16449  }
16450}
16451
16452//
16453// ApplyPrinthexResult
16454//
16455
16456#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16457struct ApplyPrinthexResult {
16458}
16459
16460impl ApplyPrinthexResult {
16461  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPrinthexResult> {
16462    i_prot.read_struct_begin()?;
16463    loop {
16464      let field_ident = i_prot.read_field_begin()?;
16465      if field_ident.field_type == TType::Stop {
16466        break;
16467      }
16468      let field_id = field_id(&field_ident)?;
16469      match field_id {
16470        _ => {
16471          i_prot.skip(field_ident.field_type)?;
16472        },
16473      };
16474      i_prot.read_field_end()?;
16475    }
16476    i_prot.read_struct_end()?;
16477    let ret = ApplyPrinthexResult {};
16478    Ok(ret)
16479  }
16480  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16481    let struct_ident = TStructIdentifier::new("ApplyPrinthexResult");
16482    o_prot.write_struct_begin(&struct_ident)?;
16483    o_prot.write_field_stop()?;
16484    o_prot.write_struct_end()
16485  }
16486  fn ok_or(self) -> thrift::Result<()> {
16487    Ok(())
16488  }
16489}
16490
16491//
16492// ApplyActionDataSizeArgs
16493//
16494
16495#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16496struct ApplyActionDataSizeArgs {
16497}
16498
16499impl ApplyActionDataSizeArgs {
16500  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyActionDataSizeArgs> {
16501    i_prot.read_struct_begin()?;
16502    loop {
16503      let field_ident = i_prot.read_field_begin()?;
16504      if field_ident.field_type == TType::Stop {
16505        break;
16506      }
16507      let field_id = field_id(&field_ident)?;
16508      match field_id {
16509        _ => {
16510          i_prot.skip(field_ident.field_type)?;
16511        },
16512      };
16513      i_prot.read_field_end()?;
16514    }
16515    i_prot.read_struct_end()?;
16516    let ret = ApplyActionDataSizeArgs {};
16517    Ok(ret)
16518  }
16519  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16520    let struct_ident = TStructIdentifier::new("action_data_size_args");
16521    o_prot.write_struct_begin(&struct_ident)?;
16522    o_prot.write_field_stop()?;
16523    o_prot.write_struct_end()
16524  }
16525}
16526
16527//
16528// ApplyActionDataSizeResult
16529//
16530
16531#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16532struct ApplyActionDataSizeResult {
16533  result_value: Option<i32>,
16534}
16535
16536impl ApplyActionDataSizeResult {
16537  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyActionDataSizeResult> {
16538    i_prot.read_struct_begin()?;
16539    let mut f_0: Option<i32> = None;
16540    loop {
16541      let field_ident = i_prot.read_field_begin()?;
16542      if field_ident.field_type == TType::Stop {
16543        break;
16544      }
16545      let field_id = field_id(&field_ident)?;
16546      match field_id {
16547        0 => {
16548          let val = i_prot.read_i32()?;
16549          f_0 = Some(val);
16550        },
16551        _ => {
16552          i_prot.skip(field_ident.field_type)?;
16553        },
16554      };
16555      i_prot.read_field_end()?;
16556    }
16557    i_prot.read_struct_end()?;
16558    let ret = ApplyActionDataSizeResult {
16559      result_value: f_0,
16560    };
16561    Ok(ret)
16562  }
16563  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16564    let struct_ident = TStructIdentifier::new("ApplyActionDataSizeResult");
16565    o_prot.write_struct_begin(&struct_ident)?;
16566    if let Some(fld_var) = self.result_value {
16567      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
16568      o_prot.write_i32(fld_var)?;
16569      o_prot.write_field_end()?
16570    }
16571    o_prot.write_field_stop()?;
16572    o_prot.write_struct_end()
16573  }
16574  fn ok_or(self) -> thrift::Result<i32> {
16575    if self.result_value.is_some() {
16576      Ok(self.result_value.unwrap())
16577    } else {
16578      Err(
16579        thrift::Error::Application(
16580          ApplicationError::new(
16581            ApplicationErrorKind::MissingResult,
16582            "no result received for ApplyActionDataSize"
16583          )
16584        )
16585      )
16586    }
16587  }
16588}
16589
16590//
16591// ApplyReadActionDataArgs
16592//
16593
16594#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16595struct ApplyReadActionDataArgs {
16596}
16597
16598impl ApplyReadActionDataArgs {
16599  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyReadActionDataArgs> {
16600    i_prot.read_struct_begin()?;
16601    loop {
16602      let field_ident = i_prot.read_field_begin()?;
16603      if field_ident.field_type == TType::Stop {
16604        break;
16605      }
16606      let field_id = field_id(&field_ident)?;
16607      match field_id {
16608        _ => {
16609          i_prot.skip(field_ident.field_type)?;
16610        },
16611      };
16612      i_prot.read_field_end()?;
16613    }
16614    i_prot.read_struct_end()?;
16615    let ret = ApplyReadActionDataArgs {};
16616    Ok(ret)
16617  }
16618  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16619    let struct_ident = TStructIdentifier::new("read_action_data_args");
16620    o_prot.write_struct_begin(&struct_ident)?;
16621    o_prot.write_field_stop()?;
16622    o_prot.write_struct_end()
16623  }
16624}
16625
16626//
16627// ApplyReadActionDataResult
16628//
16629
16630#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16631struct ApplyReadActionDataResult {
16632  result_value: Option<Vec<u8>>,
16633}
16634
16635impl ApplyReadActionDataResult {
16636  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyReadActionDataResult> {
16637    i_prot.read_struct_begin()?;
16638    let mut f_0: Option<Vec<u8>> = None;
16639    loop {
16640      let field_ident = i_prot.read_field_begin()?;
16641      if field_ident.field_type == TType::Stop {
16642        break;
16643      }
16644      let field_id = field_id(&field_ident)?;
16645      match field_id {
16646        0 => {
16647          let val = i_prot.read_bytes()?;
16648          f_0 = Some(val);
16649        },
16650        _ => {
16651          i_prot.skip(field_ident.field_type)?;
16652        },
16653      };
16654      i_prot.read_field_end()?;
16655    }
16656    i_prot.read_struct_end()?;
16657    let ret = ApplyReadActionDataResult {
16658      result_value: f_0,
16659    };
16660    Ok(ret)
16661  }
16662  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16663    let struct_ident = TStructIdentifier::new("ApplyReadActionDataResult");
16664    o_prot.write_struct_begin(&struct_ident)?;
16665    if let Some(ref fld_var) = self.result_value {
16666      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
16667      o_prot.write_bytes(fld_var)?;
16668      o_prot.write_field_end()?
16669    }
16670    o_prot.write_field_stop()?;
16671    o_prot.write_struct_end()
16672  }
16673  fn ok_or(self) -> thrift::Result<Vec<u8>> {
16674    if self.result_value.is_some() {
16675      Ok(self.result_value.unwrap())
16676    } else {
16677      Err(
16678        thrift::Error::Application(
16679          ApplicationError::new(
16680            ApplicationErrorKind::MissingResult,
16681            "no result received for ApplyReadActionData"
16682          )
16683        )
16684      )
16685    }
16686  }
16687}
16688
16689//
16690// ApplyRequireRecipientArgs
16691//
16692
16693#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16694struct ApplyRequireRecipientArgs {
16695  name: Uint64,
16696}
16697
16698impl ApplyRequireRecipientArgs {
16699  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequireRecipientArgs> {
16700    i_prot.read_struct_begin()?;
16701    let mut f_1: Option<Uint64> = None;
16702    loop {
16703      let field_ident = i_prot.read_field_begin()?;
16704      if field_ident.field_type == TType::Stop {
16705        break;
16706      }
16707      let field_id = field_id(&field_ident)?;
16708      match field_id {
16709        1 => {
16710          let val = Uint64::read_from_in_protocol(i_prot)?;
16711          f_1 = Some(val);
16712        },
16713        _ => {
16714          i_prot.skip(field_ident.field_type)?;
16715        },
16716      };
16717      i_prot.read_field_end()?;
16718    }
16719    i_prot.read_struct_end()?;
16720    verify_required_field_exists("ApplyRequireRecipientArgs.name", &f_1)?;
16721    let ret = ApplyRequireRecipientArgs {
16722      name: f_1.expect("auto-generated code should have checked for presence of required fields"),
16723    };
16724    Ok(ret)
16725  }
16726  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16727    let struct_ident = TStructIdentifier::new("require_recipient_args");
16728    o_prot.write_struct_begin(&struct_ident)?;
16729    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::Struct, 1))?;
16730    self.name.write_to_out_protocol(o_prot)?;
16731    o_prot.write_field_end()?;
16732    o_prot.write_field_stop()?;
16733    o_prot.write_struct_end()
16734  }
16735}
16736
16737//
16738// ApplyRequireRecipientResult
16739//
16740
16741#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16742struct ApplyRequireRecipientResult {
16743}
16744
16745impl ApplyRequireRecipientResult {
16746  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequireRecipientResult> {
16747    i_prot.read_struct_begin()?;
16748    loop {
16749      let field_ident = i_prot.read_field_begin()?;
16750      if field_ident.field_type == TType::Stop {
16751        break;
16752      }
16753      let field_id = field_id(&field_ident)?;
16754      match field_id {
16755        _ => {
16756          i_prot.skip(field_ident.field_type)?;
16757        },
16758      };
16759      i_prot.read_field_end()?;
16760    }
16761    i_prot.read_struct_end()?;
16762    let ret = ApplyRequireRecipientResult {};
16763    Ok(ret)
16764  }
16765  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16766    let struct_ident = TStructIdentifier::new("ApplyRequireRecipientResult");
16767    o_prot.write_struct_begin(&struct_ident)?;
16768    o_prot.write_field_stop()?;
16769    o_prot.write_struct_end()
16770  }
16771  fn ok_or(self) -> thrift::Result<()> {
16772    Ok(())
16773  }
16774}
16775
16776//
16777// ApplyRequireAuthArgs
16778//
16779
16780#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16781struct ApplyRequireAuthArgs {
16782  name: Uint64,
16783}
16784
16785impl ApplyRequireAuthArgs {
16786  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequireAuthArgs> {
16787    i_prot.read_struct_begin()?;
16788    let mut f_1: Option<Uint64> = None;
16789    loop {
16790      let field_ident = i_prot.read_field_begin()?;
16791      if field_ident.field_type == TType::Stop {
16792        break;
16793      }
16794      let field_id = field_id(&field_ident)?;
16795      match field_id {
16796        1 => {
16797          let val = Uint64::read_from_in_protocol(i_prot)?;
16798          f_1 = Some(val);
16799        },
16800        _ => {
16801          i_prot.skip(field_ident.field_type)?;
16802        },
16803      };
16804      i_prot.read_field_end()?;
16805    }
16806    i_prot.read_struct_end()?;
16807    verify_required_field_exists("ApplyRequireAuthArgs.name", &f_1)?;
16808    let ret = ApplyRequireAuthArgs {
16809      name: f_1.expect("auto-generated code should have checked for presence of required fields"),
16810    };
16811    Ok(ret)
16812  }
16813  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16814    let struct_ident = TStructIdentifier::new("require_auth_args");
16815    o_prot.write_struct_begin(&struct_ident)?;
16816    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::Struct, 1))?;
16817    self.name.write_to_out_protocol(o_prot)?;
16818    o_prot.write_field_end()?;
16819    o_prot.write_field_stop()?;
16820    o_prot.write_struct_end()
16821  }
16822}
16823
16824//
16825// ApplyRequireAuthResult
16826//
16827
16828#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16829struct ApplyRequireAuthResult {
16830}
16831
16832impl ApplyRequireAuthResult {
16833  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequireAuthResult> {
16834    i_prot.read_struct_begin()?;
16835    loop {
16836      let field_ident = i_prot.read_field_begin()?;
16837      if field_ident.field_type == TType::Stop {
16838        break;
16839      }
16840      let field_id = field_id(&field_ident)?;
16841      match field_id {
16842        _ => {
16843          i_prot.skip(field_ident.field_type)?;
16844        },
16845      };
16846      i_prot.read_field_end()?;
16847    }
16848    i_prot.read_struct_end()?;
16849    let ret = ApplyRequireAuthResult {};
16850    Ok(ret)
16851  }
16852  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16853    let struct_ident = TStructIdentifier::new("ApplyRequireAuthResult");
16854    o_prot.write_struct_begin(&struct_ident)?;
16855    o_prot.write_field_stop()?;
16856    o_prot.write_struct_end()
16857  }
16858  fn ok_or(self) -> thrift::Result<()> {
16859    Ok(())
16860  }
16861}
16862
16863//
16864// ApplyHasAuthArgs
16865//
16866
16867#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16868struct ApplyHasAuthArgs {
16869  name: Uint64,
16870}
16871
16872impl ApplyHasAuthArgs {
16873  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyHasAuthArgs> {
16874    i_prot.read_struct_begin()?;
16875    let mut f_1: Option<Uint64> = None;
16876    loop {
16877      let field_ident = i_prot.read_field_begin()?;
16878      if field_ident.field_type == TType::Stop {
16879        break;
16880      }
16881      let field_id = field_id(&field_ident)?;
16882      match field_id {
16883        1 => {
16884          let val = Uint64::read_from_in_protocol(i_prot)?;
16885          f_1 = Some(val);
16886        },
16887        _ => {
16888          i_prot.skip(field_ident.field_type)?;
16889        },
16890      };
16891      i_prot.read_field_end()?;
16892    }
16893    i_prot.read_struct_end()?;
16894    verify_required_field_exists("ApplyHasAuthArgs.name", &f_1)?;
16895    let ret = ApplyHasAuthArgs {
16896      name: f_1.expect("auto-generated code should have checked for presence of required fields"),
16897    };
16898    Ok(ret)
16899  }
16900  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16901    let struct_ident = TStructIdentifier::new("has_auth_args");
16902    o_prot.write_struct_begin(&struct_ident)?;
16903    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::Struct, 1))?;
16904    self.name.write_to_out_protocol(o_prot)?;
16905    o_prot.write_field_end()?;
16906    o_prot.write_field_stop()?;
16907    o_prot.write_struct_end()
16908  }
16909}
16910
16911//
16912// ApplyHasAuthResult
16913//
16914
16915#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16916struct ApplyHasAuthResult {
16917  result_value: Option<bool>,
16918}
16919
16920impl ApplyHasAuthResult {
16921  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyHasAuthResult> {
16922    i_prot.read_struct_begin()?;
16923    let mut f_0: Option<bool> = None;
16924    loop {
16925      let field_ident = i_prot.read_field_begin()?;
16926      if field_ident.field_type == TType::Stop {
16927        break;
16928      }
16929      let field_id = field_id(&field_ident)?;
16930      match field_id {
16931        0 => {
16932          let val = i_prot.read_bool()?;
16933          f_0 = Some(val);
16934        },
16935        _ => {
16936          i_prot.skip(field_ident.field_type)?;
16937        },
16938      };
16939      i_prot.read_field_end()?;
16940    }
16941    i_prot.read_struct_end()?;
16942    let ret = ApplyHasAuthResult {
16943      result_value: f_0,
16944    };
16945    Ok(ret)
16946  }
16947  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
16948    let struct_ident = TStructIdentifier::new("ApplyHasAuthResult");
16949    o_prot.write_struct_begin(&struct_ident)?;
16950    if let Some(fld_var) = self.result_value {
16951      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Bool, 0))?;
16952      o_prot.write_bool(fld_var)?;
16953      o_prot.write_field_end()?
16954    }
16955    o_prot.write_field_stop()?;
16956    o_prot.write_struct_end()
16957  }
16958  fn ok_or(self) -> thrift::Result<bool> {
16959    if self.result_value.is_some() {
16960      Ok(self.result_value.unwrap())
16961    } else {
16962      Err(
16963        thrift::Error::Application(
16964          ApplicationError::new(
16965            ApplicationErrorKind::MissingResult,
16966            "no result received for ApplyHasAuth"
16967          )
16968        )
16969      )
16970    }
16971  }
16972}
16973
16974//
16975// ApplyRequireAuth2Args
16976//
16977
16978#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
16979struct ApplyRequireAuth2Args {
16980  name: Uint64,
16981  permission: Uint64,
16982}
16983
16984impl ApplyRequireAuth2Args {
16985  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequireAuth2Args> {
16986    i_prot.read_struct_begin()?;
16987    let mut f_1: Option<Uint64> = None;
16988    let mut f_2: Option<Uint64> = None;
16989    loop {
16990      let field_ident = i_prot.read_field_begin()?;
16991      if field_ident.field_type == TType::Stop {
16992        break;
16993      }
16994      let field_id = field_id(&field_ident)?;
16995      match field_id {
16996        1 => {
16997          let val = Uint64::read_from_in_protocol(i_prot)?;
16998          f_1 = Some(val);
16999        },
17000        2 => {
17001          let val = Uint64::read_from_in_protocol(i_prot)?;
17002          f_2 = Some(val);
17003        },
17004        _ => {
17005          i_prot.skip(field_ident.field_type)?;
17006        },
17007      };
17008      i_prot.read_field_end()?;
17009    }
17010    i_prot.read_struct_end()?;
17011    verify_required_field_exists("ApplyRequireAuth2Args.name", &f_1)?;
17012    verify_required_field_exists("ApplyRequireAuth2Args.permission", &f_2)?;
17013    let ret = ApplyRequireAuth2Args {
17014      name: f_1.expect("auto-generated code should have checked for presence of required fields"),
17015      permission: f_2.expect("auto-generated code should have checked for presence of required fields"),
17016    };
17017    Ok(ret)
17018  }
17019  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17020    let struct_ident = TStructIdentifier::new("require_auth2_args");
17021    o_prot.write_struct_begin(&struct_ident)?;
17022    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::Struct, 1))?;
17023    self.name.write_to_out_protocol(o_prot)?;
17024    o_prot.write_field_end()?;
17025    o_prot.write_field_begin(&TFieldIdentifier::new("permission", TType::Struct, 2))?;
17026    self.permission.write_to_out_protocol(o_prot)?;
17027    o_prot.write_field_end()?;
17028    o_prot.write_field_stop()?;
17029    o_prot.write_struct_end()
17030  }
17031}
17032
17033//
17034// ApplyRequireAuth2Result
17035//
17036
17037#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17038struct ApplyRequireAuth2Result {
17039}
17040
17041impl ApplyRequireAuth2Result {
17042  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRequireAuth2Result> {
17043    i_prot.read_struct_begin()?;
17044    loop {
17045      let field_ident = i_prot.read_field_begin()?;
17046      if field_ident.field_type == TType::Stop {
17047        break;
17048      }
17049      let field_id = field_id(&field_ident)?;
17050      match field_id {
17051        _ => {
17052          i_prot.skip(field_ident.field_type)?;
17053        },
17054      };
17055      i_prot.read_field_end()?;
17056    }
17057    i_prot.read_struct_end()?;
17058    let ret = ApplyRequireAuth2Result {};
17059    Ok(ret)
17060  }
17061  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17062    let struct_ident = TStructIdentifier::new("ApplyRequireAuth2Result");
17063    o_prot.write_struct_begin(&struct_ident)?;
17064    o_prot.write_field_stop()?;
17065    o_prot.write_struct_end()
17066  }
17067  fn ok_or(self) -> thrift::Result<()> {
17068    Ok(())
17069  }
17070}
17071
17072//
17073// ApplyIsAccountArgs
17074//
17075
17076#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17077struct ApplyIsAccountArgs {
17078  name: Uint64,
17079}
17080
17081impl ApplyIsAccountArgs {
17082  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyIsAccountArgs> {
17083    i_prot.read_struct_begin()?;
17084    let mut f_1: Option<Uint64> = None;
17085    loop {
17086      let field_ident = i_prot.read_field_begin()?;
17087      if field_ident.field_type == TType::Stop {
17088        break;
17089      }
17090      let field_id = field_id(&field_ident)?;
17091      match field_id {
17092        1 => {
17093          let val = Uint64::read_from_in_protocol(i_prot)?;
17094          f_1 = Some(val);
17095        },
17096        _ => {
17097          i_prot.skip(field_ident.field_type)?;
17098        },
17099      };
17100      i_prot.read_field_end()?;
17101    }
17102    i_prot.read_struct_end()?;
17103    verify_required_field_exists("ApplyIsAccountArgs.name", &f_1)?;
17104    let ret = ApplyIsAccountArgs {
17105      name: f_1.expect("auto-generated code should have checked for presence of required fields"),
17106    };
17107    Ok(ret)
17108  }
17109  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17110    let struct_ident = TStructIdentifier::new("is_account_args");
17111    o_prot.write_struct_begin(&struct_ident)?;
17112    o_prot.write_field_begin(&TFieldIdentifier::new("name", TType::Struct, 1))?;
17113    self.name.write_to_out_protocol(o_prot)?;
17114    o_prot.write_field_end()?;
17115    o_prot.write_field_stop()?;
17116    o_prot.write_struct_end()
17117  }
17118}
17119
17120//
17121// ApplyIsAccountResult
17122//
17123
17124#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17125struct ApplyIsAccountResult {
17126  result_value: Option<bool>,
17127}
17128
17129impl ApplyIsAccountResult {
17130  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyIsAccountResult> {
17131    i_prot.read_struct_begin()?;
17132    let mut f_0: Option<bool> = None;
17133    loop {
17134      let field_ident = i_prot.read_field_begin()?;
17135      if field_ident.field_type == TType::Stop {
17136        break;
17137      }
17138      let field_id = field_id(&field_ident)?;
17139      match field_id {
17140        0 => {
17141          let val = i_prot.read_bool()?;
17142          f_0 = Some(val);
17143        },
17144        _ => {
17145          i_prot.skip(field_ident.field_type)?;
17146        },
17147      };
17148      i_prot.read_field_end()?;
17149    }
17150    i_prot.read_struct_end()?;
17151    let ret = ApplyIsAccountResult {
17152      result_value: f_0,
17153    };
17154    Ok(ret)
17155  }
17156  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17157    let struct_ident = TStructIdentifier::new("ApplyIsAccountResult");
17158    o_prot.write_struct_begin(&struct_ident)?;
17159    if let Some(fld_var) = self.result_value {
17160      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Bool, 0))?;
17161      o_prot.write_bool(fld_var)?;
17162      o_prot.write_field_end()?
17163    }
17164    o_prot.write_field_stop()?;
17165    o_prot.write_struct_end()
17166  }
17167  fn ok_or(self) -> thrift::Result<bool> {
17168    if self.result_value.is_some() {
17169      Ok(self.result_value.unwrap())
17170    } else {
17171      Err(
17172        thrift::Error::Application(
17173          ApplicationError::new(
17174            ApplicationErrorKind::MissingResult,
17175            "no result received for ApplyIsAccount"
17176          )
17177        )
17178      )
17179    }
17180  }
17181}
17182
17183//
17184// ApplySendInlineArgs
17185//
17186
17187#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17188struct ApplySendInlineArgs {
17189  serialized_action: Vec<u8>,
17190}
17191
17192impl ApplySendInlineArgs {
17193  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySendInlineArgs> {
17194    i_prot.read_struct_begin()?;
17195    let mut f_1: Option<Vec<u8>> = None;
17196    loop {
17197      let field_ident = i_prot.read_field_begin()?;
17198      if field_ident.field_type == TType::Stop {
17199        break;
17200      }
17201      let field_id = field_id(&field_ident)?;
17202      match field_id {
17203        1 => {
17204          let val = i_prot.read_bytes()?;
17205          f_1 = Some(val);
17206        },
17207        _ => {
17208          i_prot.skip(field_ident.field_type)?;
17209        },
17210      };
17211      i_prot.read_field_end()?;
17212    }
17213    i_prot.read_struct_end()?;
17214    verify_required_field_exists("ApplySendInlineArgs.serialized_action", &f_1)?;
17215    let ret = ApplySendInlineArgs {
17216      serialized_action: f_1.expect("auto-generated code should have checked for presence of required fields"),
17217    };
17218    Ok(ret)
17219  }
17220  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17221    let struct_ident = TStructIdentifier::new("send_inline_args");
17222    o_prot.write_struct_begin(&struct_ident)?;
17223    o_prot.write_field_begin(&TFieldIdentifier::new("serialized_action", TType::String, 1))?;
17224    o_prot.write_bytes(&self.serialized_action)?;
17225    o_prot.write_field_end()?;
17226    o_prot.write_field_stop()?;
17227    o_prot.write_struct_end()
17228  }
17229}
17230
17231//
17232// ApplySendInlineResult
17233//
17234
17235#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17236struct ApplySendInlineResult {
17237}
17238
17239impl ApplySendInlineResult {
17240  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySendInlineResult> {
17241    i_prot.read_struct_begin()?;
17242    loop {
17243      let field_ident = i_prot.read_field_begin()?;
17244      if field_ident.field_type == TType::Stop {
17245        break;
17246      }
17247      let field_id = field_id(&field_ident)?;
17248      match field_id {
17249        _ => {
17250          i_prot.skip(field_ident.field_type)?;
17251        },
17252      };
17253      i_prot.read_field_end()?;
17254    }
17255    i_prot.read_struct_end()?;
17256    let ret = ApplySendInlineResult {};
17257    Ok(ret)
17258  }
17259  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17260    let struct_ident = TStructIdentifier::new("ApplySendInlineResult");
17261    o_prot.write_struct_begin(&struct_ident)?;
17262    o_prot.write_field_stop()?;
17263    o_prot.write_struct_end()
17264  }
17265  fn ok_or(self) -> thrift::Result<()> {
17266    Ok(())
17267  }
17268}
17269
17270//
17271// ApplySendContextFreeInlineArgs
17272//
17273
17274#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17275struct ApplySendContextFreeInlineArgs {
17276  serialized_data: Vec<u8>,
17277}
17278
17279impl ApplySendContextFreeInlineArgs {
17280  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySendContextFreeInlineArgs> {
17281    i_prot.read_struct_begin()?;
17282    let mut f_1: Option<Vec<u8>> = None;
17283    loop {
17284      let field_ident = i_prot.read_field_begin()?;
17285      if field_ident.field_type == TType::Stop {
17286        break;
17287      }
17288      let field_id = field_id(&field_ident)?;
17289      match field_id {
17290        1 => {
17291          let val = i_prot.read_bytes()?;
17292          f_1 = Some(val);
17293        },
17294        _ => {
17295          i_prot.skip(field_ident.field_type)?;
17296        },
17297      };
17298      i_prot.read_field_end()?;
17299    }
17300    i_prot.read_struct_end()?;
17301    verify_required_field_exists("ApplySendContextFreeInlineArgs.serialized_data", &f_1)?;
17302    let ret = ApplySendContextFreeInlineArgs {
17303      serialized_data: f_1.expect("auto-generated code should have checked for presence of required fields"),
17304    };
17305    Ok(ret)
17306  }
17307  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17308    let struct_ident = TStructIdentifier::new("send_context_free_inline_args");
17309    o_prot.write_struct_begin(&struct_ident)?;
17310    o_prot.write_field_begin(&TFieldIdentifier::new("serialized_data", TType::String, 1))?;
17311    o_prot.write_bytes(&self.serialized_data)?;
17312    o_prot.write_field_end()?;
17313    o_prot.write_field_stop()?;
17314    o_prot.write_struct_end()
17315  }
17316}
17317
17318//
17319// ApplySendContextFreeInlineResult
17320//
17321
17322#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17323struct ApplySendContextFreeInlineResult {
17324}
17325
17326impl ApplySendContextFreeInlineResult {
17327  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySendContextFreeInlineResult> {
17328    i_prot.read_struct_begin()?;
17329    loop {
17330      let field_ident = i_prot.read_field_begin()?;
17331      if field_ident.field_type == TType::Stop {
17332        break;
17333      }
17334      let field_id = field_id(&field_ident)?;
17335      match field_id {
17336        _ => {
17337          i_prot.skip(field_ident.field_type)?;
17338        },
17339      };
17340      i_prot.read_field_end()?;
17341    }
17342    i_prot.read_struct_end()?;
17343    let ret = ApplySendContextFreeInlineResult {};
17344    Ok(ret)
17345  }
17346  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17347    let struct_ident = TStructIdentifier::new("ApplySendContextFreeInlineResult");
17348    o_prot.write_struct_begin(&struct_ident)?;
17349    o_prot.write_field_stop()?;
17350    o_prot.write_struct_end()
17351  }
17352  fn ok_or(self) -> thrift::Result<()> {
17353    Ok(())
17354  }
17355}
17356
17357//
17358// ApplyPublicationTimeArgs
17359//
17360
17361#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17362struct ApplyPublicationTimeArgs {
17363}
17364
17365impl ApplyPublicationTimeArgs {
17366  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPublicationTimeArgs> {
17367    i_prot.read_struct_begin()?;
17368    loop {
17369      let field_ident = i_prot.read_field_begin()?;
17370      if field_ident.field_type == TType::Stop {
17371        break;
17372      }
17373      let field_id = field_id(&field_ident)?;
17374      match field_id {
17375        _ => {
17376          i_prot.skip(field_ident.field_type)?;
17377        },
17378      };
17379      i_prot.read_field_end()?;
17380    }
17381    i_prot.read_struct_end()?;
17382    let ret = ApplyPublicationTimeArgs {};
17383    Ok(ret)
17384  }
17385  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17386    let struct_ident = TStructIdentifier::new("publication_time_args");
17387    o_prot.write_struct_begin(&struct_ident)?;
17388    o_prot.write_field_stop()?;
17389    o_prot.write_struct_end()
17390  }
17391}
17392
17393//
17394// ApplyPublicationTimeResult
17395//
17396
17397#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17398struct ApplyPublicationTimeResult {
17399  result_value: Option<Uint64>,
17400}
17401
17402impl ApplyPublicationTimeResult {
17403  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyPublicationTimeResult> {
17404    i_prot.read_struct_begin()?;
17405    let mut f_0: Option<Uint64> = None;
17406    loop {
17407      let field_ident = i_prot.read_field_begin()?;
17408      if field_ident.field_type == TType::Stop {
17409        break;
17410      }
17411      let field_id = field_id(&field_ident)?;
17412      match field_id {
17413        0 => {
17414          let val = Uint64::read_from_in_protocol(i_prot)?;
17415          f_0 = Some(val);
17416        },
17417        _ => {
17418          i_prot.skip(field_ident.field_type)?;
17419        },
17420      };
17421      i_prot.read_field_end()?;
17422    }
17423    i_prot.read_struct_end()?;
17424    let ret = ApplyPublicationTimeResult {
17425      result_value: f_0,
17426    };
17427    Ok(ret)
17428  }
17429  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17430    let struct_ident = TStructIdentifier::new("ApplyPublicationTimeResult");
17431    o_prot.write_struct_begin(&struct_ident)?;
17432    if let Some(ref fld_var) = self.result_value {
17433      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
17434      fld_var.write_to_out_protocol(o_prot)?;
17435      o_prot.write_field_end()?
17436    }
17437    o_prot.write_field_stop()?;
17438    o_prot.write_struct_end()
17439  }
17440  fn ok_or(self) -> thrift::Result<Uint64> {
17441    if self.result_value.is_some() {
17442      Ok(self.result_value.unwrap())
17443    } else {
17444      Err(
17445        thrift::Error::Application(
17446          ApplicationError::new(
17447            ApplicationErrorKind::MissingResult,
17448            "no result received for ApplyPublicationTime"
17449          )
17450        )
17451      )
17452    }
17453  }
17454}
17455
17456//
17457// ApplyCurrentReceiverArgs
17458//
17459
17460#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17461struct ApplyCurrentReceiverArgs {
17462}
17463
17464impl ApplyCurrentReceiverArgs {
17465  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCurrentReceiverArgs> {
17466    i_prot.read_struct_begin()?;
17467    loop {
17468      let field_ident = i_prot.read_field_begin()?;
17469      if field_ident.field_type == TType::Stop {
17470        break;
17471      }
17472      let field_id = field_id(&field_ident)?;
17473      match field_id {
17474        _ => {
17475          i_prot.skip(field_ident.field_type)?;
17476        },
17477      };
17478      i_prot.read_field_end()?;
17479    }
17480    i_prot.read_struct_end()?;
17481    let ret = ApplyCurrentReceiverArgs {};
17482    Ok(ret)
17483  }
17484  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17485    let struct_ident = TStructIdentifier::new("current_receiver_args");
17486    o_prot.write_struct_begin(&struct_ident)?;
17487    o_prot.write_field_stop()?;
17488    o_prot.write_struct_end()
17489  }
17490}
17491
17492//
17493// ApplyCurrentReceiverResult
17494//
17495
17496#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17497struct ApplyCurrentReceiverResult {
17498  result_value: Option<Uint64>,
17499}
17500
17501impl ApplyCurrentReceiverResult {
17502  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCurrentReceiverResult> {
17503    i_prot.read_struct_begin()?;
17504    let mut f_0: Option<Uint64> = None;
17505    loop {
17506      let field_ident = i_prot.read_field_begin()?;
17507      if field_ident.field_type == TType::Stop {
17508        break;
17509      }
17510      let field_id = field_id(&field_ident)?;
17511      match field_id {
17512        0 => {
17513          let val = Uint64::read_from_in_protocol(i_prot)?;
17514          f_0 = Some(val);
17515        },
17516        _ => {
17517          i_prot.skip(field_ident.field_type)?;
17518        },
17519      };
17520      i_prot.read_field_end()?;
17521    }
17522    i_prot.read_struct_end()?;
17523    let ret = ApplyCurrentReceiverResult {
17524      result_value: f_0,
17525    };
17526    Ok(ret)
17527  }
17528  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17529    let struct_ident = TStructIdentifier::new("ApplyCurrentReceiverResult");
17530    o_prot.write_struct_begin(&struct_ident)?;
17531    if let Some(ref fld_var) = self.result_value {
17532      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
17533      fld_var.write_to_out_protocol(o_prot)?;
17534      o_prot.write_field_end()?
17535    }
17536    o_prot.write_field_stop()?;
17537    o_prot.write_struct_end()
17538  }
17539  fn ok_or(self) -> thrift::Result<Uint64> {
17540    if self.result_value.is_some() {
17541      Ok(self.result_value.unwrap())
17542    } else {
17543      Err(
17544        thrift::Error::Application(
17545          ApplicationError::new(
17546            ApplicationErrorKind::MissingResult,
17547            "no result received for ApplyCurrentReceiver"
17548          )
17549        )
17550      )
17551    }
17552  }
17553}
17554
17555//
17556// ApplyEosioAssertArgs
17557//
17558
17559#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17560struct ApplyEosioAssertArgs {
17561  test: bool,
17562  msg: Vec<u8>,
17563}
17564
17565impl ApplyEosioAssertArgs {
17566  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioAssertArgs> {
17567    i_prot.read_struct_begin()?;
17568    let mut f_1: Option<bool> = None;
17569    let mut f_2: Option<Vec<u8>> = None;
17570    loop {
17571      let field_ident = i_prot.read_field_begin()?;
17572      if field_ident.field_type == TType::Stop {
17573        break;
17574      }
17575      let field_id = field_id(&field_ident)?;
17576      match field_id {
17577        1 => {
17578          let val = i_prot.read_bool()?;
17579          f_1 = Some(val);
17580        },
17581        2 => {
17582          let val = i_prot.read_bytes()?;
17583          f_2 = Some(val);
17584        },
17585        _ => {
17586          i_prot.skip(field_ident.field_type)?;
17587        },
17588      };
17589      i_prot.read_field_end()?;
17590    }
17591    i_prot.read_struct_end()?;
17592    verify_required_field_exists("ApplyEosioAssertArgs.test", &f_1)?;
17593    verify_required_field_exists("ApplyEosioAssertArgs.msg", &f_2)?;
17594    let ret = ApplyEosioAssertArgs {
17595      test: f_1.expect("auto-generated code should have checked for presence of required fields"),
17596      msg: f_2.expect("auto-generated code should have checked for presence of required fields"),
17597    };
17598    Ok(ret)
17599  }
17600  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17601    let struct_ident = TStructIdentifier::new("eosio_assert_args");
17602    o_prot.write_struct_begin(&struct_ident)?;
17603    o_prot.write_field_begin(&TFieldIdentifier::new("test", TType::Bool, 1))?;
17604    o_prot.write_bool(self.test)?;
17605    o_prot.write_field_end()?;
17606    o_prot.write_field_begin(&TFieldIdentifier::new("msg", TType::String, 2))?;
17607    o_prot.write_bytes(&self.msg)?;
17608    o_prot.write_field_end()?;
17609    o_prot.write_field_stop()?;
17610    o_prot.write_struct_end()
17611  }
17612}
17613
17614//
17615// ApplyEosioAssertResult
17616//
17617
17618#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17619struct ApplyEosioAssertResult {
17620}
17621
17622impl ApplyEosioAssertResult {
17623  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioAssertResult> {
17624    i_prot.read_struct_begin()?;
17625    loop {
17626      let field_ident = i_prot.read_field_begin()?;
17627      if field_ident.field_type == TType::Stop {
17628        break;
17629      }
17630      let field_id = field_id(&field_ident)?;
17631      match field_id {
17632        _ => {
17633          i_prot.skip(field_ident.field_type)?;
17634        },
17635      };
17636      i_prot.read_field_end()?;
17637    }
17638    i_prot.read_struct_end()?;
17639    let ret = ApplyEosioAssertResult {};
17640    Ok(ret)
17641  }
17642  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17643    let struct_ident = TStructIdentifier::new("ApplyEosioAssertResult");
17644    o_prot.write_struct_begin(&struct_ident)?;
17645    o_prot.write_field_stop()?;
17646    o_prot.write_struct_end()
17647  }
17648  fn ok_or(self) -> thrift::Result<()> {
17649    Ok(())
17650  }
17651}
17652
17653//
17654// ApplyEosioAssertMessageArgs
17655//
17656
17657#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17658struct ApplyEosioAssertMessageArgs {
17659  test: bool,
17660  msg: Vec<u8>,
17661}
17662
17663impl ApplyEosioAssertMessageArgs {
17664  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioAssertMessageArgs> {
17665    i_prot.read_struct_begin()?;
17666    let mut f_1: Option<bool> = None;
17667    let mut f_2: Option<Vec<u8>> = None;
17668    loop {
17669      let field_ident = i_prot.read_field_begin()?;
17670      if field_ident.field_type == TType::Stop {
17671        break;
17672      }
17673      let field_id = field_id(&field_ident)?;
17674      match field_id {
17675        1 => {
17676          let val = i_prot.read_bool()?;
17677          f_1 = Some(val);
17678        },
17679        2 => {
17680          let val = i_prot.read_bytes()?;
17681          f_2 = Some(val);
17682        },
17683        _ => {
17684          i_prot.skip(field_ident.field_type)?;
17685        },
17686      };
17687      i_prot.read_field_end()?;
17688    }
17689    i_prot.read_struct_end()?;
17690    verify_required_field_exists("ApplyEosioAssertMessageArgs.test", &f_1)?;
17691    verify_required_field_exists("ApplyEosioAssertMessageArgs.msg", &f_2)?;
17692    let ret = ApplyEosioAssertMessageArgs {
17693      test: f_1.expect("auto-generated code should have checked for presence of required fields"),
17694      msg: f_2.expect("auto-generated code should have checked for presence of required fields"),
17695    };
17696    Ok(ret)
17697  }
17698  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17699    let struct_ident = TStructIdentifier::new("eosio_assert_message_args");
17700    o_prot.write_struct_begin(&struct_ident)?;
17701    o_prot.write_field_begin(&TFieldIdentifier::new("test", TType::Bool, 1))?;
17702    o_prot.write_bool(self.test)?;
17703    o_prot.write_field_end()?;
17704    o_prot.write_field_begin(&TFieldIdentifier::new("msg", TType::String, 2))?;
17705    o_prot.write_bytes(&self.msg)?;
17706    o_prot.write_field_end()?;
17707    o_prot.write_field_stop()?;
17708    o_prot.write_struct_end()
17709  }
17710}
17711
17712//
17713// ApplyEosioAssertMessageResult
17714//
17715
17716#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17717struct ApplyEosioAssertMessageResult {
17718}
17719
17720impl ApplyEosioAssertMessageResult {
17721  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioAssertMessageResult> {
17722    i_prot.read_struct_begin()?;
17723    loop {
17724      let field_ident = i_prot.read_field_begin()?;
17725      if field_ident.field_type == TType::Stop {
17726        break;
17727      }
17728      let field_id = field_id(&field_ident)?;
17729      match field_id {
17730        _ => {
17731          i_prot.skip(field_ident.field_type)?;
17732        },
17733      };
17734      i_prot.read_field_end()?;
17735    }
17736    i_prot.read_struct_end()?;
17737    let ret = ApplyEosioAssertMessageResult {};
17738    Ok(ret)
17739  }
17740  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17741    let struct_ident = TStructIdentifier::new("ApplyEosioAssertMessageResult");
17742    o_prot.write_struct_begin(&struct_ident)?;
17743    o_prot.write_field_stop()?;
17744    o_prot.write_struct_end()
17745  }
17746  fn ok_or(self) -> thrift::Result<()> {
17747    Ok(())
17748  }
17749}
17750
17751//
17752// ApplyEosioAssertCodeArgs
17753//
17754
17755#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17756struct ApplyEosioAssertCodeArgs {
17757  test: bool,
17758  code: Uint64,
17759}
17760
17761impl ApplyEosioAssertCodeArgs {
17762  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioAssertCodeArgs> {
17763    i_prot.read_struct_begin()?;
17764    let mut f_1: Option<bool> = None;
17765    let mut f_2: Option<Uint64> = None;
17766    loop {
17767      let field_ident = i_prot.read_field_begin()?;
17768      if field_ident.field_type == TType::Stop {
17769        break;
17770      }
17771      let field_id = field_id(&field_ident)?;
17772      match field_id {
17773        1 => {
17774          let val = i_prot.read_bool()?;
17775          f_1 = Some(val);
17776        },
17777        2 => {
17778          let val = Uint64::read_from_in_protocol(i_prot)?;
17779          f_2 = Some(val);
17780        },
17781        _ => {
17782          i_prot.skip(field_ident.field_type)?;
17783        },
17784      };
17785      i_prot.read_field_end()?;
17786    }
17787    i_prot.read_struct_end()?;
17788    verify_required_field_exists("ApplyEosioAssertCodeArgs.test", &f_1)?;
17789    verify_required_field_exists("ApplyEosioAssertCodeArgs.code", &f_2)?;
17790    let ret = ApplyEosioAssertCodeArgs {
17791      test: f_1.expect("auto-generated code should have checked for presence of required fields"),
17792      code: f_2.expect("auto-generated code should have checked for presence of required fields"),
17793    };
17794    Ok(ret)
17795  }
17796  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17797    let struct_ident = TStructIdentifier::new("eosio_assert_code_args");
17798    o_prot.write_struct_begin(&struct_ident)?;
17799    o_prot.write_field_begin(&TFieldIdentifier::new("test", TType::Bool, 1))?;
17800    o_prot.write_bool(self.test)?;
17801    o_prot.write_field_end()?;
17802    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 2))?;
17803    self.code.write_to_out_protocol(o_prot)?;
17804    o_prot.write_field_end()?;
17805    o_prot.write_field_stop()?;
17806    o_prot.write_struct_end()
17807  }
17808}
17809
17810//
17811// ApplyEosioAssertCodeResult
17812//
17813
17814#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17815struct ApplyEosioAssertCodeResult {
17816}
17817
17818impl ApplyEosioAssertCodeResult {
17819  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioAssertCodeResult> {
17820    i_prot.read_struct_begin()?;
17821    loop {
17822      let field_ident = i_prot.read_field_begin()?;
17823      if field_ident.field_type == TType::Stop {
17824        break;
17825      }
17826      let field_id = field_id(&field_ident)?;
17827      match field_id {
17828        _ => {
17829          i_prot.skip(field_ident.field_type)?;
17830        },
17831      };
17832      i_prot.read_field_end()?;
17833    }
17834    i_prot.read_struct_end()?;
17835    let ret = ApplyEosioAssertCodeResult {};
17836    Ok(ret)
17837  }
17838  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17839    let struct_ident = TStructIdentifier::new("ApplyEosioAssertCodeResult");
17840    o_prot.write_struct_begin(&struct_ident)?;
17841    o_prot.write_field_stop()?;
17842    o_prot.write_struct_end()
17843  }
17844  fn ok_or(self) -> thrift::Result<()> {
17845    Ok(())
17846  }
17847}
17848
17849//
17850// ApplyEosioExitArgs
17851//
17852
17853#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17854struct ApplyEosioExitArgs {
17855  code: i32,
17856}
17857
17858impl ApplyEosioExitArgs {
17859  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioExitArgs> {
17860    i_prot.read_struct_begin()?;
17861    let mut f_1: Option<i32> = None;
17862    loop {
17863      let field_ident = i_prot.read_field_begin()?;
17864      if field_ident.field_type == TType::Stop {
17865        break;
17866      }
17867      let field_id = field_id(&field_ident)?;
17868      match field_id {
17869        1 => {
17870          let val = i_prot.read_i32()?;
17871          f_1 = Some(val);
17872        },
17873        _ => {
17874          i_prot.skip(field_ident.field_type)?;
17875        },
17876      };
17877      i_prot.read_field_end()?;
17878    }
17879    i_prot.read_struct_end()?;
17880    verify_required_field_exists("ApplyEosioExitArgs.code", &f_1)?;
17881    let ret = ApplyEosioExitArgs {
17882      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
17883    };
17884    Ok(ret)
17885  }
17886  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17887    let struct_ident = TStructIdentifier::new("eosio_exit_args");
17888    o_prot.write_struct_begin(&struct_ident)?;
17889    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::I32, 1))?;
17890    o_prot.write_i32(self.code)?;
17891    o_prot.write_field_end()?;
17892    o_prot.write_field_stop()?;
17893    o_prot.write_struct_end()
17894  }
17895}
17896
17897//
17898// ApplyEosioExitResult
17899//
17900
17901#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17902struct ApplyEosioExitResult {
17903}
17904
17905impl ApplyEosioExitResult {
17906  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyEosioExitResult> {
17907    i_prot.read_struct_begin()?;
17908    loop {
17909      let field_ident = i_prot.read_field_begin()?;
17910      if field_ident.field_type == TType::Stop {
17911        break;
17912      }
17913      let field_id = field_id(&field_ident)?;
17914      match field_id {
17915        _ => {
17916          i_prot.skip(field_ident.field_type)?;
17917        },
17918      };
17919      i_prot.read_field_end()?;
17920    }
17921    i_prot.read_struct_end()?;
17922    let ret = ApplyEosioExitResult {};
17923    Ok(ret)
17924  }
17925  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17926    let struct_ident = TStructIdentifier::new("ApplyEosioExitResult");
17927    o_prot.write_struct_begin(&struct_ident)?;
17928    o_prot.write_field_stop()?;
17929    o_prot.write_struct_end()
17930  }
17931  fn ok_or(self) -> thrift::Result<()> {
17932    Ok(())
17933  }
17934}
17935
17936//
17937// ApplyCurrentTimeArgs
17938//
17939
17940#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17941struct ApplyCurrentTimeArgs {
17942}
17943
17944impl ApplyCurrentTimeArgs {
17945  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCurrentTimeArgs> {
17946    i_prot.read_struct_begin()?;
17947    loop {
17948      let field_ident = i_prot.read_field_begin()?;
17949      if field_ident.field_type == TType::Stop {
17950        break;
17951      }
17952      let field_id = field_id(&field_ident)?;
17953      match field_id {
17954        _ => {
17955          i_prot.skip(field_ident.field_type)?;
17956        },
17957      };
17958      i_prot.read_field_end()?;
17959    }
17960    i_prot.read_struct_end()?;
17961    let ret = ApplyCurrentTimeArgs {};
17962    Ok(ret)
17963  }
17964  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
17965    let struct_ident = TStructIdentifier::new("current_time_args");
17966    o_prot.write_struct_begin(&struct_ident)?;
17967    o_prot.write_field_stop()?;
17968    o_prot.write_struct_end()
17969  }
17970}
17971
17972//
17973// ApplyCurrentTimeResult
17974//
17975
17976#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
17977struct ApplyCurrentTimeResult {
17978  result_value: Option<Uint64>,
17979}
17980
17981impl ApplyCurrentTimeResult {
17982  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCurrentTimeResult> {
17983    i_prot.read_struct_begin()?;
17984    let mut f_0: Option<Uint64> = None;
17985    loop {
17986      let field_ident = i_prot.read_field_begin()?;
17987      if field_ident.field_type == TType::Stop {
17988        break;
17989      }
17990      let field_id = field_id(&field_ident)?;
17991      match field_id {
17992        0 => {
17993          let val = Uint64::read_from_in_protocol(i_prot)?;
17994          f_0 = Some(val);
17995        },
17996        _ => {
17997          i_prot.skip(field_ident.field_type)?;
17998        },
17999      };
18000      i_prot.read_field_end()?;
18001    }
18002    i_prot.read_struct_end()?;
18003    let ret = ApplyCurrentTimeResult {
18004      result_value: f_0,
18005    };
18006    Ok(ret)
18007  }
18008  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18009    let struct_ident = TStructIdentifier::new("ApplyCurrentTimeResult");
18010    o_prot.write_struct_begin(&struct_ident)?;
18011    if let Some(ref fld_var) = self.result_value {
18012      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
18013      fld_var.write_to_out_protocol(o_prot)?;
18014      o_prot.write_field_end()?
18015    }
18016    o_prot.write_field_stop()?;
18017    o_prot.write_struct_end()
18018  }
18019  fn ok_or(self) -> thrift::Result<Uint64> {
18020    if self.result_value.is_some() {
18021      Ok(self.result_value.unwrap())
18022    } else {
18023      Err(
18024        thrift::Error::Application(
18025          ApplicationError::new(
18026            ApplicationErrorKind::MissingResult,
18027            "no result received for ApplyCurrentTime"
18028          )
18029        )
18030      )
18031    }
18032  }
18033}
18034
18035//
18036// ApplyIsFeatureActivatedArgs
18037//
18038
18039#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18040struct ApplyIsFeatureActivatedArgs {
18041  feature_digest: Vec<u8>,
18042}
18043
18044impl ApplyIsFeatureActivatedArgs {
18045  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyIsFeatureActivatedArgs> {
18046    i_prot.read_struct_begin()?;
18047    let mut f_1: Option<Vec<u8>> = None;
18048    loop {
18049      let field_ident = i_prot.read_field_begin()?;
18050      if field_ident.field_type == TType::Stop {
18051        break;
18052      }
18053      let field_id = field_id(&field_ident)?;
18054      match field_id {
18055        1 => {
18056          let val = i_prot.read_bytes()?;
18057          f_1 = Some(val);
18058        },
18059        _ => {
18060          i_prot.skip(field_ident.field_type)?;
18061        },
18062      };
18063      i_prot.read_field_end()?;
18064    }
18065    i_prot.read_struct_end()?;
18066    verify_required_field_exists("ApplyIsFeatureActivatedArgs.feature_digest", &f_1)?;
18067    let ret = ApplyIsFeatureActivatedArgs {
18068      feature_digest: f_1.expect("auto-generated code should have checked for presence of required fields"),
18069    };
18070    Ok(ret)
18071  }
18072  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18073    let struct_ident = TStructIdentifier::new("is_feature_activated_args");
18074    o_prot.write_struct_begin(&struct_ident)?;
18075    o_prot.write_field_begin(&TFieldIdentifier::new("feature_digest", TType::String, 1))?;
18076    o_prot.write_bytes(&self.feature_digest)?;
18077    o_prot.write_field_end()?;
18078    o_prot.write_field_stop()?;
18079    o_prot.write_struct_end()
18080  }
18081}
18082
18083//
18084// ApplyIsFeatureActivatedResult
18085//
18086
18087#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18088struct ApplyIsFeatureActivatedResult {
18089  result_value: Option<bool>,
18090}
18091
18092impl ApplyIsFeatureActivatedResult {
18093  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyIsFeatureActivatedResult> {
18094    i_prot.read_struct_begin()?;
18095    let mut f_0: Option<bool> = None;
18096    loop {
18097      let field_ident = i_prot.read_field_begin()?;
18098      if field_ident.field_type == TType::Stop {
18099        break;
18100      }
18101      let field_id = field_id(&field_ident)?;
18102      match field_id {
18103        0 => {
18104          let val = i_prot.read_bool()?;
18105          f_0 = Some(val);
18106        },
18107        _ => {
18108          i_prot.skip(field_ident.field_type)?;
18109        },
18110      };
18111      i_prot.read_field_end()?;
18112    }
18113    i_prot.read_struct_end()?;
18114    let ret = ApplyIsFeatureActivatedResult {
18115      result_value: f_0,
18116    };
18117    Ok(ret)
18118  }
18119  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18120    let struct_ident = TStructIdentifier::new("ApplyIsFeatureActivatedResult");
18121    o_prot.write_struct_begin(&struct_ident)?;
18122    if let Some(fld_var) = self.result_value {
18123      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Bool, 0))?;
18124      o_prot.write_bool(fld_var)?;
18125      o_prot.write_field_end()?
18126    }
18127    o_prot.write_field_stop()?;
18128    o_prot.write_struct_end()
18129  }
18130  fn ok_or(self) -> thrift::Result<bool> {
18131    if self.result_value.is_some() {
18132      Ok(self.result_value.unwrap())
18133    } else {
18134      Err(
18135        thrift::Error::Application(
18136          ApplicationError::new(
18137            ApplicationErrorKind::MissingResult,
18138            "no result received for ApplyIsFeatureActivated"
18139          )
18140        )
18141      )
18142    }
18143  }
18144}
18145
18146//
18147// ApplyGetSenderArgs
18148//
18149
18150#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18151struct ApplyGetSenderArgs {
18152}
18153
18154impl ApplyGetSenderArgs {
18155  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetSenderArgs> {
18156    i_prot.read_struct_begin()?;
18157    loop {
18158      let field_ident = i_prot.read_field_begin()?;
18159      if field_ident.field_type == TType::Stop {
18160        break;
18161      }
18162      let field_id = field_id(&field_ident)?;
18163      match field_id {
18164        _ => {
18165          i_prot.skip(field_ident.field_type)?;
18166        },
18167      };
18168      i_prot.read_field_end()?;
18169    }
18170    i_prot.read_struct_end()?;
18171    let ret = ApplyGetSenderArgs {};
18172    Ok(ret)
18173  }
18174  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18175    let struct_ident = TStructIdentifier::new("get_sender_args");
18176    o_prot.write_struct_begin(&struct_ident)?;
18177    o_prot.write_field_stop()?;
18178    o_prot.write_struct_end()
18179  }
18180}
18181
18182//
18183// ApplyGetSenderResult
18184//
18185
18186#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18187struct ApplyGetSenderResult {
18188  result_value: Option<Uint64>,
18189}
18190
18191impl ApplyGetSenderResult {
18192  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetSenderResult> {
18193    i_prot.read_struct_begin()?;
18194    let mut f_0: Option<Uint64> = None;
18195    loop {
18196      let field_ident = i_prot.read_field_begin()?;
18197      if field_ident.field_type == TType::Stop {
18198        break;
18199      }
18200      let field_id = field_id(&field_ident)?;
18201      match field_id {
18202        0 => {
18203          let val = Uint64::read_from_in_protocol(i_prot)?;
18204          f_0 = Some(val);
18205        },
18206        _ => {
18207          i_prot.skip(field_ident.field_type)?;
18208        },
18209      };
18210      i_prot.read_field_end()?;
18211    }
18212    i_prot.read_struct_end()?;
18213    let ret = ApplyGetSenderResult {
18214      result_value: f_0,
18215    };
18216    Ok(ret)
18217  }
18218  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18219    let struct_ident = TStructIdentifier::new("ApplyGetSenderResult");
18220    o_prot.write_struct_begin(&struct_ident)?;
18221    if let Some(ref fld_var) = self.result_value {
18222      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
18223      fld_var.write_to_out_protocol(o_prot)?;
18224      o_prot.write_field_end()?
18225    }
18226    o_prot.write_field_stop()?;
18227    o_prot.write_struct_end()
18228  }
18229  fn ok_or(self) -> thrift::Result<Uint64> {
18230    if self.result_value.is_some() {
18231      Ok(self.result_value.unwrap())
18232    } else {
18233      Err(
18234        thrift::Error::Application(
18235          ApplicationError::new(
18236            ApplicationErrorKind::MissingResult,
18237            "no result received for ApplyGetSender"
18238          )
18239        )
18240      )
18241    }
18242  }
18243}
18244
18245//
18246// ApplyAssertSha256Args
18247//
18248
18249#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18250struct ApplyAssertSha256Args {
18251  data: Vec<u8>,
18252  hash: Vec<u8>,
18253}
18254
18255impl ApplyAssertSha256Args {
18256  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertSha256Args> {
18257    i_prot.read_struct_begin()?;
18258    let mut f_1: Option<Vec<u8>> = None;
18259    let mut f_2: Option<Vec<u8>> = None;
18260    loop {
18261      let field_ident = i_prot.read_field_begin()?;
18262      if field_ident.field_type == TType::Stop {
18263        break;
18264      }
18265      let field_id = field_id(&field_ident)?;
18266      match field_id {
18267        1 => {
18268          let val = i_prot.read_bytes()?;
18269          f_1 = Some(val);
18270        },
18271        2 => {
18272          let val = i_prot.read_bytes()?;
18273          f_2 = Some(val);
18274        },
18275        _ => {
18276          i_prot.skip(field_ident.field_type)?;
18277        },
18278      };
18279      i_prot.read_field_end()?;
18280    }
18281    i_prot.read_struct_end()?;
18282    verify_required_field_exists("ApplyAssertSha256Args.data", &f_1)?;
18283    verify_required_field_exists("ApplyAssertSha256Args.hash", &f_2)?;
18284    let ret = ApplyAssertSha256Args {
18285      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18286      hash: f_2.expect("auto-generated code should have checked for presence of required fields"),
18287    };
18288    Ok(ret)
18289  }
18290  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18291    let struct_ident = TStructIdentifier::new("assert_sha256_args");
18292    o_prot.write_struct_begin(&struct_ident)?;
18293    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18294    o_prot.write_bytes(&self.data)?;
18295    o_prot.write_field_end()?;
18296    o_prot.write_field_begin(&TFieldIdentifier::new("hash", TType::String, 2))?;
18297    o_prot.write_bytes(&self.hash)?;
18298    o_prot.write_field_end()?;
18299    o_prot.write_field_stop()?;
18300    o_prot.write_struct_end()
18301  }
18302}
18303
18304//
18305// ApplyAssertSha256Result
18306//
18307
18308#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18309struct ApplyAssertSha256Result {
18310}
18311
18312impl ApplyAssertSha256Result {
18313  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertSha256Result> {
18314    i_prot.read_struct_begin()?;
18315    loop {
18316      let field_ident = i_prot.read_field_begin()?;
18317      if field_ident.field_type == TType::Stop {
18318        break;
18319      }
18320      let field_id = field_id(&field_ident)?;
18321      match field_id {
18322        _ => {
18323          i_prot.skip(field_ident.field_type)?;
18324        },
18325      };
18326      i_prot.read_field_end()?;
18327    }
18328    i_prot.read_struct_end()?;
18329    let ret = ApplyAssertSha256Result {};
18330    Ok(ret)
18331  }
18332  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18333    let struct_ident = TStructIdentifier::new("ApplyAssertSha256Result");
18334    o_prot.write_struct_begin(&struct_ident)?;
18335    o_prot.write_field_stop()?;
18336    o_prot.write_struct_end()
18337  }
18338  fn ok_or(self) -> thrift::Result<()> {
18339    Ok(())
18340  }
18341}
18342
18343//
18344// ApplyAssertSha1Args
18345//
18346
18347#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18348struct ApplyAssertSha1Args {
18349  data: Vec<u8>,
18350  hash: Vec<u8>,
18351}
18352
18353impl ApplyAssertSha1Args {
18354  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertSha1Args> {
18355    i_prot.read_struct_begin()?;
18356    let mut f_1: Option<Vec<u8>> = None;
18357    let mut f_2: Option<Vec<u8>> = None;
18358    loop {
18359      let field_ident = i_prot.read_field_begin()?;
18360      if field_ident.field_type == TType::Stop {
18361        break;
18362      }
18363      let field_id = field_id(&field_ident)?;
18364      match field_id {
18365        1 => {
18366          let val = i_prot.read_bytes()?;
18367          f_1 = Some(val);
18368        },
18369        2 => {
18370          let val = i_prot.read_bytes()?;
18371          f_2 = Some(val);
18372        },
18373        _ => {
18374          i_prot.skip(field_ident.field_type)?;
18375        },
18376      };
18377      i_prot.read_field_end()?;
18378    }
18379    i_prot.read_struct_end()?;
18380    verify_required_field_exists("ApplyAssertSha1Args.data", &f_1)?;
18381    verify_required_field_exists("ApplyAssertSha1Args.hash", &f_2)?;
18382    let ret = ApplyAssertSha1Args {
18383      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18384      hash: f_2.expect("auto-generated code should have checked for presence of required fields"),
18385    };
18386    Ok(ret)
18387  }
18388  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18389    let struct_ident = TStructIdentifier::new("assert_sha1_args");
18390    o_prot.write_struct_begin(&struct_ident)?;
18391    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18392    o_prot.write_bytes(&self.data)?;
18393    o_prot.write_field_end()?;
18394    o_prot.write_field_begin(&TFieldIdentifier::new("hash", TType::String, 2))?;
18395    o_prot.write_bytes(&self.hash)?;
18396    o_prot.write_field_end()?;
18397    o_prot.write_field_stop()?;
18398    o_prot.write_struct_end()
18399  }
18400}
18401
18402//
18403// ApplyAssertSha1Result
18404//
18405
18406#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18407struct ApplyAssertSha1Result {
18408}
18409
18410impl ApplyAssertSha1Result {
18411  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertSha1Result> {
18412    i_prot.read_struct_begin()?;
18413    loop {
18414      let field_ident = i_prot.read_field_begin()?;
18415      if field_ident.field_type == TType::Stop {
18416        break;
18417      }
18418      let field_id = field_id(&field_ident)?;
18419      match field_id {
18420        _ => {
18421          i_prot.skip(field_ident.field_type)?;
18422        },
18423      };
18424      i_prot.read_field_end()?;
18425    }
18426    i_prot.read_struct_end()?;
18427    let ret = ApplyAssertSha1Result {};
18428    Ok(ret)
18429  }
18430  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18431    let struct_ident = TStructIdentifier::new("ApplyAssertSha1Result");
18432    o_prot.write_struct_begin(&struct_ident)?;
18433    o_prot.write_field_stop()?;
18434    o_prot.write_struct_end()
18435  }
18436  fn ok_or(self) -> thrift::Result<()> {
18437    Ok(())
18438  }
18439}
18440
18441//
18442// ApplyAssertSha512Args
18443//
18444
18445#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18446struct ApplyAssertSha512Args {
18447  data: Vec<u8>,
18448  hash: Vec<u8>,
18449}
18450
18451impl ApplyAssertSha512Args {
18452  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertSha512Args> {
18453    i_prot.read_struct_begin()?;
18454    let mut f_1: Option<Vec<u8>> = None;
18455    let mut f_2: Option<Vec<u8>> = None;
18456    loop {
18457      let field_ident = i_prot.read_field_begin()?;
18458      if field_ident.field_type == TType::Stop {
18459        break;
18460      }
18461      let field_id = field_id(&field_ident)?;
18462      match field_id {
18463        1 => {
18464          let val = i_prot.read_bytes()?;
18465          f_1 = Some(val);
18466        },
18467        2 => {
18468          let val = i_prot.read_bytes()?;
18469          f_2 = Some(val);
18470        },
18471        _ => {
18472          i_prot.skip(field_ident.field_type)?;
18473        },
18474      };
18475      i_prot.read_field_end()?;
18476    }
18477    i_prot.read_struct_end()?;
18478    verify_required_field_exists("ApplyAssertSha512Args.data", &f_1)?;
18479    verify_required_field_exists("ApplyAssertSha512Args.hash", &f_2)?;
18480    let ret = ApplyAssertSha512Args {
18481      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18482      hash: f_2.expect("auto-generated code should have checked for presence of required fields"),
18483    };
18484    Ok(ret)
18485  }
18486  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18487    let struct_ident = TStructIdentifier::new("assert_sha512_args");
18488    o_prot.write_struct_begin(&struct_ident)?;
18489    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18490    o_prot.write_bytes(&self.data)?;
18491    o_prot.write_field_end()?;
18492    o_prot.write_field_begin(&TFieldIdentifier::new("hash", TType::String, 2))?;
18493    o_prot.write_bytes(&self.hash)?;
18494    o_prot.write_field_end()?;
18495    o_prot.write_field_stop()?;
18496    o_prot.write_struct_end()
18497  }
18498}
18499
18500//
18501// ApplyAssertSha512Result
18502//
18503
18504#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18505struct ApplyAssertSha512Result {
18506}
18507
18508impl ApplyAssertSha512Result {
18509  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertSha512Result> {
18510    i_prot.read_struct_begin()?;
18511    loop {
18512      let field_ident = i_prot.read_field_begin()?;
18513      if field_ident.field_type == TType::Stop {
18514        break;
18515      }
18516      let field_id = field_id(&field_ident)?;
18517      match field_id {
18518        _ => {
18519          i_prot.skip(field_ident.field_type)?;
18520        },
18521      };
18522      i_prot.read_field_end()?;
18523    }
18524    i_prot.read_struct_end()?;
18525    let ret = ApplyAssertSha512Result {};
18526    Ok(ret)
18527  }
18528  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18529    let struct_ident = TStructIdentifier::new("ApplyAssertSha512Result");
18530    o_prot.write_struct_begin(&struct_ident)?;
18531    o_prot.write_field_stop()?;
18532    o_prot.write_struct_end()
18533  }
18534  fn ok_or(self) -> thrift::Result<()> {
18535    Ok(())
18536  }
18537}
18538
18539//
18540// ApplyAssertRipemd160Args
18541//
18542
18543#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18544struct ApplyAssertRipemd160Args {
18545  data: Vec<u8>,
18546  hash: Vec<u8>,
18547}
18548
18549impl ApplyAssertRipemd160Args {
18550  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertRipemd160Args> {
18551    i_prot.read_struct_begin()?;
18552    let mut f_1: Option<Vec<u8>> = None;
18553    let mut f_2: Option<Vec<u8>> = None;
18554    loop {
18555      let field_ident = i_prot.read_field_begin()?;
18556      if field_ident.field_type == TType::Stop {
18557        break;
18558      }
18559      let field_id = field_id(&field_ident)?;
18560      match field_id {
18561        1 => {
18562          let val = i_prot.read_bytes()?;
18563          f_1 = Some(val);
18564        },
18565        2 => {
18566          let val = i_prot.read_bytes()?;
18567          f_2 = Some(val);
18568        },
18569        _ => {
18570          i_prot.skip(field_ident.field_type)?;
18571        },
18572      };
18573      i_prot.read_field_end()?;
18574    }
18575    i_prot.read_struct_end()?;
18576    verify_required_field_exists("ApplyAssertRipemd160Args.data", &f_1)?;
18577    verify_required_field_exists("ApplyAssertRipemd160Args.hash", &f_2)?;
18578    let ret = ApplyAssertRipemd160Args {
18579      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18580      hash: f_2.expect("auto-generated code should have checked for presence of required fields"),
18581    };
18582    Ok(ret)
18583  }
18584  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18585    let struct_ident = TStructIdentifier::new("assert_ripemd160_args");
18586    o_prot.write_struct_begin(&struct_ident)?;
18587    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18588    o_prot.write_bytes(&self.data)?;
18589    o_prot.write_field_end()?;
18590    o_prot.write_field_begin(&TFieldIdentifier::new("hash", TType::String, 2))?;
18591    o_prot.write_bytes(&self.hash)?;
18592    o_prot.write_field_end()?;
18593    o_prot.write_field_stop()?;
18594    o_prot.write_struct_end()
18595  }
18596}
18597
18598//
18599// ApplyAssertRipemd160Result
18600//
18601
18602#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18603struct ApplyAssertRipemd160Result {
18604}
18605
18606impl ApplyAssertRipemd160Result {
18607  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertRipemd160Result> {
18608    i_prot.read_struct_begin()?;
18609    loop {
18610      let field_ident = i_prot.read_field_begin()?;
18611      if field_ident.field_type == TType::Stop {
18612        break;
18613      }
18614      let field_id = field_id(&field_ident)?;
18615      match field_id {
18616        _ => {
18617          i_prot.skip(field_ident.field_type)?;
18618        },
18619      };
18620      i_prot.read_field_end()?;
18621    }
18622    i_prot.read_struct_end()?;
18623    let ret = ApplyAssertRipemd160Result {};
18624    Ok(ret)
18625  }
18626  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18627    let struct_ident = TStructIdentifier::new("ApplyAssertRipemd160Result");
18628    o_prot.write_struct_begin(&struct_ident)?;
18629    o_prot.write_field_stop()?;
18630    o_prot.write_struct_end()
18631  }
18632  fn ok_or(self) -> thrift::Result<()> {
18633    Ok(())
18634  }
18635}
18636
18637//
18638// ApplySha256Args
18639//
18640
18641#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18642struct ApplySha256Args {
18643  data: Vec<u8>,
18644}
18645
18646impl ApplySha256Args {
18647  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySha256Args> {
18648    i_prot.read_struct_begin()?;
18649    let mut f_1: Option<Vec<u8>> = None;
18650    loop {
18651      let field_ident = i_prot.read_field_begin()?;
18652      if field_ident.field_type == TType::Stop {
18653        break;
18654      }
18655      let field_id = field_id(&field_ident)?;
18656      match field_id {
18657        1 => {
18658          let val = i_prot.read_bytes()?;
18659          f_1 = Some(val);
18660        },
18661        _ => {
18662          i_prot.skip(field_ident.field_type)?;
18663        },
18664      };
18665      i_prot.read_field_end()?;
18666    }
18667    i_prot.read_struct_end()?;
18668    verify_required_field_exists("ApplySha256Args.data", &f_1)?;
18669    let ret = ApplySha256Args {
18670      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18671    };
18672    Ok(ret)
18673  }
18674  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18675    let struct_ident = TStructIdentifier::new("sha256_args");
18676    o_prot.write_struct_begin(&struct_ident)?;
18677    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18678    o_prot.write_bytes(&self.data)?;
18679    o_prot.write_field_end()?;
18680    o_prot.write_field_stop()?;
18681    o_prot.write_struct_end()
18682  }
18683}
18684
18685//
18686// ApplySha256Result
18687//
18688
18689#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18690struct ApplySha256Result {
18691  result_value: Option<Vec<u8>>,
18692}
18693
18694impl ApplySha256Result {
18695  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySha256Result> {
18696    i_prot.read_struct_begin()?;
18697    let mut f_0: Option<Vec<u8>> = None;
18698    loop {
18699      let field_ident = i_prot.read_field_begin()?;
18700      if field_ident.field_type == TType::Stop {
18701        break;
18702      }
18703      let field_id = field_id(&field_ident)?;
18704      match field_id {
18705        0 => {
18706          let val = i_prot.read_bytes()?;
18707          f_0 = Some(val);
18708        },
18709        _ => {
18710          i_prot.skip(field_ident.field_type)?;
18711        },
18712      };
18713      i_prot.read_field_end()?;
18714    }
18715    i_prot.read_struct_end()?;
18716    let ret = ApplySha256Result {
18717      result_value: f_0,
18718    };
18719    Ok(ret)
18720  }
18721  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18722    let struct_ident = TStructIdentifier::new("ApplySha256Result");
18723    o_prot.write_struct_begin(&struct_ident)?;
18724    if let Some(ref fld_var) = self.result_value {
18725      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
18726      o_prot.write_bytes(fld_var)?;
18727      o_prot.write_field_end()?
18728    }
18729    o_prot.write_field_stop()?;
18730    o_prot.write_struct_end()
18731  }
18732  fn ok_or(self) -> thrift::Result<Vec<u8>> {
18733    if self.result_value.is_some() {
18734      Ok(self.result_value.unwrap())
18735    } else {
18736      Err(
18737        thrift::Error::Application(
18738          ApplicationError::new(
18739            ApplicationErrorKind::MissingResult,
18740            "no result received for ApplySha256"
18741          )
18742        )
18743      )
18744    }
18745  }
18746}
18747
18748//
18749// ApplySha1Args
18750//
18751
18752#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18753struct ApplySha1Args {
18754  data: Vec<u8>,
18755}
18756
18757impl ApplySha1Args {
18758  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySha1Args> {
18759    i_prot.read_struct_begin()?;
18760    let mut f_1: Option<Vec<u8>> = None;
18761    loop {
18762      let field_ident = i_prot.read_field_begin()?;
18763      if field_ident.field_type == TType::Stop {
18764        break;
18765      }
18766      let field_id = field_id(&field_ident)?;
18767      match field_id {
18768        1 => {
18769          let val = i_prot.read_bytes()?;
18770          f_1 = Some(val);
18771        },
18772        _ => {
18773          i_prot.skip(field_ident.field_type)?;
18774        },
18775      };
18776      i_prot.read_field_end()?;
18777    }
18778    i_prot.read_struct_end()?;
18779    verify_required_field_exists("ApplySha1Args.data", &f_1)?;
18780    let ret = ApplySha1Args {
18781      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18782    };
18783    Ok(ret)
18784  }
18785  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18786    let struct_ident = TStructIdentifier::new("sha1_args");
18787    o_prot.write_struct_begin(&struct_ident)?;
18788    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18789    o_prot.write_bytes(&self.data)?;
18790    o_prot.write_field_end()?;
18791    o_prot.write_field_stop()?;
18792    o_prot.write_struct_end()
18793  }
18794}
18795
18796//
18797// ApplySha1Result
18798//
18799
18800#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18801struct ApplySha1Result {
18802  result_value: Option<Vec<u8>>,
18803}
18804
18805impl ApplySha1Result {
18806  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySha1Result> {
18807    i_prot.read_struct_begin()?;
18808    let mut f_0: Option<Vec<u8>> = None;
18809    loop {
18810      let field_ident = i_prot.read_field_begin()?;
18811      if field_ident.field_type == TType::Stop {
18812        break;
18813      }
18814      let field_id = field_id(&field_ident)?;
18815      match field_id {
18816        0 => {
18817          let val = i_prot.read_bytes()?;
18818          f_0 = Some(val);
18819        },
18820        _ => {
18821          i_prot.skip(field_ident.field_type)?;
18822        },
18823      };
18824      i_prot.read_field_end()?;
18825    }
18826    i_prot.read_struct_end()?;
18827    let ret = ApplySha1Result {
18828      result_value: f_0,
18829    };
18830    Ok(ret)
18831  }
18832  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18833    let struct_ident = TStructIdentifier::new("ApplySha1Result");
18834    o_prot.write_struct_begin(&struct_ident)?;
18835    if let Some(ref fld_var) = self.result_value {
18836      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
18837      o_prot.write_bytes(fld_var)?;
18838      o_prot.write_field_end()?
18839    }
18840    o_prot.write_field_stop()?;
18841    o_prot.write_struct_end()
18842  }
18843  fn ok_or(self) -> thrift::Result<Vec<u8>> {
18844    if self.result_value.is_some() {
18845      Ok(self.result_value.unwrap())
18846    } else {
18847      Err(
18848        thrift::Error::Application(
18849          ApplicationError::new(
18850            ApplicationErrorKind::MissingResult,
18851            "no result received for ApplySha1"
18852          )
18853        )
18854      )
18855    }
18856  }
18857}
18858
18859//
18860// ApplySha512Args
18861//
18862
18863#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18864struct ApplySha512Args {
18865  data: Vec<u8>,
18866}
18867
18868impl ApplySha512Args {
18869  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySha512Args> {
18870    i_prot.read_struct_begin()?;
18871    let mut f_1: Option<Vec<u8>> = None;
18872    loop {
18873      let field_ident = i_prot.read_field_begin()?;
18874      if field_ident.field_type == TType::Stop {
18875        break;
18876      }
18877      let field_id = field_id(&field_ident)?;
18878      match field_id {
18879        1 => {
18880          let val = i_prot.read_bytes()?;
18881          f_1 = Some(val);
18882        },
18883        _ => {
18884          i_prot.skip(field_ident.field_type)?;
18885        },
18886      };
18887      i_prot.read_field_end()?;
18888    }
18889    i_prot.read_struct_end()?;
18890    verify_required_field_exists("ApplySha512Args.data", &f_1)?;
18891    let ret = ApplySha512Args {
18892      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
18893    };
18894    Ok(ret)
18895  }
18896  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18897    let struct_ident = TStructIdentifier::new("sha512_args");
18898    o_prot.write_struct_begin(&struct_ident)?;
18899    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
18900    o_prot.write_bytes(&self.data)?;
18901    o_prot.write_field_end()?;
18902    o_prot.write_field_stop()?;
18903    o_prot.write_struct_end()
18904  }
18905}
18906
18907//
18908// ApplySha512Result
18909//
18910
18911#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18912struct ApplySha512Result {
18913  result_value: Option<Vec<u8>>,
18914}
18915
18916impl ApplySha512Result {
18917  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySha512Result> {
18918    i_prot.read_struct_begin()?;
18919    let mut f_0: Option<Vec<u8>> = None;
18920    loop {
18921      let field_ident = i_prot.read_field_begin()?;
18922      if field_ident.field_type == TType::Stop {
18923        break;
18924      }
18925      let field_id = field_id(&field_ident)?;
18926      match field_id {
18927        0 => {
18928          let val = i_prot.read_bytes()?;
18929          f_0 = Some(val);
18930        },
18931        _ => {
18932          i_prot.skip(field_ident.field_type)?;
18933        },
18934      };
18935      i_prot.read_field_end()?;
18936    }
18937    i_prot.read_struct_end()?;
18938    let ret = ApplySha512Result {
18939      result_value: f_0,
18940    };
18941    Ok(ret)
18942  }
18943  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
18944    let struct_ident = TStructIdentifier::new("ApplySha512Result");
18945    o_prot.write_struct_begin(&struct_ident)?;
18946    if let Some(ref fld_var) = self.result_value {
18947      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
18948      o_prot.write_bytes(fld_var)?;
18949      o_prot.write_field_end()?
18950    }
18951    o_prot.write_field_stop()?;
18952    o_prot.write_struct_end()
18953  }
18954  fn ok_or(self) -> thrift::Result<Vec<u8>> {
18955    if self.result_value.is_some() {
18956      Ok(self.result_value.unwrap())
18957    } else {
18958      Err(
18959        thrift::Error::Application(
18960          ApplicationError::new(
18961            ApplicationErrorKind::MissingResult,
18962            "no result received for ApplySha512"
18963          )
18964        )
18965      )
18966    }
18967  }
18968}
18969
18970//
18971// ApplyRipemd160Args
18972//
18973
18974#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
18975struct ApplyRipemd160Args {
18976  data: Vec<u8>,
18977}
18978
18979impl ApplyRipemd160Args {
18980  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRipemd160Args> {
18981    i_prot.read_struct_begin()?;
18982    let mut f_1: Option<Vec<u8>> = None;
18983    loop {
18984      let field_ident = i_prot.read_field_begin()?;
18985      if field_ident.field_type == TType::Stop {
18986        break;
18987      }
18988      let field_id = field_id(&field_ident)?;
18989      match field_id {
18990        1 => {
18991          let val = i_prot.read_bytes()?;
18992          f_1 = Some(val);
18993        },
18994        _ => {
18995          i_prot.skip(field_ident.field_type)?;
18996        },
18997      };
18998      i_prot.read_field_end()?;
18999    }
19000    i_prot.read_struct_end()?;
19001    verify_required_field_exists("ApplyRipemd160Args.data", &f_1)?;
19002    let ret = ApplyRipemd160Args {
19003      data: f_1.expect("auto-generated code should have checked for presence of required fields"),
19004    };
19005    Ok(ret)
19006  }
19007  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19008    let struct_ident = TStructIdentifier::new("ripemd160_args");
19009    o_prot.write_struct_begin(&struct_ident)?;
19010    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 1))?;
19011    o_prot.write_bytes(&self.data)?;
19012    o_prot.write_field_end()?;
19013    o_prot.write_field_stop()?;
19014    o_prot.write_struct_end()
19015  }
19016}
19017
19018//
19019// ApplyRipemd160Result
19020//
19021
19022#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19023struct ApplyRipemd160Result {
19024  result_value: Option<Vec<u8>>,
19025}
19026
19027impl ApplyRipemd160Result {
19028  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRipemd160Result> {
19029    i_prot.read_struct_begin()?;
19030    let mut f_0: Option<Vec<u8>> = None;
19031    loop {
19032      let field_ident = i_prot.read_field_begin()?;
19033      if field_ident.field_type == TType::Stop {
19034        break;
19035      }
19036      let field_id = field_id(&field_ident)?;
19037      match field_id {
19038        0 => {
19039          let val = i_prot.read_bytes()?;
19040          f_0 = Some(val);
19041        },
19042        _ => {
19043          i_prot.skip(field_ident.field_type)?;
19044        },
19045      };
19046      i_prot.read_field_end()?;
19047    }
19048    i_prot.read_struct_end()?;
19049    let ret = ApplyRipemd160Result {
19050      result_value: f_0,
19051    };
19052    Ok(ret)
19053  }
19054  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19055    let struct_ident = TStructIdentifier::new("ApplyRipemd160Result");
19056    o_prot.write_struct_begin(&struct_ident)?;
19057    if let Some(ref fld_var) = self.result_value {
19058      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
19059      o_prot.write_bytes(fld_var)?;
19060      o_prot.write_field_end()?
19061    }
19062    o_prot.write_field_stop()?;
19063    o_prot.write_struct_end()
19064  }
19065  fn ok_or(self) -> thrift::Result<Vec<u8>> {
19066    if self.result_value.is_some() {
19067      Ok(self.result_value.unwrap())
19068    } else {
19069      Err(
19070        thrift::Error::Application(
19071          ApplicationError::new(
19072            ApplicationErrorKind::MissingResult,
19073            "no result received for ApplyRipemd160"
19074          )
19075        )
19076      )
19077    }
19078  }
19079}
19080
19081//
19082// ApplyRecoverKeyArgs
19083//
19084
19085#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19086struct ApplyRecoverKeyArgs {
19087  digest: Vec<u8>,
19088  sig: Vec<u8>,
19089}
19090
19091impl ApplyRecoverKeyArgs {
19092  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRecoverKeyArgs> {
19093    i_prot.read_struct_begin()?;
19094    let mut f_1: Option<Vec<u8>> = None;
19095    let mut f_2: Option<Vec<u8>> = None;
19096    loop {
19097      let field_ident = i_prot.read_field_begin()?;
19098      if field_ident.field_type == TType::Stop {
19099        break;
19100      }
19101      let field_id = field_id(&field_ident)?;
19102      match field_id {
19103        1 => {
19104          let val = i_prot.read_bytes()?;
19105          f_1 = Some(val);
19106        },
19107        2 => {
19108          let val = i_prot.read_bytes()?;
19109          f_2 = Some(val);
19110        },
19111        _ => {
19112          i_prot.skip(field_ident.field_type)?;
19113        },
19114      };
19115      i_prot.read_field_end()?;
19116    }
19117    i_prot.read_struct_end()?;
19118    verify_required_field_exists("ApplyRecoverKeyArgs.digest", &f_1)?;
19119    verify_required_field_exists("ApplyRecoverKeyArgs.sig", &f_2)?;
19120    let ret = ApplyRecoverKeyArgs {
19121      digest: f_1.expect("auto-generated code should have checked for presence of required fields"),
19122      sig: f_2.expect("auto-generated code should have checked for presence of required fields"),
19123    };
19124    Ok(ret)
19125  }
19126  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19127    let struct_ident = TStructIdentifier::new("recover_key_args");
19128    o_prot.write_struct_begin(&struct_ident)?;
19129    o_prot.write_field_begin(&TFieldIdentifier::new("digest", TType::String, 1))?;
19130    o_prot.write_bytes(&self.digest)?;
19131    o_prot.write_field_end()?;
19132    o_prot.write_field_begin(&TFieldIdentifier::new("sig", TType::String, 2))?;
19133    o_prot.write_bytes(&self.sig)?;
19134    o_prot.write_field_end()?;
19135    o_prot.write_field_stop()?;
19136    o_prot.write_struct_end()
19137  }
19138}
19139
19140//
19141// ApplyRecoverKeyResult
19142//
19143
19144#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19145struct ApplyRecoverKeyResult {
19146  result_value: Option<Vec<u8>>,
19147}
19148
19149impl ApplyRecoverKeyResult {
19150  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyRecoverKeyResult> {
19151    i_prot.read_struct_begin()?;
19152    let mut f_0: Option<Vec<u8>> = None;
19153    loop {
19154      let field_ident = i_prot.read_field_begin()?;
19155      if field_ident.field_type == TType::Stop {
19156        break;
19157      }
19158      let field_id = field_id(&field_ident)?;
19159      match field_id {
19160        0 => {
19161          let val = i_prot.read_bytes()?;
19162          f_0 = Some(val);
19163        },
19164        _ => {
19165          i_prot.skip(field_ident.field_type)?;
19166        },
19167      };
19168      i_prot.read_field_end()?;
19169    }
19170    i_prot.read_struct_end()?;
19171    let ret = ApplyRecoverKeyResult {
19172      result_value: f_0,
19173    };
19174    Ok(ret)
19175  }
19176  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19177    let struct_ident = TStructIdentifier::new("ApplyRecoverKeyResult");
19178    o_prot.write_struct_begin(&struct_ident)?;
19179    if let Some(ref fld_var) = self.result_value {
19180      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
19181      o_prot.write_bytes(fld_var)?;
19182      o_prot.write_field_end()?
19183    }
19184    o_prot.write_field_stop()?;
19185    o_prot.write_struct_end()
19186  }
19187  fn ok_or(self) -> thrift::Result<Vec<u8>> {
19188    if self.result_value.is_some() {
19189      Ok(self.result_value.unwrap())
19190    } else {
19191      Err(
19192        thrift::Error::Application(
19193          ApplicationError::new(
19194            ApplicationErrorKind::MissingResult,
19195            "no result received for ApplyRecoverKey"
19196          )
19197        )
19198      )
19199    }
19200  }
19201}
19202
19203//
19204// ApplyAssertRecoverKeyArgs
19205//
19206
19207#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19208struct ApplyAssertRecoverKeyArgs {
19209  digest: Vec<u8>,
19210  sig: Vec<u8>,
19211  pub_: Vec<u8>,
19212}
19213
19214impl ApplyAssertRecoverKeyArgs {
19215  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertRecoverKeyArgs> {
19216    i_prot.read_struct_begin()?;
19217    let mut f_1: Option<Vec<u8>> = None;
19218    let mut f_2: Option<Vec<u8>> = None;
19219    let mut f_3: Option<Vec<u8>> = None;
19220    loop {
19221      let field_ident = i_prot.read_field_begin()?;
19222      if field_ident.field_type == TType::Stop {
19223        break;
19224      }
19225      let field_id = field_id(&field_ident)?;
19226      match field_id {
19227        1 => {
19228          let val = i_prot.read_bytes()?;
19229          f_1 = Some(val);
19230        },
19231        2 => {
19232          let val = i_prot.read_bytes()?;
19233          f_2 = Some(val);
19234        },
19235        3 => {
19236          let val = i_prot.read_bytes()?;
19237          f_3 = Some(val);
19238        },
19239        _ => {
19240          i_prot.skip(field_ident.field_type)?;
19241        },
19242      };
19243      i_prot.read_field_end()?;
19244    }
19245    i_prot.read_struct_end()?;
19246    verify_required_field_exists("ApplyAssertRecoverKeyArgs.digest", &f_1)?;
19247    verify_required_field_exists("ApplyAssertRecoverKeyArgs.sig", &f_2)?;
19248    verify_required_field_exists("ApplyAssertRecoverKeyArgs.pub_", &f_3)?;
19249    let ret = ApplyAssertRecoverKeyArgs {
19250      digest: f_1.expect("auto-generated code should have checked for presence of required fields"),
19251      sig: f_2.expect("auto-generated code should have checked for presence of required fields"),
19252      pub_: f_3.expect("auto-generated code should have checked for presence of required fields"),
19253    };
19254    Ok(ret)
19255  }
19256  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19257    let struct_ident = TStructIdentifier::new("assert_recover_key_args");
19258    o_prot.write_struct_begin(&struct_ident)?;
19259    o_prot.write_field_begin(&TFieldIdentifier::new("digest", TType::String, 1))?;
19260    o_prot.write_bytes(&self.digest)?;
19261    o_prot.write_field_end()?;
19262    o_prot.write_field_begin(&TFieldIdentifier::new("sig", TType::String, 2))?;
19263    o_prot.write_bytes(&self.sig)?;
19264    o_prot.write_field_end()?;
19265    o_prot.write_field_begin(&TFieldIdentifier::new("pub", TType::String, 3))?;
19266    o_prot.write_bytes(&self.pub_)?;
19267    o_prot.write_field_end()?;
19268    o_prot.write_field_stop()?;
19269    o_prot.write_struct_end()
19270  }
19271}
19272
19273//
19274// ApplyAssertRecoverKeyResult
19275//
19276
19277#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19278struct ApplyAssertRecoverKeyResult {
19279}
19280
19281impl ApplyAssertRecoverKeyResult {
19282  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyAssertRecoverKeyResult> {
19283    i_prot.read_struct_begin()?;
19284    loop {
19285      let field_ident = i_prot.read_field_begin()?;
19286      if field_ident.field_type == TType::Stop {
19287        break;
19288      }
19289      let field_id = field_id(&field_ident)?;
19290      match field_id {
19291        _ => {
19292          i_prot.skip(field_ident.field_type)?;
19293        },
19294      };
19295      i_prot.read_field_end()?;
19296    }
19297    i_prot.read_struct_end()?;
19298    let ret = ApplyAssertRecoverKeyResult {};
19299    Ok(ret)
19300  }
19301  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19302    let struct_ident = TStructIdentifier::new("ApplyAssertRecoverKeyResult");
19303    o_prot.write_struct_begin(&struct_ident)?;
19304    o_prot.write_field_stop()?;
19305    o_prot.write_struct_end()
19306  }
19307  fn ok_or(self) -> thrift::Result<()> {
19308    Ok(())
19309  }
19310}
19311
19312//
19313// ApplySendDeferredArgs
19314//
19315
19316#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19317struct ApplySendDeferredArgs {
19318  sender_id: Vec<u8>,
19319  payer: Uint64,
19320  serialized_transaction: Vec<u8>,
19321  replace_existing: i32,
19322}
19323
19324impl ApplySendDeferredArgs {
19325  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySendDeferredArgs> {
19326    i_prot.read_struct_begin()?;
19327    let mut f_1: Option<Vec<u8>> = None;
19328    let mut f_2: Option<Uint64> = None;
19329    let mut f_3: Option<Vec<u8>> = None;
19330    let mut f_4: Option<i32> = None;
19331    loop {
19332      let field_ident = i_prot.read_field_begin()?;
19333      if field_ident.field_type == TType::Stop {
19334        break;
19335      }
19336      let field_id = field_id(&field_ident)?;
19337      match field_id {
19338        1 => {
19339          let val = i_prot.read_bytes()?;
19340          f_1 = Some(val);
19341        },
19342        2 => {
19343          let val = Uint64::read_from_in_protocol(i_prot)?;
19344          f_2 = Some(val);
19345        },
19346        3 => {
19347          let val = i_prot.read_bytes()?;
19348          f_3 = Some(val);
19349        },
19350        4 => {
19351          let val = i_prot.read_i32()?;
19352          f_4 = Some(val);
19353        },
19354        _ => {
19355          i_prot.skip(field_ident.field_type)?;
19356        },
19357      };
19358      i_prot.read_field_end()?;
19359    }
19360    i_prot.read_struct_end()?;
19361    verify_required_field_exists("ApplySendDeferredArgs.sender_id", &f_1)?;
19362    verify_required_field_exists("ApplySendDeferredArgs.payer", &f_2)?;
19363    verify_required_field_exists("ApplySendDeferredArgs.serialized_transaction", &f_3)?;
19364    verify_required_field_exists("ApplySendDeferredArgs.replace_existing", &f_4)?;
19365    let ret = ApplySendDeferredArgs {
19366      sender_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
19367      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
19368      serialized_transaction: f_3.expect("auto-generated code should have checked for presence of required fields"),
19369      replace_existing: f_4.expect("auto-generated code should have checked for presence of required fields"),
19370    };
19371    Ok(ret)
19372  }
19373  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19374    let struct_ident = TStructIdentifier::new("send_deferred_args");
19375    o_prot.write_struct_begin(&struct_ident)?;
19376    o_prot.write_field_begin(&TFieldIdentifier::new("sender_id", TType::String, 1))?;
19377    o_prot.write_bytes(&self.sender_id)?;
19378    o_prot.write_field_end()?;
19379    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
19380    self.payer.write_to_out_protocol(o_prot)?;
19381    o_prot.write_field_end()?;
19382    o_prot.write_field_begin(&TFieldIdentifier::new("serialized_transaction", TType::String, 3))?;
19383    o_prot.write_bytes(&self.serialized_transaction)?;
19384    o_prot.write_field_end()?;
19385    o_prot.write_field_begin(&TFieldIdentifier::new("replace_existing", TType::I32, 4))?;
19386    o_prot.write_i32(self.replace_existing)?;
19387    o_prot.write_field_end()?;
19388    o_prot.write_field_stop()?;
19389    o_prot.write_struct_end()
19390  }
19391}
19392
19393//
19394// ApplySendDeferredResult
19395//
19396
19397#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19398struct ApplySendDeferredResult {
19399}
19400
19401impl ApplySendDeferredResult {
19402  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplySendDeferredResult> {
19403    i_prot.read_struct_begin()?;
19404    loop {
19405      let field_ident = i_prot.read_field_begin()?;
19406      if field_ident.field_type == TType::Stop {
19407        break;
19408      }
19409      let field_id = field_id(&field_ident)?;
19410      match field_id {
19411        _ => {
19412          i_prot.skip(field_ident.field_type)?;
19413        },
19414      };
19415      i_prot.read_field_end()?;
19416    }
19417    i_prot.read_struct_end()?;
19418    let ret = ApplySendDeferredResult {};
19419    Ok(ret)
19420  }
19421  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19422    let struct_ident = TStructIdentifier::new("ApplySendDeferredResult");
19423    o_prot.write_struct_begin(&struct_ident)?;
19424    o_prot.write_field_stop()?;
19425    o_prot.write_struct_end()
19426  }
19427  fn ok_or(self) -> thrift::Result<()> {
19428    Ok(())
19429  }
19430}
19431
19432//
19433// ApplyCancelDeferredArgs
19434//
19435
19436#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19437struct ApplyCancelDeferredArgs {
19438  sender_id: Vec<u8>,
19439}
19440
19441impl ApplyCancelDeferredArgs {
19442  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCancelDeferredArgs> {
19443    i_prot.read_struct_begin()?;
19444    let mut f_1: Option<Vec<u8>> = None;
19445    loop {
19446      let field_ident = i_prot.read_field_begin()?;
19447      if field_ident.field_type == TType::Stop {
19448        break;
19449      }
19450      let field_id = field_id(&field_ident)?;
19451      match field_id {
19452        1 => {
19453          let val = i_prot.read_bytes()?;
19454          f_1 = Some(val);
19455        },
19456        _ => {
19457          i_prot.skip(field_ident.field_type)?;
19458        },
19459      };
19460      i_prot.read_field_end()?;
19461    }
19462    i_prot.read_struct_end()?;
19463    verify_required_field_exists("ApplyCancelDeferredArgs.sender_id", &f_1)?;
19464    let ret = ApplyCancelDeferredArgs {
19465      sender_id: f_1.expect("auto-generated code should have checked for presence of required fields"),
19466    };
19467    Ok(ret)
19468  }
19469  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19470    let struct_ident = TStructIdentifier::new("cancel_deferred_args");
19471    o_prot.write_struct_begin(&struct_ident)?;
19472    o_prot.write_field_begin(&TFieldIdentifier::new("sender_id", TType::String, 1))?;
19473    o_prot.write_bytes(&self.sender_id)?;
19474    o_prot.write_field_end()?;
19475    o_prot.write_field_stop()?;
19476    o_prot.write_struct_end()
19477  }
19478}
19479
19480//
19481// ApplyCancelDeferredResult
19482//
19483
19484#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19485struct ApplyCancelDeferredResult {
19486  result_value: Option<i32>,
19487}
19488
19489impl ApplyCancelDeferredResult {
19490  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyCancelDeferredResult> {
19491    i_prot.read_struct_begin()?;
19492    let mut f_0: Option<i32> = None;
19493    loop {
19494      let field_ident = i_prot.read_field_begin()?;
19495      if field_ident.field_type == TType::Stop {
19496        break;
19497      }
19498      let field_id = field_id(&field_ident)?;
19499      match field_id {
19500        0 => {
19501          let val = i_prot.read_i32()?;
19502          f_0 = Some(val);
19503        },
19504        _ => {
19505          i_prot.skip(field_ident.field_type)?;
19506        },
19507      };
19508      i_prot.read_field_end()?;
19509    }
19510    i_prot.read_struct_end()?;
19511    let ret = ApplyCancelDeferredResult {
19512      result_value: f_0,
19513    };
19514    Ok(ret)
19515  }
19516  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19517    let struct_ident = TStructIdentifier::new("ApplyCancelDeferredResult");
19518    o_prot.write_struct_begin(&struct_ident)?;
19519    if let Some(fld_var) = self.result_value {
19520      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
19521      o_prot.write_i32(fld_var)?;
19522      o_prot.write_field_end()?
19523    }
19524    o_prot.write_field_stop()?;
19525    o_prot.write_struct_end()
19526  }
19527  fn ok_or(self) -> thrift::Result<i32> {
19528    if self.result_value.is_some() {
19529      Ok(self.result_value.unwrap())
19530    } else {
19531      Err(
19532        thrift::Error::Application(
19533          ApplicationError::new(
19534            ApplicationErrorKind::MissingResult,
19535            "no result received for ApplyCancelDeferred"
19536          )
19537        )
19538      )
19539    }
19540  }
19541}
19542
19543//
19544// ApplyReadTransactionArgs
19545//
19546
19547#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19548struct ApplyReadTransactionArgs {
19549}
19550
19551impl ApplyReadTransactionArgs {
19552  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyReadTransactionArgs> {
19553    i_prot.read_struct_begin()?;
19554    loop {
19555      let field_ident = i_prot.read_field_begin()?;
19556      if field_ident.field_type == TType::Stop {
19557        break;
19558      }
19559      let field_id = field_id(&field_ident)?;
19560      match field_id {
19561        _ => {
19562          i_prot.skip(field_ident.field_type)?;
19563        },
19564      };
19565      i_prot.read_field_end()?;
19566    }
19567    i_prot.read_struct_end()?;
19568    let ret = ApplyReadTransactionArgs {};
19569    Ok(ret)
19570  }
19571  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19572    let struct_ident = TStructIdentifier::new("read_transaction_args");
19573    o_prot.write_struct_begin(&struct_ident)?;
19574    o_prot.write_field_stop()?;
19575    o_prot.write_struct_end()
19576  }
19577}
19578
19579//
19580// ApplyReadTransactionResult
19581//
19582
19583#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19584struct ApplyReadTransactionResult {
19585  result_value: Option<Vec<u8>>,
19586}
19587
19588impl ApplyReadTransactionResult {
19589  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyReadTransactionResult> {
19590    i_prot.read_struct_begin()?;
19591    let mut f_0: Option<Vec<u8>> = None;
19592    loop {
19593      let field_ident = i_prot.read_field_begin()?;
19594      if field_ident.field_type == TType::Stop {
19595        break;
19596      }
19597      let field_id = field_id(&field_ident)?;
19598      match field_id {
19599        0 => {
19600          let val = i_prot.read_bytes()?;
19601          f_0 = Some(val);
19602        },
19603        _ => {
19604          i_prot.skip(field_ident.field_type)?;
19605        },
19606      };
19607      i_prot.read_field_end()?;
19608    }
19609    i_prot.read_struct_end()?;
19610    let ret = ApplyReadTransactionResult {
19611      result_value: f_0,
19612    };
19613    Ok(ret)
19614  }
19615  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19616    let struct_ident = TStructIdentifier::new("ApplyReadTransactionResult");
19617    o_prot.write_struct_begin(&struct_ident)?;
19618    if let Some(ref fld_var) = self.result_value {
19619      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
19620      o_prot.write_bytes(fld_var)?;
19621      o_prot.write_field_end()?
19622    }
19623    o_prot.write_field_stop()?;
19624    o_prot.write_struct_end()
19625  }
19626  fn ok_or(self) -> thrift::Result<Vec<u8>> {
19627    if self.result_value.is_some() {
19628      Ok(self.result_value.unwrap())
19629    } else {
19630      Err(
19631        thrift::Error::Application(
19632          ApplicationError::new(
19633            ApplicationErrorKind::MissingResult,
19634            "no result received for ApplyReadTransaction"
19635          )
19636        )
19637      )
19638    }
19639  }
19640}
19641
19642//
19643// ApplyTransactionSizeArgs
19644//
19645
19646#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19647struct ApplyTransactionSizeArgs {
19648}
19649
19650impl ApplyTransactionSizeArgs {
19651  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyTransactionSizeArgs> {
19652    i_prot.read_struct_begin()?;
19653    loop {
19654      let field_ident = i_prot.read_field_begin()?;
19655      if field_ident.field_type == TType::Stop {
19656        break;
19657      }
19658      let field_id = field_id(&field_ident)?;
19659      match field_id {
19660        _ => {
19661          i_prot.skip(field_ident.field_type)?;
19662        },
19663      };
19664      i_prot.read_field_end()?;
19665    }
19666    i_prot.read_struct_end()?;
19667    let ret = ApplyTransactionSizeArgs {};
19668    Ok(ret)
19669  }
19670  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19671    let struct_ident = TStructIdentifier::new("transaction_size_args");
19672    o_prot.write_struct_begin(&struct_ident)?;
19673    o_prot.write_field_stop()?;
19674    o_prot.write_struct_end()
19675  }
19676}
19677
19678//
19679// ApplyTransactionSizeResult
19680//
19681
19682#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19683struct ApplyTransactionSizeResult {
19684  result_value: Option<i32>,
19685}
19686
19687impl ApplyTransactionSizeResult {
19688  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyTransactionSizeResult> {
19689    i_prot.read_struct_begin()?;
19690    let mut f_0: Option<i32> = None;
19691    loop {
19692      let field_ident = i_prot.read_field_begin()?;
19693      if field_ident.field_type == TType::Stop {
19694        break;
19695      }
19696      let field_id = field_id(&field_ident)?;
19697      match field_id {
19698        0 => {
19699          let val = i_prot.read_i32()?;
19700          f_0 = Some(val);
19701        },
19702        _ => {
19703          i_prot.skip(field_ident.field_type)?;
19704        },
19705      };
19706      i_prot.read_field_end()?;
19707    }
19708    i_prot.read_struct_end()?;
19709    let ret = ApplyTransactionSizeResult {
19710      result_value: f_0,
19711    };
19712    Ok(ret)
19713  }
19714  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19715    let struct_ident = TStructIdentifier::new("ApplyTransactionSizeResult");
19716    o_prot.write_struct_begin(&struct_ident)?;
19717    if let Some(fld_var) = self.result_value {
19718      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
19719      o_prot.write_i32(fld_var)?;
19720      o_prot.write_field_end()?
19721    }
19722    o_prot.write_field_stop()?;
19723    o_prot.write_struct_end()
19724  }
19725  fn ok_or(self) -> thrift::Result<i32> {
19726    if self.result_value.is_some() {
19727      Ok(self.result_value.unwrap())
19728    } else {
19729      Err(
19730        thrift::Error::Application(
19731          ApplicationError::new(
19732            ApplicationErrorKind::MissingResult,
19733            "no result received for ApplyTransactionSize"
19734          )
19735        )
19736      )
19737    }
19738  }
19739}
19740
19741//
19742// ApplyTaposBlockNumArgs
19743//
19744
19745#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19746struct ApplyTaposBlockNumArgs {
19747}
19748
19749impl ApplyTaposBlockNumArgs {
19750  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyTaposBlockNumArgs> {
19751    i_prot.read_struct_begin()?;
19752    loop {
19753      let field_ident = i_prot.read_field_begin()?;
19754      if field_ident.field_type == TType::Stop {
19755        break;
19756      }
19757      let field_id = field_id(&field_ident)?;
19758      match field_id {
19759        _ => {
19760          i_prot.skip(field_ident.field_type)?;
19761        },
19762      };
19763      i_prot.read_field_end()?;
19764    }
19765    i_prot.read_struct_end()?;
19766    let ret = ApplyTaposBlockNumArgs {};
19767    Ok(ret)
19768  }
19769  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19770    let struct_ident = TStructIdentifier::new("tapos_block_num_args");
19771    o_prot.write_struct_begin(&struct_ident)?;
19772    o_prot.write_field_stop()?;
19773    o_prot.write_struct_end()
19774  }
19775}
19776
19777//
19778// ApplyTaposBlockNumResult
19779//
19780
19781#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19782struct ApplyTaposBlockNumResult {
19783  result_value: Option<i32>,
19784}
19785
19786impl ApplyTaposBlockNumResult {
19787  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyTaposBlockNumResult> {
19788    i_prot.read_struct_begin()?;
19789    let mut f_0: Option<i32> = None;
19790    loop {
19791      let field_ident = i_prot.read_field_begin()?;
19792      if field_ident.field_type == TType::Stop {
19793        break;
19794      }
19795      let field_id = field_id(&field_ident)?;
19796      match field_id {
19797        0 => {
19798          let val = i_prot.read_i32()?;
19799          f_0 = Some(val);
19800        },
19801        _ => {
19802          i_prot.skip(field_ident.field_type)?;
19803        },
19804      };
19805      i_prot.read_field_end()?;
19806    }
19807    i_prot.read_struct_end()?;
19808    let ret = ApplyTaposBlockNumResult {
19809      result_value: f_0,
19810    };
19811    Ok(ret)
19812  }
19813  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19814    let struct_ident = TStructIdentifier::new("ApplyTaposBlockNumResult");
19815    o_prot.write_struct_begin(&struct_ident)?;
19816    if let Some(fld_var) = self.result_value {
19817      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
19818      o_prot.write_i32(fld_var)?;
19819      o_prot.write_field_end()?
19820    }
19821    o_prot.write_field_stop()?;
19822    o_prot.write_struct_end()
19823  }
19824  fn ok_or(self) -> thrift::Result<i32> {
19825    if self.result_value.is_some() {
19826      Ok(self.result_value.unwrap())
19827    } else {
19828      Err(
19829        thrift::Error::Application(
19830          ApplicationError::new(
19831            ApplicationErrorKind::MissingResult,
19832            "no result received for ApplyTaposBlockNum"
19833          )
19834        )
19835      )
19836    }
19837  }
19838}
19839
19840//
19841// ApplyTaposBlockPrefixArgs
19842//
19843
19844#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19845struct ApplyTaposBlockPrefixArgs {
19846}
19847
19848impl ApplyTaposBlockPrefixArgs {
19849  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyTaposBlockPrefixArgs> {
19850    i_prot.read_struct_begin()?;
19851    loop {
19852      let field_ident = i_prot.read_field_begin()?;
19853      if field_ident.field_type == TType::Stop {
19854        break;
19855      }
19856      let field_id = field_id(&field_ident)?;
19857      match field_id {
19858        _ => {
19859          i_prot.skip(field_ident.field_type)?;
19860        },
19861      };
19862      i_prot.read_field_end()?;
19863    }
19864    i_prot.read_struct_end()?;
19865    let ret = ApplyTaposBlockPrefixArgs {};
19866    Ok(ret)
19867  }
19868  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19869    let struct_ident = TStructIdentifier::new("tapos_block_prefix_args");
19870    o_prot.write_struct_begin(&struct_ident)?;
19871    o_prot.write_field_stop()?;
19872    o_prot.write_struct_end()
19873  }
19874}
19875
19876//
19877// ApplyTaposBlockPrefixResult
19878//
19879
19880#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19881struct ApplyTaposBlockPrefixResult {
19882  result_value: Option<i32>,
19883}
19884
19885impl ApplyTaposBlockPrefixResult {
19886  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyTaposBlockPrefixResult> {
19887    i_prot.read_struct_begin()?;
19888    let mut f_0: Option<i32> = None;
19889    loop {
19890      let field_ident = i_prot.read_field_begin()?;
19891      if field_ident.field_type == TType::Stop {
19892        break;
19893      }
19894      let field_id = field_id(&field_ident)?;
19895      match field_id {
19896        0 => {
19897          let val = i_prot.read_i32()?;
19898          f_0 = Some(val);
19899        },
19900        _ => {
19901          i_prot.skip(field_ident.field_type)?;
19902        },
19903      };
19904      i_prot.read_field_end()?;
19905    }
19906    i_prot.read_struct_end()?;
19907    let ret = ApplyTaposBlockPrefixResult {
19908      result_value: f_0,
19909    };
19910    Ok(ret)
19911  }
19912  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19913    let struct_ident = TStructIdentifier::new("ApplyTaposBlockPrefixResult");
19914    o_prot.write_struct_begin(&struct_ident)?;
19915    if let Some(fld_var) = self.result_value {
19916      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
19917      o_prot.write_i32(fld_var)?;
19918      o_prot.write_field_end()?
19919    }
19920    o_prot.write_field_stop()?;
19921    o_prot.write_struct_end()
19922  }
19923  fn ok_or(self) -> thrift::Result<i32> {
19924    if self.result_value.is_some() {
19925      Ok(self.result_value.unwrap())
19926    } else {
19927      Err(
19928        thrift::Error::Application(
19929          ApplicationError::new(
19930            ApplicationErrorKind::MissingResult,
19931            "no result received for ApplyTaposBlockPrefix"
19932          )
19933        )
19934      )
19935    }
19936  }
19937}
19938
19939//
19940// ApplyExpirationArgs
19941//
19942
19943#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19944struct ApplyExpirationArgs {
19945}
19946
19947impl ApplyExpirationArgs {
19948  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyExpirationArgs> {
19949    i_prot.read_struct_begin()?;
19950    loop {
19951      let field_ident = i_prot.read_field_begin()?;
19952      if field_ident.field_type == TType::Stop {
19953        break;
19954      }
19955      let field_id = field_id(&field_ident)?;
19956      match field_id {
19957        _ => {
19958          i_prot.skip(field_ident.field_type)?;
19959        },
19960      };
19961      i_prot.read_field_end()?;
19962    }
19963    i_prot.read_struct_end()?;
19964    let ret = ApplyExpirationArgs {};
19965    Ok(ret)
19966  }
19967  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
19968    let struct_ident = TStructIdentifier::new("expiration_args");
19969    o_prot.write_struct_begin(&struct_ident)?;
19970    o_prot.write_field_stop()?;
19971    o_prot.write_struct_end()
19972  }
19973}
19974
19975//
19976// ApplyExpirationResult
19977//
19978
19979#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
19980struct ApplyExpirationResult {
19981  result_value: Option<i64>,
19982}
19983
19984impl ApplyExpirationResult {
19985  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyExpirationResult> {
19986    i_prot.read_struct_begin()?;
19987    let mut f_0: Option<i64> = None;
19988    loop {
19989      let field_ident = i_prot.read_field_begin()?;
19990      if field_ident.field_type == TType::Stop {
19991        break;
19992      }
19993      let field_id = field_id(&field_ident)?;
19994      match field_id {
19995        0 => {
19996          let val = i_prot.read_i64()?;
19997          f_0 = Some(val);
19998        },
19999        _ => {
20000          i_prot.skip(field_ident.field_type)?;
20001        },
20002      };
20003      i_prot.read_field_end()?;
20004    }
20005    i_prot.read_struct_end()?;
20006    let ret = ApplyExpirationResult {
20007      result_value: f_0,
20008    };
20009    Ok(ret)
20010  }
20011  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20012    let struct_ident = TStructIdentifier::new("ApplyExpirationResult");
20013    o_prot.write_struct_begin(&struct_ident)?;
20014    if let Some(fld_var) = self.result_value {
20015      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I64, 0))?;
20016      o_prot.write_i64(fld_var)?;
20017      o_prot.write_field_end()?
20018    }
20019    o_prot.write_field_stop()?;
20020    o_prot.write_struct_end()
20021  }
20022  fn ok_or(self) -> thrift::Result<i64> {
20023    if self.result_value.is_some() {
20024      Ok(self.result_value.unwrap())
20025    } else {
20026      Err(
20027        thrift::Error::Application(
20028          ApplicationError::new(
20029            ApplicationErrorKind::MissingResult,
20030            "no result received for ApplyExpiration"
20031          )
20032        )
20033      )
20034    }
20035  }
20036}
20037
20038//
20039// ApplyGetActionArgs
20040//
20041
20042#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20043struct ApplyGetActionArgs {
20044  _type: i32,
20045  index: i32,
20046}
20047
20048impl ApplyGetActionArgs {
20049  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetActionArgs> {
20050    i_prot.read_struct_begin()?;
20051    let mut f_1: Option<i32> = None;
20052    let mut f_2: Option<i32> = None;
20053    loop {
20054      let field_ident = i_prot.read_field_begin()?;
20055      if field_ident.field_type == TType::Stop {
20056        break;
20057      }
20058      let field_id = field_id(&field_ident)?;
20059      match field_id {
20060        1 => {
20061          let val = i_prot.read_i32()?;
20062          f_1 = Some(val);
20063        },
20064        2 => {
20065          let val = i_prot.read_i32()?;
20066          f_2 = Some(val);
20067        },
20068        _ => {
20069          i_prot.skip(field_ident.field_type)?;
20070        },
20071      };
20072      i_prot.read_field_end()?;
20073    }
20074    i_prot.read_struct_end()?;
20075    verify_required_field_exists("ApplyGetActionArgs._type", &f_1)?;
20076    verify_required_field_exists("ApplyGetActionArgs.index", &f_2)?;
20077    let ret = ApplyGetActionArgs {
20078      _type: f_1.expect("auto-generated code should have checked for presence of required fields"),
20079      index: f_2.expect("auto-generated code should have checked for presence of required fields"),
20080    };
20081    Ok(ret)
20082  }
20083  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20084    let struct_ident = TStructIdentifier::new("get_action_args");
20085    o_prot.write_struct_begin(&struct_ident)?;
20086    o_prot.write_field_begin(&TFieldIdentifier::new("_type", TType::I32, 1))?;
20087    o_prot.write_i32(self._type)?;
20088    o_prot.write_field_end()?;
20089    o_prot.write_field_begin(&TFieldIdentifier::new("index", TType::I32, 2))?;
20090    o_prot.write_i32(self.index)?;
20091    o_prot.write_field_end()?;
20092    o_prot.write_field_stop()?;
20093    o_prot.write_struct_end()
20094  }
20095}
20096
20097//
20098// ApplyGetActionResult
20099//
20100
20101#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20102struct ApplyGetActionResult {
20103  result_value: Option<Vec<u8>>,
20104}
20105
20106impl ApplyGetActionResult {
20107  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetActionResult> {
20108    i_prot.read_struct_begin()?;
20109    let mut f_0: Option<Vec<u8>> = None;
20110    loop {
20111      let field_ident = i_prot.read_field_begin()?;
20112      if field_ident.field_type == TType::Stop {
20113        break;
20114      }
20115      let field_id = field_id(&field_ident)?;
20116      match field_id {
20117        0 => {
20118          let val = i_prot.read_bytes()?;
20119          f_0 = Some(val);
20120        },
20121        _ => {
20122          i_prot.skip(field_ident.field_type)?;
20123        },
20124      };
20125      i_prot.read_field_end()?;
20126    }
20127    i_prot.read_struct_end()?;
20128    let ret = ApplyGetActionResult {
20129      result_value: f_0,
20130    };
20131    Ok(ret)
20132  }
20133  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20134    let struct_ident = TStructIdentifier::new("ApplyGetActionResult");
20135    o_prot.write_struct_begin(&struct_ident)?;
20136    if let Some(ref fld_var) = self.result_value {
20137      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
20138      o_prot.write_bytes(fld_var)?;
20139      o_prot.write_field_end()?
20140    }
20141    o_prot.write_field_stop()?;
20142    o_prot.write_struct_end()
20143  }
20144  fn ok_or(self) -> thrift::Result<Vec<u8>> {
20145    if self.result_value.is_some() {
20146      Ok(self.result_value.unwrap())
20147    } else {
20148      Err(
20149        thrift::Error::Application(
20150          ApplicationError::new(
20151            ApplicationErrorKind::MissingResult,
20152            "no result received for ApplyGetAction"
20153          )
20154        )
20155      )
20156    }
20157  }
20158}
20159
20160//
20161// ApplyGetContextFreeDataArgs
20162//
20163
20164#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20165struct ApplyGetContextFreeDataArgs {
20166  index: i32,
20167}
20168
20169impl ApplyGetContextFreeDataArgs {
20170  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetContextFreeDataArgs> {
20171    i_prot.read_struct_begin()?;
20172    let mut f_1: Option<i32> = None;
20173    loop {
20174      let field_ident = i_prot.read_field_begin()?;
20175      if field_ident.field_type == TType::Stop {
20176        break;
20177      }
20178      let field_id = field_id(&field_ident)?;
20179      match field_id {
20180        1 => {
20181          let val = i_prot.read_i32()?;
20182          f_1 = Some(val);
20183        },
20184        _ => {
20185          i_prot.skip(field_ident.field_type)?;
20186        },
20187      };
20188      i_prot.read_field_end()?;
20189    }
20190    i_prot.read_struct_end()?;
20191    verify_required_field_exists("ApplyGetContextFreeDataArgs.index", &f_1)?;
20192    let ret = ApplyGetContextFreeDataArgs {
20193      index: f_1.expect("auto-generated code should have checked for presence of required fields"),
20194    };
20195    Ok(ret)
20196  }
20197  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20198    let struct_ident = TStructIdentifier::new("get_context_free_data_args");
20199    o_prot.write_struct_begin(&struct_ident)?;
20200    o_prot.write_field_begin(&TFieldIdentifier::new("index", TType::I32, 1))?;
20201    o_prot.write_i32(self.index)?;
20202    o_prot.write_field_end()?;
20203    o_prot.write_field_stop()?;
20204    o_prot.write_struct_end()
20205  }
20206}
20207
20208//
20209// ApplyGetContextFreeDataResult
20210//
20211
20212#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20213struct ApplyGetContextFreeDataResult {
20214  result_value: Option<Vec<u8>>,
20215}
20216
20217impl ApplyGetContextFreeDataResult {
20218  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyGetContextFreeDataResult> {
20219    i_prot.read_struct_begin()?;
20220    let mut f_0: Option<Vec<u8>> = None;
20221    loop {
20222      let field_ident = i_prot.read_field_begin()?;
20223      if field_ident.field_type == TType::Stop {
20224        break;
20225      }
20226      let field_id = field_id(&field_ident)?;
20227      match field_id {
20228        0 => {
20229          let val = i_prot.read_bytes()?;
20230          f_0 = Some(val);
20231        },
20232        _ => {
20233          i_prot.skip(field_ident.field_type)?;
20234        },
20235      };
20236      i_prot.read_field_end()?;
20237    }
20238    i_prot.read_struct_end()?;
20239    let ret = ApplyGetContextFreeDataResult {
20240      result_value: f_0,
20241    };
20242    Ok(ret)
20243  }
20244  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20245    let struct_ident = TStructIdentifier::new("ApplyGetContextFreeDataResult");
20246    o_prot.write_struct_begin(&struct_ident)?;
20247    if let Some(ref fld_var) = self.result_value {
20248      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
20249      o_prot.write_bytes(fld_var)?;
20250      o_prot.write_field_end()?
20251    }
20252    o_prot.write_field_stop()?;
20253    o_prot.write_struct_end()
20254  }
20255  fn ok_or(self) -> thrift::Result<Vec<u8>> {
20256    if self.result_value.is_some() {
20257      Ok(self.result_value.unwrap())
20258    } else {
20259      Err(
20260        thrift::Error::Application(
20261          ApplicationError::new(
20262            ApplicationErrorKind::MissingResult,
20263            "no result received for ApplyGetContextFreeData"
20264          )
20265        )
20266      )
20267    }
20268  }
20269}
20270
20271//
20272// ApplyDbStoreI64Args
20273//
20274
20275#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20276struct ApplyDbStoreI64Args {
20277  scope: Uint64,
20278  table: Uint64,
20279  payer: Uint64,
20280  id: Uint64,
20281  data: Vec<u8>,
20282}
20283
20284impl ApplyDbStoreI64Args {
20285  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbStoreI64Args> {
20286    i_prot.read_struct_begin()?;
20287    let mut f_1: Option<Uint64> = None;
20288    let mut f_2: Option<Uint64> = None;
20289    let mut f_3: Option<Uint64> = None;
20290    let mut f_4: Option<Uint64> = None;
20291    let mut f_5: Option<Vec<u8>> = None;
20292    loop {
20293      let field_ident = i_prot.read_field_begin()?;
20294      if field_ident.field_type == TType::Stop {
20295        break;
20296      }
20297      let field_id = field_id(&field_ident)?;
20298      match field_id {
20299        1 => {
20300          let val = Uint64::read_from_in_protocol(i_prot)?;
20301          f_1 = Some(val);
20302        },
20303        2 => {
20304          let val = Uint64::read_from_in_protocol(i_prot)?;
20305          f_2 = Some(val);
20306        },
20307        3 => {
20308          let val = Uint64::read_from_in_protocol(i_prot)?;
20309          f_3 = Some(val);
20310        },
20311        4 => {
20312          let val = Uint64::read_from_in_protocol(i_prot)?;
20313          f_4 = Some(val);
20314        },
20315        5 => {
20316          let val = i_prot.read_bytes()?;
20317          f_5 = Some(val);
20318        },
20319        _ => {
20320          i_prot.skip(field_ident.field_type)?;
20321        },
20322      };
20323      i_prot.read_field_end()?;
20324    }
20325    i_prot.read_struct_end()?;
20326    verify_required_field_exists("ApplyDbStoreI64Args.scope", &f_1)?;
20327    verify_required_field_exists("ApplyDbStoreI64Args.table", &f_2)?;
20328    verify_required_field_exists("ApplyDbStoreI64Args.payer", &f_3)?;
20329    verify_required_field_exists("ApplyDbStoreI64Args.id", &f_4)?;
20330    verify_required_field_exists("ApplyDbStoreI64Args.data", &f_5)?;
20331    let ret = ApplyDbStoreI64Args {
20332      scope: f_1.expect("auto-generated code should have checked for presence of required fields"),
20333      table: f_2.expect("auto-generated code should have checked for presence of required fields"),
20334      payer: f_3.expect("auto-generated code should have checked for presence of required fields"),
20335      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
20336      data: f_5.expect("auto-generated code should have checked for presence of required fields"),
20337    };
20338    Ok(ret)
20339  }
20340  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20341    let struct_ident = TStructIdentifier::new("db_store_i64_args");
20342    o_prot.write_struct_begin(&struct_ident)?;
20343    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 1))?;
20344    self.scope.write_to_out_protocol(o_prot)?;
20345    o_prot.write_field_end()?;
20346    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 2))?;
20347    self.table.write_to_out_protocol(o_prot)?;
20348    o_prot.write_field_end()?;
20349    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 3))?;
20350    self.payer.write_to_out_protocol(o_prot)?;
20351    o_prot.write_field_end()?;
20352    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
20353    self.id.write_to_out_protocol(o_prot)?;
20354    o_prot.write_field_end()?;
20355    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 5))?;
20356    o_prot.write_bytes(&self.data)?;
20357    o_prot.write_field_end()?;
20358    o_prot.write_field_stop()?;
20359    o_prot.write_struct_end()
20360  }
20361}
20362
20363//
20364// ApplyDbStoreI64Result
20365//
20366
20367#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20368struct ApplyDbStoreI64Result {
20369  result_value: Option<i32>,
20370}
20371
20372impl ApplyDbStoreI64Result {
20373  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbStoreI64Result> {
20374    i_prot.read_struct_begin()?;
20375    let mut f_0: Option<i32> = None;
20376    loop {
20377      let field_ident = i_prot.read_field_begin()?;
20378      if field_ident.field_type == TType::Stop {
20379        break;
20380      }
20381      let field_id = field_id(&field_ident)?;
20382      match field_id {
20383        0 => {
20384          let val = i_prot.read_i32()?;
20385          f_0 = Some(val);
20386        },
20387        _ => {
20388          i_prot.skip(field_ident.field_type)?;
20389        },
20390      };
20391      i_prot.read_field_end()?;
20392    }
20393    i_prot.read_struct_end()?;
20394    let ret = ApplyDbStoreI64Result {
20395      result_value: f_0,
20396    };
20397    Ok(ret)
20398  }
20399  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20400    let struct_ident = TStructIdentifier::new("ApplyDbStoreI64Result");
20401    o_prot.write_struct_begin(&struct_ident)?;
20402    if let Some(fld_var) = self.result_value {
20403      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
20404      o_prot.write_i32(fld_var)?;
20405      o_prot.write_field_end()?
20406    }
20407    o_prot.write_field_stop()?;
20408    o_prot.write_struct_end()
20409  }
20410  fn ok_or(self) -> thrift::Result<i32> {
20411    if self.result_value.is_some() {
20412      Ok(self.result_value.unwrap())
20413    } else {
20414      Err(
20415        thrift::Error::Application(
20416          ApplicationError::new(
20417            ApplicationErrorKind::MissingResult,
20418            "no result received for ApplyDbStoreI64"
20419          )
20420        )
20421      )
20422    }
20423  }
20424}
20425
20426//
20427// ApplyDbUpdateI64Args
20428//
20429
20430#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20431struct ApplyDbUpdateI64Args {
20432  iterator: i32,
20433  payer: Uint64,
20434  data: Vec<u8>,
20435}
20436
20437impl ApplyDbUpdateI64Args {
20438  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbUpdateI64Args> {
20439    i_prot.read_struct_begin()?;
20440    let mut f_1: Option<i32> = None;
20441    let mut f_2: Option<Uint64> = None;
20442    let mut f_3: Option<Vec<u8>> = None;
20443    loop {
20444      let field_ident = i_prot.read_field_begin()?;
20445      if field_ident.field_type == TType::Stop {
20446        break;
20447      }
20448      let field_id = field_id(&field_ident)?;
20449      match field_id {
20450        1 => {
20451          let val = i_prot.read_i32()?;
20452          f_1 = Some(val);
20453        },
20454        2 => {
20455          let val = Uint64::read_from_in_protocol(i_prot)?;
20456          f_2 = Some(val);
20457        },
20458        3 => {
20459          let val = i_prot.read_bytes()?;
20460          f_3 = Some(val);
20461        },
20462        _ => {
20463          i_prot.skip(field_ident.field_type)?;
20464        },
20465      };
20466      i_prot.read_field_end()?;
20467    }
20468    i_prot.read_struct_end()?;
20469    verify_required_field_exists("ApplyDbUpdateI64Args.iterator", &f_1)?;
20470    verify_required_field_exists("ApplyDbUpdateI64Args.payer", &f_2)?;
20471    verify_required_field_exists("ApplyDbUpdateI64Args.data", &f_3)?;
20472    let ret = ApplyDbUpdateI64Args {
20473      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
20474      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
20475      data: f_3.expect("auto-generated code should have checked for presence of required fields"),
20476    };
20477    Ok(ret)
20478  }
20479  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20480    let struct_ident = TStructIdentifier::new("db_update_i64_args");
20481    o_prot.write_struct_begin(&struct_ident)?;
20482    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
20483    o_prot.write_i32(self.iterator)?;
20484    o_prot.write_field_end()?;
20485    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
20486    self.payer.write_to_out_protocol(o_prot)?;
20487    o_prot.write_field_end()?;
20488    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 3))?;
20489    o_prot.write_bytes(&self.data)?;
20490    o_prot.write_field_end()?;
20491    o_prot.write_field_stop()?;
20492    o_prot.write_struct_end()
20493  }
20494}
20495
20496//
20497// ApplyDbUpdateI64Result
20498//
20499
20500#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20501struct ApplyDbUpdateI64Result {
20502}
20503
20504impl ApplyDbUpdateI64Result {
20505  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbUpdateI64Result> {
20506    i_prot.read_struct_begin()?;
20507    loop {
20508      let field_ident = i_prot.read_field_begin()?;
20509      if field_ident.field_type == TType::Stop {
20510        break;
20511      }
20512      let field_id = field_id(&field_ident)?;
20513      match field_id {
20514        _ => {
20515          i_prot.skip(field_ident.field_type)?;
20516        },
20517      };
20518      i_prot.read_field_end()?;
20519    }
20520    i_prot.read_struct_end()?;
20521    let ret = ApplyDbUpdateI64Result {};
20522    Ok(ret)
20523  }
20524  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20525    let struct_ident = TStructIdentifier::new("ApplyDbUpdateI64Result");
20526    o_prot.write_struct_begin(&struct_ident)?;
20527    o_prot.write_field_stop()?;
20528    o_prot.write_struct_end()
20529  }
20530  fn ok_or(self) -> thrift::Result<()> {
20531    Ok(())
20532  }
20533}
20534
20535//
20536// ApplyDbRemoveI64Args
20537//
20538
20539#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20540struct ApplyDbRemoveI64Args {
20541  iterator: i32,
20542}
20543
20544impl ApplyDbRemoveI64Args {
20545  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbRemoveI64Args> {
20546    i_prot.read_struct_begin()?;
20547    let mut f_1: Option<i32> = None;
20548    loop {
20549      let field_ident = i_prot.read_field_begin()?;
20550      if field_ident.field_type == TType::Stop {
20551        break;
20552      }
20553      let field_id = field_id(&field_ident)?;
20554      match field_id {
20555        1 => {
20556          let val = i_prot.read_i32()?;
20557          f_1 = Some(val);
20558        },
20559        _ => {
20560          i_prot.skip(field_ident.field_type)?;
20561        },
20562      };
20563      i_prot.read_field_end()?;
20564    }
20565    i_prot.read_struct_end()?;
20566    verify_required_field_exists("ApplyDbRemoveI64Args.iterator", &f_1)?;
20567    let ret = ApplyDbRemoveI64Args {
20568      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
20569    };
20570    Ok(ret)
20571  }
20572  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20573    let struct_ident = TStructIdentifier::new("db_remove_i64_args");
20574    o_prot.write_struct_begin(&struct_ident)?;
20575    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
20576    o_prot.write_i32(self.iterator)?;
20577    o_prot.write_field_end()?;
20578    o_prot.write_field_stop()?;
20579    o_prot.write_struct_end()
20580  }
20581}
20582
20583//
20584// ApplyDbRemoveI64Result
20585//
20586
20587#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20588struct ApplyDbRemoveI64Result {
20589}
20590
20591impl ApplyDbRemoveI64Result {
20592  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbRemoveI64Result> {
20593    i_prot.read_struct_begin()?;
20594    loop {
20595      let field_ident = i_prot.read_field_begin()?;
20596      if field_ident.field_type == TType::Stop {
20597        break;
20598      }
20599      let field_id = field_id(&field_ident)?;
20600      match field_id {
20601        _ => {
20602          i_prot.skip(field_ident.field_type)?;
20603        },
20604      };
20605      i_prot.read_field_end()?;
20606    }
20607    i_prot.read_struct_end()?;
20608    let ret = ApplyDbRemoveI64Result {};
20609    Ok(ret)
20610  }
20611  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20612    let struct_ident = TStructIdentifier::new("ApplyDbRemoveI64Result");
20613    o_prot.write_struct_begin(&struct_ident)?;
20614    o_prot.write_field_stop()?;
20615    o_prot.write_struct_end()
20616  }
20617  fn ok_or(self) -> thrift::Result<()> {
20618    Ok(())
20619  }
20620}
20621
20622//
20623// ApplyDbGetI64Args
20624//
20625
20626#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20627struct ApplyDbGetI64Args {
20628  iterator: i32,
20629}
20630
20631impl ApplyDbGetI64Args {
20632  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbGetI64Args> {
20633    i_prot.read_struct_begin()?;
20634    let mut f_1: Option<i32> = None;
20635    loop {
20636      let field_ident = i_prot.read_field_begin()?;
20637      if field_ident.field_type == TType::Stop {
20638        break;
20639      }
20640      let field_id = field_id(&field_ident)?;
20641      match field_id {
20642        1 => {
20643          let val = i_prot.read_i32()?;
20644          f_1 = Some(val);
20645        },
20646        _ => {
20647          i_prot.skip(field_ident.field_type)?;
20648        },
20649      };
20650      i_prot.read_field_end()?;
20651    }
20652    i_prot.read_struct_end()?;
20653    verify_required_field_exists("ApplyDbGetI64Args.iterator", &f_1)?;
20654    let ret = ApplyDbGetI64Args {
20655      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
20656    };
20657    Ok(ret)
20658  }
20659  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20660    let struct_ident = TStructIdentifier::new("db_get_i64_args");
20661    o_prot.write_struct_begin(&struct_ident)?;
20662    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
20663    o_prot.write_i32(self.iterator)?;
20664    o_prot.write_field_end()?;
20665    o_prot.write_field_stop()?;
20666    o_prot.write_struct_end()
20667  }
20668}
20669
20670//
20671// ApplyDbGetI64Result
20672//
20673
20674#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20675struct ApplyDbGetI64Result {
20676  result_value: Option<Vec<u8>>,
20677}
20678
20679impl ApplyDbGetI64Result {
20680  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbGetI64Result> {
20681    i_prot.read_struct_begin()?;
20682    let mut f_0: Option<Vec<u8>> = None;
20683    loop {
20684      let field_ident = i_prot.read_field_begin()?;
20685      if field_ident.field_type == TType::Stop {
20686        break;
20687      }
20688      let field_id = field_id(&field_ident)?;
20689      match field_id {
20690        0 => {
20691          let val = i_prot.read_bytes()?;
20692          f_0 = Some(val);
20693        },
20694        _ => {
20695          i_prot.skip(field_ident.field_type)?;
20696        },
20697      };
20698      i_prot.read_field_end()?;
20699    }
20700    i_prot.read_struct_end()?;
20701    let ret = ApplyDbGetI64Result {
20702      result_value: f_0,
20703    };
20704    Ok(ret)
20705  }
20706  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20707    let struct_ident = TStructIdentifier::new("ApplyDbGetI64Result");
20708    o_prot.write_struct_begin(&struct_ident)?;
20709    if let Some(ref fld_var) = self.result_value {
20710      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::String, 0))?;
20711      o_prot.write_bytes(fld_var)?;
20712      o_prot.write_field_end()?
20713    }
20714    o_prot.write_field_stop()?;
20715    o_prot.write_struct_end()
20716  }
20717  fn ok_or(self) -> thrift::Result<Vec<u8>> {
20718    if self.result_value.is_some() {
20719      Ok(self.result_value.unwrap())
20720    } else {
20721      Err(
20722        thrift::Error::Application(
20723          ApplicationError::new(
20724            ApplicationErrorKind::MissingResult,
20725            "no result received for ApplyDbGetI64"
20726          )
20727        )
20728      )
20729    }
20730  }
20731}
20732
20733//
20734// ApplyDbNextI64Args
20735//
20736
20737#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20738struct ApplyDbNextI64Args {
20739  iterator: i32,
20740}
20741
20742impl ApplyDbNextI64Args {
20743  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbNextI64Args> {
20744    i_prot.read_struct_begin()?;
20745    let mut f_1: Option<i32> = None;
20746    loop {
20747      let field_ident = i_prot.read_field_begin()?;
20748      if field_ident.field_type == TType::Stop {
20749        break;
20750      }
20751      let field_id = field_id(&field_ident)?;
20752      match field_id {
20753        1 => {
20754          let val = i_prot.read_i32()?;
20755          f_1 = Some(val);
20756        },
20757        _ => {
20758          i_prot.skip(field_ident.field_type)?;
20759        },
20760      };
20761      i_prot.read_field_end()?;
20762    }
20763    i_prot.read_struct_end()?;
20764    verify_required_field_exists("ApplyDbNextI64Args.iterator", &f_1)?;
20765    let ret = ApplyDbNextI64Args {
20766      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
20767    };
20768    Ok(ret)
20769  }
20770  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20771    let struct_ident = TStructIdentifier::new("db_next_i64_args");
20772    o_prot.write_struct_begin(&struct_ident)?;
20773    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
20774    o_prot.write_i32(self.iterator)?;
20775    o_prot.write_field_end()?;
20776    o_prot.write_field_stop()?;
20777    o_prot.write_struct_end()
20778  }
20779}
20780
20781//
20782// ApplyDbNextI64Result
20783//
20784
20785#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20786struct ApplyDbNextI64Result {
20787  result_value: Option<NextPreviousReturn>,
20788}
20789
20790impl ApplyDbNextI64Result {
20791  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbNextI64Result> {
20792    i_prot.read_struct_begin()?;
20793    let mut f_0: Option<NextPreviousReturn> = None;
20794    loop {
20795      let field_ident = i_prot.read_field_begin()?;
20796      if field_ident.field_type == TType::Stop {
20797        break;
20798      }
20799      let field_id = field_id(&field_ident)?;
20800      match field_id {
20801        0 => {
20802          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
20803          f_0 = Some(val);
20804        },
20805        _ => {
20806          i_prot.skip(field_ident.field_type)?;
20807        },
20808      };
20809      i_prot.read_field_end()?;
20810    }
20811    i_prot.read_struct_end()?;
20812    let ret = ApplyDbNextI64Result {
20813      result_value: f_0,
20814    };
20815    Ok(ret)
20816  }
20817  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20818    let struct_ident = TStructIdentifier::new("ApplyDbNextI64Result");
20819    o_prot.write_struct_begin(&struct_ident)?;
20820    if let Some(ref fld_var) = self.result_value {
20821      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
20822      fld_var.write_to_out_protocol(o_prot)?;
20823      o_prot.write_field_end()?
20824    }
20825    o_prot.write_field_stop()?;
20826    o_prot.write_struct_end()
20827  }
20828  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
20829    if self.result_value.is_some() {
20830      Ok(self.result_value.unwrap())
20831    } else {
20832      Err(
20833        thrift::Error::Application(
20834          ApplicationError::new(
20835            ApplicationErrorKind::MissingResult,
20836            "no result received for ApplyDbNextI64"
20837          )
20838        )
20839      )
20840    }
20841  }
20842}
20843
20844//
20845// ApplyDbPreviousI64Args
20846//
20847
20848#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20849struct ApplyDbPreviousI64Args {
20850  iterator: i32,
20851}
20852
20853impl ApplyDbPreviousI64Args {
20854  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbPreviousI64Args> {
20855    i_prot.read_struct_begin()?;
20856    let mut f_1: Option<i32> = None;
20857    loop {
20858      let field_ident = i_prot.read_field_begin()?;
20859      if field_ident.field_type == TType::Stop {
20860        break;
20861      }
20862      let field_id = field_id(&field_ident)?;
20863      match field_id {
20864        1 => {
20865          let val = i_prot.read_i32()?;
20866          f_1 = Some(val);
20867        },
20868        _ => {
20869          i_prot.skip(field_ident.field_type)?;
20870        },
20871      };
20872      i_prot.read_field_end()?;
20873    }
20874    i_prot.read_struct_end()?;
20875    verify_required_field_exists("ApplyDbPreviousI64Args.iterator", &f_1)?;
20876    let ret = ApplyDbPreviousI64Args {
20877      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
20878    };
20879    Ok(ret)
20880  }
20881  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20882    let struct_ident = TStructIdentifier::new("db_previous_i64_args");
20883    o_prot.write_struct_begin(&struct_ident)?;
20884    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
20885    o_prot.write_i32(self.iterator)?;
20886    o_prot.write_field_end()?;
20887    o_prot.write_field_stop()?;
20888    o_prot.write_struct_end()
20889  }
20890}
20891
20892//
20893// ApplyDbPreviousI64Result
20894//
20895
20896#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20897struct ApplyDbPreviousI64Result {
20898  result_value: Option<NextPreviousReturn>,
20899}
20900
20901impl ApplyDbPreviousI64Result {
20902  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbPreviousI64Result> {
20903    i_prot.read_struct_begin()?;
20904    let mut f_0: Option<NextPreviousReturn> = None;
20905    loop {
20906      let field_ident = i_prot.read_field_begin()?;
20907      if field_ident.field_type == TType::Stop {
20908        break;
20909      }
20910      let field_id = field_id(&field_ident)?;
20911      match field_id {
20912        0 => {
20913          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
20914          f_0 = Some(val);
20915        },
20916        _ => {
20917          i_prot.skip(field_ident.field_type)?;
20918        },
20919      };
20920      i_prot.read_field_end()?;
20921    }
20922    i_prot.read_struct_end()?;
20923    let ret = ApplyDbPreviousI64Result {
20924      result_value: f_0,
20925    };
20926    Ok(ret)
20927  }
20928  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
20929    let struct_ident = TStructIdentifier::new("ApplyDbPreviousI64Result");
20930    o_prot.write_struct_begin(&struct_ident)?;
20931    if let Some(ref fld_var) = self.result_value {
20932      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
20933      fld_var.write_to_out_protocol(o_prot)?;
20934      o_prot.write_field_end()?
20935    }
20936    o_prot.write_field_stop()?;
20937    o_prot.write_struct_end()
20938  }
20939  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
20940    if self.result_value.is_some() {
20941      Ok(self.result_value.unwrap())
20942    } else {
20943      Err(
20944        thrift::Error::Application(
20945          ApplicationError::new(
20946            ApplicationErrorKind::MissingResult,
20947            "no result received for ApplyDbPreviousI64"
20948          )
20949        )
20950      )
20951    }
20952  }
20953}
20954
20955//
20956// ApplyDbFindI64Args
20957//
20958
20959#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
20960struct ApplyDbFindI64Args {
20961  code: Uint64,
20962  scope: Uint64,
20963  table: Uint64,
20964  id: Uint64,
20965}
20966
20967impl ApplyDbFindI64Args {
20968  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbFindI64Args> {
20969    i_prot.read_struct_begin()?;
20970    let mut f_1: Option<Uint64> = None;
20971    let mut f_2: Option<Uint64> = None;
20972    let mut f_3: Option<Uint64> = None;
20973    let mut f_4: Option<Uint64> = None;
20974    loop {
20975      let field_ident = i_prot.read_field_begin()?;
20976      if field_ident.field_type == TType::Stop {
20977        break;
20978      }
20979      let field_id = field_id(&field_ident)?;
20980      match field_id {
20981        1 => {
20982          let val = Uint64::read_from_in_protocol(i_prot)?;
20983          f_1 = Some(val);
20984        },
20985        2 => {
20986          let val = Uint64::read_from_in_protocol(i_prot)?;
20987          f_2 = Some(val);
20988        },
20989        3 => {
20990          let val = Uint64::read_from_in_protocol(i_prot)?;
20991          f_3 = Some(val);
20992        },
20993        4 => {
20994          let val = Uint64::read_from_in_protocol(i_prot)?;
20995          f_4 = Some(val);
20996        },
20997        _ => {
20998          i_prot.skip(field_ident.field_type)?;
20999        },
21000      };
21001      i_prot.read_field_end()?;
21002    }
21003    i_prot.read_struct_end()?;
21004    verify_required_field_exists("ApplyDbFindI64Args.code", &f_1)?;
21005    verify_required_field_exists("ApplyDbFindI64Args.scope", &f_2)?;
21006    verify_required_field_exists("ApplyDbFindI64Args.table", &f_3)?;
21007    verify_required_field_exists("ApplyDbFindI64Args.id", &f_4)?;
21008    let ret = ApplyDbFindI64Args {
21009      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
21010      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
21011      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
21012      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
21013    };
21014    Ok(ret)
21015  }
21016  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21017    let struct_ident = TStructIdentifier::new("db_find_i64_args");
21018    o_prot.write_struct_begin(&struct_ident)?;
21019    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
21020    self.code.write_to_out_protocol(o_prot)?;
21021    o_prot.write_field_end()?;
21022    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
21023    self.scope.write_to_out_protocol(o_prot)?;
21024    o_prot.write_field_end()?;
21025    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
21026    self.table.write_to_out_protocol(o_prot)?;
21027    o_prot.write_field_end()?;
21028    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
21029    self.id.write_to_out_protocol(o_prot)?;
21030    o_prot.write_field_end()?;
21031    o_prot.write_field_stop()?;
21032    o_prot.write_struct_end()
21033  }
21034}
21035
21036//
21037// ApplyDbFindI64Result
21038//
21039
21040#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21041struct ApplyDbFindI64Result {
21042  result_value: Option<i32>,
21043}
21044
21045impl ApplyDbFindI64Result {
21046  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbFindI64Result> {
21047    i_prot.read_struct_begin()?;
21048    let mut f_0: Option<i32> = None;
21049    loop {
21050      let field_ident = i_prot.read_field_begin()?;
21051      if field_ident.field_type == TType::Stop {
21052        break;
21053      }
21054      let field_id = field_id(&field_ident)?;
21055      match field_id {
21056        0 => {
21057          let val = i_prot.read_i32()?;
21058          f_0 = Some(val);
21059        },
21060        _ => {
21061          i_prot.skip(field_ident.field_type)?;
21062        },
21063      };
21064      i_prot.read_field_end()?;
21065    }
21066    i_prot.read_struct_end()?;
21067    let ret = ApplyDbFindI64Result {
21068      result_value: f_0,
21069    };
21070    Ok(ret)
21071  }
21072  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21073    let struct_ident = TStructIdentifier::new("ApplyDbFindI64Result");
21074    o_prot.write_struct_begin(&struct_ident)?;
21075    if let Some(fld_var) = self.result_value {
21076      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
21077      o_prot.write_i32(fld_var)?;
21078      o_prot.write_field_end()?
21079    }
21080    o_prot.write_field_stop()?;
21081    o_prot.write_struct_end()
21082  }
21083  fn ok_or(self) -> thrift::Result<i32> {
21084    if self.result_value.is_some() {
21085      Ok(self.result_value.unwrap())
21086    } else {
21087      Err(
21088        thrift::Error::Application(
21089          ApplicationError::new(
21090            ApplicationErrorKind::MissingResult,
21091            "no result received for ApplyDbFindI64"
21092          )
21093        )
21094      )
21095    }
21096  }
21097}
21098
21099//
21100// ApplyDbLowerboundI64Args
21101//
21102
21103#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21104struct ApplyDbLowerboundI64Args {
21105  code: Uint64,
21106  scope: Uint64,
21107  table: Uint64,
21108  id: Uint64,
21109}
21110
21111impl ApplyDbLowerboundI64Args {
21112  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbLowerboundI64Args> {
21113    i_prot.read_struct_begin()?;
21114    let mut f_1: Option<Uint64> = None;
21115    let mut f_2: Option<Uint64> = None;
21116    let mut f_3: Option<Uint64> = None;
21117    let mut f_4: Option<Uint64> = None;
21118    loop {
21119      let field_ident = i_prot.read_field_begin()?;
21120      if field_ident.field_type == TType::Stop {
21121        break;
21122      }
21123      let field_id = field_id(&field_ident)?;
21124      match field_id {
21125        1 => {
21126          let val = Uint64::read_from_in_protocol(i_prot)?;
21127          f_1 = Some(val);
21128        },
21129        2 => {
21130          let val = Uint64::read_from_in_protocol(i_prot)?;
21131          f_2 = Some(val);
21132        },
21133        3 => {
21134          let val = Uint64::read_from_in_protocol(i_prot)?;
21135          f_3 = Some(val);
21136        },
21137        4 => {
21138          let val = Uint64::read_from_in_protocol(i_prot)?;
21139          f_4 = Some(val);
21140        },
21141        _ => {
21142          i_prot.skip(field_ident.field_type)?;
21143        },
21144      };
21145      i_prot.read_field_end()?;
21146    }
21147    i_prot.read_struct_end()?;
21148    verify_required_field_exists("ApplyDbLowerboundI64Args.code", &f_1)?;
21149    verify_required_field_exists("ApplyDbLowerboundI64Args.scope", &f_2)?;
21150    verify_required_field_exists("ApplyDbLowerboundI64Args.table", &f_3)?;
21151    verify_required_field_exists("ApplyDbLowerboundI64Args.id", &f_4)?;
21152    let ret = ApplyDbLowerboundI64Args {
21153      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
21154      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
21155      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
21156      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
21157    };
21158    Ok(ret)
21159  }
21160  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21161    let struct_ident = TStructIdentifier::new("db_lowerbound_i64_args");
21162    o_prot.write_struct_begin(&struct_ident)?;
21163    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
21164    self.code.write_to_out_protocol(o_prot)?;
21165    o_prot.write_field_end()?;
21166    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
21167    self.scope.write_to_out_protocol(o_prot)?;
21168    o_prot.write_field_end()?;
21169    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
21170    self.table.write_to_out_protocol(o_prot)?;
21171    o_prot.write_field_end()?;
21172    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
21173    self.id.write_to_out_protocol(o_prot)?;
21174    o_prot.write_field_end()?;
21175    o_prot.write_field_stop()?;
21176    o_prot.write_struct_end()
21177  }
21178}
21179
21180//
21181// ApplyDbLowerboundI64Result
21182//
21183
21184#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21185struct ApplyDbLowerboundI64Result {
21186  result_value: Option<i32>,
21187}
21188
21189impl ApplyDbLowerboundI64Result {
21190  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbLowerboundI64Result> {
21191    i_prot.read_struct_begin()?;
21192    let mut f_0: Option<i32> = None;
21193    loop {
21194      let field_ident = i_prot.read_field_begin()?;
21195      if field_ident.field_type == TType::Stop {
21196        break;
21197      }
21198      let field_id = field_id(&field_ident)?;
21199      match field_id {
21200        0 => {
21201          let val = i_prot.read_i32()?;
21202          f_0 = Some(val);
21203        },
21204        _ => {
21205          i_prot.skip(field_ident.field_type)?;
21206        },
21207      };
21208      i_prot.read_field_end()?;
21209    }
21210    i_prot.read_struct_end()?;
21211    let ret = ApplyDbLowerboundI64Result {
21212      result_value: f_0,
21213    };
21214    Ok(ret)
21215  }
21216  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21217    let struct_ident = TStructIdentifier::new("ApplyDbLowerboundI64Result");
21218    o_prot.write_struct_begin(&struct_ident)?;
21219    if let Some(fld_var) = self.result_value {
21220      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
21221      o_prot.write_i32(fld_var)?;
21222      o_prot.write_field_end()?
21223    }
21224    o_prot.write_field_stop()?;
21225    o_prot.write_struct_end()
21226  }
21227  fn ok_or(self) -> thrift::Result<i32> {
21228    if self.result_value.is_some() {
21229      Ok(self.result_value.unwrap())
21230    } else {
21231      Err(
21232        thrift::Error::Application(
21233          ApplicationError::new(
21234            ApplicationErrorKind::MissingResult,
21235            "no result received for ApplyDbLowerboundI64"
21236          )
21237        )
21238      )
21239    }
21240  }
21241}
21242
21243//
21244// ApplyDbUpperboundI64Args
21245//
21246
21247#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21248struct ApplyDbUpperboundI64Args {
21249  code: Uint64,
21250  scope: Uint64,
21251  table: Uint64,
21252  id: Uint64,
21253}
21254
21255impl ApplyDbUpperboundI64Args {
21256  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbUpperboundI64Args> {
21257    i_prot.read_struct_begin()?;
21258    let mut f_1: Option<Uint64> = None;
21259    let mut f_2: Option<Uint64> = None;
21260    let mut f_3: Option<Uint64> = None;
21261    let mut f_4: Option<Uint64> = None;
21262    loop {
21263      let field_ident = i_prot.read_field_begin()?;
21264      if field_ident.field_type == TType::Stop {
21265        break;
21266      }
21267      let field_id = field_id(&field_ident)?;
21268      match field_id {
21269        1 => {
21270          let val = Uint64::read_from_in_protocol(i_prot)?;
21271          f_1 = Some(val);
21272        },
21273        2 => {
21274          let val = Uint64::read_from_in_protocol(i_prot)?;
21275          f_2 = Some(val);
21276        },
21277        3 => {
21278          let val = Uint64::read_from_in_protocol(i_prot)?;
21279          f_3 = Some(val);
21280        },
21281        4 => {
21282          let val = Uint64::read_from_in_protocol(i_prot)?;
21283          f_4 = Some(val);
21284        },
21285        _ => {
21286          i_prot.skip(field_ident.field_type)?;
21287        },
21288      };
21289      i_prot.read_field_end()?;
21290    }
21291    i_prot.read_struct_end()?;
21292    verify_required_field_exists("ApplyDbUpperboundI64Args.code", &f_1)?;
21293    verify_required_field_exists("ApplyDbUpperboundI64Args.scope", &f_2)?;
21294    verify_required_field_exists("ApplyDbUpperboundI64Args.table", &f_3)?;
21295    verify_required_field_exists("ApplyDbUpperboundI64Args.id", &f_4)?;
21296    let ret = ApplyDbUpperboundI64Args {
21297      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
21298      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
21299      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
21300      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
21301    };
21302    Ok(ret)
21303  }
21304  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21305    let struct_ident = TStructIdentifier::new("db_upperbound_i64_args");
21306    o_prot.write_struct_begin(&struct_ident)?;
21307    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
21308    self.code.write_to_out_protocol(o_prot)?;
21309    o_prot.write_field_end()?;
21310    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
21311    self.scope.write_to_out_protocol(o_prot)?;
21312    o_prot.write_field_end()?;
21313    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
21314    self.table.write_to_out_protocol(o_prot)?;
21315    o_prot.write_field_end()?;
21316    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
21317    self.id.write_to_out_protocol(o_prot)?;
21318    o_prot.write_field_end()?;
21319    o_prot.write_field_stop()?;
21320    o_prot.write_struct_end()
21321  }
21322}
21323
21324//
21325// ApplyDbUpperboundI64Result
21326//
21327
21328#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21329struct ApplyDbUpperboundI64Result {
21330  result_value: Option<i32>,
21331}
21332
21333impl ApplyDbUpperboundI64Result {
21334  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbUpperboundI64Result> {
21335    i_prot.read_struct_begin()?;
21336    let mut f_0: Option<i32> = None;
21337    loop {
21338      let field_ident = i_prot.read_field_begin()?;
21339      if field_ident.field_type == TType::Stop {
21340        break;
21341      }
21342      let field_id = field_id(&field_ident)?;
21343      match field_id {
21344        0 => {
21345          let val = i_prot.read_i32()?;
21346          f_0 = Some(val);
21347        },
21348        _ => {
21349          i_prot.skip(field_ident.field_type)?;
21350        },
21351      };
21352      i_prot.read_field_end()?;
21353    }
21354    i_prot.read_struct_end()?;
21355    let ret = ApplyDbUpperboundI64Result {
21356      result_value: f_0,
21357    };
21358    Ok(ret)
21359  }
21360  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21361    let struct_ident = TStructIdentifier::new("ApplyDbUpperboundI64Result");
21362    o_prot.write_struct_begin(&struct_ident)?;
21363    if let Some(fld_var) = self.result_value {
21364      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
21365      o_prot.write_i32(fld_var)?;
21366      o_prot.write_field_end()?
21367    }
21368    o_prot.write_field_stop()?;
21369    o_prot.write_struct_end()
21370  }
21371  fn ok_or(self) -> thrift::Result<i32> {
21372    if self.result_value.is_some() {
21373      Ok(self.result_value.unwrap())
21374    } else {
21375      Err(
21376        thrift::Error::Application(
21377          ApplicationError::new(
21378            ApplicationErrorKind::MissingResult,
21379            "no result received for ApplyDbUpperboundI64"
21380          )
21381        )
21382      )
21383    }
21384  }
21385}
21386
21387//
21388// ApplyDbEndI64Args
21389//
21390
21391#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21392struct ApplyDbEndI64Args {
21393  code: Uint64,
21394  scope: Uint64,
21395  table: Uint64,
21396}
21397
21398impl ApplyDbEndI64Args {
21399  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbEndI64Args> {
21400    i_prot.read_struct_begin()?;
21401    let mut f_1: Option<Uint64> = None;
21402    let mut f_2: Option<Uint64> = None;
21403    let mut f_3: Option<Uint64> = None;
21404    loop {
21405      let field_ident = i_prot.read_field_begin()?;
21406      if field_ident.field_type == TType::Stop {
21407        break;
21408      }
21409      let field_id = field_id(&field_ident)?;
21410      match field_id {
21411        1 => {
21412          let val = Uint64::read_from_in_protocol(i_prot)?;
21413          f_1 = Some(val);
21414        },
21415        2 => {
21416          let val = Uint64::read_from_in_protocol(i_prot)?;
21417          f_2 = Some(val);
21418        },
21419        3 => {
21420          let val = Uint64::read_from_in_protocol(i_prot)?;
21421          f_3 = Some(val);
21422        },
21423        _ => {
21424          i_prot.skip(field_ident.field_type)?;
21425        },
21426      };
21427      i_prot.read_field_end()?;
21428    }
21429    i_prot.read_struct_end()?;
21430    verify_required_field_exists("ApplyDbEndI64Args.code", &f_1)?;
21431    verify_required_field_exists("ApplyDbEndI64Args.scope", &f_2)?;
21432    verify_required_field_exists("ApplyDbEndI64Args.table", &f_3)?;
21433    let ret = ApplyDbEndI64Args {
21434      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
21435      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
21436      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
21437    };
21438    Ok(ret)
21439  }
21440  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21441    let struct_ident = TStructIdentifier::new("db_end_i64_args");
21442    o_prot.write_struct_begin(&struct_ident)?;
21443    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
21444    self.code.write_to_out_protocol(o_prot)?;
21445    o_prot.write_field_end()?;
21446    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
21447    self.scope.write_to_out_protocol(o_prot)?;
21448    o_prot.write_field_end()?;
21449    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
21450    self.table.write_to_out_protocol(o_prot)?;
21451    o_prot.write_field_end()?;
21452    o_prot.write_field_stop()?;
21453    o_prot.write_struct_end()
21454  }
21455}
21456
21457//
21458// ApplyDbEndI64Result
21459//
21460
21461#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21462struct ApplyDbEndI64Result {
21463  result_value: Option<i32>,
21464}
21465
21466impl ApplyDbEndI64Result {
21467  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbEndI64Result> {
21468    i_prot.read_struct_begin()?;
21469    let mut f_0: Option<i32> = None;
21470    loop {
21471      let field_ident = i_prot.read_field_begin()?;
21472      if field_ident.field_type == TType::Stop {
21473        break;
21474      }
21475      let field_id = field_id(&field_ident)?;
21476      match field_id {
21477        0 => {
21478          let val = i_prot.read_i32()?;
21479          f_0 = Some(val);
21480        },
21481        _ => {
21482          i_prot.skip(field_ident.field_type)?;
21483        },
21484      };
21485      i_prot.read_field_end()?;
21486    }
21487    i_prot.read_struct_end()?;
21488    let ret = ApplyDbEndI64Result {
21489      result_value: f_0,
21490    };
21491    Ok(ret)
21492  }
21493  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21494    let struct_ident = TStructIdentifier::new("ApplyDbEndI64Result");
21495    o_prot.write_struct_begin(&struct_ident)?;
21496    if let Some(fld_var) = self.result_value {
21497      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
21498      o_prot.write_i32(fld_var)?;
21499      o_prot.write_field_end()?
21500    }
21501    o_prot.write_field_stop()?;
21502    o_prot.write_struct_end()
21503  }
21504  fn ok_or(self) -> thrift::Result<i32> {
21505    if self.result_value.is_some() {
21506      Ok(self.result_value.unwrap())
21507    } else {
21508      Err(
21509        thrift::Error::Application(
21510          ApplicationError::new(
21511            ApplicationErrorKind::MissingResult,
21512            "no result received for ApplyDbEndI64"
21513          )
21514        )
21515      )
21516    }
21517  }
21518}
21519
21520//
21521// ApplyDbIdx64StoreArgs
21522//
21523
21524#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21525struct ApplyDbIdx64StoreArgs {
21526  scope: Uint64,
21527  table: Uint64,
21528  payer: Uint64,
21529  id: Uint64,
21530  secondary: Uint64,
21531}
21532
21533impl ApplyDbIdx64StoreArgs {
21534  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64StoreArgs> {
21535    i_prot.read_struct_begin()?;
21536    let mut f_1: Option<Uint64> = None;
21537    let mut f_2: Option<Uint64> = None;
21538    let mut f_3: Option<Uint64> = None;
21539    let mut f_4: Option<Uint64> = None;
21540    let mut f_5: Option<Uint64> = None;
21541    loop {
21542      let field_ident = i_prot.read_field_begin()?;
21543      if field_ident.field_type == TType::Stop {
21544        break;
21545      }
21546      let field_id = field_id(&field_ident)?;
21547      match field_id {
21548        1 => {
21549          let val = Uint64::read_from_in_protocol(i_prot)?;
21550          f_1 = Some(val);
21551        },
21552        2 => {
21553          let val = Uint64::read_from_in_protocol(i_prot)?;
21554          f_2 = Some(val);
21555        },
21556        3 => {
21557          let val = Uint64::read_from_in_protocol(i_prot)?;
21558          f_3 = Some(val);
21559        },
21560        4 => {
21561          let val = Uint64::read_from_in_protocol(i_prot)?;
21562          f_4 = Some(val);
21563        },
21564        5 => {
21565          let val = Uint64::read_from_in_protocol(i_prot)?;
21566          f_5 = Some(val);
21567        },
21568        _ => {
21569          i_prot.skip(field_ident.field_type)?;
21570        },
21571      };
21572      i_prot.read_field_end()?;
21573    }
21574    i_prot.read_struct_end()?;
21575    verify_required_field_exists("ApplyDbIdx64StoreArgs.scope", &f_1)?;
21576    verify_required_field_exists("ApplyDbIdx64StoreArgs.table", &f_2)?;
21577    verify_required_field_exists("ApplyDbIdx64StoreArgs.payer", &f_3)?;
21578    verify_required_field_exists("ApplyDbIdx64StoreArgs.id", &f_4)?;
21579    verify_required_field_exists("ApplyDbIdx64StoreArgs.secondary", &f_5)?;
21580    let ret = ApplyDbIdx64StoreArgs {
21581      scope: f_1.expect("auto-generated code should have checked for presence of required fields"),
21582      table: f_2.expect("auto-generated code should have checked for presence of required fields"),
21583      payer: f_3.expect("auto-generated code should have checked for presence of required fields"),
21584      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
21585      secondary: f_5.expect("auto-generated code should have checked for presence of required fields"),
21586    };
21587    Ok(ret)
21588  }
21589  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21590    let struct_ident = TStructIdentifier::new("db_idx64_store_args");
21591    o_prot.write_struct_begin(&struct_ident)?;
21592    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 1))?;
21593    self.scope.write_to_out_protocol(o_prot)?;
21594    o_prot.write_field_end()?;
21595    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 2))?;
21596    self.table.write_to_out_protocol(o_prot)?;
21597    o_prot.write_field_end()?;
21598    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 3))?;
21599    self.payer.write_to_out_protocol(o_prot)?;
21600    o_prot.write_field_end()?;
21601    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
21602    self.id.write_to_out_protocol(o_prot)?;
21603    o_prot.write_field_end()?;
21604    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::Struct, 5))?;
21605    self.secondary.write_to_out_protocol(o_prot)?;
21606    o_prot.write_field_end()?;
21607    o_prot.write_field_stop()?;
21608    o_prot.write_struct_end()
21609  }
21610}
21611
21612//
21613// ApplyDbIdx64StoreResult
21614//
21615
21616#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21617struct ApplyDbIdx64StoreResult {
21618  result_value: Option<i32>,
21619}
21620
21621impl ApplyDbIdx64StoreResult {
21622  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64StoreResult> {
21623    i_prot.read_struct_begin()?;
21624    let mut f_0: Option<i32> = None;
21625    loop {
21626      let field_ident = i_prot.read_field_begin()?;
21627      if field_ident.field_type == TType::Stop {
21628        break;
21629      }
21630      let field_id = field_id(&field_ident)?;
21631      match field_id {
21632        0 => {
21633          let val = i_prot.read_i32()?;
21634          f_0 = Some(val);
21635        },
21636        _ => {
21637          i_prot.skip(field_ident.field_type)?;
21638        },
21639      };
21640      i_prot.read_field_end()?;
21641    }
21642    i_prot.read_struct_end()?;
21643    let ret = ApplyDbIdx64StoreResult {
21644      result_value: f_0,
21645    };
21646    Ok(ret)
21647  }
21648  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21649    let struct_ident = TStructIdentifier::new("ApplyDbIdx64StoreResult");
21650    o_prot.write_struct_begin(&struct_ident)?;
21651    if let Some(fld_var) = self.result_value {
21652      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
21653      o_prot.write_i32(fld_var)?;
21654      o_prot.write_field_end()?
21655    }
21656    o_prot.write_field_stop()?;
21657    o_prot.write_struct_end()
21658  }
21659  fn ok_or(self) -> thrift::Result<i32> {
21660    if self.result_value.is_some() {
21661      Ok(self.result_value.unwrap())
21662    } else {
21663      Err(
21664        thrift::Error::Application(
21665          ApplicationError::new(
21666            ApplicationErrorKind::MissingResult,
21667            "no result received for ApplyDbIdx64Store"
21668          )
21669        )
21670      )
21671    }
21672  }
21673}
21674
21675//
21676// ApplyDbIdx64UpdateArgs
21677//
21678
21679#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21680struct ApplyDbIdx64UpdateArgs {
21681  iterator: i32,
21682  payer: Uint64,
21683  secondary: Uint64,
21684}
21685
21686impl ApplyDbIdx64UpdateArgs {
21687  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64UpdateArgs> {
21688    i_prot.read_struct_begin()?;
21689    let mut f_1: Option<i32> = None;
21690    let mut f_2: Option<Uint64> = None;
21691    let mut f_3: Option<Uint64> = None;
21692    loop {
21693      let field_ident = i_prot.read_field_begin()?;
21694      if field_ident.field_type == TType::Stop {
21695        break;
21696      }
21697      let field_id = field_id(&field_ident)?;
21698      match field_id {
21699        1 => {
21700          let val = i_prot.read_i32()?;
21701          f_1 = Some(val);
21702        },
21703        2 => {
21704          let val = Uint64::read_from_in_protocol(i_prot)?;
21705          f_2 = Some(val);
21706        },
21707        3 => {
21708          let val = Uint64::read_from_in_protocol(i_prot)?;
21709          f_3 = Some(val);
21710        },
21711        _ => {
21712          i_prot.skip(field_ident.field_type)?;
21713        },
21714      };
21715      i_prot.read_field_end()?;
21716    }
21717    i_prot.read_struct_end()?;
21718    verify_required_field_exists("ApplyDbIdx64UpdateArgs.iterator", &f_1)?;
21719    verify_required_field_exists("ApplyDbIdx64UpdateArgs.payer", &f_2)?;
21720    verify_required_field_exists("ApplyDbIdx64UpdateArgs.secondary", &f_3)?;
21721    let ret = ApplyDbIdx64UpdateArgs {
21722      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
21723      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
21724      secondary: f_3.expect("auto-generated code should have checked for presence of required fields"),
21725    };
21726    Ok(ret)
21727  }
21728  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21729    let struct_ident = TStructIdentifier::new("db_idx64_update_args");
21730    o_prot.write_struct_begin(&struct_ident)?;
21731    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
21732    o_prot.write_i32(self.iterator)?;
21733    o_prot.write_field_end()?;
21734    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
21735    self.payer.write_to_out_protocol(o_prot)?;
21736    o_prot.write_field_end()?;
21737    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::Struct, 3))?;
21738    self.secondary.write_to_out_protocol(o_prot)?;
21739    o_prot.write_field_end()?;
21740    o_prot.write_field_stop()?;
21741    o_prot.write_struct_end()
21742  }
21743}
21744
21745//
21746// ApplyDbIdx64UpdateResult
21747//
21748
21749#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21750struct ApplyDbIdx64UpdateResult {
21751}
21752
21753impl ApplyDbIdx64UpdateResult {
21754  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64UpdateResult> {
21755    i_prot.read_struct_begin()?;
21756    loop {
21757      let field_ident = i_prot.read_field_begin()?;
21758      if field_ident.field_type == TType::Stop {
21759        break;
21760      }
21761      let field_id = field_id(&field_ident)?;
21762      match field_id {
21763        _ => {
21764          i_prot.skip(field_ident.field_type)?;
21765        },
21766      };
21767      i_prot.read_field_end()?;
21768    }
21769    i_prot.read_struct_end()?;
21770    let ret = ApplyDbIdx64UpdateResult {};
21771    Ok(ret)
21772  }
21773  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21774    let struct_ident = TStructIdentifier::new("ApplyDbIdx64UpdateResult");
21775    o_prot.write_struct_begin(&struct_ident)?;
21776    o_prot.write_field_stop()?;
21777    o_prot.write_struct_end()
21778  }
21779  fn ok_or(self) -> thrift::Result<()> {
21780    Ok(())
21781  }
21782}
21783
21784//
21785// ApplyDbIdx64RemoveArgs
21786//
21787
21788#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21789struct ApplyDbIdx64RemoveArgs {
21790  iterator: i32,
21791}
21792
21793impl ApplyDbIdx64RemoveArgs {
21794  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64RemoveArgs> {
21795    i_prot.read_struct_begin()?;
21796    let mut f_1: Option<i32> = None;
21797    loop {
21798      let field_ident = i_prot.read_field_begin()?;
21799      if field_ident.field_type == TType::Stop {
21800        break;
21801      }
21802      let field_id = field_id(&field_ident)?;
21803      match field_id {
21804        1 => {
21805          let val = i_prot.read_i32()?;
21806          f_1 = Some(val);
21807        },
21808        _ => {
21809          i_prot.skip(field_ident.field_type)?;
21810        },
21811      };
21812      i_prot.read_field_end()?;
21813    }
21814    i_prot.read_struct_end()?;
21815    verify_required_field_exists("ApplyDbIdx64RemoveArgs.iterator", &f_1)?;
21816    let ret = ApplyDbIdx64RemoveArgs {
21817      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
21818    };
21819    Ok(ret)
21820  }
21821  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21822    let struct_ident = TStructIdentifier::new("db_idx64_remove_args");
21823    o_prot.write_struct_begin(&struct_ident)?;
21824    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
21825    o_prot.write_i32(self.iterator)?;
21826    o_prot.write_field_end()?;
21827    o_prot.write_field_stop()?;
21828    o_prot.write_struct_end()
21829  }
21830}
21831
21832//
21833// ApplyDbIdx64RemoveResult
21834//
21835
21836#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21837struct ApplyDbIdx64RemoveResult {
21838}
21839
21840impl ApplyDbIdx64RemoveResult {
21841  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64RemoveResult> {
21842    i_prot.read_struct_begin()?;
21843    loop {
21844      let field_ident = i_prot.read_field_begin()?;
21845      if field_ident.field_type == TType::Stop {
21846        break;
21847      }
21848      let field_id = field_id(&field_ident)?;
21849      match field_id {
21850        _ => {
21851          i_prot.skip(field_ident.field_type)?;
21852        },
21853      };
21854      i_prot.read_field_end()?;
21855    }
21856    i_prot.read_struct_end()?;
21857    let ret = ApplyDbIdx64RemoveResult {};
21858    Ok(ret)
21859  }
21860  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21861    let struct_ident = TStructIdentifier::new("ApplyDbIdx64RemoveResult");
21862    o_prot.write_struct_begin(&struct_ident)?;
21863    o_prot.write_field_stop()?;
21864    o_prot.write_struct_end()
21865  }
21866  fn ok_or(self) -> thrift::Result<()> {
21867    Ok(())
21868  }
21869}
21870
21871//
21872// ApplyDbIdx64NextArgs
21873//
21874
21875#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21876struct ApplyDbIdx64NextArgs {
21877  iterator: i32,
21878}
21879
21880impl ApplyDbIdx64NextArgs {
21881  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64NextArgs> {
21882    i_prot.read_struct_begin()?;
21883    let mut f_1: Option<i32> = None;
21884    loop {
21885      let field_ident = i_prot.read_field_begin()?;
21886      if field_ident.field_type == TType::Stop {
21887        break;
21888      }
21889      let field_id = field_id(&field_ident)?;
21890      match field_id {
21891        1 => {
21892          let val = i_prot.read_i32()?;
21893          f_1 = Some(val);
21894        },
21895        _ => {
21896          i_prot.skip(field_ident.field_type)?;
21897        },
21898      };
21899      i_prot.read_field_end()?;
21900    }
21901    i_prot.read_struct_end()?;
21902    verify_required_field_exists("ApplyDbIdx64NextArgs.iterator", &f_1)?;
21903    let ret = ApplyDbIdx64NextArgs {
21904      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
21905    };
21906    Ok(ret)
21907  }
21908  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21909    let struct_ident = TStructIdentifier::new("db_idx64_next_args");
21910    o_prot.write_struct_begin(&struct_ident)?;
21911    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
21912    o_prot.write_i32(self.iterator)?;
21913    o_prot.write_field_end()?;
21914    o_prot.write_field_stop()?;
21915    o_prot.write_struct_end()
21916  }
21917}
21918
21919//
21920// ApplyDbIdx64NextResult
21921//
21922
21923#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21924struct ApplyDbIdx64NextResult {
21925  result_value: Option<NextPreviousReturn>,
21926}
21927
21928impl ApplyDbIdx64NextResult {
21929  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64NextResult> {
21930    i_prot.read_struct_begin()?;
21931    let mut f_0: Option<NextPreviousReturn> = None;
21932    loop {
21933      let field_ident = i_prot.read_field_begin()?;
21934      if field_ident.field_type == TType::Stop {
21935        break;
21936      }
21937      let field_id = field_id(&field_ident)?;
21938      match field_id {
21939        0 => {
21940          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
21941          f_0 = Some(val);
21942        },
21943        _ => {
21944          i_prot.skip(field_ident.field_type)?;
21945        },
21946      };
21947      i_prot.read_field_end()?;
21948    }
21949    i_prot.read_struct_end()?;
21950    let ret = ApplyDbIdx64NextResult {
21951      result_value: f_0,
21952    };
21953    Ok(ret)
21954  }
21955  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
21956    let struct_ident = TStructIdentifier::new("ApplyDbIdx64NextResult");
21957    o_prot.write_struct_begin(&struct_ident)?;
21958    if let Some(ref fld_var) = self.result_value {
21959      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
21960      fld_var.write_to_out_protocol(o_prot)?;
21961      o_prot.write_field_end()?
21962    }
21963    o_prot.write_field_stop()?;
21964    o_prot.write_struct_end()
21965  }
21966  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
21967    if self.result_value.is_some() {
21968      Ok(self.result_value.unwrap())
21969    } else {
21970      Err(
21971        thrift::Error::Application(
21972          ApplicationError::new(
21973            ApplicationErrorKind::MissingResult,
21974            "no result received for ApplyDbIdx64Next"
21975          )
21976        )
21977      )
21978    }
21979  }
21980}
21981
21982//
21983// ApplyDbIdx64PreviousArgs
21984//
21985
21986#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
21987struct ApplyDbIdx64PreviousArgs {
21988  iteratory: i32,
21989}
21990
21991impl ApplyDbIdx64PreviousArgs {
21992  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64PreviousArgs> {
21993    i_prot.read_struct_begin()?;
21994    let mut f_1: Option<i32> = None;
21995    loop {
21996      let field_ident = i_prot.read_field_begin()?;
21997      if field_ident.field_type == TType::Stop {
21998        break;
21999      }
22000      let field_id = field_id(&field_ident)?;
22001      match field_id {
22002        1 => {
22003          let val = i_prot.read_i32()?;
22004          f_1 = Some(val);
22005        },
22006        _ => {
22007          i_prot.skip(field_ident.field_type)?;
22008        },
22009      };
22010      i_prot.read_field_end()?;
22011    }
22012    i_prot.read_struct_end()?;
22013    verify_required_field_exists("ApplyDbIdx64PreviousArgs.iteratory", &f_1)?;
22014    let ret = ApplyDbIdx64PreviousArgs {
22015      iteratory: f_1.expect("auto-generated code should have checked for presence of required fields"),
22016    };
22017    Ok(ret)
22018  }
22019  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22020    let struct_ident = TStructIdentifier::new("db_idx64_previous_args");
22021    o_prot.write_struct_begin(&struct_ident)?;
22022    o_prot.write_field_begin(&TFieldIdentifier::new("iteratory", TType::I32, 1))?;
22023    o_prot.write_i32(self.iteratory)?;
22024    o_prot.write_field_end()?;
22025    o_prot.write_field_stop()?;
22026    o_prot.write_struct_end()
22027  }
22028}
22029
22030//
22031// ApplyDbIdx64PreviousResult
22032//
22033
22034#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22035struct ApplyDbIdx64PreviousResult {
22036  result_value: Option<NextPreviousReturn>,
22037}
22038
22039impl ApplyDbIdx64PreviousResult {
22040  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64PreviousResult> {
22041    i_prot.read_struct_begin()?;
22042    let mut f_0: Option<NextPreviousReturn> = None;
22043    loop {
22044      let field_ident = i_prot.read_field_begin()?;
22045      if field_ident.field_type == TType::Stop {
22046        break;
22047      }
22048      let field_id = field_id(&field_ident)?;
22049      match field_id {
22050        0 => {
22051          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
22052          f_0 = Some(val);
22053        },
22054        _ => {
22055          i_prot.skip(field_ident.field_type)?;
22056        },
22057      };
22058      i_prot.read_field_end()?;
22059    }
22060    i_prot.read_struct_end()?;
22061    let ret = ApplyDbIdx64PreviousResult {
22062      result_value: f_0,
22063    };
22064    Ok(ret)
22065  }
22066  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22067    let struct_ident = TStructIdentifier::new("ApplyDbIdx64PreviousResult");
22068    o_prot.write_struct_begin(&struct_ident)?;
22069    if let Some(ref fld_var) = self.result_value {
22070      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
22071      fld_var.write_to_out_protocol(o_prot)?;
22072      o_prot.write_field_end()?
22073    }
22074    o_prot.write_field_stop()?;
22075    o_prot.write_struct_end()
22076  }
22077  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
22078    if self.result_value.is_some() {
22079      Ok(self.result_value.unwrap())
22080    } else {
22081      Err(
22082        thrift::Error::Application(
22083          ApplicationError::new(
22084            ApplicationErrorKind::MissingResult,
22085            "no result received for ApplyDbIdx64Previous"
22086          )
22087        )
22088      )
22089    }
22090  }
22091}
22092
22093//
22094// ApplyDbIdx64FindPrimaryArgs
22095//
22096
22097#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22098struct ApplyDbIdx64FindPrimaryArgs {
22099  code: Uint64,
22100  scope: Uint64,
22101  table: Uint64,
22102  primary: Uint64,
22103}
22104
22105impl ApplyDbIdx64FindPrimaryArgs {
22106  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64FindPrimaryArgs> {
22107    i_prot.read_struct_begin()?;
22108    let mut f_1: Option<Uint64> = None;
22109    let mut f_2: Option<Uint64> = None;
22110    let mut f_3: Option<Uint64> = None;
22111    let mut f_4: Option<Uint64> = None;
22112    loop {
22113      let field_ident = i_prot.read_field_begin()?;
22114      if field_ident.field_type == TType::Stop {
22115        break;
22116      }
22117      let field_id = field_id(&field_ident)?;
22118      match field_id {
22119        1 => {
22120          let val = Uint64::read_from_in_protocol(i_prot)?;
22121          f_1 = Some(val);
22122        },
22123        2 => {
22124          let val = Uint64::read_from_in_protocol(i_prot)?;
22125          f_2 = Some(val);
22126        },
22127        3 => {
22128          let val = Uint64::read_from_in_protocol(i_prot)?;
22129          f_3 = Some(val);
22130        },
22131        4 => {
22132          let val = Uint64::read_from_in_protocol(i_prot)?;
22133          f_4 = Some(val);
22134        },
22135        _ => {
22136          i_prot.skip(field_ident.field_type)?;
22137        },
22138      };
22139      i_prot.read_field_end()?;
22140    }
22141    i_prot.read_struct_end()?;
22142    verify_required_field_exists("ApplyDbIdx64FindPrimaryArgs.code", &f_1)?;
22143    verify_required_field_exists("ApplyDbIdx64FindPrimaryArgs.scope", &f_2)?;
22144    verify_required_field_exists("ApplyDbIdx64FindPrimaryArgs.table", &f_3)?;
22145    verify_required_field_exists("ApplyDbIdx64FindPrimaryArgs.primary", &f_4)?;
22146    let ret = ApplyDbIdx64FindPrimaryArgs {
22147      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
22148      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
22149      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
22150      primary: f_4.expect("auto-generated code should have checked for presence of required fields"),
22151    };
22152    Ok(ret)
22153  }
22154  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22155    let struct_ident = TStructIdentifier::new("db_idx64_find_primary_args");
22156    o_prot.write_struct_begin(&struct_ident)?;
22157    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
22158    self.code.write_to_out_protocol(o_prot)?;
22159    o_prot.write_field_end()?;
22160    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
22161    self.scope.write_to_out_protocol(o_prot)?;
22162    o_prot.write_field_end()?;
22163    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
22164    self.table.write_to_out_protocol(o_prot)?;
22165    o_prot.write_field_end()?;
22166    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 4))?;
22167    self.primary.write_to_out_protocol(o_prot)?;
22168    o_prot.write_field_end()?;
22169    o_prot.write_field_stop()?;
22170    o_prot.write_struct_end()
22171  }
22172}
22173
22174//
22175// ApplyDbIdx64FindPrimaryResult
22176//
22177
22178#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22179struct ApplyDbIdx64FindPrimaryResult {
22180  result_value: Option<FindPrimaryReturn>,
22181}
22182
22183impl ApplyDbIdx64FindPrimaryResult {
22184  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64FindPrimaryResult> {
22185    i_prot.read_struct_begin()?;
22186    let mut f_0: Option<FindPrimaryReturn> = None;
22187    loop {
22188      let field_ident = i_prot.read_field_begin()?;
22189      if field_ident.field_type == TType::Stop {
22190        break;
22191      }
22192      let field_id = field_id(&field_ident)?;
22193      match field_id {
22194        0 => {
22195          let val = FindPrimaryReturn::read_from_in_protocol(i_prot)?;
22196          f_0 = Some(val);
22197        },
22198        _ => {
22199          i_prot.skip(field_ident.field_type)?;
22200        },
22201      };
22202      i_prot.read_field_end()?;
22203    }
22204    i_prot.read_struct_end()?;
22205    let ret = ApplyDbIdx64FindPrimaryResult {
22206      result_value: f_0,
22207    };
22208    Ok(ret)
22209  }
22210  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22211    let struct_ident = TStructIdentifier::new("ApplyDbIdx64FindPrimaryResult");
22212    o_prot.write_struct_begin(&struct_ident)?;
22213    if let Some(ref fld_var) = self.result_value {
22214      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
22215      fld_var.write_to_out_protocol(o_prot)?;
22216      o_prot.write_field_end()?
22217    }
22218    o_prot.write_field_stop()?;
22219    o_prot.write_struct_end()
22220  }
22221  fn ok_or(self) -> thrift::Result<FindPrimaryReturn> {
22222    if self.result_value.is_some() {
22223      Ok(self.result_value.unwrap())
22224    } else {
22225      Err(
22226        thrift::Error::Application(
22227          ApplicationError::new(
22228            ApplicationErrorKind::MissingResult,
22229            "no result received for ApplyDbIdx64FindPrimary"
22230          )
22231        )
22232      )
22233    }
22234  }
22235}
22236
22237//
22238// ApplyDbIdx64FindSecondaryArgs
22239//
22240
22241#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22242struct ApplyDbIdx64FindSecondaryArgs {
22243  code: Uint64,
22244  scope: Uint64,
22245  table: Uint64,
22246  secondary: Uint64,
22247}
22248
22249impl ApplyDbIdx64FindSecondaryArgs {
22250  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64FindSecondaryArgs> {
22251    i_prot.read_struct_begin()?;
22252    let mut f_1: Option<Uint64> = None;
22253    let mut f_2: Option<Uint64> = None;
22254    let mut f_3: Option<Uint64> = None;
22255    let mut f_4: Option<Uint64> = None;
22256    loop {
22257      let field_ident = i_prot.read_field_begin()?;
22258      if field_ident.field_type == TType::Stop {
22259        break;
22260      }
22261      let field_id = field_id(&field_ident)?;
22262      match field_id {
22263        1 => {
22264          let val = Uint64::read_from_in_protocol(i_prot)?;
22265          f_1 = Some(val);
22266        },
22267        2 => {
22268          let val = Uint64::read_from_in_protocol(i_prot)?;
22269          f_2 = Some(val);
22270        },
22271        3 => {
22272          let val = Uint64::read_from_in_protocol(i_prot)?;
22273          f_3 = Some(val);
22274        },
22275        4 => {
22276          let val = Uint64::read_from_in_protocol(i_prot)?;
22277          f_4 = Some(val);
22278        },
22279        _ => {
22280          i_prot.skip(field_ident.field_type)?;
22281        },
22282      };
22283      i_prot.read_field_end()?;
22284    }
22285    i_prot.read_struct_end()?;
22286    verify_required_field_exists("ApplyDbIdx64FindSecondaryArgs.code", &f_1)?;
22287    verify_required_field_exists("ApplyDbIdx64FindSecondaryArgs.scope", &f_2)?;
22288    verify_required_field_exists("ApplyDbIdx64FindSecondaryArgs.table", &f_3)?;
22289    verify_required_field_exists("ApplyDbIdx64FindSecondaryArgs.secondary", &f_4)?;
22290    let ret = ApplyDbIdx64FindSecondaryArgs {
22291      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
22292      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
22293      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
22294      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
22295    };
22296    Ok(ret)
22297  }
22298  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22299    let struct_ident = TStructIdentifier::new("db_idx64_find_secondary_args");
22300    o_prot.write_struct_begin(&struct_ident)?;
22301    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
22302    self.code.write_to_out_protocol(o_prot)?;
22303    o_prot.write_field_end()?;
22304    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
22305    self.scope.write_to_out_protocol(o_prot)?;
22306    o_prot.write_field_end()?;
22307    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
22308    self.table.write_to_out_protocol(o_prot)?;
22309    o_prot.write_field_end()?;
22310    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::Struct, 4))?;
22311    self.secondary.write_to_out_protocol(o_prot)?;
22312    o_prot.write_field_end()?;
22313    o_prot.write_field_stop()?;
22314    o_prot.write_struct_end()
22315  }
22316}
22317
22318//
22319// ApplyDbIdx64FindSecondaryResult
22320//
22321
22322#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22323struct ApplyDbIdx64FindSecondaryResult {
22324  result_value: Option<FindSecondaryReturn>,
22325}
22326
22327impl ApplyDbIdx64FindSecondaryResult {
22328  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64FindSecondaryResult> {
22329    i_prot.read_struct_begin()?;
22330    let mut f_0: Option<FindSecondaryReturn> = None;
22331    loop {
22332      let field_ident = i_prot.read_field_begin()?;
22333      if field_ident.field_type == TType::Stop {
22334        break;
22335      }
22336      let field_id = field_id(&field_ident)?;
22337      match field_id {
22338        0 => {
22339          let val = FindSecondaryReturn::read_from_in_protocol(i_prot)?;
22340          f_0 = Some(val);
22341        },
22342        _ => {
22343          i_prot.skip(field_ident.field_type)?;
22344        },
22345      };
22346      i_prot.read_field_end()?;
22347    }
22348    i_prot.read_struct_end()?;
22349    let ret = ApplyDbIdx64FindSecondaryResult {
22350      result_value: f_0,
22351    };
22352    Ok(ret)
22353  }
22354  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22355    let struct_ident = TStructIdentifier::new("ApplyDbIdx64FindSecondaryResult");
22356    o_prot.write_struct_begin(&struct_ident)?;
22357    if let Some(ref fld_var) = self.result_value {
22358      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
22359      fld_var.write_to_out_protocol(o_prot)?;
22360      o_prot.write_field_end()?
22361    }
22362    o_prot.write_field_stop()?;
22363    o_prot.write_struct_end()
22364  }
22365  fn ok_or(self) -> thrift::Result<FindSecondaryReturn> {
22366    if self.result_value.is_some() {
22367      Ok(self.result_value.unwrap())
22368    } else {
22369      Err(
22370        thrift::Error::Application(
22371          ApplicationError::new(
22372            ApplicationErrorKind::MissingResult,
22373            "no result received for ApplyDbIdx64FindSecondary"
22374          )
22375        )
22376      )
22377    }
22378  }
22379}
22380
22381//
22382// ApplyDbIdx64LowerboundArgs
22383//
22384
22385#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22386struct ApplyDbIdx64LowerboundArgs {
22387  code: Uint64,
22388  scope: Uint64,
22389  table: Uint64,
22390  secondary: Uint64,
22391  primary: Uint64,
22392}
22393
22394impl ApplyDbIdx64LowerboundArgs {
22395  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64LowerboundArgs> {
22396    i_prot.read_struct_begin()?;
22397    let mut f_1: Option<Uint64> = None;
22398    let mut f_2: Option<Uint64> = None;
22399    let mut f_3: Option<Uint64> = None;
22400    let mut f_4: Option<Uint64> = None;
22401    let mut f_5: Option<Uint64> = None;
22402    loop {
22403      let field_ident = i_prot.read_field_begin()?;
22404      if field_ident.field_type == TType::Stop {
22405        break;
22406      }
22407      let field_id = field_id(&field_ident)?;
22408      match field_id {
22409        1 => {
22410          let val = Uint64::read_from_in_protocol(i_prot)?;
22411          f_1 = Some(val);
22412        },
22413        2 => {
22414          let val = Uint64::read_from_in_protocol(i_prot)?;
22415          f_2 = Some(val);
22416        },
22417        3 => {
22418          let val = Uint64::read_from_in_protocol(i_prot)?;
22419          f_3 = Some(val);
22420        },
22421        4 => {
22422          let val = Uint64::read_from_in_protocol(i_prot)?;
22423          f_4 = Some(val);
22424        },
22425        5 => {
22426          let val = Uint64::read_from_in_protocol(i_prot)?;
22427          f_5 = Some(val);
22428        },
22429        _ => {
22430          i_prot.skip(field_ident.field_type)?;
22431        },
22432      };
22433      i_prot.read_field_end()?;
22434    }
22435    i_prot.read_struct_end()?;
22436    verify_required_field_exists("ApplyDbIdx64LowerboundArgs.code", &f_1)?;
22437    verify_required_field_exists("ApplyDbIdx64LowerboundArgs.scope", &f_2)?;
22438    verify_required_field_exists("ApplyDbIdx64LowerboundArgs.table", &f_3)?;
22439    verify_required_field_exists("ApplyDbIdx64LowerboundArgs.secondary", &f_4)?;
22440    verify_required_field_exists("ApplyDbIdx64LowerboundArgs.primary", &f_5)?;
22441    let ret = ApplyDbIdx64LowerboundArgs {
22442      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
22443      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
22444      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
22445      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
22446      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
22447    };
22448    Ok(ret)
22449  }
22450  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22451    let struct_ident = TStructIdentifier::new("db_idx64_lowerbound_args");
22452    o_prot.write_struct_begin(&struct_ident)?;
22453    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
22454    self.code.write_to_out_protocol(o_prot)?;
22455    o_prot.write_field_end()?;
22456    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
22457    self.scope.write_to_out_protocol(o_prot)?;
22458    o_prot.write_field_end()?;
22459    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
22460    self.table.write_to_out_protocol(o_prot)?;
22461    o_prot.write_field_end()?;
22462    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::Struct, 4))?;
22463    self.secondary.write_to_out_protocol(o_prot)?;
22464    o_prot.write_field_end()?;
22465    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
22466    self.primary.write_to_out_protocol(o_prot)?;
22467    o_prot.write_field_end()?;
22468    o_prot.write_field_stop()?;
22469    o_prot.write_struct_end()
22470  }
22471}
22472
22473//
22474// ApplyDbIdx64LowerboundResult
22475//
22476
22477#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22478struct ApplyDbIdx64LowerboundResult {
22479  result_value: Option<LowerBoundUpperBoundReturn>,
22480}
22481
22482impl ApplyDbIdx64LowerboundResult {
22483  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64LowerboundResult> {
22484    i_prot.read_struct_begin()?;
22485    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
22486    loop {
22487      let field_ident = i_prot.read_field_begin()?;
22488      if field_ident.field_type == TType::Stop {
22489        break;
22490      }
22491      let field_id = field_id(&field_ident)?;
22492      match field_id {
22493        0 => {
22494          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
22495          f_0 = Some(val);
22496        },
22497        _ => {
22498          i_prot.skip(field_ident.field_type)?;
22499        },
22500      };
22501      i_prot.read_field_end()?;
22502    }
22503    i_prot.read_struct_end()?;
22504    let ret = ApplyDbIdx64LowerboundResult {
22505      result_value: f_0,
22506    };
22507    Ok(ret)
22508  }
22509  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22510    let struct_ident = TStructIdentifier::new("ApplyDbIdx64LowerboundResult");
22511    o_prot.write_struct_begin(&struct_ident)?;
22512    if let Some(ref fld_var) = self.result_value {
22513      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
22514      fld_var.write_to_out_protocol(o_prot)?;
22515      o_prot.write_field_end()?
22516    }
22517    o_prot.write_field_stop()?;
22518    o_prot.write_struct_end()
22519  }
22520  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
22521    if self.result_value.is_some() {
22522      Ok(self.result_value.unwrap())
22523    } else {
22524      Err(
22525        thrift::Error::Application(
22526          ApplicationError::new(
22527            ApplicationErrorKind::MissingResult,
22528            "no result received for ApplyDbIdx64Lowerbound"
22529          )
22530        )
22531      )
22532    }
22533  }
22534}
22535
22536//
22537// ApplyDbIdx64UpperboundArgs
22538//
22539
22540#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22541struct ApplyDbIdx64UpperboundArgs {
22542  code: Uint64,
22543  scope: Uint64,
22544  table: Uint64,
22545  secondary: Uint64,
22546  primary: Uint64,
22547}
22548
22549impl ApplyDbIdx64UpperboundArgs {
22550  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64UpperboundArgs> {
22551    i_prot.read_struct_begin()?;
22552    let mut f_1: Option<Uint64> = None;
22553    let mut f_2: Option<Uint64> = None;
22554    let mut f_3: Option<Uint64> = None;
22555    let mut f_4: Option<Uint64> = None;
22556    let mut f_5: Option<Uint64> = None;
22557    loop {
22558      let field_ident = i_prot.read_field_begin()?;
22559      if field_ident.field_type == TType::Stop {
22560        break;
22561      }
22562      let field_id = field_id(&field_ident)?;
22563      match field_id {
22564        1 => {
22565          let val = Uint64::read_from_in_protocol(i_prot)?;
22566          f_1 = Some(val);
22567        },
22568        2 => {
22569          let val = Uint64::read_from_in_protocol(i_prot)?;
22570          f_2 = Some(val);
22571        },
22572        3 => {
22573          let val = Uint64::read_from_in_protocol(i_prot)?;
22574          f_3 = Some(val);
22575        },
22576        4 => {
22577          let val = Uint64::read_from_in_protocol(i_prot)?;
22578          f_4 = Some(val);
22579        },
22580        5 => {
22581          let val = Uint64::read_from_in_protocol(i_prot)?;
22582          f_5 = Some(val);
22583        },
22584        _ => {
22585          i_prot.skip(field_ident.field_type)?;
22586        },
22587      };
22588      i_prot.read_field_end()?;
22589    }
22590    i_prot.read_struct_end()?;
22591    verify_required_field_exists("ApplyDbIdx64UpperboundArgs.code", &f_1)?;
22592    verify_required_field_exists("ApplyDbIdx64UpperboundArgs.scope", &f_2)?;
22593    verify_required_field_exists("ApplyDbIdx64UpperboundArgs.table", &f_3)?;
22594    verify_required_field_exists("ApplyDbIdx64UpperboundArgs.secondary", &f_4)?;
22595    verify_required_field_exists("ApplyDbIdx64UpperboundArgs.primary", &f_5)?;
22596    let ret = ApplyDbIdx64UpperboundArgs {
22597      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
22598      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
22599      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
22600      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
22601      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
22602    };
22603    Ok(ret)
22604  }
22605  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22606    let struct_ident = TStructIdentifier::new("db_idx64_upperbound_args");
22607    o_prot.write_struct_begin(&struct_ident)?;
22608    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
22609    self.code.write_to_out_protocol(o_prot)?;
22610    o_prot.write_field_end()?;
22611    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
22612    self.scope.write_to_out_protocol(o_prot)?;
22613    o_prot.write_field_end()?;
22614    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
22615    self.table.write_to_out_protocol(o_prot)?;
22616    o_prot.write_field_end()?;
22617    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::Struct, 4))?;
22618    self.secondary.write_to_out_protocol(o_prot)?;
22619    o_prot.write_field_end()?;
22620    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
22621    self.primary.write_to_out_protocol(o_prot)?;
22622    o_prot.write_field_end()?;
22623    o_prot.write_field_stop()?;
22624    o_prot.write_struct_end()
22625  }
22626}
22627
22628//
22629// ApplyDbIdx64UpperboundResult
22630//
22631
22632#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22633struct ApplyDbIdx64UpperboundResult {
22634  result_value: Option<LowerBoundUpperBoundReturn>,
22635}
22636
22637impl ApplyDbIdx64UpperboundResult {
22638  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64UpperboundResult> {
22639    i_prot.read_struct_begin()?;
22640    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
22641    loop {
22642      let field_ident = i_prot.read_field_begin()?;
22643      if field_ident.field_type == TType::Stop {
22644        break;
22645      }
22646      let field_id = field_id(&field_ident)?;
22647      match field_id {
22648        0 => {
22649          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
22650          f_0 = Some(val);
22651        },
22652        _ => {
22653          i_prot.skip(field_ident.field_type)?;
22654        },
22655      };
22656      i_prot.read_field_end()?;
22657    }
22658    i_prot.read_struct_end()?;
22659    let ret = ApplyDbIdx64UpperboundResult {
22660      result_value: f_0,
22661    };
22662    Ok(ret)
22663  }
22664  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22665    let struct_ident = TStructIdentifier::new("ApplyDbIdx64UpperboundResult");
22666    o_prot.write_struct_begin(&struct_ident)?;
22667    if let Some(ref fld_var) = self.result_value {
22668      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
22669      fld_var.write_to_out_protocol(o_prot)?;
22670      o_prot.write_field_end()?
22671    }
22672    o_prot.write_field_stop()?;
22673    o_prot.write_struct_end()
22674  }
22675  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
22676    if self.result_value.is_some() {
22677      Ok(self.result_value.unwrap())
22678    } else {
22679      Err(
22680        thrift::Error::Application(
22681          ApplicationError::new(
22682            ApplicationErrorKind::MissingResult,
22683            "no result received for ApplyDbIdx64Upperbound"
22684          )
22685        )
22686      )
22687    }
22688  }
22689}
22690
22691//
22692// ApplyDbIdx64EndArgs
22693//
22694
22695#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22696struct ApplyDbIdx64EndArgs {
22697  code: Uint64,
22698  scope: Uint64,
22699  table: Uint64,
22700}
22701
22702impl ApplyDbIdx64EndArgs {
22703  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64EndArgs> {
22704    i_prot.read_struct_begin()?;
22705    let mut f_1: Option<Uint64> = None;
22706    let mut f_2: Option<Uint64> = None;
22707    let mut f_3: Option<Uint64> = None;
22708    loop {
22709      let field_ident = i_prot.read_field_begin()?;
22710      if field_ident.field_type == TType::Stop {
22711        break;
22712      }
22713      let field_id = field_id(&field_ident)?;
22714      match field_id {
22715        1 => {
22716          let val = Uint64::read_from_in_protocol(i_prot)?;
22717          f_1 = Some(val);
22718        },
22719        2 => {
22720          let val = Uint64::read_from_in_protocol(i_prot)?;
22721          f_2 = Some(val);
22722        },
22723        3 => {
22724          let val = Uint64::read_from_in_protocol(i_prot)?;
22725          f_3 = Some(val);
22726        },
22727        _ => {
22728          i_prot.skip(field_ident.field_type)?;
22729        },
22730      };
22731      i_prot.read_field_end()?;
22732    }
22733    i_prot.read_struct_end()?;
22734    verify_required_field_exists("ApplyDbIdx64EndArgs.code", &f_1)?;
22735    verify_required_field_exists("ApplyDbIdx64EndArgs.scope", &f_2)?;
22736    verify_required_field_exists("ApplyDbIdx64EndArgs.table", &f_3)?;
22737    let ret = ApplyDbIdx64EndArgs {
22738      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
22739      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
22740      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
22741    };
22742    Ok(ret)
22743  }
22744  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22745    let struct_ident = TStructIdentifier::new("db_idx64_end_args");
22746    o_prot.write_struct_begin(&struct_ident)?;
22747    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
22748    self.code.write_to_out_protocol(o_prot)?;
22749    o_prot.write_field_end()?;
22750    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
22751    self.scope.write_to_out_protocol(o_prot)?;
22752    o_prot.write_field_end()?;
22753    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
22754    self.table.write_to_out_protocol(o_prot)?;
22755    o_prot.write_field_end()?;
22756    o_prot.write_field_stop()?;
22757    o_prot.write_struct_end()
22758  }
22759}
22760
22761//
22762// ApplyDbIdx64EndResult
22763//
22764
22765#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22766struct ApplyDbIdx64EndResult {
22767  result_value: Option<i32>,
22768}
22769
22770impl ApplyDbIdx64EndResult {
22771  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx64EndResult> {
22772    i_prot.read_struct_begin()?;
22773    let mut f_0: Option<i32> = None;
22774    loop {
22775      let field_ident = i_prot.read_field_begin()?;
22776      if field_ident.field_type == TType::Stop {
22777        break;
22778      }
22779      let field_id = field_id(&field_ident)?;
22780      match field_id {
22781        0 => {
22782          let val = i_prot.read_i32()?;
22783          f_0 = Some(val);
22784        },
22785        _ => {
22786          i_prot.skip(field_ident.field_type)?;
22787        },
22788      };
22789      i_prot.read_field_end()?;
22790    }
22791    i_prot.read_struct_end()?;
22792    let ret = ApplyDbIdx64EndResult {
22793      result_value: f_0,
22794    };
22795    Ok(ret)
22796  }
22797  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22798    let struct_ident = TStructIdentifier::new("ApplyDbIdx64EndResult");
22799    o_prot.write_struct_begin(&struct_ident)?;
22800    if let Some(fld_var) = self.result_value {
22801      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
22802      o_prot.write_i32(fld_var)?;
22803      o_prot.write_field_end()?
22804    }
22805    o_prot.write_field_stop()?;
22806    o_prot.write_struct_end()
22807  }
22808  fn ok_or(self) -> thrift::Result<i32> {
22809    if self.result_value.is_some() {
22810      Ok(self.result_value.unwrap())
22811    } else {
22812      Err(
22813        thrift::Error::Application(
22814          ApplicationError::new(
22815            ApplicationErrorKind::MissingResult,
22816            "no result received for ApplyDbIdx64End"
22817          )
22818        )
22819      )
22820    }
22821  }
22822}
22823
22824//
22825// ApplyDbIdx128StoreArgs
22826//
22827
22828#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22829struct ApplyDbIdx128StoreArgs {
22830  scope: Uint64,
22831  table: Uint64,
22832  payer: Uint64,
22833  id: Uint64,
22834  secondary: Vec<u8>,
22835}
22836
22837impl ApplyDbIdx128StoreArgs {
22838  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128StoreArgs> {
22839    i_prot.read_struct_begin()?;
22840    let mut f_1: Option<Uint64> = None;
22841    let mut f_2: Option<Uint64> = None;
22842    let mut f_3: Option<Uint64> = None;
22843    let mut f_4: Option<Uint64> = None;
22844    let mut f_5: Option<Vec<u8>> = None;
22845    loop {
22846      let field_ident = i_prot.read_field_begin()?;
22847      if field_ident.field_type == TType::Stop {
22848        break;
22849      }
22850      let field_id = field_id(&field_ident)?;
22851      match field_id {
22852        1 => {
22853          let val = Uint64::read_from_in_protocol(i_prot)?;
22854          f_1 = Some(val);
22855        },
22856        2 => {
22857          let val = Uint64::read_from_in_protocol(i_prot)?;
22858          f_2 = Some(val);
22859        },
22860        3 => {
22861          let val = Uint64::read_from_in_protocol(i_prot)?;
22862          f_3 = Some(val);
22863        },
22864        4 => {
22865          let val = Uint64::read_from_in_protocol(i_prot)?;
22866          f_4 = Some(val);
22867        },
22868        5 => {
22869          let val = i_prot.read_bytes()?;
22870          f_5 = Some(val);
22871        },
22872        _ => {
22873          i_prot.skip(field_ident.field_type)?;
22874        },
22875      };
22876      i_prot.read_field_end()?;
22877    }
22878    i_prot.read_struct_end()?;
22879    verify_required_field_exists("ApplyDbIdx128StoreArgs.scope", &f_1)?;
22880    verify_required_field_exists("ApplyDbIdx128StoreArgs.table", &f_2)?;
22881    verify_required_field_exists("ApplyDbIdx128StoreArgs.payer", &f_3)?;
22882    verify_required_field_exists("ApplyDbIdx128StoreArgs.id", &f_4)?;
22883    verify_required_field_exists("ApplyDbIdx128StoreArgs.secondary", &f_5)?;
22884    let ret = ApplyDbIdx128StoreArgs {
22885      scope: f_1.expect("auto-generated code should have checked for presence of required fields"),
22886      table: f_2.expect("auto-generated code should have checked for presence of required fields"),
22887      payer: f_3.expect("auto-generated code should have checked for presence of required fields"),
22888      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
22889      secondary: f_5.expect("auto-generated code should have checked for presence of required fields"),
22890    };
22891    Ok(ret)
22892  }
22893  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22894    let struct_ident = TStructIdentifier::new("db_idx128_store_args");
22895    o_prot.write_struct_begin(&struct_ident)?;
22896    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 1))?;
22897    self.scope.write_to_out_protocol(o_prot)?;
22898    o_prot.write_field_end()?;
22899    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 2))?;
22900    self.table.write_to_out_protocol(o_prot)?;
22901    o_prot.write_field_end()?;
22902    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 3))?;
22903    self.payer.write_to_out_protocol(o_prot)?;
22904    o_prot.write_field_end()?;
22905    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
22906    self.id.write_to_out_protocol(o_prot)?;
22907    o_prot.write_field_end()?;
22908    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 5))?;
22909    o_prot.write_bytes(&self.secondary)?;
22910    o_prot.write_field_end()?;
22911    o_prot.write_field_stop()?;
22912    o_prot.write_struct_end()
22913  }
22914}
22915
22916//
22917// ApplyDbIdx128StoreResult
22918//
22919
22920#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22921struct ApplyDbIdx128StoreResult {
22922  result_value: Option<i32>,
22923}
22924
22925impl ApplyDbIdx128StoreResult {
22926  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128StoreResult> {
22927    i_prot.read_struct_begin()?;
22928    let mut f_0: Option<i32> = None;
22929    loop {
22930      let field_ident = i_prot.read_field_begin()?;
22931      if field_ident.field_type == TType::Stop {
22932        break;
22933      }
22934      let field_id = field_id(&field_ident)?;
22935      match field_id {
22936        0 => {
22937          let val = i_prot.read_i32()?;
22938          f_0 = Some(val);
22939        },
22940        _ => {
22941          i_prot.skip(field_ident.field_type)?;
22942        },
22943      };
22944      i_prot.read_field_end()?;
22945    }
22946    i_prot.read_struct_end()?;
22947    let ret = ApplyDbIdx128StoreResult {
22948      result_value: f_0,
22949    };
22950    Ok(ret)
22951  }
22952  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
22953    let struct_ident = TStructIdentifier::new("ApplyDbIdx128StoreResult");
22954    o_prot.write_struct_begin(&struct_ident)?;
22955    if let Some(fld_var) = self.result_value {
22956      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
22957      o_prot.write_i32(fld_var)?;
22958      o_prot.write_field_end()?
22959    }
22960    o_prot.write_field_stop()?;
22961    o_prot.write_struct_end()
22962  }
22963  fn ok_or(self) -> thrift::Result<i32> {
22964    if self.result_value.is_some() {
22965      Ok(self.result_value.unwrap())
22966    } else {
22967      Err(
22968        thrift::Error::Application(
22969          ApplicationError::new(
22970            ApplicationErrorKind::MissingResult,
22971            "no result received for ApplyDbIdx128Store"
22972          )
22973        )
22974      )
22975    }
22976  }
22977}
22978
22979//
22980// ApplyDbIdx128UpdateArgs
22981//
22982
22983#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
22984struct ApplyDbIdx128UpdateArgs {
22985  iterator: i32,
22986  payer: Uint64,
22987  secondary: Vec<u8>,
22988}
22989
22990impl ApplyDbIdx128UpdateArgs {
22991  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128UpdateArgs> {
22992    i_prot.read_struct_begin()?;
22993    let mut f_1: Option<i32> = None;
22994    let mut f_2: Option<Uint64> = None;
22995    let mut f_3: Option<Vec<u8>> = None;
22996    loop {
22997      let field_ident = i_prot.read_field_begin()?;
22998      if field_ident.field_type == TType::Stop {
22999        break;
23000      }
23001      let field_id = field_id(&field_ident)?;
23002      match field_id {
23003        1 => {
23004          let val = i_prot.read_i32()?;
23005          f_1 = Some(val);
23006        },
23007        2 => {
23008          let val = Uint64::read_from_in_protocol(i_prot)?;
23009          f_2 = Some(val);
23010        },
23011        3 => {
23012          let val = i_prot.read_bytes()?;
23013          f_3 = Some(val);
23014        },
23015        _ => {
23016          i_prot.skip(field_ident.field_type)?;
23017        },
23018      };
23019      i_prot.read_field_end()?;
23020    }
23021    i_prot.read_struct_end()?;
23022    verify_required_field_exists("ApplyDbIdx128UpdateArgs.iterator", &f_1)?;
23023    verify_required_field_exists("ApplyDbIdx128UpdateArgs.payer", &f_2)?;
23024    verify_required_field_exists("ApplyDbIdx128UpdateArgs.secondary", &f_3)?;
23025    let ret = ApplyDbIdx128UpdateArgs {
23026      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
23027      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
23028      secondary: f_3.expect("auto-generated code should have checked for presence of required fields"),
23029    };
23030    Ok(ret)
23031  }
23032  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23033    let struct_ident = TStructIdentifier::new("db_idx128_update_args");
23034    o_prot.write_struct_begin(&struct_ident)?;
23035    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
23036    o_prot.write_i32(self.iterator)?;
23037    o_prot.write_field_end()?;
23038    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
23039    self.payer.write_to_out_protocol(o_prot)?;
23040    o_prot.write_field_end()?;
23041    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 3))?;
23042    o_prot.write_bytes(&self.secondary)?;
23043    o_prot.write_field_end()?;
23044    o_prot.write_field_stop()?;
23045    o_prot.write_struct_end()
23046  }
23047}
23048
23049//
23050// ApplyDbIdx128UpdateResult
23051//
23052
23053#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23054struct ApplyDbIdx128UpdateResult {
23055}
23056
23057impl ApplyDbIdx128UpdateResult {
23058  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128UpdateResult> {
23059    i_prot.read_struct_begin()?;
23060    loop {
23061      let field_ident = i_prot.read_field_begin()?;
23062      if field_ident.field_type == TType::Stop {
23063        break;
23064      }
23065      let field_id = field_id(&field_ident)?;
23066      match field_id {
23067        _ => {
23068          i_prot.skip(field_ident.field_type)?;
23069        },
23070      };
23071      i_prot.read_field_end()?;
23072    }
23073    i_prot.read_struct_end()?;
23074    let ret = ApplyDbIdx128UpdateResult {};
23075    Ok(ret)
23076  }
23077  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23078    let struct_ident = TStructIdentifier::new("ApplyDbIdx128UpdateResult");
23079    o_prot.write_struct_begin(&struct_ident)?;
23080    o_prot.write_field_stop()?;
23081    o_prot.write_struct_end()
23082  }
23083  fn ok_or(self) -> thrift::Result<()> {
23084    Ok(())
23085  }
23086}
23087
23088//
23089// ApplyDbIdx128RemoveArgs
23090//
23091
23092#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23093struct ApplyDbIdx128RemoveArgs {
23094  iterator: i32,
23095}
23096
23097impl ApplyDbIdx128RemoveArgs {
23098  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128RemoveArgs> {
23099    i_prot.read_struct_begin()?;
23100    let mut f_1: Option<i32> = None;
23101    loop {
23102      let field_ident = i_prot.read_field_begin()?;
23103      if field_ident.field_type == TType::Stop {
23104        break;
23105      }
23106      let field_id = field_id(&field_ident)?;
23107      match field_id {
23108        1 => {
23109          let val = i_prot.read_i32()?;
23110          f_1 = Some(val);
23111        },
23112        _ => {
23113          i_prot.skip(field_ident.field_type)?;
23114        },
23115      };
23116      i_prot.read_field_end()?;
23117    }
23118    i_prot.read_struct_end()?;
23119    verify_required_field_exists("ApplyDbIdx128RemoveArgs.iterator", &f_1)?;
23120    let ret = ApplyDbIdx128RemoveArgs {
23121      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
23122    };
23123    Ok(ret)
23124  }
23125  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23126    let struct_ident = TStructIdentifier::new("db_idx128_remove_args");
23127    o_prot.write_struct_begin(&struct_ident)?;
23128    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
23129    o_prot.write_i32(self.iterator)?;
23130    o_prot.write_field_end()?;
23131    o_prot.write_field_stop()?;
23132    o_prot.write_struct_end()
23133  }
23134}
23135
23136//
23137// ApplyDbIdx128RemoveResult
23138//
23139
23140#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23141struct ApplyDbIdx128RemoveResult {
23142}
23143
23144impl ApplyDbIdx128RemoveResult {
23145  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128RemoveResult> {
23146    i_prot.read_struct_begin()?;
23147    loop {
23148      let field_ident = i_prot.read_field_begin()?;
23149      if field_ident.field_type == TType::Stop {
23150        break;
23151      }
23152      let field_id = field_id(&field_ident)?;
23153      match field_id {
23154        _ => {
23155          i_prot.skip(field_ident.field_type)?;
23156        },
23157      };
23158      i_prot.read_field_end()?;
23159    }
23160    i_prot.read_struct_end()?;
23161    let ret = ApplyDbIdx128RemoveResult {};
23162    Ok(ret)
23163  }
23164  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23165    let struct_ident = TStructIdentifier::new("ApplyDbIdx128RemoveResult");
23166    o_prot.write_struct_begin(&struct_ident)?;
23167    o_prot.write_field_stop()?;
23168    o_prot.write_struct_end()
23169  }
23170  fn ok_or(self) -> thrift::Result<()> {
23171    Ok(())
23172  }
23173}
23174
23175//
23176// ApplyDbIdx128NextArgs
23177//
23178
23179#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23180struct ApplyDbIdx128NextArgs {
23181  iterator: i32,
23182}
23183
23184impl ApplyDbIdx128NextArgs {
23185  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128NextArgs> {
23186    i_prot.read_struct_begin()?;
23187    let mut f_1: Option<i32> = None;
23188    loop {
23189      let field_ident = i_prot.read_field_begin()?;
23190      if field_ident.field_type == TType::Stop {
23191        break;
23192      }
23193      let field_id = field_id(&field_ident)?;
23194      match field_id {
23195        1 => {
23196          let val = i_prot.read_i32()?;
23197          f_1 = Some(val);
23198        },
23199        _ => {
23200          i_prot.skip(field_ident.field_type)?;
23201        },
23202      };
23203      i_prot.read_field_end()?;
23204    }
23205    i_prot.read_struct_end()?;
23206    verify_required_field_exists("ApplyDbIdx128NextArgs.iterator", &f_1)?;
23207    let ret = ApplyDbIdx128NextArgs {
23208      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
23209    };
23210    Ok(ret)
23211  }
23212  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23213    let struct_ident = TStructIdentifier::new("db_idx128_next_args");
23214    o_prot.write_struct_begin(&struct_ident)?;
23215    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
23216    o_prot.write_i32(self.iterator)?;
23217    o_prot.write_field_end()?;
23218    o_prot.write_field_stop()?;
23219    o_prot.write_struct_end()
23220  }
23221}
23222
23223//
23224// ApplyDbIdx128NextResult
23225//
23226
23227#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23228struct ApplyDbIdx128NextResult {
23229  result_value: Option<NextPreviousReturn>,
23230}
23231
23232impl ApplyDbIdx128NextResult {
23233  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128NextResult> {
23234    i_prot.read_struct_begin()?;
23235    let mut f_0: Option<NextPreviousReturn> = None;
23236    loop {
23237      let field_ident = i_prot.read_field_begin()?;
23238      if field_ident.field_type == TType::Stop {
23239        break;
23240      }
23241      let field_id = field_id(&field_ident)?;
23242      match field_id {
23243        0 => {
23244          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
23245          f_0 = Some(val);
23246        },
23247        _ => {
23248          i_prot.skip(field_ident.field_type)?;
23249        },
23250      };
23251      i_prot.read_field_end()?;
23252    }
23253    i_prot.read_struct_end()?;
23254    let ret = ApplyDbIdx128NextResult {
23255      result_value: f_0,
23256    };
23257    Ok(ret)
23258  }
23259  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23260    let struct_ident = TStructIdentifier::new("ApplyDbIdx128NextResult");
23261    o_prot.write_struct_begin(&struct_ident)?;
23262    if let Some(ref fld_var) = self.result_value {
23263      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
23264      fld_var.write_to_out_protocol(o_prot)?;
23265      o_prot.write_field_end()?
23266    }
23267    o_prot.write_field_stop()?;
23268    o_prot.write_struct_end()
23269  }
23270  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
23271    if self.result_value.is_some() {
23272      Ok(self.result_value.unwrap())
23273    } else {
23274      Err(
23275        thrift::Error::Application(
23276          ApplicationError::new(
23277            ApplicationErrorKind::MissingResult,
23278            "no result received for ApplyDbIdx128Next"
23279          )
23280        )
23281      )
23282    }
23283  }
23284}
23285
23286//
23287// ApplyDbIdx128PreviousArgs
23288//
23289
23290#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23291struct ApplyDbIdx128PreviousArgs {
23292  iterator: i32,
23293}
23294
23295impl ApplyDbIdx128PreviousArgs {
23296  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128PreviousArgs> {
23297    i_prot.read_struct_begin()?;
23298    let mut f_1: Option<i32> = None;
23299    loop {
23300      let field_ident = i_prot.read_field_begin()?;
23301      if field_ident.field_type == TType::Stop {
23302        break;
23303      }
23304      let field_id = field_id(&field_ident)?;
23305      match field_id {
23306        1 => {
23307          let val = i_prot.read_i32()?;
23308          f_1 = Some(val);
23309        },
23310        _ => {
23311          i_prot.skip(field_ident.field_type)?;
23312        },
23313      };
23314      i_prot.read_field_end()?;
23315    }
23316    i_prot.read_struct_end()?;
23317    verify_required_field_exists("ApplyDbIdx128PreviousArgs.iterator", &f_1)?;
23318    let ret = ApplyDbIdx128PreviousArgs {
23319      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
23320    };
23321    Ok(ret)
23322  }
23323  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23324    let struct_ident = TStructIdentifier::new("db_idx128_previous_args");
23325    o_prot.write_struct_begin(&struct_ident)?;
23326    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
23327    o_prot.write_i32(self.iterator)?;
23328    o_prot.write_field_end()?;
23329    o_prot.write_field_stop()?;
23330    o_prot.write_struct_end()
23331  }
23332}
23333
23334//
23335// ApplyDbIdx128PreviousResult
23336//
23337
23338#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23339struct ApplyDbIdx128PreviousResult {
23340  result_value: Option<NextPreviousReturn>,
23341}
23342
23343impl ApplyDbIdx128PreviousResult {
23344  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128PreviousResult> {
23345    i_prot.read_struct_begin()?;
23346    let mut f_0: Option<NextPreviousReturn> = None;
23347    loop {
23348      let field_ident = i_prot.read_field_begin()?;
23349      if field_ident.field_type == TType::Stop {
23350        break;
23351      }
23352      let field_id = field_id(&field_ident)?;
23353      match field_id {
23354        0 => {
23355          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
23356          f_0 = Some(val);
23357        },
23358        _ => {
23359          i_prot.skip(field_ident.field_type)?;
23360        },
23361      };
23362      i_prot.read_field_end()?;
23363    }
23364    i_prot.read_struct_end()?;
23365    let ret = ApplyDbIdx128PreviousResult {
23366      result_value: f_0,
23367    };
23368    Ok(ret)
23369  }
23370  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23371    let struct_ident = TStructIdentifier::new("ApplyDbIdx128PreviousResult");
23372    o_prot.write_struct_begin(&struct_ident)?;
23373    if let Some(ref fld_var) = self.result_value {
23374      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
23375      fld_var.write_to_out_protocol(o_prot)?;
23376      o_prot.write_field_end()?
23377    }
23378    o_prot.write_field_stop()?;
23379    o_prot.write_struct_end()
23380  }
23381  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
23382    if self.result_value.is_some() {
23383      Ok(self.result_value.unwrap())
23384    } else {
23385      Err(
23386        thrift::Error::Application(
23387          ApplicationError::new(
23388            ApplicationErrorKind::MissingResult,
23389            "no result received for ApplyDbIdx128Previous"
23390          )
23391        )
23392      )
23393    }
23394  }
23395}
23396
23397//
23398// ApplyDbIdx128FindPrimaryArgs
23399//
23400
23401#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23402struct ApplyDbIdx128FindPrimaryArgs {
23403  code: Uint64,
23404  scope: Uint64,
23405  table: Uint64,
23406  primary: Uint64,
23407}
23408
23409impl ApplyDbIdx128FindPrimaryArgs {
23410  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128FindPrimaryArgs> {
23411    i_prot.read_struct_begin()?;
23412    let mut f_1: Option<Uint64> = None;
23413    let mut f_2: Option<Uint64> = None;
23414    let mut f_3: Option<Uint64> = None;
23415    let mut f_4: Option<Uint64> = None;
23416    loop {
23417      let field_ident = i_prot.read_field_begin()?;
23418      if field_ident.field_type == TType::Stop {
23419        break;
23420      }
23421      let field_id = field_id(&field_ident)?;
23422      match field_id {
23423        1 => {
23424          let val = Uint64::read_from_in_protocol(i_prot)?;
23425          f_1 = Some(val);
23426        },
23427        2 => {
23428          let val = Uint64::read_from_in_protocol(i_prot)?;
23429          f_2 = Some(val);
23430        },
23431        3 => {
23432          let val = Uint64::read_from_in_protocol(i_prot)?;
23433          f_3 = Some(val);
23434        },
23435        4 => {
23436          let val = Uint64::read_from_in_protocol(i_prot)?;
23437          f_4 = Some(val);
23438        },
23439        _ => {
23440          i_prot.skip(field_ident.field_type)?;
23441        },
23442      };
23443      i_prot.read_field_end()?;
23444    }
23445    i_prot.read_struct_end()?;
23446    verify_required_field_exists("ApplyDbIdx128FindPrimaryArgs.code", &f_1)?;
23447    verify_required_field_exists("ApplyDbIdx128FindPrimaryArgs.scope", &f_2)?;
23448    verify_required_field_exists("ApplyDbIdx128FindPrimaryArgs.table", &f_3)?;
23449    verify_required_field_exists("ApplyDbIdx128FindPrimaryArgs.primary", &f_4)?;
23450    let ret = ApplyDbIdx128FindPrimaryArgs {
23451      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
23452      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
23453      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
23454      primary: f_4.expect("auto-generated code should have checked for presence of required fields"),
23455    };
23456    Ok(ret)
23457  }
23458  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23459    let struct_ident = TStructIdentifier::new("db_idx128_find_primary_args");
23460    o_prot.write_struct_begin(&struct_ident)?;
23461    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
23462    self.code.write_to_out_protocol(o_prot)?;
23463    o_prot.write_field_end()?;
23464    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
23465    self.scope.write_to_out_protocol(o_prot)?;
23466    o_prot.write_field_end()?;
23467    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
23468    self.table.write_to_out_protocol(o_prot)?;
23469    o_prot.write_field_end()?;
23470    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 4))?;
23471    self.primary.write_to_out_protocol(o_prot)?;
23472    o_prot.write_field_end()?;
23473    o_prot.write_field_stop()?;
23474    o_prot.write_struct_end()
23475  }
23476}
23477
23478//
23479// ApplyDbIdx128FindPrimaryResult
23480//
23481
23482#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23483struct ApplyDbIdx128FindPrimaryResult {
23484  result_value: Option<FindPrimaryReturn>,
23485}
23486
23487impl ApplyDbIdx128FindPrimaryResult {
23488  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128FindPrimaryResult> {
23489    i_prot.read_struct_begin()?;
23490    let mut f_0: Option<FindPrimaryReturn> = None;
23491    loop {
23492      let field_ident = i_prot.read_field_begin()?;
23493      if field_ident.field_type == TType::Stop {
23494        break;
23495      }
23496      let field_id = field_id(&field_ident)?;
23497      match field_id {
23498        0 => {
23499          let val = FindPrimaryReturn::read_from_in_protocol(i_prot)?;
23500          f_0 = Some(val);
23501        },
23502        _ => {
23503          i_prot.skip(field_ident.field_type)?;
23504        },
23505      };
23506      i_prot.read_field_end()?;
23507    }
23508    i_prot.read_struct_end()?;
23509    let ret = ApplyDbIdx128FindPrimaryResult {
23510      result_value: f_0,
23511    };
23512    Ok(ret)
23513  }
23514  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23515    let struct_ident = TStructIdentifier::new("ApplyDbIdx128FindPrimaryResult");
23516    o_prot.write_struct_begin(&struct_ident)?;
23517    if let Some(ref fld_var) = self.result_value {
23518      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
23519      fld_var.write_to_out_protocol(o_prot)?;
23520      o_prot.write_field_end()?
23521    }
23522    o_prot.write_field_stop()?;
23523    o_prot.write_struct_end()
23524  }
23525  fn ok_or(self) -> thrift::Result<FindPrimaryReturn> {
23526    if self.result_value.is_some() {
23527      Ok(self.result_value.unwrap())
23528    } else {
23529      Err(
23530        thrift::Error::Application(
23531          ApplicationError::new(
23532            ApplicationErrorKind::MissingResult,
23533            "no result received for ApplyDbIdx128FindPrimary"
23534          )
23535        )
23536      )
23537    }
23538  }
23539}
23540
23541//
23542// ApplyDbIdx128FindSecondaryArgs
23543//
23544
23545#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23546struct ApplyDbIdx128FindSecondaryArgs {
23547  code: Uint64,
23548  scope: Uint64,
23549  table: Uint64,
23550  secondary: Vec<u8>,
23551}
23552
23553impl ApplyDbIdx128FindSecondaryArgs {
23554  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128FindSecondaryArgs> {
23555    i_prot.read_struct_begin()?;
23556    let mut f_1: Option<Uint64> = None;
23557    let mut f_2: Option<Uint64> = None;
23558    let mut f_3: Option<Uint64> = None;
23559    let mut f_4: Option<Vec<u8>> = None;
23560    loop {
23561      let field_ident = i_prot.read_field_begin()?;
23562      if field_ident.field_type == TType::Stop {
23563        break;
23564      }
23565      let field_id = field_id(&field_ident)?;
23566      match field_id {
23567        1 => {
23568          let val = Uint64::read_from_in_protocol(i_prot)?;
23569          f_1 = Some(val);
23570        },
23571        2 => {
23572          let val = Uint64::read_from_in_protocol(i_prot)?;
23573          f_2 = Some(val);
23574        },
23575        3 => {
23576          let val = Uint64::read_from_in_protocol(i_prot)?;
23577          f_3 = Some(val);
23578        },
23579        4 => {
23580          let val = i_prot.read_bytes()?;
23581          f_4 = Some(val);
23582        },
23583        _ => {
23584          i_prot.skip(field_ident.field_type)?;
23585        },
23586      };
23587      i_prot.read_field_end()?;
23588    }
23589    i_prot.read_struct_end()?;
23590    verify_required_field_exists("ApplyDbIdx128FindSecondaryArgs.code", &f_1)?;
23591    verify_required_field_exists("ApplyDbIdx128FindSecondaryArgs.scope", &f_2)?;
23592    verify_required_field_exists("ApplyDbIdx128FindSecondaryArgs.table", &f_3)?;
23593    verify_required_field_exists("ApplyDbIdx128FindSecondaryArgs.secondary", &f_4)?;
23594    let ret = ApplyDbIdx128FindSecondaryArgs {
23595      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
23596      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
23597      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
23598      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
23599    };
23600    Ok(ret)
23601  }
23602  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23603    let struct_ident = TStructIdentifier::new("db_idx128_find_secondary_args");
23604    o_prot.write_struct_begin(&struct_ident)?;
23605    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
23606    self.code.write_to_out_protocol(o_prot)?;
23607    o_prot.write_field_end()?;
23608    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
23609    self.scope.write_to_out_protocol(o_prot)?;
23610    o_prot.write_field_end()?;
23611    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
23612    self.table.write_to_out_protocol(o_prot)?;
23613    o_prot.write_field_end()?;
23614    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
23615    o_prot.write_bytes(&self.secondary)?;
23616    o_prot.write_field_end()?;
23617    o_prot.write_field_stop()?;
23618    o_prot.write_struct_end()
23619  }
23620}
23621
23622//
23623// ApplyDbIdx128FindSecondaryResult
23624//
23625
23626#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23627struct ApplyDbIdx128FindSecondaryResult {
23628  result_value: Option<FindSecondaryReturn>,
23629}
23630
23631impl ApplyDbIdx128FindSecondaryResult {
23632  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128FindSecondaryResult> {
23633    i_prot.read_struct_begin()?;
23634    let mut f_0: Option<FindSecondaryReturn> = None;
23635    loop {
23636      let field_ident = i_prot.read_field_begin()?;
23637      if field_ident.field_type == TType::Stop {
23638        break;
23639      }
23640      let field_id = field_id(&field_ident)?;
23641      match field_id {
23642        0 => {
23643          let val = FindSecondaryReturn::read_from_in_protocol(i_prot)?;
23644          f_0 = Some(val);
23645        },
23646        _ => {
23647          i_prot.skip(field_ident.field_type)?;
23648        },
23649      };
23650      i_prot.read_field_end()?;
23651    }
23652    i_prot.read_struct_end()?;
23653    let ret = ApplyDbIdx128FindSecondaryResult {
23654      result_value: f_0,
23655    };
23656    Ok(ret)
23657  }
23658  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23659    let struct_ident = TStructIdentifier::new("ApplyDbIdx128FindSecondaryResult");
23660    o_prot.write_struct_begin(&struct_ident)?;
23661    if let Some(ref fld_var) = self.result_value {
23662      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
23663      fld_var.write_to_out_protocol(o_prot)?;
23664      o_prot.write_field_end()?
23665    }
23666    o_prot.write_field_stop()?;
23667    o_prot.write_struct_end()
23668  }
23669  fn ok_or(self) -> thrift::Result<FindSecondaryReturn> {
23670    if self.result_value.is_some() {
23671      Ok(self.result_value.unwrap())
23672    } else {
23673      Err(
23674        thrift::Error::Application(
23675          ApplicationError::new(
23676            ApplicationErrorKind::MissingResult,
23677            "no result received for ApplyDbIdx128FindSecondary"
23678          )
23679        )
23680      )
23681    }
23682  }
23683}
23684
23685//
23686// ApplyDbIdx128LowerboundArgs
23687//
23688
23689#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23690struct ApplyDbIdx128LowerboundArgs {
23691  code: Uint64,
23692  scope: Uint64,
23693  table: Uint64,
23694  secondary: Vec<u8>,
23695  primary: Uint64,
23696}
23697
23698impl ApplyDbIdx128LowerboundArgs {
23699  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128LowerboundArgs> {
23700    i_prot.read_struct_begin()?;
23701    let mut f_1: Option<Uint64> = None;
23702    let mut f_2: Option<Uint64> = None;
23703    let mut f_3: Option<Uint64> = None;
23704    let mut f_4: Option<Vec<u8>> = None;
23705    let mut f_5: Option<Uint64> = None;
23706    loop {
23707      let field_ident = i_prot.read_field_begin()?;
23708      if field_ident.field_type == TType::Stop {
23709        break;
23710      }
23711      let field_id = field_id(&field_ident)?;
23712      match field_id {
23713        1 => {
23714          let val = Uint64::read_from_in_protocol(i_prot)?;
23715          f_1 = Some(val);
23716        },
23717        2 => {
23718          let val = Uint64::read_from_in_protocol(i_prot)?;
23719          f_2 = Some(val);
23720        },
23721        3 => {
23722          let val = Uint64::read_from_in_protocol(i_prot)?;
23723          f_3 = Some(val);
23724        },
23725        4 => {
23726          let val = i_prot.read_bytes()?;
23727          f_4 = Some(val);
23728        },
23729        5 => {
23730          let val = Uint64::read_from_in_protocol(i_prot)?;
23731          f_5 = Some(val);
23732        },
23733        _ => {
23734          i_prot.skip(field_ident.field_type)?;
23735        },
23736      };
23737      i_prot.read_field_end()?;
23738    }
23739    i_prot.read_struct_end()?;
23740    verify_required_field_exists("ApplyDbIdx128LowerboundArgs.code", &f_1)?;
23741    verify_required_field_exists("ApplyDbIdx128LowerboundArgs.scope", &f_2)?;
23742    verify_required_field_exists("ApplyDbIdx128LowerboundArgs.table", &f_3)?;
23743    verify_required_field_exists("ApplyDbIdx128LowerboundArgs.secondary", &f_4)?;
23744    verify_required_field_exists("ApplyDbIdx128LowerboundArgs.primary", &f_5)?;
23745    let ret = ApplyDbIdx128LowerboundArgs {
23746      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
23747      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
23748      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
23749      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
23750      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
23751    };
23752    Ok(ret)
23753  }
23754  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23755    let struct_ident = TStructIdentifier::new("db_idx128_lowerbound_args");
23756    o_prot.write_struct_begin(&struct_ident)?;
23757    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
23758    self.code.write_to_out_protocol(o_prot)?;
23759    o_prot.write_field_end()?;
23760    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
23761    self.scope.write_to_out_protocol(o_prot)?;
23762    o_prot.write_field_end()?;
23763    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
23764    self.table.write_to_out_protocol(o_prot)?;
23765    o_prot.write_field_end()?;
23766    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
23767    o_prot.write_bytes(&self.secondary)?;
23768    o_prot.write_field_end()?;
23769    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
23770    self.primary.write_to_out_protocol(o_prot)?;
23771    o_prot.write_field_end()?;
23772    o_prot.write_field_stop()?;
23773    o_prot.write_struct_end()
23774  }
23775}
23776
23777//
23778// ApplyDbIdx128LowerboundResult
23779//
23780
23781#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23782struct ApplyDbIdx128LowerboundResult {
23783  result_value: Option<LowerBoundUpperBoundReturn>,
23784}
23785
23786impl ApplyDbIdx128LowerboundResult {
23787  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128LowerboundResult> {
23788    i_prot.read_struct_begin()?;
23789    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
23790    loop {
23791      let field_ident = i_prot.read_field_begin()?;
23792      if field_ident.field_type == TType::Stop {
23793        break;
23794      }
23795      let field_id = field_id(&field_ident)?;
23796      match field_id {
23797        0 => {
23798          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
23799          f_0 = Some(val);
23800        },
23801        _ => {
23802          i_prot.skip(field_ident.field_type)?;
23803        },
23804      };
23805      i_prot.read_field_end()?;
23806    }
23807    i_prot.read_struct_end()?;
23808    let ret = ApplyDbIdx128LowerboundResult {
23809      result_value: f_0,
23810    };
23811    Ok(ret)
23812  }
23813  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23814    let struct_ident = TStructIdentifier::new("ApplyDbIdx128LowerboundResult");
23815    o_prot.write_struct_begin(&struct_ident)?;
23816    if let Some(ref fld_var) = self.result_value {
23817      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
23818      fld_var.write_to_out_protocol(o_prot)?;
23819      o_prot.write_field_end()?
23820    }
23821    o_prot.write_field_stop()?;
23822    o_prot.write_struct_end()
23823  }
23824  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
23825    if self.result_value.is_some() {
23826      Ok(self.result_value.unwrap())
23827    } else {
23828      Err(
23829        thrift::Error::Application(
23830          ApplicationError::new(
23831            ApplicationErrorKind::MissingResult,
23832            "no result received for ApplyDbIdx128Lowerbound"
23833          )
23834        )
23835      )
23836    }
23837  }
23838}
23839
23840//
23841// ApplyDbIdx128UpperboundArgs
23842//
23843
23844#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23845struct ApplyDbIdx128UpperboundArgs {
23846  code: Uint64,
23847  scope: Uint64,
23848  table: Uint64,
23849  secondary: Vec<u8>,
23850  primary: Uint64,
23851}
23852
23853impl ApplyDbIdx128UpperboundArgs {
23854  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128UpperboundArgs> {
23855    i_prot.read_struct_begin()?;
23856    let mut f_1: Option<Uint64> = None;
23857    let mut f_2: Option<Uint64> = None;
23858    let mut f_3: Option<Uint64> = None;
23859    let mut f_4: Option<Vec<u8>> = None;
23860    let mut f_5: Option<Uint64> = None;
23861    loop {
23862      let field_ident = i_prot.read_field_begin()?;
23863      if field_ident.field_type == TType::Stop {
23864        break;
23865      }
23866      let field_id = field_id(&field_ident)?;
23867      match field_id {
23868        1 => {
23869          let val = Uint64::read_from_in_protocol(i_prot)?;
23870          f_1 = Some(val);
23871        },
23872        2 => {
23873          let val = Uint64::read_from_in_protocol(i_prot)?;
23874          f_2 = Some(val);
23875        },
23876        3 => {
23877          let val = Uint64::read_from_in_protocol(i_prot)?;
23878          f_3 = Some(val);
23879        },
23880        4 => {
23881          let val = i_prot.read_bytes()?;
23882          f_4 = Some(val);
23883        },
23884        5 => {
23885          let val = Uint64::read_from_in_protocol(i_prot)?;
23886          f_5 = Some(val);
23887        },
23888        _ => {
23889          i_prot.skip(field_ident.field_type)?;
23890        },
23891      };
23892      i_prot.read_field_end()?;
23893    }
23894    i_prot.read_struct_end()?;
23895    verify_required_field_exists("ApplyDbIdx128UpperboundArgs.code", &f_1)?;
23896    verify_required_field_exists("ApplyDbIdx128UpperboundArgs.scope", &f_2)?;
23897    verify_required_field_exists("ApplyDbIdx128UpperboundArgs.table", &f_3)?;
23898    verify_required_field_exists("ApplyDbIdx128UpperboundArgs.secondary", &f_4)?;
23899    verify_required_field_exists("ApplyDbIdx128UpperboundArgs.primary", &f_5)?;
23900    let ret = ApplyDbIdx128UpperboundArgs {
23901      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
23902      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
23903      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
23904      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
23905      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
23906    };
23907    Ok(ret)
23908  }
23909  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23910    let struct_ident = TStructIdentifier::new("db_idx128_upperbound_args");
23911    o_prot.write_struct_begin(&struct_ident)?;
23912    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
23913    self.code.write_to_out_protocol(o_prot)?;
23914    o_prot.write_field_end()?;
23915    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
23916    self.scope.write_to_out_protocol(o_prot)?;
23917    o_prot.write_field_end()?;
23918    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
23919    self.table.write_to_out_protocol(o_prot)?;
23920    o_prot.write_field_end()?;
23921    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
23922    o_prot.write_bytes(&self.secondary)?;
23923    o_prot.write_field_end()?;
23924    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
23925    self.primary.write_to_out_protocol(o_prot)?;
23926    o_prot.write_field_end()?;
23927    o_prot.write_field_stop()?;
23928    o_prot.write_struct_end()
23929  }
23930}
23931
23932//
23933// ApplyDbIdx128UpperboundResult
23934//
23935
23936#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
23937struct ApplyDbIdx128UpperboundResult {
23938  result_value: Option<LowerBoundUpperBoundReturn>,
23939}
23940
23941impl ApplyDbIdx128UpperboundResult {
23942  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128UpperboundResult> {
23943    i_prot.read_struct_begin()?;
23944    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
23945    loop {
23946      let field_ident = i_prot.read_field_begin()?;
23947      if field_ident.field_type == TType::Stop {
23948        break;
23949      }
23950      let field_id = field_id(&field_ident)?;
23951      match field_id {
23952        0 => {
23953          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
23954          f_0 = Some(val);
23955        },
23956        _ => {
23957          i_prot.skip(field_ident.field_type)?;
23958        },
23959      };
23960      i_prot.read_field_end()?;
23961    }
23962    i_prot.read_struct_end()?;
23963    let ret = ApplyDbIdx128UpperboundResult {
23964      result_value: f_0,
23965    };
23966    Ok(ret)
23967  }
23968  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
23969    let struct_ident = TStructIdentifier::new("ApplyDbIdx128UpperboundResult");
23970    o_prot.write_struct_begin(&struct_ident)?;
23971    if let Some(ref fld_var) = self.result_value {
23972      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
23973      fld_var.write_to_out_protocol(o_prot)?;
23974      o_prot.write_field_end()?
23975    }
23976    o_prot.write_field_stop()?;
23977    o_prot.write_struct_end()
23978  }
23979  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
23980    if self.result_value.is_some() {
23981      Ok(self.result_value.unwrap())
23982    } else {
23983      Err(
23984        thrift::Error::Application(
23985          ApplicationError::new(
23986            ApplicationErrorKind::MissingResult,
23987            "no result received for ApplyDbIdx128Upperbound"
23988          )
23989        )
23990      )
23991    }
23992  }
23993}
23994
23995//
23996// ApplyDbIdx128EndArgs
23997//
23998
23999#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24000struct ApplyDbIdx128EndArgs {
24001  code: Uint64,
24002  scope: Uint64,
24003  table: Uint64,
24004}
24005
24006impl ApplyDbIdx128EndArgs {
24007  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128EndArgs> {
24008    i_prot.read_struct_begin()?;
24009    let mut f_1: Option<Uint64> = None;
24010    let mut f_2: Option<Uint64> = None;
24011    let mut f_3: Option<Uint64> = None;
24012    loop {
24013      let field_ident = i_prot.read_field_begin()?;
24014      if field_ident.field_type == TType::Stop {
24015        break;
24016      }
24017      let field_id = field_id(&field_ident)?;
24018      match field_id {
24019        1 => {
24020          let val = Uint64::read_from_in_protocol(i_prot)?;
24021          f_1 = Some(val);
24022        },
24023        2 => {
24024          let val = Uint64::read_from_in_protocol(i_prot)?;
24025          f_2 = Some(val);
24026        },
24027        3 => {
24028          let val = Uint64::read_from_in_protocol(i_prot)?;
24029          f_3 = Some(val);
24030        },
24031        _ => {
24032          i_prot.skip(field_ident.field_type)?;
24033        },
24034      };
24035      i_prot.read_field_end()?;
24036    }
24037    i_prot.read_struct_end()?;
24038    verify_required_field_exists("ApplyDbIdx128EndArgs.code", &f_1)?;
24039    verify_required_field_exists("ApplyDbIdx128EndArgs.scope", &f_2)?;
24040    verify_required_field_exists("ApplyDbIdx128EndArgs.table", &f_3)?;
24041    let ret = ApplyDbIdx128EndArgs {
24042      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
24043      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
24044      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
24045    };
24046    Ok(ret)
24047  }
24048  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24049    let struct_ident = TStructIdentifier::new("db_idx128_end_args");
24050    o_prot.write_struct_begin(&struct_ident)?;
24051    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
24052    self.code.write_to_out_protocol(o_prot)?;
24053    o_prot.write_field_end()?;
24054    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
24055    self.scope.write_to_out_protocol(o_prot)?;
24056    o_prot.write_field_end()?;
24057    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
24058    self.table.write_to_out_protocol(o_prot)?;
24059    o_prot.write_field_end()?;
24060    o_prot.write_field_stop()?;
24061    o_prot.write_struct_end()
24062  }
24063}
24064
24065//
24066// ApplyDbIdx128EndResult
24067//
24068
24069#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24070struct ApplyDbIdx128EndResult {
24071  result_value: Option<i32>,
24072}
24073
24074impl ApplyDbIdx128EndResult {
24075  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx128EndResult> {
24076    i_prot.read_struct_begin()?;
24077    let mut f_0: Option<i32> = None;
24078    loop {
24079      let field_ident = i_prot.read_field_begin()?;
24080      if field_ident.field_type == TType::Stop {
24081        break;
24082      }
24083      let field_id = field_id(&field_ident)?;
24084      match field_id {
24085        0 => {
24086          let val = i_prot.read_i32()?;
24087          f_0 = Some(val);
24088        },
24089        _ => {
24090          i_prot.skip(field_ident.field_type)?;
24091        },
24092      };
24093      i_prot.read_field_end()?;
24094    }
24095    i_prot.read_struct_end()?;
24096    let ret = ApplyDbIdx128EndResult {
24097      result_value: f_0,
24098    };
24099    Ok(ret)
24100  }
24101  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24102    let struct_ident = TStructIdentifier::new("ApplyDbIdx128EndResult");
24103    o_prot.write_struct_begin(&struct_ident)?;
24104    if let Some(fld_var) = self.result_value {
24105      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
24106      o_prot.write_i32(fld_var)?;
24107      o_prot.write_field_end()?
24108    }
24109    o_prot.write_field_stop()?;
24110    o_prot.write_struct_end()
24111  }
24112  fn ok_or(self) -> thrift::Result<i32> {
24113    if self.result_value.is_some() {
24114      Ok(self.result_value.unwrap())
24115    } else {
24116      Err(
24117        thrift::Error::Application(
24118          ApplicationError::new(
24119            ApplicationErrorKind::MissingResult,
24120            "no result received for ApplyDbIdx128End"
24121          )
24122        )
24123      )
24124    }
24125  }
24126}
24127
24128//
24129// ApplyDbIdx256StoreArgs
24130//
24131
24132#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24133struct ApplyDbIdx256StoreArgs {
24134  scope: Uint64,
24135  table: Uint64,
24136  payer: Uint64,
24137  id: Uint64,
24138  data: Vec<u8>,
24139}
24140
24141impl ApplyDbIdx256StoreArgs {
24142  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256StoreArgs> {
24143    i_prot.read_struct_begin()?;
24144    let mut f_1: Option<Uint64> = None;
24145    let mut f_2: Option<Uint64> = None;
24146    let mut f_3: Option<Uint64> = None;
24147    let mut f_4: Option<Uint64> = None;
24148    let mut f_5: Option<Vec<u8>> = None;
24149    loop {
24150      let field_ident = i_prot.read_field_begin()?;
24151      if field_ident.field_type == TType::Stop {
24152        break;
24153      }
24154      let field_id = field_id(&field_ident)?;
24155      match field_id {
24156        1 => {
24157          let val = Uint64::read_from_in_protocol(i_prot)?;
24158          f_1 = Some(val);
24159        },
24160        2 => {
24161          let val = Uint64::read_from_in_protocol(i_prot)?;
24162          f_2 = Some(val);
24163        },
24164        3 => {
24165          let val = Uint64::read_from_in_protocol(i_prot)?;
24166          f_3 = Some(val);
24167        },
24168        4 => {
24169          let val = Uint64::read_from_in_protocol(i_prot)?;
24170          f_4 = Some(val);
24171        },
24172        5 => {
24173          let val = i_prot.read_bytes()?;
24174          f_5 = Some(val);
24175        },
24176        _ => {
24177          i_prot.skip(field_ident.field_type)?;
24178        },
24179      };
24180      i_prot.read_field_end()?;
24181    }
24182    i_prot.read_struct_end()?;
24183    verify_required_field_exists("ApplyDbIdx256StoreArgs.scope", &f_1)?;
24184    verify_required_field_exists("ApplyDbIdx256StoreArgs.table", &f_2)?;
24185    verify_required_field_exists("ApplyDbIdx256StoreArgs.payer", &f_3)?;
24186    verify_required_field_exists("ApplyDbIdx256StoreArgs.id", &f_4)?;
24187    verify_required_field_exists("ApplyDbIdx256StoreArgs.data", &f_5)?;
24188    let ret = ApplyDbIdx256StoreArgs {
24189      scope: f_1.expect("auto-generated code should have checked for presence of required fields"),
24190      table: f_2.expect("auto-generated code should have checked for presence of required fields"),
24191      payer: f_3.expect("auto-generated code should have checked for presence of required fields"),
24192      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
24193      data: f_5.expect("auto-generated code should have checked for presence of required fields"),
24194    };
24195    Ok(ret)
24196  }
24197  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24198    let struct_ident = TStructIdentifier::new("db_idx256_store_args");
24199    o_prot.write_struct_begin(&struct_ident)?;
24200    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 1))?;
24201    self.scope.write_to_out_protocol(o_prot)?;
24202    o_prot.write_field_end()?;
24203    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 2))?;
24204    self.table.write_to_out_protocol(o_prot)?;
24205    o_prot.write_field_end()?;
24206    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 3))?;
24207    self.payer.write_to_out_protocol(o_prot)?;
24208    o_prot.write_field_end()?;
24209    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
24210    self.id.write_to_out_protocol(o_prot)?;
24211    o_prot.write_field_end()?;
24212    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 5))?;
24213    o_prot.write_bytes(&self.data)?;
24214    o_prot.write_field_end()?;
24215    o_prot.write_field_stop()?;
24216    o_prot.write_struct_end()
24217  }
24218}
24219
24220//
24221// ApplyDbIdx256StoreResult
24222//
24223
24224#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24225struct ApplyDbIdx256StoreResult {
24226  result_value: Option<i32>,
24227}
24228
24229impl ApplyDbIdx256StoreResult {
24230  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256StoreResult> {
24231    i_prot.read_struct_begin()?;
24232    let mut f_0: Option<i32> = None;
24233    loop {
24234      let field_ident = i_prot.read_field_begin()?;
24235      if field_ident.field_type == TType::Stop {
24236        break;
24237      }
24238      let field_id = field_id(&field_ident)?;
24239      match field_id {
24240        0 => {
24241          let val = i_prot.read_i32()?;
24242          f_0 = Some(val);
24243        },
24244        _ => {
24245          i_prot.skip(field_ident.field_type)?;
24246        },
24247      };
24248      i_prot.read_field_end()?;
24249    }
24250    i_prot.read_struct_end()?;
24251    let ret = ApplyDbIdx256StoreResult {
24252      result_value: f_0,
24253    };
24254    Ok(ret)
24255  }
24256  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24257    let struct_ident = TStructIdentifier::new("ApplyDbIdx256StoreResult");
24258    o_prot.write_struct_begin(&struct_ident)?;
24259    if let Some(fld_var) = self.result_value {
24260      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
24261      o_prot.write_i32(fld_var)?;
24262      o_prot.write_field_end()?
24263    }
24264    o_prot.write_field_stop()?;
24265    o_prot.write_struct_end()
24266  }
24267  fn ok_or(self) -> thrift::Result<i32> {
24268    if self.result_value.is_some() {
24269      Ok(self.result_value.unwrap())
24270    } else {
24271      Err(
24272        thrift::Error::Application(
24273          ApplicationError::new(
24274            ApplicationErrorKind::MissingResult,
24275            "no result received for ApplyDbIdx256Store"
24276          )
24277        )
24278      )
24279    }
24280  }
24281}
24282
24283//
24284// ApplyDbIdx256UpdateArgs
24285//
24286
24287#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24288struct ApplyDbIdx256UpdateArgs {
24289  iterator: i32,
24290  payer: Uint64,
24291  data: Vec<u8>,
24292}
24293
24294impl ApplyDbIdx256UpdateArgs {
24295  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256UpdateArgs> {
24296    i_prot.read_struct_begin()?;
24297    let mut f_1: Option<i32> = None;
24298    let mut f_2: Option<Uint64> = None;
24299    let mut f_3: Option<Vec<u8>> = None;
24300    loop {
24301      let field_ident = i_prot.read_field_begin()?;
24302      if field_ident.field_type == TType::Stop {
24303        break;
24304      }
24305      let field_id = field_id(&field_ident)?;
24306      match field_id {
24307        1 => {
24308          let val = i_prot.read_i32()?;
24309          f_1 = Some(val);
24310        },
24311        2 => {
24312          let val = Uint64::read_from_in_protocol(i_prot)?;
24313          f_2 = Some(val);
24314        },
24315        3 => {
24316          let val = i_prot.read_bytes()?;
24317          f_3 = Some(val);
24318        },
24319        _ => {
24320          i_prot.skip(field_ident.field_type)?;
24321        },
24322      };
24323      i_prot.read_field_end()?;
24324    }
24325    i_prot.read_struct_end()?;
24326    verify_required_field_exists("ApplyDbIdx256UpdateArgs.iterator", &f_1)?;
24327    verify_required_field_exists("ApplyDbIdx256UpdateArgs.payer", &f_2)?;
24328    verify_required_field_exists("ApplyDbIdx256UpdateArgs.data", &f_3)?;
24329    let ret = ApplyDbIdx256UpdateArgs {
24330      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
24331      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
24332      data: f_3.expect("auto-generated code should have checked for presence of required fields"),
24333    };
24334    Ok(ret)
24335  }
24336  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24337    let struct_ident = TStructIdentifier::new("db_idx256_update_args");
24338    o_prot.write_struct_begin(&struct_ident)?;
24339    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
24340    o_prot.write_i32(self.iterator)?;
24341    o_prot.write_field_end()?;
24342    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
24343    self.payer.write_to_out_protocol(o_prot)?;
24344    o_prot.write_field_end()?;
24345    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 3))?;
24346    o_prot.write_bytes(&self.data)?;
24347    o_prot.write_field_end()?;
24348    o_prot.write_field_stop()?;
24349    o_prot.write_struct_end()
24350  }
24351}
24352
24353//
24354// ApplyDbIdx256UpdateResult
24355//
24356
24357#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24358struct ApplyDbIdx256UpdateResult {
24359}
24360
24361impl ApplyDbIdx256UpdateResult {
24362  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256UpdateResult> {
24363    i_prot.read_struct_begin()?;
24364    loop {
24365      let field_ident = i_prot.read_field_begin()?;
24366      if field_ident.field_type == TType::Stop {
24367        break;
24368      }
24369      let field_id = field_id(&field_ident)?;
24370      match field_id {
24371        _ => {
24372          i_prot.skip(field_ident.field_type)?;
24373        },
24374      };
24375      i_prot.read_field_end()?;
24376    }
24377    i_prot.read_struct_end()?;
24378    let ret = ApplyDbIdx256UpdateResult {};
24379    Ok(ret)
24380  }
24381  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24382    let struct_ident = TStructIdentifier::new("ApplyDbIdx256UpdateResult");
24383    o_prot.write_struct_begin(&struct_ident)?;
24384    o_prot.write_field_stop()?;
24385    o_prot.write_struct_end()
24386  }
24387  fn ok_or(self) -> thrift::Result<()> {
24388    Ok(())
24389  }
24390}
24391
24392//
24393// ApplyDbIdx256RemoveArgs
24394//
24395
24396#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24397struct ApplyDbIdx256RemoveArgs {
24398  iterator: i32,
24399}
24400
24401impl ApplyDbIdx256RemoveArgs {
24402  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256RemoveArgs> {
24403    i_prot.read_struct_begin()?;
24404    let mut f_1: Option<i32> = None;
24405    loop {
24406      let field_ident = i_prot.read_field_begin()?;
24407      if field_ident.field_type == TType::Stop {
24408        break;
24409      }
24410      let field_id = field_id(&field_ident)?;
24411      match field_id {
24412        1 => {
24413          let val = i_prot.read_i32()?;
24414          f_1 = Some(val);
24415        },
24416        _ => {
24417          i_prot.skip(field_ident.field_type)?;
24418        },
24419      };
24420      i_prot.read_field_end()?;
24421    }
24422    i_prot.read_struct_end()?;
24423    verify_required_field_exists("ApplyDbIdx256RemoveArgs.iterator", &f_1)?;
24424    let ret = ApplyDbIdx256RemoveArgs {
24425      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
24426    };
24427    Ok(ret)
24428  }
24429  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24430    let struct_ident = TStructIdentifier::new("db_idx256_remove_args");
24431    o_prot.write_struct_begin(&struct_ident)?;
24432    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
24433    o_prot.write_i32(self.iterator)?;
24434    o_prot.write_field_end()?;
24435    o_prot.write_field_stop()?;
24436    o_prot.write_struct_end()
24437  }
24438}
24439
24440//
24441// ApplyDbIdx256RemoveResult
24442//
24443
24444#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24445struct ApplyDbIdx256RemoveResult {
24446}
24447
24448impl ApplyDbIdx256RemoveResult {
24449  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256RemoveResult> {
24450    i_prot.read_struct_begin()?;
24451    loop {
24452      let field_ident = i_prot.read_field_begin()?;
24453      if field_ident.field_type == TType::Stop {
24454        break;
24455      }
24456      let field_id = field_id(&field_ident)?;
24457      match field_id {
24458        _ => {
24459          i_prot.skip(field_ident.field_type)?;
24460        },
24461      };
24462      i_prot.read_field_end()?;
24463    }
24464    i_prot.read_struct_end()?;
24465    let ret = ApplyDbIdx256RemoveResult {};
24466    Ok(ret)
24467  }
24468  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24469    let struct_ident = TStructIdentifier::new("ApplyDbIdx256RemoveResult");
24470    o_prot.write_struct_begin(&struct_ident)?;
24471    o_prot.write_field_stop()?;
24472    o_prot.write_struct_end()
24473  }
24474  fn ok_or(self) -> thrift::Result<()> {
24475    Ok(())
24476  }
24477}
24478
24479//
24480// ApplyDbIdx256NextArgs
24481//
24482
24483#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24484struct ApplyDbIdx256NextArgs {
24485  iterator: i32,
24486}
24487
24488impl ApplyDbIdx256NextArgs {
24489  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256NextArgs> {
24490    i_prot.read_struct_begin()?;
24491    let mut f_1: Option<i32> = None;
24492    loop {
24493      let field_ident = i_prot.read_field_begin()?;
24494      if field_ident.field_type == TType::Stop {
24495        break;
24496      }
24497      let field_id = field_id(&field_ident)?;
24498      match field_id {
24499        1 => {
24500          let val = i_prot.read_i32()?;
24501          f_1 = Some(val);
24502        },
24503        _ => {
24504          i_prot.skip(field_ident.field_type)?;
24505        },
24506      };
24507      i_prot.read_field_end()?;
24508    }
24509    i_prot.read_struct_end()?;
24510    verify_required_field_exists("ApplyDbIdx256NextArgs.iterator", &f_1)?;
24511    let ret = ApplyDbIdx256NextArgs {
24512      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
24513    };
24514    Ok(ret)
24515  }
24516  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24517    let struct_ident = TStructIdentifier::new("db_idx256_next_args");
24518    o_prot.write_struct_begin(&struct_ident)?;
24519    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
24520    o_prot.write_i32(self.iterator)?;
24521    o_prot.write_field_end()?;
24522    o_prot.write_field_stop()?;
24523    o_prot.write_struct_end()
24524  }
24525}
24526
24527//
24528// ApplyDbIdx256NextResult
24529//
24530
24531#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24532struct ApplyDbIdx256NextResult {
24533  result_value: Option<NextPreviousReturn>,
24534}
24535
24536impl ApplyDbIdx256NextResult {
24537  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256NextResult> {
24538    i_prot.read_struct_begin()?;
24539    let mut f_0: Option<NextPreviousReturn> = None;
24540    loop {
24541      let field_ident = i_prot.read_field_begin()?;
24542      if field_ident.field_type == TType::Stop {
24543        break;
24544      }
24545      let field_id = field_id(&field_ident)?;
24546      match field_id {
24547        0 => {
24548          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
24549          f_0 = Some(val);
24550        },
24551        _ => {
24552          i_prot.skip(field_ident.field_type)?;
24553        },
24554      };
24555      i_prot.read_field_end()?;
24556    }
24557    i_prot.read_struct_end()?;
24558    let ret = ApplyDbIdx256NextResult {
24559      result_value: f_0,
24560    };
24561    Ok(ret)
24562  }
24563  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24564    let struct_ident = TStructIdentifier::new("ApplyDbIdx256NextResult");
24565    o_prot.write_struct_begin(&struct_ident)?;
24566    if let Some(ref fld_var) = self.result_value {
24567      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
24568      fld_var.write_to_out_protocol(o_prot)?;
24569      o_prot.write_field_end()?
24570    }
24571    o_prot.write_field_stop()?;
24572    o_prot.write_struct_end()
24573  }
24574  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
24575    if self.result_value.is_some() {
24576      Ok(self.result_value.unwrap())
24577    } else {
24578      Err(
24579        thrift::Error::Application(
24580          ApplicationError::new(
24581            ApplicationErrorKind::MissingResult,
24582            "no result received for ApplyDbIdx256Next"
24583          )
24584        )
24585      )
24586    }
24587  }
24588}
24589
24590//
24591// ApplyDbIdx256PreviousArgs
24592//
24593
24594#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24595struct ApplyDbIdx256PreviousArgs {
24596  iterator: i32,
24597}
24598
24599impl ApplyDbIdx256PreviousArgs {
24600  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256PreviousArgs> {
24601    i_prot.read_struct_begin()?;
24602    let mut f_1: Option<i32> = None;
24603    loop {
24604      let field_ident = i_prot.read_field_begin()?;
24605      if field_ident.field_type == TType::Stop {
24606        break;
24607      }
24608      let field_id = field_id(&field_ident)?;
24609      match field_id {
24610        1 => {
24611          let val = i_prot.read_i32()?;
24612          f_1 = Some(val);
24613        },
24614        _ => {
24615          i_prot.skip(field_ident.field_type)?;
24616        },
24617      };
24618      i_prot.read_field_end()?;
24619    }
24620    i_prot.read_struct_end()?;
24621    verify_required_field_exists("ApplyDbIdx256PreviousArgs.iterator", &f_1)?;
24622    let ret = ApplyDbIdx256PreviousArgs {
24623      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
24624    };
24625    Ok(ret)
24626  }
24627  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24628    let struct_ident = TStructIdentifier::new("db_idx256_previous_args");
24629    o_prot.write_struct_begin(&struct_ident)?;
24630    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
24631    o_prot.write_i32(self.iterator)?;
24632    o_prot.write_field_end()?;
24633    o_prot.write_field_stop()?;
24634    o_prot.write_struct_end()
24635  }
24636}
24637
24638//
24639// ApplyDbIdx256PreviousResult
24640//
24641
24642#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24643struct ApplyDbIdx256PreviousResult {
24644  result_value: Option<NextPreviousReturn>,
24645}
24646
24647impl ApplyDbIdx256PreviousResult {
24648  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256PreviousResult> {
24649    i_prot.read_struct_begin()?;
24650    let mut f_0: Option<NextPreviousReturn> = None;
24651    loop {
24652      let field_ident = i_prot.read_field_begin()?;
24653      if field_ident.field_type == TType::Stop {
24654        break;
24655      }
24656      let field_id = field_id(&field_ident)?;
24657      match field_id {
24658        0 => {
24659          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
24660          f_0 = Some(val);
24661        },
24662        _ => {
24663          i_prot.skip(field_ident.field_type)?;
24664        },
24665      };
24666      i_prot.read_field_end()?;
24667    }
24668    i_prot.read_struct_end()?;
24669    let ret = ApplyDbIdx256PreviousResult {
24670      result_value: f_0,
24671    };
24672    Ok(ret)
24673  }
24674  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24675    let struct_ident = TStructIdentifier::new("ApplyDbIdx256PreviousResult");
24676    o_prot.write_struct_begin(&struct_ident)?;
24677    if let Some(ref fld_var) = self.result_value {
24678      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
24679      fld_var.write_to_out_protocol(o_prot)?;
24680      o_prot.write_field_end()?
24681    }
24682    o_prot.write_field_stop()?;
24683    o_prot.write_struct_end()
24684  }
24685  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
24686    if self.result_value.is_some() {
24687      Ok(self.result_value.unwrap())
24688    } else {
24689      Err(
24690        thrift::Error::Application(
24691          ApplicationError::new(
24692            ApplicationErrorKind::MissingResult,
24693            "no result received for ApplyDbIdx256Previous"
24694          )
24695        )
24696      )
24697    }
24698  }
24699}
24700
24701//
24702// ApplyDbIdx256FindPrimaryArgs
24703//
24704
24705#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24706struct ApplyDbIdx256FindPrimaryArgs {
24707  code: Uint64,
24708  scope: Uint64,
24709  table: Uint64,
24710  primary: Uint64,
24711}
24712
24713impl ApplyDbIdx256FindPrimaryArgs {
24714  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256FindPrimaryArgs> {
24715    i_prot.read_struct_begin()?;
24716    let mut f_1: Option<Uint64> = None;
24717    let mut f_2: Option<Uint64> = None;
24718    let mut f_3: Option<Uint64> = None;
24719    let mut f_4: Option<Uint64> = None;
24720    loop {
24721      let field_ident = i_prot.read_field_begin()?;
24722      if field_ident.field_type == TType::Stop {
24723        break;
24724      }
24725      let field_id = field_id(&field_ident)?;
24726      match field_id {
24727        1 => {
24728          let val = Uint64::read_from_in_protocol(i_prot)?;
24729          f_1 = Some(val);
24730        },
24731        2 => {
24732          let val = Uint64::read_from_in_protocol(i_prot)?;
24733          f_2 = Some(val);
24734        },
24735        3 => {
24736          let val = Uint64::read_from_in_protocol(i_prot)?;
24737          f_3 = Some(val);
24738        },
24739        4 => {
24740          let val = Uint64::read_from_in_protocol(i_prot)?;
24741          f_4 = Some(val);
24742        },
24743        _ => {
24744          i_prot.skip(field_ident.field_type)?;
24745        },
24746      };
24747      i_prot.read_field_end()?;
24748    }
24749    i_prot.read_struct_end()?;
24750    verify_required_field_exists("ApplyDbIdx256FindPrimaryArgs.code", &f_1)?;
24751    verify_required_field_exists("ApplyDbIdx256FindPrimaryArgs.scope", &f_2)?;
24752    verify_required_field_exists("ApplyDbIdx256FindPrimaryArgs.table", &f_3)?;
24753    verify_required_field_exists("ApplyDbIdx256FindPrimaryArgs.primary", &f_4)?;
24754    let ret = ApplyDbIdx256FindPrimaryArgs {
24755      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
24756      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
24757      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
24758      primary: f_4.expect("auto-generated code should have checked for presence of required fields"),
24759    };
24760    Ok(ret)
24761  }
24762  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24763    let struct_ident = TStructIdentifier::new("db_idx256_find_primary_args");
24764    o_prot.write_struct_begin(&struct_ident)?;
24765    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
24766    self.code.write_to_out_protocol(o_prot)?;
24767    o_prot.write_field_end()?;
24768    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
24769    self.scope.write_to_out_protocol(o_prot)?;
24770    o_prot.write_field_end()?;
24771    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
24772    self.table.write_to_out_protocol(o_prot)?;
24773    o_prot.write_field_end()?;
24774    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 4))?;
24775    self.primary.write_to_out_protocol(o_prot)?;
24776    o_prot.write_field_end()?;
24777    o_prot.write_field_stop()?;
24778    o_prot.write_struct_end()
24779  }
24780}
24781
24782//
24783// ApplyDbIdx256FindPrimaryResult
24784//
24785
24786#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24787struct ApplyDbIdx256FindPrimaryResult {
24788  result_value: Option<FindPrimaryReturn>,
24789}
24790
24791impl ApplyDbIdx256FindPrimaryResult {
24792  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256FindPrimaryResult> {
24793    i_prot.read_struct_begin()?;
24794    let mut f_0: Option<FindPrimaryReturn> = None;
24795    loop {
24796      let field_ident = i_prot.read_field_begin()?;
24797      if field_ident.field_type == TType::Stop {
24798        break;
24799      }
24800      let field_id = field_id(&field_ident)?;
24801      match field_id {
24802        0 => {
24803          let val = FindPrimaryReturn::read_from_in_protocol(i_prot)?;
24804          f_0 = Some(val);
24805        },
24806        _ => {
24807          i_prot.skip(field_ident.field_type)?;
24808        },
24809      };
24810      i_prot.read_field_end()?;
24811    }
24812    i_prot.read_struct_end()?;
24813    let ret = ApplyDbIdx256FindPrimaryResult {
24814      result_value: f_0,
24815    };
24816    Ok(ret)
24817  }
24818  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24819    let struct_ident = TStructIdentifier::new("ApplyDbIdx256FindPrimaryResult");
24820    o_prot.write_struct_begin(&struct_ident)?;
24821    if let Some(ref fld_var) = self.result_value {
24822      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
24823      fld_var.write_to_out_protocol(o_prot)?;
24824      o_prot.write_field_end()?
24825    }
24826    o_prot.write_field_stop()?;
24827    o_prot.write_struct_end()
24828  }
24829  fn ok_or(self) -> thrift::Result<FindPrimaryReturn> {
24830    if self.result_value.is_some() {
24831      Ok(self.result_value.unwrap())
24832    } else {
24833      Err(
24834        thrift::Error::Application(
24835          ApplicationError::new(
24836            ApplicationErrorKind::MissingResult,
24837            "no result received for ApplyDbIdx256FindPrimary"
24838          )
24839        )
24840      )
24841    }
24842  }
24843}
24844
24845//
24846// ApplyDbIdx256FindSecondaryArgs
24847//
24848
24849#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24850struct ApplyDbIdx256FindSecondaryArgs {
24851  code: Uint64,
24852  scope: Uint64,
24853  table: Uint64,
24854  data: Vec<u8>,
24855}
24856
24857impl ApplyDbIdx256FindSecondaryArgs {
24858  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256FindSecondaryArgs> {
24859    i_prot.read_struct_begin()?;
24860    let mut f_1: Option<Uint64> = None;
24861    let mut f_2: Option<Uint64> = None;
24862    let mut f_3: Option<Uint64> = None;
24863    let mut f_4: Option<Vec<u8>> = None;
24864    loop {
24865      let field_ident = i_prot.read_field_begin()?;
24866      if field_ident.field_type == TType::Stop {
24867        break;
24868      }
24869      let field_id = field_id(&field_ident)?;
24870      match field_id {
24871        1 => {
24872          let val = Uint64::read_from_in_protocol(i_prot)?;
24873          f_1 = Some(val);
24874        },
24875        2 => {
24876          let val = Uint64::read_from_in_protocol(i_prot)?;
24877          f_2 = Some(val);
24878        },
24879        3 => {
24880          let val = Uint64::read_from_in_protocol(i_prot)?;
24881          f_3 = Some(val);
24882        },
24883        4 => {
24884          let val = i_prot.read_bytes()?;
24885          f_4 = Some(val);
24886        },
24887        _ => {
24888          i_prot.skip(field_ident.field_type)?;
24889        },
24890      };
24891      i_prot.read_field_end()?;
24892    }
24893    i_prot.read_struct_end()?;
24894    verify_required_field_exists("ApplyDbIdx256FindSecondaryArgs.code", &f_1)?;
24895    verify_required_field_exists("ApplyDbIdx256FindSecondaryArgs.scope", &f_2)?;
24896    verify_required_field_exists("ApplyDbIdx256FindSecondaryArgs.table", &f_3)?;
24897    verify_required_field_exists("ApplyDbIdx256FindSecondaryArgs.data", &f_4)?;
24898    let ret = ApplyDbIdx256FindSecondaryArgs {
24899      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
24900      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
24901      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
24902      data: f_4.expect("auto-generated code should have checked for presence of required fields"),
24903    };
24904    Ok(ret)
24905  }
24906  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24907    let struct_ident = TStructIdentifier::new("db_idx256_find_secondary_args");
24908    o_prot.write_struct_begin(&struct_ident)?;
24909    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
24910    self.code.write_to_out_protocol(o_prot)?;
24911    o_prot.write_field_end()?;
24912    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
24913    self.scope.write_to_out_protocol(o_prot)?;
24914    o_prot.write_field_end()?;
24915    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
24916    self.table.write_to_out_protocol(o_prot)?;
24917    o_prot.write_field_end()?;
24918    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 4))?;
24919    o_prot.write_bytes(&self.data)?;
24920    o_prot.write_field_end()?;
24921    o_prot.write_field_stop()?;
24922    o_prot.write_struct_end()
24923  }
24924}
24925
24926//
24927// ApplyDbIdx256FindSecondaryResult
24928//
24929
24930#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24931struct ApplyDbIdx256FindSecondaryResult {
24932  result_value: Option<FindSecondaryReturn>,
24933}
24934
24935impl ApplyDbIdx256FindSecondaryResult {
24936  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256FindSecondaryResult> {
24937    i_prot.read_struct_begin()?;
24938    let mut f_0: Option<FindSecondaryReturn> = None;
24939    loop {
24940      let field_ident = i_prot.read_field_begin()?;
24941      if field_ident.field_type == TType::Stop {
24942        break;
24943      }
24944      let field_id = field_id(&field_ident)?;
24945      match field_id {
24946        0 => {
24947          let val = FindSecondaryReturn::read_from_in_protocol(i_prot)?;
24948          f_0 = Some(val);
24949        },
24950        _ => {
24951          i_prot.skip(field_ident.field_type)?;
24952        },
24953      };
24954      i_prot.read_field_end()?;
24955    }
24956    i_prot.read_struct_end()?;
24957    let ret = ApplyDbIdx256FindSecondaryResult {
24958      result_value: f_0,
24959    };
24960    Ok(ret)
24961  }
24962  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
24963    let struct_ident = TStructIdentifier::new("ApplyDbIdx256FindSecondaryResult");
24964    o_prot.write_struct_begin(&struct_ident)?;
24965    if let Some(ref fld_var) = self.result_value {
24966      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
24967      fld_var.write_to_out_protocol(o_prot)?;
24968      o_prot.write_field_end()?
24969    }
24970    o_prot.write_field_stop()?;
24971    o_prot.write_struct_end()
24972  }
24973  fn ok_or(self) -> thrift::Result<FindSecondaryReturn> {
24974    if self.result_value.is_some() {
24975      Ok(self.result_value.unwrap())
24976    } else {
24977      Err(
24978        thrift::Error::Application(
24979          ApplicationError::new(
24980            ApplicationErrorKind::MissingResult,
24981            "no result received for ApplyDbIdx256FindSecondary"
24982          )
24983        )
24984      )
24985    }
24986  }
24987}
24988
24989//
24990// ApplyDbIdx256LowerboundArgs
24991//
24992
24993#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
24994struct ApplyDbIdx256LowerboundArgs {
24995  code: Uint64,
24996  scope: Uint64,
24997  table: Uint64,
24998  data: Vec<u8>,
24999  primary: Uint64,
25000}
25001
25002impl ApplyDbIdx256LowerboundArgs {
25003  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256LowerboundArgs> {
25004    i_prot.read_struct_begin()?;
25005    let mut f_1: Option<Uint64> = None;
25006    let mut f_2: Option<Uint64> = None;
25007    let mut f_3: Option<Uint64> = None;
25008    let mut f_4: Option<Vec<u8>> = None;
25009    let mut f_5: Option<Uint64> = None;
25010    loop {
25011      let field_ident = i_prot.read_field_begin()?;
25012      if field_ident.field_type == TType::Stop {
25013        break;
25014      }
25015      let field_id = field_id(&field_ident)?;
25016      match field_id {
25017        1 => {
25018          let val = Uint64::read_from_in_protocol(i_prot)?;
25019          f_1 = Some(val);
25020        },
25021        2 => {
25022          let val = Uint64::read_from_in_protocol(i_prot)?;
25023          f_2 = Some(val);
25024        },
25025        3 => {
25026          let val = Uint64::read_from_in_protocol(i_prot)?;
25027          f_3 = Some(val);
25028        },
25029        4 => {
25030          let val = i_prot.read_bytes()?;
25031          f_4 = Some(val);
25032        },
25033        5 => {
25034          let val = Uint64::read_from_in_protocol(i_prot)?;
25035          f_5 = Some(val);
25036        },
25037        _ => {
25038          i_prot.skip(field_ident.field_type)?;
25039        },
25040      };
25041      i_prot.read_field_end()?;
25042    }
25043    i_prot.read_struct_end()?;
25044    verify_required_field_exists("ApplyDbIdx256LowerboundArgs.code", &f_1)?;
25045    verify_required_field_exists("ApplyDbIdx256LowerboundArgs.scope", &f_2)?;
25046    verify_required_field_exists("ApplyDbIdx256LowerboundArgs.table", &f_3)?;
25047    verify_required_field_exists("ApplyDbIdx256LowerboundArgs.data", &f_4)?;
25048    verify_required_field_exists("ApplyDbIdx256LowerboundArgs.primary", &f_5)?;
25049    let ret = ApplyDbIdx256LowerboundArgs {
25050      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
25051      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
25052      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
25053      data: f_4.expect("auto-generated code should have checked for presence of required fields"),
25054      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
25055    };
25056    Ok(ret)
25057  }
25058  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25059    let struct_ident = TStructIdentifier::new("db_idx256_lowerbound_args");
25060    o_prot.write_struct_begin(&struct_ident)?;
25061    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
25062    self.code.write_to_out_protocol(o_prot)?;
25063    o_prot.write_field_end()?;
25064    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
25065    self.scope.write_to_out_protocol(o_prot)?;
25066    o_prot.write_field_end()?;
25067    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
25068    self.table.write_to_out_protocol(o_prot)?;
25069    o_prot.write_field_end()?;
25070    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 4))?;
25071    o_prot.write_bytes(&self.data)?;
25072    o_prot.write_field_end()?;
25073    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
25074    self.primary.write_to_out_protocol(o_prot)?;
25075    o_prot.write_field_end()?;
25076    o_prot.write_field_stop()?;
25077    o_prot.write_struct_end()
25078  }
25079}
25080
25081//
25082// ApplyDbIdx256LowerboundResult
25083//
25084
25085#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25086struct ApplyDbIdx256LowerboundResult {
25087  result_value: Option<LowerBoundUpperBoundReturn>,
25088}
25089
25090impl ApplyDbIdx256LowerboundResult {
25091  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256LowerboundResult> {
25092    i_prot.read_struct_begin()?;
25093    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
25094    loop {
25095      let field_ident = i_prot.read_field_begin()?;
25096      if field_ident.field_type == TType::Stop {
25097        break;
25098      }
25099      let field_id = field_id(&field_ident)?;
25100      match field_id {
25101        0 => {
25102          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
25103          f_0 = Some(val);
25104        },
25105        _ => {
25106          i_prot.skip(field_ident.field_type)?;
25107        },
25108      };
25109      i_prot.read_field_end()?;
25110    }
25111    i_prot.read_struct_end()?;
25112    let ret = ApplyDbIdx256LowerboundResult {
25113      result_value: f_0,
25114    };
25115    Ok(ret)
25116  }
25117  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25118    let struct_ident = TStructIdentifier::new("ApplyDbIdx256LowerboundResult");
25119    o_prot.write_struct_begin(&struct_ident)?;
25120    if let Some(ref fld_var) = self.result_value {
25121      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
25122      fld_var.write_to_out_protocol(o_prot)?;
25123      o_prot.write_field_end()?
25124    }
25125    o_prot.write_field_stop()?;
25126    o_prot.write_struct_end()
25127  }
25128  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
25129    if self.result_value.is_some() {
25130      Ok(self.result_value.unwrap())
25131    } else {
25132      Err(
25133        thrift::Error::Application(
25134          ApplicationError::new(
25135            ApplicationErrorKind::MissingResult,
25136            "no result received for ApplyDbIdx256Lowerbound"
25137          )
25138        )
25139      )
25140    }
25141  }
25142}
25143
25144//
25145// ApplyDbIdx256UpperboundArgs
25146//
25147
25148#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25149struct ApplyDbIdx256UpperboundArgs {
25150  code: Uint64,
25151  scope: Uint64,
25152  table: Uint64,
25153  data: Vec<u8>,
25154  primary: Uint64,
25155}
25156
25157impl ApplyDbIdx256UpperboundArgs {
25158  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256UpperboundArgs> {
25159    i_prot.read_struct_begin()?;
25160    let mut f_1: Option<Uint64> = None;
25161    let mut f_2: Option<Uint64> = None;
25162    let mut f_3: Option<Uint64> = None;
25163    let mut f_4: Option<Vec<u8>> = None;
25164    let mut f_5: Option<Uint64> = None;
25165    loop {
25166      let field_ident = i_prot.read_field_begin()?;
25167      if field_ident.field_type == TType::Stop {
25168        break;
25169      }
25170      let field_id = field_id(&field_ident)?;
25171      match field_id {
25172        1 => {
25173          let val = Uint64::read_from_in_protocol(i_prot)?;
25174          f_1 = Some(val);
25175        },
25176        2 => {
25177          let val = Uint64::read_from_in_protocol(i_prot)?;
25178          f_2 = Some(val);
25179        },
25180        3 => {
25181          let val = Uint64::read_from_in_protocol(i_prot)?;
25182          f_3 = Some(val);
25183        },
25184        4 => {
25185          let val = i_prot.read_bytes()?;
25186          f_4 = Some(val);
25187        },
25188        5 => {
25189          let val = Uint64::read_from_in_protocol(i_prot)?;
25190          f_5 = Some(val);
25191        },
25192        _ => {
25193          i_prot.skip(field_ident.field_type)?;
25194        },
25195      };
25196      i_prot.read_field_end()?;
25197    }
25198    i_prot.read_struct_end()?;
25199    verify_required_field_exists("ApplyDbIdx256UpperboundArgs.code", &f_1)?;
25200    verify_required_field_exists("ApplyDbIdx256UpperboundArgs.scope", &f_2)?;
25201    verify_required_field_exists("ApplyDbIdx256UpperboundArgs.table", &f_3)?;
25202    verify_required_field_exists("ApplyDbIdx256UpperboundArgs.data", &f_4)?;
25203    verify_required_field_exists("ApplyDbIdx256UpperboundArgs.primary", &f_5)?;
25204    let ret = ApplyDbIdx256UpperboundArgs {
25205      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
25206      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
25207      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
25208      data: f_4.expect("auto-generated code should have checked for presence of required fields"),
25209      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
25210    };
25211    Ok(ret)
25212  }
25213  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25214    let struct_ident = TStructIdentifier::new("db_idx256_upperbound_args");
25215    o_prot.write_struct_begin(&struct_ident)?;
25216    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
25217    self.code.write_to_out_protocol(o_prot)?;
25218    o_prot.write_field_end()?;
25219    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
25220    self.scope.write_to_out_protocol(o_prot)?;
25221    o_prot.write_field_end()?;
25222    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
25223    self.table.write_to_out_protocol(o_prot)?;
25224    o_prot.write_field_end()?;
25225    o_prot.write_field_begin(&TFieldIdentifier::new("data", TType::String, 4))?;
25226    o_prot.write_bytes(&self.data)?;
25227    o_prot.write_field_end()?;
25228    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
25229    self.primary.write_to_out_protocol(o_prot)?;
25230    o_prot.write_field_end()?;
25231    o_prot.write_field_stop()?;
25232    o_prot.write_struct_end()
25233  }
25234}
25235
25236//
25237// ApplyDbIdx256UpperboundResult
25238//
25239
25240#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25241struct ApplyDbIdx256UpperboundResult {
25242  result_value: Option<LowerBoundUpperBoundReturn>,
25243}
25244
25245impl ApplyDbIdx256UpperboundResult {
25246  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256UpperboundResult> {
25247    i_prot.read_struct_begin()?;
25248    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
25249    loop {
25250      let field_ident = i_prot.read_field_begin()?;
25251      if field_ident.field_type == TType::Stop {
25252        break;
25253      }
25254      let field_id = field_id(&field_ident)?;
25255      match field_id {
25256        0 => {
25257          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
25258          f_0 = Some(val);
25259        },
25260        _ => {
25261          i_prot.skip(field_ident.field_type)?;
25262        },
25263      };
25264      i_prot.read_field_end()?;
25265    }
25266    i_prot.read_struct_end()?;
25267    let ret = ApplyDbIdx256UpperboundResult {
25268      result_value: f_0,
25269    };
25270    Ok(ret)
25271  }
25272  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25273    let struct_ident = TStructIdentifier::new("ApplyDbIdx256UpperboundResult");
25274    o_prot.write_struct_begin(&struct_ident)?;
25275    if let Some(ref fld_var) = self.result_value {
25276      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
25277      fld_var.write_to_out_protocol(o_prot)?;
25278      o_prot.write_field_end()?
25279    }
25280    o_prot.write_field_stop()?;
25281    o_prot.write_struct_end()
25282  }
25283  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
25284    if self.result_value.is_some() {
25285      Ok(self.result_value.unwrap())
25286    } else {
25287      Err(
25288        thrift::Error::Application(
25289          ApplicationError::new(
25290            ApplicationErrorKind::MissingResult,
25291            "no result received for ApplyDbIdx256Upperbound"
25292          )
25293        )
25294      )
25295    }
25296  }
25297}
25298
25299//
25300// ApplyDbIdx256EndArgs
25301//
25302
25303#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25304struct ApplyDbIdx256EndArgs {
25305  code: Uint64,
25306  scope: Uint64,
25307  table: Uint64,
25308}
25309
25310impl ApplyDbIdx256EndArgs {
25311  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256EndArgs> {
25312    i_prot.read_struct_begin()?;
25313    let mut f_1: Option<Uint64> = None;
25314    let mut f_2: Option<Uint64> = None;
25315    let mut f_3: Option<Uint64> = None;
25316    loop {
25317      let field_ident = i_prot.read_field_begin()?;
25318      if field_ident.field_type == TType::Stop {
25319        break;
25320      }
25321      let field_id = field_id(&field_ident)?;
25322      match field_id {
25323        1 => {
25324          let val = Uint64::read_from_in_protocol(i_prot)?;
25325          f_1 = Some(val);
25326        },
25327        2 => {
25328          let val = Uint64::read_from_in_protocol(i_prot)?;
25329          f_2 = Some(val);
25330        },
25331        3 => {
25332          let val = Uint64::read_from_in_protocol(i_prot)?;
25333          f_3 = Some(val);
25334        },
25335        _ => {
25336          i_prot.skip(field_ident.field_type)?;
25337        },
25338      };
25339      i_prot.read_field_end()?;
25340    }
25341    i_prot.read_struct_end()?;
25342    verify_required_field_exists("ApplyDbIdx256EndArgs.code", &f_1)?;
25343    verify_required_field_exists("ApplyDbIdx256EndArgs.scope", &f_2)?;
25344    verify_required_field_exists("ApplyDbIdx256EndArgs.table", &f_3)?;
25345    let ret = ApplyDbIdx256EndArgs {
25346      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
25347      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
25348      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
25349    };
25350    Ok(ret)
25351  }
25352  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25353    let struct_ident = TStructIdentifier::new("db_idx256_end_args");
25354    o_prot.write_struct_begin(&struct_ident)?;
25355    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
25356    self.code.write_to_out_protocol(o_prot)?;
25357    o_prot.write_field_end()?;
25358    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
25359    self.scope.write_to_out_protocol(o_prot)?;
25360    o_prot.write_field_end()?;
25361    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
25362    self.table.write_to_out_protocol(o_prot)?;
25363    o_prot.write_field_end()?;
25364    o_prot.write_field_stop()?;
25365    o_prot.write_struct_end()
25366  }
25367}
25368
25369//
25370// ApplyDbIdx256EndResult
25371//
25372
25373#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25374struct ApplyDbIdx256EndResult {
25375  result_value: Option<i32>,
25376}
25377
25378impl ApplyDbIdx256EndResult {
25379  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdx256EndResult> {
25380    i_prot.read_struct_begin()?;
25381    let mut f_0: Option<i32> = None;
25382    loop {
25383      let field_ident = i_prot.read_field_begin()?;
25384      if field_ident.field_type == TType::Stop {
25385        break;
25386      }
25387      let field_id = field_id(&field_ident)?;
25388      match field_id {
25389        0 => {
25390          let val = i_prot.read_i32()?;
25391          f_0 = Some(val);
25392        },
25393        _ => {
25394          i_prot.skip(field_ident.field_type)?;
25395        },
25396      };
25397      i_prot.read_field_end()?;
25398    }
25399    i_prot.read_struct_end()?;
25400    let ret = ApplyDbIdx256EndResult {
25401      result_value: f_0,
25402    };
25403    Ok(ret)
25404  }
25405  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25406    let struct_ident = TStructIdentifier::new("ApplyDbIdx256EndResult");
25407    o_prot.write_struct_begin(&struct_ident)?;
25408    if let Some(fld_var) = self.result_value {
25409      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
25410      o_prot.write_i32(fld_var)?;
25411      o_prot.write_field_end()?
25412    }
25413    o_prot.write_field_stop()?;
25414    o_prot.write_struct_end()
25415  }
25416  fn ok_or(self) -> thrift::Result<i32> {
25417    if self.result_value.is_some() {
25418      Ok(self.result_value.unwrap())
25419    } else {
25420      Err(
25421        thrift::Error::Application(
25422          ApplicationError::new(
25423            ApplicationErrorKind::MissingResult,
25424            "no result received for ApplyDbIdx256End"
25425          )
25426        )
25427      )
25428    }
25429  }
25430}
25431
25432//
25433// ApplyDbIdxDoubleStoreArgs
25434//
25435
25436#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25437struct ApplyDbIdxDoubleStoreArgs {
25438  scope: Uint64,
25439  table: Uint64,
25440  payer: Uint64,
25441  id: Uint64,
25442  secondary: Vec<u8>,
25443}
25444
25445impl ApplyDbIdxDoubleStoreArgs {
25446  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleStoreArgs> {
25447    i_prot.read_struct_begin()?;
25448    let mut f_1: Option<Uint64> = None;
25449    let mut f_2: Option<Uint64> = None;
25450    let mut f_3: Option<Uint64> = None;
25451    let mut f_4: Option<Uint64> = None;
25452    let mut f_5: Option<Vec<u8>> = None;
25453    loop {
25454      let field_ident = i_prot.read_field_begin()?;
25455      if field_ident.field_type == TType::Stop {
25456        break;
25457      }
25458      let field_id = field_id(&field_ident)?;
25459      match field_id {
25460        1 => {
25461          let val = Uint64::read_from_in_protocol(i_prot)?;
25462          f_1 = Some(val);
25463        },
25464        2 => {
25465          let val = Uint64::read_from_in_protocol(i_prot)?;
25466          f_2 = Some(val);
25467        },
25468        3 => {
25469          let val = Uint64::read_from_in_protocol(i_prot)?;
25470          f_3 = Some(val);
25471        },
25472        4 => {
25473          let val = Uint64::read_from_in_protocol(i_prot)?;
25474          f_4 = Some(val);
25475        },
25476        5 => {
25477          let val = i_prot.read_bytes()?;
25478          f_5 = Some(val);
25479        },
25480        _ => {
25481          i_prot.skip(field_ident.field_type)?;
25482        },
25483      };
25484      i_prot.read_field_end()?;
25485    }
25486    i_prot.read_struct_end()?;
25487    verify_required_field_exists("ApplyDbIdxDoubleStoreArgs.scope", &f_1)?;
25488    verify_required_field_exists("ApplyDbIdxDoubleStoreArgs.table", &f_2)?;
25489    verify_required_field_exists("ApplyDbIdxDoubleStoreArgs.payer", &f_3)?;
25490    verify_required_field_exists("ApplyDbIdxDoubleStoreArgs.id", &f_4)?;
25491    verify_required_field_exists("ApplyDbIdxDoubleStoreArgs.secondary", &f_5)?;
25492    let ret = ApplyDbIdxDoubleStoreArgs {
25493      scope: f_1.expect("auto-generated code should have checked for presence of required fields"),
25494      table: f_2.expect("auto-generated code should have checked for presence of required fields"),
25495      payer: f_3.expect("auto-generated code should have checked for presence of required fields"),
25496      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
25497      secondary: f_5.expect("auto-generated code should have checked for presence of required fields"),
25498    };
25499    Ok(ret)
25500  }
25501  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25502    let struct_ident = TStructIdentifier::new("db_idx_double_store_args");
25503    o_prot.write_struct_begin(&struct_ident)?;
25504    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 1))?;
25505    self.scope.write_to_out_protocol(o_prot)?;
25506    o_prot.write_field_end()?;
25507    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 2))?;
25508    self.table.write_to_out_protocol(o_prot)?;
25509    o_prot.write_field_end()?;
25510    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 3))?;
25511    self.payer.write_to_out_protocol(o_prot)?;
25512    o_prot.write_field_end()?;
25513    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
25514    self.id.write_to_out_protocol(o_prot)?;
25515    o_prot.write_field_end()?;
25516    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 5))?;
25517    o_prot.write_bytes(&self.secondary)?;
25518    o_prot.write_field_end()?;
25519    o_prot.write_field_stop()?;
25520    o_prot.write_struct_end()
25521  }
25522}
25523
25524//
25525// ApplyDbIdxDoubleStoreResult
25526//
25527
25528#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25529struct ApplyDbIdxDoubleStoreResult {
25530  result_value: Option<i32>,
25531}
25532
25533impl ApplyDbIdxDoubleStoreResult {
25534  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleStoreResult> {
25535    i_prot.read_struct_begin()?;
25536    let mut f_0: Option<i32> = None;
25537    loop {
25538      let field_ident = i_prot.read_field_begin()?;
25539      if field_ident.field_type == TType::Stop {
25540        break;
25541      }
25542      let field_id = field_id(&field_ident)?;
25543      match field_id {
25544        0 => {
25545          let val = i_prot.read_i32()?;
25546          f_0 = Some(val);
25547        },
25548        _ => {
25549          i_prot.skip(field_ident.field_type)?;
25550        },
25551      };
25552      i_prot.read_field_end()?;
25553    }
25554    i_prot.read_struct_end()?;
25555    let ret = ApplyDbIdxDoubleStoreResult {
25556      result_value: f_0,
25557    };
25558    Ok(ret)
25559  }
25560  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25561    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleStoreResult");
25562    o_prot.write_struct_begin(&struct_ident)?;
25563    if let Some(fld_var) = self.result_value {
25564      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
25565      o_prot.write_i32(fld_var)?;
25566      o_prot.write_field_end()?
25567    }
25568    o_prot.write_field_stop()?;
25569    o_prot.write_struct_end()
25570  }
25571  fn ok_or(self) -> thrift::Result<i32> {
25572    if self.result_value.is_some() {
25573      Ok(self.result_value.unwrap())
25574    } else {
25575      Err(
25576        thrift::Error::Application(
25577          ApplicationError::new(
25578            ApplicationErrorKind::MissingResult,
25579            "no result received for ApplyDbIdxDoubleStore"
25580          )
25581        )
25582      )
25583    }
25584  }
25585}
25586
25587//
25588// ApplyDbIdxDoubleUpdateArgs
25589//
25590
25591#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25592struct ApplyDbIdxDoubleUpdateArgs {
25593  iterator: i32,
25594  payer: Uint64,
25595  secondary: Vec<u8>,
25596}
25597
25598impl ApplyDbIdxDoubleUpdateArgs {
25599  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleUpdateArgs> {
25600    i_prot.read_struct_begin()?;
25601    let mut f_1: Option<i32> = None;
25602    let mut f_2: Option<Uint64> = None;
25603    let mut f_3: Option<Vec<u8>> = None;
25604    loop {
25605      let field_ident = i_prot.read_field_begin()?;
25606      if field_ident.field_type == TType::Stop {
25607        break;
25608      }
25609      let field_id = field_id(&field_ident)?;
25610      match field_id {
25611        1 => {
25612          let val = i_prot.read_i32()?;
25613          f_1 = Some(val);
25614        },
25615        2 => {
25616          let val = Uint64::read_from_in_protocol(i_prot)?;
25617          f_2 = Some(val);
25618        },
25619        3 => {
25620          let val = i_prot.read_bytes()?;
25621          f_3 = Some(val);
25622        },
25623        _ => {
25624          i_prot.skip(field_ident.field_type)?;
25625        },
25626      };
25627      i_prot.read_field_end()?;
25628    }
25629    i_prot.read_struct_end()?;
25630    verify_required_field_exists("ApplyDbIdxDoubleUpdateArgs.iterator", &f_1)?;
25631    verify_required_field_exists("ApplyDbIdxDoubleUpdateArgs.payer", &f_2)?;
25632    verify_required_field_exists("ApplyDbIdxDoubleUpdateArgs.secondary", &f_3)?;
25633    let ret = ApplyDbIdxDoubleUpdateArgs {
25634      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
25635      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
25636      secondary: f_3.expect("auto-generated code should have checked for presence of required fields"),
25637    };
25638    Ok(ret)
25639  }
25640  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25641    let struct_ident = TStructIdentifier::new("db_idx_double_update_args");
25642    o_prot.write_struct_begin(&struct_ident)?;
25643    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
25644    o_prot.write_i32(self.iterator)?;
25645    o_prot.write_field_end()?;
25646    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
25647    self.payer.write_to_out_protocol(o_prot)?;
25648    o_prot.write_field_end()?;
25649    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 3))?;
25650    o_prot.write_bytes(&self.secondary)?;
25651    o_prot.write_field_end()?;
25652    o_prot.write_field_stop()?;
25653    o_prot.write_struct_end()
25654  }
25655}
25656
25657//
25658// ApplyDbIdxDoubleUpdateResult
25659//
25660
25661#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25662struct ApplyDbIdxDoubleUpdateResult {
25663}
25664
25665impl ApplyDbIdxDoubleUpdateResult {
25666  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleUpdateResult> {
25667    i_prot.read_struct_begin()?;
25668    loop {
25669      let field_ident = i_prot.read_field_begin()?;
25670      if field_ident.field_type == TType::Stop {
25671        break;
25672      }
25673      let field_id = field_id(&field_ident)?;
25674      match field_id {
25675        _ => {
25676          i_prot.skip(field_ident.field_type)?;
25677        },
25678      };
25679      i_prot.read_field_end()?;
25680    }
25681    i_prot.read_struct_end()?;
25682    let ret = ApplyDbIdxDoubleUpdateResult {};
25683    Ok(ret)
25684  }
25685  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25686    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleUpdateResult");
25687    o_prot.write_struct_begin(&struct_ident)?;
25688    o_prot.write_field_stop()?;
25689    o_prot.write_struct_end()
25690  }
25691  fn ok_or(self) -> thrift::Result<()> {
25692    Ok(())
25693  }
25694}
25695
25696//
25697// ApplyDbIdxDoubleRemoveArgs
25698//
25699
25700#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25701struct ApplyDbIdxDoubleRemoveArgs {
25702  iterator: i32,
25703}
25704
25705impl ApplyDbIdxDoubleRemoveArgs {
25706  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleRemoveArgs> {
25707    i_prot.read_struct_begin()?;
25708    let mut f_1: Option<i32> = None;
25709    loop {
25710      let field_ident = i_prot.read_field_begin()?;
25711      if field_ident.field_type == TType::Stop {
25712        break;
25713      }
25714      let field_id = field_id(&field_ident)?;
25715      match field_id {
25716        1 => {
25717          let val = i_prot.read_i32()?;
25718          f_1 = Some(val);
25719        },
25720        _ => {
25721          i_prot.skip(field_ident.field_type)?;
25722        },
25723      };
25724      i_prot.read_field_end()?;
25725    }
25726    i_prot.read_struct_end()?;
25727    verify_required_field_exists("ApplyDbIdxDoubleRemoveArgs.iterator", &f_1)?;
25728    let ret = ApplyDbIdxDoubleRemoveArgs {
25729      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
25730    };
25731    Ok(ret)
25732  }
25733  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25734    let struct_ident = TStructIdentifier::new("db_idx_double_remove_args");
25735    o_prot.write_struct_begin(&struct_ident)?;
25736    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
25737    o_prot.write_i32(self.iterator)?;
25738    o_prot.write_field_end()?;
25739    o_prot.write_field_stop()?;
25740    o_prot.write_struct_end()
25741  }
25742}
25743
25744//
25745// ApplyDbIdxDoubleRemoveResult
25746//
25747
25748#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25749struct ApplyDbIdxDoubleRemoveResult {
25750}
25751
25752impl ApplyDbIdxDoubleRemoveResult {
25753  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleRemoveResult> {
25754    i_prot.read_struct_begin()?;
25755    loop {
25756      let field_ident = i_prot.read_field_begin()?;
25757      if field_ident.field_type == TType::Stop {
25758        break;
25759      }
25760      let field_id = field_id(&field_ident)?;
25761      match field_id {
25762        _ => {
25763          i_prot.skip(field_ident.field_type)?;
25764        },
25765      };
25766      i_prot.read_field_end()?;
25767    }
25768    i_prot.read_struct_end()?;
25769    let ret = ApplyDbIdxDoubleRemoveResult {};
25770    Ok(ret)
25771  }
25772  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25773    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleRemoveResult");
25774    o_prot.write_struct_begin(&struct_ident)?;
25775    o_prot.write_field_stop()?;
25776    o_prot.write_struct_end()
25777  }
25778  fn ok_or(self) -> thrift::Result<()> {
25779    Ok(())
25780  }
25781}
25782
25783//
25784// ApplyDbIdxDoubleNextArgs
25785//
25786
25787#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25788struct ApplyDbIdxDoubleNextArgs {
25789  iterator: i32,
25790}
25791
25792impl ApplyDbIdxDoubleNextArgs {
25793  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleNextArgs> {
25794    i_prot.read_struct_begin()?;
25795    let mut f_1: Option<i32> = None;
25796    loop {
25797      let field_ident = i_prot.read_field_begin()?;
25798      if field_ident.field_type == TType::Stop {
25799        break;
25800      }
25801      let field_id = field_id(&field_ident)?;
25802      match field_id {
25803        1 => {
25804          let val = i_prot.read_i32()?;
25805          f_1 = Some(val);
25806        },
25807        _ => {
25808          i_prot.skip(field_ident.field_type)?;
25809        },
25810      };
25811      i_prot.read_field_end()?;
25812    }
25813    i_prot.read_struct_end()?;
25814    verify_required_field_exists("ApplyDbIdxDoubleNextArgs.iterator", &f_1)?;
25815    let ret = ApplyDbIdxDoubleNextArgs {
25816      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
25817    };
25818    Ok(ret)
25819  }
25820  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25821    let struct_ident = TStructIdentifier::new("db_idx_double_next_args");
25822    o_prot.write_struct_begin(&struct_ident)?;
25823    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
25824    o_prot.write_i32(self.iterator)?;
25825    o_prot.write_field_end()?;
25826    o_prot.write_field_stop()?;
25827    o_prot.write_struct_end()
25828  }
25829}
25830
25831//
25832// ApplyDbIdxDoubleNextResult
25833//
25834
25835#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25836struct ApplyDbIdxDoubleNextResult {
25837  result_value: Option<NextPreviousReturn>,
25838}
25839
25840impl ApplyDbIdxDoubleNextResult {
25841  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleNextResult> {
25842    i_prot.read_struct_begin()?;
25843    let mut f_0: Option<NextPreviousReturn> = None;
25844    loop {
25845      let field_ident = i_prot.read_field_begin()?;
25846      if field_ident.field_type == TType::Stop {
25847        break;
25848      }
25849      let field_id = field_id(&field_ident)?;
25850      match field_id {
25851        0 => {
25852          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
25853          f_0 = Some(val);
25854        },
25855        _ => {
25856          i_prot.skip(field_ident.field_type)?;
25857        },
25858      };
25859      i_prot.read_field_end()?;
25860    }
25861    i_prot.read_struct_end()?;
25862    let ret = ApplyDbIdxDoubleNextResult {
25863      result_value: f_0,
25864    };
25865    Ok(ret)
25866  }
25867  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25868    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleNextResult");
25869    o_prot.write_struct_begin(&struct_ident)?;
25870    if let Some(ref fld_var) = self.result_value {
25871      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
25872      fld_var.write_to_out_protocol(o_prot)?;
25873      o_prot.write_field_end()?
25874    }
25875    o_prot.write_field_stop()?;
25876    o_prot.write_struct_end()
25877  }
25878  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
25879    if self.result_value.is_some() {
25880      Ok(self.result_value.unwrap())
25881    } else {
25882      Err(
25883        thrift::Error::Application(
25884          ApplicationError::new(
25885            ApplicationErrorKind::MissingResult,
25886            "no result received for ApplyDbIdxDoubleNext"
25887          )
25888        )
25889      )
25890    }
25891  }
25892}
25893
25894//
25895// ApplyDbIdxDoublePreviousArgs
25896//
25897
25898#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25899struct ApplyDbIdxDoublePreviousArgs {
25900  iterator: i32,
25901}
25902
25903impl ApplyDbIdxDoublePreviousArgs {
25904  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoublePreviousArgs> {
25905    i_prot.read_struct_begin()?;
25906    let mut f_1: Option<i32> = None;
25907    loop {
25908      let field_ident = i_prot.read_field_begin()?;
25909      if field_ident.field_type == TType::Stop {
25910        break;
25911      }
25912      let field_id = field_id(&field_ident)?;
25913      match field_id {
25914        1 => {
25915          let val = i_prot.read_i32()?;
25916          f_1 = Some(val);
25917        },
25918        _ => {
25919          i_prot.skip(field_ident.field_type)?;
25920        },
25921      };
25922      i_prot.read_field_end()?;
25923    }
25924    i_prot.read_struct_end()?;
25925    verify_required_field_exists("ApplyDbIdxDoublePreviousArgs.iterator", &f_1)?;
25926    let ret = ApplyDbIdxDoublePreviousArgs {
25927      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
25928    };
25929    Ok(ret)
25930  }
25931  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25932    let struct_ident = TStructIdentifier::new("db_idx_double_previous_args");
25933    o_prot.write_struct_begin(&struct_ident)?;
25934    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
25935    o_prot.write_i32(self.iterator)?;
25936    o_prot.write_field_end()?;
25937    o_prot.write_field_stop()?;
25938    o_prot.write_struct_end()
25939  }
25940}
25941
25942//
25943// ApplyDbIdxDoublePreviousResult
25944//
25945
25946#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
25947struct ApplyDbIdxDoublePreviousResult {
25948  result_value: Option<NextPreviousReturn>,
25949}
25950
25951impl ApplyDbIdxDoublePreviousResult {
25952  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoublePreviousResult> {
25953    i_prot.read_struct_begin()?;
25954    let mut f_0: Option<NextPreviousReturn> = None;
25955    loop {
25956      let field_ident = i_prot.read_field_begin()?;
25957      if field_ident.field_type == TType::Stop {
25958        break;
25959      }
25960      let field_id = field_id(&field_ident)?;
25961      match field_id {
25962        0 => {
25963          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
25964          f_0 = Some(val);
25965        },
25966        _ => {
25967          i_prot.skip(field_ident.field_type)?;
25968        },
25969      };
25970      i_prot.read_field_end()?;
25971    }
25972    i_prot.read_struct_end()?;
25973    let ret = ApplyDbIdxDoublePreviousResult {
25974      result_value: f_0,
25975    };
25976    Ok(ret)
25977  }
25978  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
25979    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoublePreviousResult");
25980    o_prot.write_struct_begin(&struct_ident)?;
25981    if let Some(ref fld_var) = self.result_value {
25982      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
25983      fld_var.write_to_out_protocol(o_prot)?;
25984      o_prot.write_field_end()?
25985    }
25986    o_prot.write_field_stop()?;
25987    o_prot.write_struct_end()
25988  }
25989  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
25990    if self.result_value.is_some() {
25991      Ok(self.result_value.unwrap())
25992    } else {
25993      Err(
25994        thrift::Error::Application(
25995          ApplicationError::new(
25996            ApplicationErrorKind::MissingResult,
25997            "no result received for ApplyDbIdxDoublePrevious"
25998          )
25999        )
26000      )
26001    }
26002  }
26003}
26004
26005//
26006// ApplyDbIdxDoubleFindPrimaryArgs
26007//
26008
26009#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26010struct ApplyDbIdxDoubleFindPrimaryArgs {
26011  code: Uint64,
26012  scope: Uint64,
26013  table: Uint64,
26014  primary: Uint64,
26015}
26016
26017impl ApplyDbIdxDoubleFindPrimaryArgs {
26018  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleFindPrimaryArgs> {
26019    i_prot.read_struct_begin()?;
26020    let mut f_1: Option<Uint64> = None;
26021    let mut f_2: Option<Uint64> = None;
26022    let mut f_3: Option<Uint64> = None;
26023    let mut f_4: Option<Uint64> = None;
26024    loop {
26025      let field_ident = i_prot.read_field_begin()?;
26026      if field_ident.field_type == TType::Stop {
26027        break;
26028      }
26029      let field_id = field_id(&field_ident)?;
26030      match field_id {
26031        1 => {
26032          let val = Uint64::read_from_in_protocol(i_prot)?;
26033          f_1 = Some(val);
26034        },
26035        2 => {
26036          let val = Uint64::read_from_in_protocol(i_prot)?;
26037          f_2 = Some(val);
26038        },
26039        3 => {
26040          let val = Uint64::read_from_in_protocol(i_prot)?;
26041          f_3 = Some(val);
26042        },
26043        4 => {
26044          let val = Uint64::read_from_in_protocol(i_prot)?;
26045          f_4 = Some(val);
26046        },
26047        _ => {
26048          i_prot.skip(field_ident.field_type)?;
26049        },
26050      };
26051      i_prot.read_field_end()?;
26052    }
26053    i_prot.read_struct_end()?;
26054    verify_required_field_exists("ApplyDbIdxDoubleFindPrimaryArgs.code", &f_1)?;
26055    verify_required_field_exists("ApplyDbIdxDoubleFindPrimaryArgs.scope", &f_2)?;
26056    verify_required_field_exists("ApplyDbIdxDoubleFindPrimaryArgs.table", &f_3)?;
26057    verify_required_field_exists("ApplyDbIdxDoubleFindPrimaryArgs.primary", &f_4)?;
26058    let ret = ApplyDbIdxDoubleFindPrimaryArgs {
26059      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
26060      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
26061      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
26062      primary: f_4.expect("auto-generated code should have checked for presence of required fields"),
26063    };
26064    Ok(ret)
26065  }
26066  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26067    let struct_ident = TStructIdentifier::new("db_idx_double_find_primary_args");
26068    o_prot.write_struct_begin(&struct_ident)?;
26069    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
26070    self.code.write_to_out_protocol(o_prot)?;
26071    o_prot.write_field_end()?;
26072    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
26073    self.scope.write_to_out_protocol(o_prot)?;
26074    o_prot.write_field_end()?;
26075    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
26076    self.table.write_to_out_protocol(o_prot)?;
26077    o_prot.write_field_end()?;
26078    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 4))?;
26079    self.primary.write_to_out_protocol(o_prot)?;
26080    o_prot.write_field_end()?;
26081    o_prot.write_field_stop()?;
26082    o_prot.write_struct_end()
26083  }
26084}
26085
26086//
26087// ApplyDbIdxDoubleFindPrimaryResult
26088//
26089
26090#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26091struct ApplyDbIdxDoubleFindPrimaryResult {
26092  result_value: Option<FindPrimaryReturn>,
26093}
26094
26095impl ApplyDbIdxDoubleFindPrimaryResult {
26096  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleFindPrimaryResult> {
26097    i_prot.read_struct_begin()?;
26098    let mut f_0: Option<FindPrimaryReturn> = None;
26099    loop {
26100      let field_ident = i_prot.read_field_begin()?;
26101      if field_ident.field_type == TType::Stop {
26102        break;
26103      }
26104      let field_id = field_id(&field_ident)?;
26105      match field_id {
26106        0 => {
26107          let val = FindPrimaryReturn::read_from_in_protocol(i_prot)?;
26108          f_0 = Some(val);
26109        },
26110        _ => {
26111          i_prot.skip(field_ident.field_type)?;
26112        },
26113      };
26114      i_prot.read_field_end()?;
26115    }
26116    i_prot.read_struct_end()?;
26117    let ret = ApplyDbIdxDoubleFindPrimaryResult {
26118      result_value: f_0,
26119    };
26120    Ok(ret)
26121  }
26122  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26123    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleFindPrimaryResult");
26124    o_prot.write_struct_begin(&struct_ident)?;
26125    if let Some(ref fld_var) = self.result_value {
26126      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
26127      fld_var.write_to_out_protocol(o_prot)?;
26128      o_prot.write_field_end()?
26129    }
26130    o_prot.write_field_stop()?;
26131    o_prot.write_struct_end()
26132  }
26133  fn ok_or(self) -> thrift::Result<FindPrimaryReturn> {
26134    if self.result_value.is_some() {
26135      Ok(self.result_value.unwrap())
26136    } else {
26137      Err(
26138        thrift::Error::Application(
26139          ApplicationError::new(
26140            ApplicationErrorKind::MissingResult,
26141            "no result received for ApplyDbIdxDoubleFindPrimary"
26142          )
26143        )
26144      )
26145    }
26146  }
26147}
26148
26149//
26150// ApplyDbIdxDoubleFindSecondaryArgs
26151//
26152
26153#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26154struct ApplyDbIdxDoubleFindSecondaryArgs {
26155  code: Uint64,
26156  scope: Uint64,
26157  table: Uint64,
26158  secondary: Vec<u8>,
26159}
26160
26161impl ApplyDbIdxDoubleFindSecondaryArgs {
26162  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleFindSecondaryArgs> {
26163    i_prot.read_struct_begin()?;
26164    let mut f_1: Option<Uint64> = None;
26165    let mut f_2: Option<Uint64> = None;
26166    let mut f_3: Option<Uint64> = None;
26167    let mut f_4: Option<Vec<u8>> = None;
26168    loop {
26169      let field_ident = i_prot.read_field_begin()?;
26170      if field_ident.field_type == TType::Stop {
26171        break;
26172      }
26173      let field_id = field_id(&field_ident)?;
26174      match field_id {
26175        1 => {
26176          let val = Uint64::read_from_in_protocol(i_prot)?;
26177          f_1 = Some(val);
26178        },
26179        2 => {
26180          let val = Uint64::read_from_in_protocol(i_prot)?;
26181          f_2 = Some(val);
26182        },
26183        3 => {
26184          let val = Uint64::read_from_in_protocol(i_prot)?;
26185          f_3 = Some(val);
26186        },
26187        4 => {
26188          let val = i_prot.read_bytes()?;
26189          f_4 = Some(val);
26190        },
26191        _ => {
26192          i_prot.skip(field_ident.field_type)?;
26193        },
26194      };
26195      i_prot.read_field_end()?;
26196    }
26197    i_prot.read_struct_end()?;
26198    verify_required_field_exists("ApplyDbIdxDoubleFindSecondaryArgs.code", &f_1)?;
26199    verify_required_field_exists("ApplyDbIdxDoubleFindSecondaryArgs.scope", &f_2)?;
26200    verify_required_field_exists("ApplyDbIdxDoubleFindSecondaryArgs.table", &f_3)?;
26201    verify_required_field_exists("ApplyDbIdxDoubleFindSecondaryArgs.secondary", &f_4)?;
26202    let ret = ApplyDbIdxDoubleFindSecondaryArgs {
26203      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
26204      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
26205      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
26206      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
26207    };
26208    Ok(ret)
26209  }
26210  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26211    let struct_ident = TStructIdentifier::new("db_idx_double_find_secondary_args");
26212    o_prot.write_struct_begin(&struct_ident)?;
26213    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
26214    self.code.write_to_out_protocol(o_prot)?;
26215    o_prot.write_field_end()?;
26216    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
26217    self.scope.write_to_out_protocol(o_prot)?;
26218    o_prot.write_field_end()?;
26219    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
26220    self.table.write_to_out_protocol(o_prot)?;
26221    o_prot.write_field_end()?;
26222    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
26223    o_prot.write_bytes(&self.secondary)?;
26224    o_prot.write_field_end()?;
26225    o_prot.write_field_stop()?;
26226    o_prot.write_struct_end()
26227  }
26228}
26229
26230//
26231// ApplyDbIdxDoubleFindSecondaryResult
26232//
26233
26234#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26235struct ApplyDbIdxDoubleFindSecondaryResult {
26236  result_value: Option<FindSecondaryReturn>,
26237}
26238
26239impl ApplyDbIdxDoubleFindSecondaryResult {
26240  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleFindSecondaryResult> {
26241    i_prot.read_struct_begin()?;
26242    let mut f_0: Option<FindSecondaryReturn> = None;
26243    loop {
26244      let field_ident = i_prot.read_field_begin()?;
26245      if field_ident.field_type == TType::Stop {
26246        break;
26247      }
26248      let field_id = field_id(&field_ident)?;
26249      match field_id {
26250        0 => {
26251          let val = FindSecondaryReturn::read_from_in_protocol(i_prot)?;
26252          f_0 = Some(val);
26253        },
26254        _ => {
26255          i_prot.skip(field_ident.field_type)?;
26256        },
26257      };
26258      i_prot.read_field_end()?;
26259    }
26260    i_prot.read_struct_end()?;
26261    let ret = ApplyDbIdxDoubleFindSecondaryResult {
26262      result_value: f_0,
26263    };
26264    Ok(ret)
26265  }
26266  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26267    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleFindSecondaryResult");
26268    o_prot.write_struct_begin(&struct_ident)?;
26269    if let Some(ref fld_var) = self.result_value {
26270      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
26271      fld_var.write_to_out_protocol(o_prot)?;
26272      o_prot.write_field_end()?
26273    }
26274    o_prot.write_field_stop()?;
26275    o_prot.write_struct_end()
26276  }
26277  fn ok_or(self) -> thrift::Result<FindSecondaryReturn> {
26278    if self.result_value.is_some() {
26279      Ok(self.result_value.unwrap())
26280    } else {
26281      Err(
26282        thrift::Error::Application(
26283          ApplicationError::new(
26284            ApplicationErrorKind::MissingResult,
26285            "no result received for ApplyDbIdxDoubleFindSecondary"
26286          )
26287        )
26288      )
26289    }
26290  }
26291}
26292
26293//
26294// ApplyDbIdxDoubleLowerboundArgs
26295//
26296
26297#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26298struct ApplyDbIdxDoubleLowerboundArgs {
26299  code: Uint64,
26300  scope: Uint64,
26301  table: Uint64,
26302  secondary: Vec<u8>,
26303  primary: Uint64,
26304}
26305
26306impl ApplyDbIdxDoubleLowerboundArgs {
26307  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleLowerboundArgs> {
26308    i_prot.read_struct_begin()?;
26309    let mut f_1: Option<Uint64> = None;
26310    let mut f_2: Option<Uint64> = None;
26311    let mut f_3: Option<Uint64> = None;
26312    let mut f_4: Option<Vec<u8>> = None;
26313    let mut f_5: Option<Uint64> = None;
26314    loop {
26315      let field_ident = i_prot.read_field_begin()?;
26316      if field_ident.field_type == TType::Stop {
26317        break;
26318      }
26319      let field_id = field_id(&field_ident)?;
26320      match field_id {
26321        1 => {
26322          let val = Uint64::read_from_in_protocol(i_prot)?;
26323          f_1 = Some(val);
26324        },
26325        2 => {
26326          let val = Uint64::read_from_in_protocol(i_prot)?;
26327          f_2 = Some(val);
26328        },
26329        3 => {
26330          let val = Uint64::read_from_in_protocol(i_prot)?;
26331          f_3 = Some(val);
26332        },
26333        4 => {
26334          let val = i_prot.read_bytes()?;
26335          f_4 = Some(val);
26336        },
26337        5 => {
26338          let val = Uint64::read_from_in_protocol(i_prot)?;
26339          f_5 = Some(val);
26340        },
26341        _ => {
26342          i_prot.skip(field_ident.field_type)?;
26343        },
26344      };
26345      i_prot.read_field_end()?;
26346    }
26347    i_prot.read_struct_end()?;
26348    verify_required_field_exists("ApplyDbIdxDoubleLowerboundArgs.code", &f_1)?;
26349    verify_required_field_exists("ApplyDbIdxDoubleLowerboundArgs.scope", &f_2)?;
26350    verify_required_field_exists("ApplyDbIdxDoubleLowerboundArgs.table", &f_3)?;
26351    verify_required_field_exists("ApplyDbIdxDoubleLowerboundArgs.secondary", &f_4)?;
26352    verify_required_field_exists("ApplyDbIdxDoubleLowerboundArgs.primary", &f_5)?;
26353    let ret = ApplyDbIdxDoubleLowerboundArgs {
26354      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
26355      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
26356      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
26357      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
26358      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
26359    };
26360    Ok(ret)
26361  }
26362  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26363    let struct_ident = TStructIdentifier::new("db_idx_double_lowerbound_args");
26364    o_prot.write_struct_begin(&struct_ident)?;
26365    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
26366    self.code.write_to_out_protocol(o_prot)?;
26367    o_prot.write_field_end()?;
26368    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
26369    self.scope.write_to_out_protocol(o_prot)?;
26370    o_prot.write_field_end()?;
26371    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
26372    self.table.write_to_out_protocol(o_prot)?;
26373    o_prot.write_field_end()?;
26374    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
26375    o_prot.write_bytes(&self.secondary)?;
26376    o_prot.write_field_end()?;
26377    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
26378    self.primary.write_to_out_protocol(o_prot)?;
26379    o_prot.write_field_end()?;
26380    o_prot.write_field_stop()?;
26381    o_prot.write_struct_end()
26382  }
26383}
26384
26385//
26386// ApplyDbIdxDoubleLowerboundResult
26387//
26388
26389#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26390struct ApplyDbIdxDoubleLowerboundResult {
26391  result_value: Option<LowerBoundUpperBoundReturn>,
26392}
26393
26394impl ApplyDbIdxDoubleLowerboundResult {
26395  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleLowerboundResult> {
26396    i_prot.read_struct_begin()?;
26397    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
26398    loop {
26399      let field_ident = i_prot.read_field_begin()?;
26400      if field_ident.field_type == TType::Stop {
26401        break;
26402      }
26403      let field_id = field_id(&field_ident)?;
26404      match field_id {
26405        0 => {
26406          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
26407          f_0 = Some(val);
26408        },
26409        _ => {
26410          i_prot.skip(field_ident.field_type)?;
26411        },
26412      };
26413      i_prot.read_field_end()?;
26414    }
26415    i_prot.read_struct_end()?;
26416    let ret = ApplyDbIdxDoubleLowerboundResult {
26417      result_value: f_0,
26418    };
26419    Ok(ret)
26420  }
26421  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26422    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleLowerboundResult");
26423    o_prot.write_struct_begin(&struct_ident)?;
26424    if let Some(ref fld_var) = self.result_value {
26425      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
26426      fld_var.write_to_out_protocol(o_prot)?;
26427      o_prot.write_field_end()?
26428    }
26429    o_prot.write_field_stop()?;
26430    o_prot.write_struct_end()
26431  }
26432  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
26433    if self.result_value.is_some() {
26434      Ok(self.result_value.unwrap())
26435    } else {
26436      Err(
26437        thrift::Error::Application(
26438          ApplicationError::new(
26439            ApplicationErrorKind::MissingResult,
26440            "no result received for ApplyDbIdxDoubleLowerbound"
26441          )
26442        )
26443      )
26444    }
26445  }
26446}
26447
26448//
26449// ApplyDbIdxDoubleUpperboundArgs
26450//
26451
26452#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26453struct ApplyDbIdxDoubleUpperboundArgs {
26454  code: Uint64,
26455  scope: Uint64,
26456  table: Uint64,
26457  secondary: Vec<u8>,
26458  primary: Uint64,
26459}
26460
26461impl ApplyDbIdxDoubleUpperboundArgs {
26462  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleUpperboundArgs> {
26463    i_prot.read_struct_begin()?;
26464    let mut f_1: Option<Uint64> = None;
26465    let mut f_2: Option<Uint64> = None;
26466    let mut f_3: Option<Uint64> = None;
26467    let mut f_4: Option<Vec<u8>> = None;
26468    let mut f_5: Option<Uint64> = None;
26469    loop {
26470      let field_ident = i_prot.read_field_begin()?;
26471      if field_ident.field_type == TType::Stop {
26472        break;
26473      }
26474      let field_id = field_id(&field_ident)?;
26475      match field_id {
26476        1 => {
26477          let val = Uint64::read_from_in_protocol(i_prot)?;
26478          f_1 = Some(val);
26479        },
26480        2 => {
26481          let val = Uint64::read_from_in_protocol(i_prot)?;
26482          f_2 = Some(val);
26483        },
26484        3 => {
26485          let val = Uint64::read_from_in_protocol(i_prot)?;
26486          f_3 = Some(val);
26487        },
26488        4 => {
26489          let val = i_prot.read_bytes()?;
26490          f_4 = Some(val);
26491        },
26492        5 => {
26493          let val = Uint64::read_from_in_protocol(i_prot)?;
26494          f_5 = Some(val);
26495        },
26496        _ => {
26497          i_prot.skip(field_ident.field_type)?;
26498        },
26499      };
26500      i_prot.read_field_end()?;
26501    }
26502    i_prot.read_struct_end()?;
26503    verify_required_field_exists("ApplyDbIdxDoubleUpperboundArgs.code", &f_1)?;
26504    verify_required_field_exists("ApplyDbIdxDoubleUpperboundArgs.scope", &f_2)?;
26505    verify_required_field_exists("ApplyDbIdxDoubleUpperboundArgs.table", &f_3)?;
26506    verify_required_field_exists("ApplyDbIdxDoubleUpperboundArgs.secondary", &f_4)?;
26507    verify_required_field_exists("ApplyDbIdxDoubleUpperboundArgs.primary", &f_5)?;
26508    let ret = ApplyDbIdxDoubleUpperboundArgs {
26509      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
26510      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
26511      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
26512      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
26513      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
26514    };
26515    Ok(ret)
26516  }
26517  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26518    let struct_ident = TStructIdentifier::new("db_idx_double_upperbound_args");
26519    o_prot.write_struct_begin(&struct_ident)?;
26520    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
26521    self.code.write_to_out_protocol(o_prot)?;
26522    o_prot.write_field_end()?;
26523    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
26524    self.scope.write_to_out_protocol(o_prot)?;
26525    o_prot.write_field_end()?;
26526    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
26527    self.table.write_to_out_protocol(o_prot)?;
26528    o_prot.write_field_end()?;
26529    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
26530    o_prot.write_bytes(&self.secondary)?;
26531    o_prot.write_field_end()?;
26532    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
26533    self.primary.write_to_out_protocol(o_prot)?;
26534    o_prot.write_field_end()?;
26535    o_prot.write_field_stop()?;
26536    o_prot.write_struct_end()
26537  }
26538}
26539
26540//
26541// ApplyDbIdxDoubleUpperboundResult
26542//
26543
26544#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26545struct ApplyDbIdxDoubleUpperboundResult {
26546  result_value: Option<LowerBoundUpperBoundReturn>,
26547}
26548
26549impl ApplyDbIdxDoubleUpperboundResult {
26550  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleUpperboundResult> {
26551    i_prot.read_struct_begin()?;
26552    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
26553    loop {
26554      let field_ident = i_prot.read_field_begin()?;
26555      if field_ident.field_type == TType::Stop {
26556        break;
26557      }
26558      let field_id = field_id(&field_ident)?;
26559      match field_id {
26560        0 => {
26561          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
26562          f_0 = Some(val);
26563        },
26564        _ => {
26565          i_prot.skip(field_ident.field_type)?;
26566        },
26567      };
26568      i_prot.read_field_end()?;
26569    }
26570    i_prot.read_struct_end()?;
26571    let ret = ApplyDbIdxDoubleUpperboundResult {
26572      result_value: f_0,
26573    };
26574    Ok(ret)
26575  }
26576  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26577    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleUpperboundResult");
26578    o_prot.write_struct_begin(&struct_ident)?;
26579    if let Some(ref fld_var) = self.result_value {
26580      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
26581      fld_var.write_to_out_protocol(o_prot)?;
26582      o_prot.write_field_end()?
26583    }
26584    o_prot.write_field_stop()?;
26585    o_prot.write_struct_end()
26586  }
26587  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
26588    if self.result_value.is_some() {
26589      Ok(self.result_value.unwrap())
26590    } else {
26591      Err(
26592        thrift::Error::Application(
26593          ApplicationError::new(
26594            ApplicationErrorKind::MissingResult,
26595            "no result received for ApplyDbIdxDoubleUpperbound"
26596          )
26597        )
26598      )
26599    }
26600  }
26601}
26602
26603//
26604// ApplyDbIdxDoubleEndArgs
26605//
26606
26607#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26608struct ApplyDbIdxDoubleEndArgs {
26609  code: Uint64,
26610  scope: Uint64,
26611  table: Uint64,
26612}
26613
26614impl ApplyDbIdxDoubleEndArgs {
26615  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleEndArgs> {
26616    i_prot.read_struct_begin()?;
26617    let mut f_1: Option<Uint64> = None;
26618    let mut f_2: Option<Uint64> = None;
26619    let mut f_3: Option<Uint64> = None;
26620    loop {
26621      let field_ident = i_prot.read_field_begin()?;
26622      if field_ident.field_type == TType::Stop {
26623        break;
26624      }
26625      let field_id = field_id(&field_ident)?;
26626      match field_id {
26627        1 => {
26628          let val = Uint64::read_from_in_protocol(i_prot)?;
26629          f_1 = Some(val);
26630        },
26631        2 => {
26632          let val = Uint64::read_from_in_protocol(i_prot)?;
26633          f_2 = Some(val);
26634        },
26635        3 => {
26636          let val = Uint64::read_from_in_protocol(i_prot)?;
26637          f_3 = Some(val);
26638        },
26639        _ => {
26640          i_prot.skip(field_ident.field_type)?;
26641        },
26642      };
26643      i_prot.read_field_end()?;
26644    }
26645    i_prot.read_struct_end()?;
26646    verify_required_field_exists("ApplyDbIdxDoubleEndArgs.code", &f_1)?;
26647    verify_required_field_exists("ApplyDbIdxDoubleEndArgs.scope", &f_2)?;
26648    verify_required_field_exists("ApplyDbIdxDoubleEndArgs.table", &f_3)?;
26649    let ret = ApplyDbIdxDoubleEndArgs {
26650      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
26651      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
26652      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
26653    };
26654    Ok(ret)
26655  }
26656  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26657    let struct_ident = TStructIdentifier::new("db_idx_double_end_args");
26658    o_prot.write_struct_begin(&struct_ident)?;
26659    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
26660    self.code.write_to_out_protocol(o_prot)?;
26661    o_prot.write_field_end()?;
26662    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
26663    self.scope.write_to_out_protocol(o_prot)?;
26664    o_prot.write_field_end()?;
26665    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
26666    self.table.write_to_out_protocol(o_prot)?;
26667    o_prot.write_field_end()?;
26668    o_prot.write_field_stop()?;
26669    o_prot.write_struct_end()
26670  }
26671}
26672
26673//
26674// ApplyDbIdxDoubleEndResult
26675//
26676
26677#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26678struct ApplyDbIdxDoubleEndResult {
26679  result_value: Option<i32>,
26680}
26681
26682impl ApplyDbIdxDoubleEndResult {
26683  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxDoubleEndResult> {
26684    i_prot.read_struct_begin()?;
26685    let mut f_0: Option<i32> = None;
26686    loop {
26687      let field_ident = i_prot.read_field_begin()?;
26688      if field_ident.field_type == TType::Stop {
26689        break;
26690      }
26691      let field_id = field_id(&field_ident)?;
26692      match field_id {
26693        0 => {
26694          let val = i_prot.read_i32()?;
26695          f_0 = Some(val);
26696        },
26697        _ => {
26698          i_prot.skip(field_ident.field_type)?;
26699        },
26700      };
26701      i_prot.read_field_end()?;
26702    }
26703    i_prot.read_struct_end()?;
26704    let ret = ApplyDbIdxDoubleEndResult {
26705      result_value: f_0,
26706    };
26707    Ok(ret)
26708  }
26709  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26710    let struct_ident = TStructIdentifier::new("ApplyDbIdxDoubleEndResult");
26711    o_prot.write_struct_begin(&struct_ident)?;
26712    if let Some(fld_var) = self.result_value {
26713      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
26714      o_prot.write_i32(fld_var)?;
26715      o_prot.write_field_end()?
26716    }
26717    o_prot.write_field_stop()?;
26718    o_prot.write_struct_end()
26719  }
26720  fn ok_or(self) -> thrift::Result<i32> {
26721    if self.result_value.is_some() {
26722      Ok(self.result_value.unwrap())
26723    } else {
26724      Err(
26725        thrift::Error::Application(
26726          ApplicationError::new(
26727            ApplicationErrorKind::MissingResult,
26728            "no result received for ApplyDbIdxDoubleEnd"
26729          )
26730        )
26731      )
26732    }
26733  }
26734}
26735
26736//
26737// ApplyDbIdxLongDoubleStoreArgs
26738//
26739
26740#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26741struct ApplyDbIdxLongDoubleStoreArgs {
26742  scope: Uint64,
26743  table: Uint64,
26744  payer: Uint64,
26745  id: Uint64,
26746  secondary: Vec<u8>,
26747}
26748
26749impl ApplyDbIdxLongDoubleStoreArgs {
26750  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleStoreArgs> {
26751    i_prot.read_struct_begin()?;
26752    let mut f_1: Option<Uint64> = None;
26753    let mut f_2: Option<Uint64> = None;
26754    let mut f_3: Option<Uint64> = None;
26755    let mut f_4: Option<Uint64> = None;
26756    let mut f_5: Option<Vec<u8>> = None;
26757    loop {
26758      let field_ident = i_prot.read_field_begin()?;
26759      if field_ident.field_type == TType::Stop {
26760        break;
26761      }
26762      let field_id = field_id(&field_ident)?;
26763      match field_id {
26764        1 => {
26765          let val = Uint64::read_from_in_protocol(i_prot)?;
26766          f_1 = Some(val);
26767        },
26768        2 => {
26769          let val = Uint64::read_from_in_protocol(i_prot)?;
26770          f_2 = Some(val);
26771        },
26772        3 => {
26773          let val = Uint64::read_from_in_protocol(i_prot)?;
26774          f_3 = Some(val);
26775        },
26776        4 => {
26777          let val = Uint64::read_from_in_protocol(i_prot)?;
26778          f_4 = Some(val);
26779        },
26780        5 => {
26781          let val = i_prot.read_bytes()?;
26782          f_5 = Some(val);
26783        },
26784        _ => {
26785          i_prot.skip(field_ident.field_type)?;
26786        },
26787      };
26788      i_prot.read_field_end()?;
26789    }
26790    i_prot.read_struct_end()?;
26791    verify_required_field_exists("ApplyDbIdxLongDoubleStoreArgs.scope", &f_1)?;
26792    verify_required_field_exists("ApplyDbIdxLongDoubleStoreArgs.table", &f_2)?;
26793    verify_required_field_exists("ApplyDbIdxLongDoubleStoreArgs.payer", &f_3)?;
26794    verify_required_field_exists("ApplyDbIdxLongDoubleStoreArgs.id", &f_4)?;
26795    verify_required_field_exists("ApplyDbIdxLongDoubleStoreArgs.secondary", &f_5)?;
26796    let ret = ApplyDbIdxLongDoubleStoreArgs {
26797      scope: f_1.expect("auto-generated code should have checked for presence of required fields"),
26798      table: f_2.expect("auto-generated code should have checked for presence of required fields"),
26799      payer: f_3.expect("auto-generated code should have checked for presence of required fields"),
26800      id: f_4.expect("auto-generated code should have checked for presence of required fields"),
26801      secondary: f_5.expect("auto-generated code should have checked for presence of required fields"),
26802    };
26803    Ok(ret)
26804  }
26805  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26806    let struct_ident = TStructIdentifier::new("db_idx_long_double_store_args");
26807    o_prot.write_struct_begin(&struct_ident)?;
26808    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 1))?;
26809    self.scope.write_to_out_protocol(o_prot)?;
26810    o_prot.write_field_end()?;
26811    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 2))?;
26812    self.table.write_to_out_protocol(o_prot)?;
26813    o_prot.write_field_end()?;
26814    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 3))?;
26815    self.payer.write_to_out_protocol(o_prot)?;
26816    o_prot.write_field_end()?;
26817    o_prot.write_field_begin(&TFieldIdentifier::new("id", TType::Struct, 4))?;
26818    self.id.write_to_out_protocol(o_prot)?;
26819    o_prot.write_field_end()?;
26820    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 5))?;
26821    o_prot.write_bytes(&self.secondary)?;
26822    o_prot.write_field_end()?;
26823    o_prot.write_field_stop()?;
26824    o_prot.write_struct_end()
26825  }
26826}
26827
26828//
26829// ApplyDbIdxLongDoubleStoreResult
26830//
26831
26832#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26833struct ApplyDbIdxLongDoubleStoreResult {
26834  result_value: Option<i32>,
26835}
26836
26837impl ApplyDbIdxLongDoubleStoreResult {
26838  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleStoreResult> {
26839    i_prot.read_struct_begin()?;
26840    let mut f_0: Option<i32> = None;
26841    loop {
26842      let field_ident = i_prot.read_field_begin()?;
26843      if field_ident.field_type == TType::Stop {
26844        break;
26845      }
26846      let field_id = field_id(&field_ident)?;
26847      match field_id {
26848        0 => {
26849          let val = i_prot.read_i32()?;
26850          f_0 = Some(val);
26851        },
26852        _ => {
26853          i_prot.skip(field_ident.field_type)?;
26854        },
26855      };
26856      i_prot.read_field_end()?;
26857    }
26858    i_prot.read_struct_end()?;
26859    let ret = ApplyDbIdxLongDoubleStoreResult {
26860      result_value: f_0,
26861    };
26862    Ok(ret)
26863  }
26864  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26865    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleStoreResult");
26866    o_prot.write_struct_begin(&struct_ident)?;
26867    if let Some(fld_var) = self.result_value {
26868      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
26869      o_prot.write_i32(fld_var)?;
26870      o_prot.write_field_end()?
26871    }
26872    o_prot.write_field_stop()?;
26873    o_prot.write_struct_end()
26874  }
26875  fn ok_or(self) -> thrift::Result<i32> {
26876    if self.result_value.is_some() {
26877      Ok(self.result_value.unwrap())
26878    } else {
26879      Err(
26880        thrift::Error::Application(
26881          ApplicationError::new(
26882            ApplicationErrorKind::MissingResult,
26883            "no result received for ApplyDbIdxLongDoubleStore"
26884          )
26885        )
26886      )
26887    }
26888  }
26889}
26890
26891//
26892// ApplyDbIdxLongDoubleUpdateArgs
26893//
26894
26895#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26896struct ApplyDbIdxLongDoubleUpdateArgs {
26897  iterator: i32,
26898  payer: Uint64,
26899  secondary: Vec<u8>,
26900}
26901
26902impl ApplyDbIdxLongDoubleUpdateArgs {
26903  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleUpdateArgs> {
26904    i_prot.read_struct_begin()?;
26905    let mut f_1: Option<i32> = None;
26906    let mut f_2: Option<Uint64> = None;
26907    let mut f_3: Option<Vec<u8>> = None;
26908    loop {
26909      let field_ident = i_prot.read_field_begin()?;
26910      if field_ident.field_type == TType::Stop {
26911        break;
26912      }
26913      let field_id = field_id(&field_ident)?;
26914      match field_id {
26915        1 => {
26916          let val = i_prot.read_i32()?;
26917          f_1 = Some(val);
26918        },
26919        2 => {
26920          let val = Uint64::read_from_in_protocol(i_prot)?;
26921          f_2 = Some(val);
26922        },
26923        3 => {
26924          let val = i_prot.read_bytes()?;
26925          f_3 = Some(val);
26926        },
26927        _ => {
26928          i_prot.skip(field_ident.field_type)?;
26929        },
26930      };
26931      i_prot.read_field_end()?;
26932    }
26933    i_prot.read_struct_end()?;
26934    verify_required_field_exists("ApplyDbIdxLongDoubleUpdateArgs.iterator", &f_1)?;
26935    verify_required_field_exists("ApplyDbIdxLongDoubleUpdateArgs.payer", &f_2)?;
26936    verify_required_field_exists("ApplyDbIdxLongDoubleUpdateArgs.secondary", &f_3)?;
26937    let ret = ApplyDbIdxLongDoubleUpdateArgs {
26938      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
26939      payer: f_2.expect("auto-generated code should have checked for presence of required fields"),
26940      secondary: f_3.expect("auto-generated code should have checked for presence of required fields"),
26941    };
26942    Ok(ret)
26943  }
26944  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26945    let struct_ident = TStructIdentifier::new("db_idx_long_double_update_args");
26946    o_prot.write_struct_begin(&struct_ident)?;
26947    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
26948    o_prot.write_i32(self.iterator)?;
26949    o_prot.write_field_end()?;
26950    o_prot.write_field_begin(&TFieldIdentifier::new("payer", TType::Struct, 2))?;
26951    self.payer.write_to_out_protocol(o_prot)?;
26952    o_prot.write_field_end()?;
26953    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 3))?;
26954    o_prot.write_bytes(&self.secondary)?;
26955    o_prot.write_field_end()?;
26956    o_prot.write_field_stop()?;
26957    o_prot.write_struct_end()
26958  }
26959}
26960
26961//
26962// ApplyDbIdxLongDoubleUpdateResult
26963//
26964
26965#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
26966struct ApplyDbIdxLongDoubleUpdateResult {
26967}
26968
26969impl ApplyDbIdxLongDoubleUpdateResult {
26970  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleUpdateResult> {
26971    i_prot.read_struct_begin()?;
26972    loop {
26973      let field_ident = i_prot.read_field_begin()?;
26974      if field_ident.field_type == TType::Stop {
26975        break;
26976      }
26977      let field_id = field_id(&field_ident)?;
26978      match field_id {
26979        _ => {
26980          i_prot.skip(field_ident.field_type)?;
26981        },
26982      };
26983      i_prot.read_field_end()?;
26984    }
26985    i_prot.read_struct_end()?;
26986    let ret = ApplyDbIdxLongDoubleUpdateResult {};
26987    Ok(ret)
26988  }
26989  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
26990    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleUpdateResult");
26991    o_prot.write_struct_begin(&struct_ident)?;
26992    o_prot.write_field_stop()?;
26993    o_prot.write_struct_end()
26994  }
26995  fn ok_or(self) -> thrift::Result<()> {
26996    Ok(())
26997  }
26998}
26999
27000//
27001// ApplyDbIdxLongDoubleRemoveArgs
27002//
27003
27004#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27005struct ApplyDbIdxLongDoubleRemoveArgs {
27006  iterator: i32,
27007}
27008
27009impl ApplyDbIdxLongDoubleRemoveArgs {
27010  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleRemoveArgs> {
27011    i_prot.read_struct_begin()?;
27012    let mut f_1: Option<i32> = None;
27013    loop {
27014      let field_ident = i_prot.read_field_begin()?;
27015      if field_ident.field_type == TType::Stop {
27016        break;
27017      }
27018      let field_id = field_id(&field_ident)?;
27019      match field_id {
27020        1 => {
27021          let val = i_prot.read_i32()?;
27022          f_1 = Some(val);
27023        },
27024        _ => {
27025          i_prot.skip(field_ident.field_type)?;
27026        },
27027      };
27028      i_prot.read_field_end()?;
27029    }
27030    i_prot.read_struct_end()?;
27031    verify_required_field_exists("ApplyDbIdxLongDoubleRemoveArgs.iterator", &f_1)?;
27032    let ret = ApplyDbIdxLongDoubleRemoveArgs {
27033      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
27034    };
27035    Ok(ret)
27036  }
27037  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27038    let struct_ident = TStructIdentifier::new("db_idx_long_double_remove_args");
27039    o_prot.write_struct_begin(&struct_ident)?;
27040    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
27041    o_prot.write_i32(self.iterator)?;
27042    o_prot.write_field_end()?;
27043    o_prot.write_field_stop()?;
27044    o_prot.write_struct_end()
27045  }
27046}
27047
27048//
27049// ApplyDbIdxLongDoubleRemoveResult
27050//
27051
27052#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27053struct ApplyDbIdxLongDoubleRemoveResult {
27054}
27055
27056impl ApplyDbIdxLongDoubleRemoveResult {
27057  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleRemoveResult> {
27058    i_prot.read_struct_begin()?;
27059    loop {
27060      let field_ident = i_prot.read_field_begin()?;
27061      if field_ident.field_type == TType::Stop {
27062        break;
27063      }
27064      let field_id = field_id(&field_ident)?;
27065      match field_id {
27066        _ => {
27067          i_prot.skip(field_ident.field_type)?;
27068        },
27069      };
27070      i_prot.read_field_end()?;
27071    }
27072    i_prot.read_struct_end()?;
27073    let ret = ApplyDbIdxLongDoubleRemoveResult {};
27074    Ok(ret)
27075  }
27076  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27077    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleRemoveResult");
27078    o_prot.write_struct_begin(&struct_ident)?;
27079    o_prot.write_field_stop()?;
27080    o_prot.write_struct_end()
27081  }
27082  fn ok_or(self) -> thrift::Result<()> {
27083    Ok(())
27084  }
27085}
27086
27087//
27088// ApplyDbIdxLongDoubleNextArgs
27089//
27090
27091#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27092struct ApplyDbIdxLongDoubleNextArgs {
27093  iterator: i32,
27094}
27095
27096impl ApplyDbIdxLongDoubleNextArgs {
27097  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleNextArgs> {
27098    i_prot.read_struct_begin()?;
27099    let mut f_1: Option<i32> = None;
27100    loop {
27101      let field_ident = i_prot.read_field_begin()?;
27102      if field_ident.field_type == TType::Stop {
27103        break;
27104      }
27105      let field_id = field_id(&field_ident)?;
27106      match field_id {
27107        1 => {
27108          let val = i_prot.read_i32()?;
27109          f_1 = Some(val);
27110        },
27111        _ => {
27112          i_prot.skip(field_ident.field_type)?;
27113        },
27114      };
27115      i_prot.read_field_end()?;
27116    }
27117    i_prot.read_struct_end()?;
27118    verify_required_field_exists("ApplyDbIdxLongDoubleNextArgs.iterator", &f_1)?;
27119    let ret = ApplyDbIdxLongDoubleNextArgs {
27120      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
27121    };
27122    Ok(ret)
27123  }
27124  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27125    let struct_ident = TStructIdentifier::new("db_idx_long_double_next_args");
27126    o_prot.write_struct_begin(&struct_ident)?;
27127    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
27128    o_prot.write_i32(self.iterator)?;
27129    o_prot.write_field_end()?;
27130    o_prot.write_field_stop()?;
27131    o_prot.write_struct_end()
27132  }
27133}
27134
27135//
27136// ApplyDbIdxLongDoubleNextResult
27137//
27138
27139#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27140struct ApplyDbIdxLongDoubleNextResult {
27141  result_value: Option<NextPreviousReturn>,
27142}
27143
27144impl ApplyDbIdxLongDoubleNextResult {
27145  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleNextResult> {
27146    i_prot.read_struct_begin()?;
27147    let mut f_0: Option<NextPreviousReturn> = None;
27148    loop {
27149      let field_ident = i_prot.read_field_begin()?;
27150      if field_ident.field_type == TType::Stop {
27151        break;
27152      }
27153      let field_id = field_id(&field_ident)?;
27154      match field_id {
27155        0 => {
27156          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
27157          f_0 = Some(val);
27158        },
27159        _ => {
27160          i_prot.skip(field_ident.field_type)?;
27161        },
27162      };
27163      i_prot.read_field_end()?;
27164    }
27165    i_prot.read_struct_end()?;
27166    let ret = ApplyDbIdxLongDoubleNextResult {
27167      result_value: f_0,
27168    };
27169    Ok(ret)
27170  }
27171  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27172    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleNextResult");
27173    o_prot.write_struct_begin(&struct_ident)?;
27174    if let Some(ref fld_var) = self.result_value {
27175      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
27176      fld_var.write_to_out_protocol(o_prot)?;
27177      o_prot.write_field_end()?
27178    }
27179    o_prot.write_field_stop()?;
27180    o_prot.write_struct_end()
27181  }
27182  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
27183    if self.result_value.is_some() {
27184      Ok(self.result_value.unwrap())
27185    } else {
27186      Err(
27187        thrift::Error::Application(
27188          ApplicationError::new(
27189            ApplicationErrorKind::MissingResult,
27190            "no result received for ApplyDbIdxLongDoubleNext"
27191          )
27192        )
27193      )
27194    }
27195  }
27196}
27197
27198//
27199// ApplyDbIdxLongDoublePreviousArgs
27200//
27201
27202#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27203struct ApplyDbIdxLongDoublePreviousArgs {
27204  iterator: i32,
27205}
27206
27207impl ApplyDbIdxLongDoublePreviousArgs {
27208  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoublePreviousArgs> {
27209    i_prot.read_struct_begin()?;
27210    let mut f_1: Option<i32> = None;
27211    loop {
27212      let field_ident = i_prot.read_field_begin()?;
27213      if field_ident.field_type == TType::Stop {
27214        break;
27215      }
27216      let field_id = field_id(&field_ident)?;
27217      match field_id {
27218        1 => {
27219          let val = i_prot.read_i32()?;
27220          f_1 = Some(val);
27221        },
27222        _ => {
27223          i_prot.skip(field_ident.field_type)?;
27224        },
27225      };
27226      i_prot.read_field_end()?;
27227    }
27228    i_prot.read_struct_end()?;
27229    verify_required_field_exists("ApplyDbIdxLongDoublePreviousArgs.iterator", &f_1)?;
27230    let ret = ApplyDbIdxLongDoublePreviousArgs {
27231      iterator: f_1.expect("auto-generated code should have checked for presence of required fields"),
27232    };
27233    Ok(ret)
27234  }
27235  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27236    let struct_ident = TStructIdentifier::new("db_idx_long_double_previous_args");
27237    o_prot.write_struct_begin(&struct_ident)?;
27238    o_prot.write_field_begin(&TFieldIdentifier::new("iterator", TType::I32, 1))?;
27239    o_prot.write_i32(self.iterator)?;
27240    o_prot.write_field_end()?;
27241    o_prot.write_field_stop()?;
27242    o_prot.write_struct_end()
27243  }
27244}
27245
27246//
27247// ApplyDbIdxLongDoublePreviousResult
27248//
27249
27250#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27251struct ApplyDbIdxLongDoublePreviousResult {
27252  result_value: Option<NextPreviousReturn>,
27253}
27254
27255impl ApplyDbIdxLongDoublePreviousResult {
27256  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoublePreviousResult> {
27257    i_prot.read_struct_begin()?;
27258    let mut f_0: Option<NextPreviousReturn> = None;
27259    loop {
27260      let field_ident = i_prot.read_field_begin()?;
27261      if field_ident.field_type == TType::Stop {
27262        break;
27263      }
27264      let field_id = field_id(&field_ident)?;
27265      match field_id {
27266        0 => {
27267          let val = NextPreviousReturn::read_from_in_protocol(i_prot)?;
27268          f_0 = Some(val);
27269        },
27270        _ => {
27271          i_prot.skip(field_ident.field_type)?;
27272        },
27273      };
27274      i_prot.read_field_end()?;
27275    }
27276    i_prot.read_struct_end()?;
27277    let ret = ApplyDbIdxLongDoublePreviousResult {
27278      result_value: f_0,
27279    };
27280    Ok(ret)
27281  }
27282  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27283    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoublePreviousResult");
27284    o_prot.write_struct_begin(&struct_ident)?;
27285    if let Some(ref fld_var) = self.result_value {
27286      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
27287      fld_var.write_to_out_protocol(o_prot)?;
27288      o_prot.write_field_end()?
27289    }
27290    o_prot.write_field_stop()?;
27291    o_prot.write_struct_end()
27292  }
27293  fn ok_or(self) -> thrift::Result<NextPreviousReturn> {
27294    if self.result_value.is_some() {
27295      Ok(self.result_value.unwrap())
27296    } else {
27297      Err(
27298        thrift::Error::Application(
27299          ApplicationError::new(
27300            ApplicationErrorKind::MissingResult,
27301            "no result received for ApplyDbIdxLongDoublePrevious"
27302          )
27303        )
27304      )
27305    }
27306  }
27307}
27308
27309//
27310// ApplyDbIdxLongDoubleFindPrimaryArgs
27311//
27312
27313#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27314struct ApplyDbIdxLongDoubleFindPrimaryArgs {
27315  code: Uint64,
27316  scope: Uint64,
27317  table: Uint64,
27318  primary: Uint64,
27319}
27320
27321impl ApplyDbIdxLongDoubleFindPrimaryArgs {
27322  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleFindPrimaryArgs> {
27323    i_prot.read_struct_begin()?;
27324    let mut f_1: Option<Uint64> = None;
27325    let mut f_2: Option<Uint64> = None;
27326    let mut f_3: Option<Uint64> = None;
27327    let mut f_4: Option<Uint64> = None;
27328    loop {
27329      let field_ident = i_prot.read_field_begin()?;
27330      if field_ident.field_type == TType::Stop {
27331        break;
27332      }
27333      let field_id = field_id(&field_ident)?;
27334      match field_id {
27335        1 => {
27336          let val = Uint64::read_from_in_protocol(i_prot)?;
27337          f_1 = Some(val);
27338        },
27339        2 => {
27340          let val = Uint64::read_from_in_protocol(i_prot)?;
27341          f_2 = Some(val);
27342        },
27343        3 => {
27344          let val = Uint64::read_from_in_protocol(i_prot)?;
27345          f_3 = Some(val);
27346        },
27347        4 => {
27348          let val = Uint64::read_from_in_protocol(i_prot)?;
27349          f_4 = Some(val);
27350        },
27351        _ => {
27352          i_prot.skip(field_ident.field_type)?;
27353        },
27354      };
27355      i_prot.read_field_end()?;
27356    }
27357    i_prot.read_struct_end()?;
27358    verify_required_field_exists("ApplyDbIdxLongDoubleFindPrimaryArgs.code", &f_1)?;
27359    verify_required_field_exists("ApplyDbIdxLongDoubleFindPrimaryArgs.scope", &f_2)?;
27360    verify_required_field_exists("ApplyDbIdxLongDoubleFindPrimaryArgs.table", &f_3)?;
27361    verify_required_field_exists("ApplyDbIdxLongDoubleFindPrimaryArgs.primary", &f_4)?;
27362    let ret = ApplyDbIdxLongDoubleFindPrimaryArgs {
27363      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
27364      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
27365      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
27366      primary: f_4.expect("auto-generated code should have checked for presence of required fields"),
27367    };
27368    Ok(ret)
27369  }
27370  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27371    let struct_ident = TStructIdentifier::new("db_idx_long_double_find_primary_args");
27372    o_prot.write_struct_begin(&struct_ident)?;
27373    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
27374    self.code.write_to_out_protocol(o_prot)?;
27375    o_prot.write_field_end()?;
27376    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
27377    self.scope.write_to_out_protocol(o_prot)?;
27378    o_prot.write_field_end()?;
27379    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
27380    self.table.write_to_out_protocol(o_prot)?;
27381    o_prot.write_field_end()?;
27382    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 4))?;
27383    self.primary.write_to_out_protocol(o_prot)?;
27384    o_prot.write_field_end()?;
27385    o_prot.write_field_stop()?;
27386    o_prot.write_struct_end()
27387  }
27388}
27389
27390//
27391// ApplyDbIdxLongDoubleFindPrimaryResult
27392//
27393
27394#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27395struct ApplyDbIdxLongDoubleFindPrimaryResult {
27396  result_value: Option<FindPrimaryReturn>,
27397}
27398
27399impl ApplyDbIdxLongDoubleFindPrimaryResult {
27400  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleFindPrimaryResult> {
27401    i_prot.read_struct_begin()?;
27402    let mut f_0: Option<FindPrimaryReturn> = None;
27403    loop {
27404      let field_ident = i_prot.read_field_begin()?;
27405      if field_ident.field_type == TType::Stop {
27406        break;
27407      }
27408      let field_id = field_id(&field_ident)?;
27409      match field_id {
27410        0 => {
27411          let val = FindPrimaryReturn::read_from_in_protocol(i_prot)?;
27412          f_0 = Some(val);
27413        },
27414        _ => {
27415          i_prot.skip(field_ident.field_type)?;
27416        },
27417      };
27418      i_prot.read_field_end()?;
27419    }
27420    i_prot.read_struct_end()?;
27421    let ret = ApplyDbIdxLongDoubleFindPrimaryResult {
27422      result_value: f_0,
27423    };
27424    Ok(ret)
27425  }
27426  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27427    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleFindPrimaryResult");
27428    o_prot.write_struct_begin(&struct_ident)?;
27429    if let Some(ref fld_var) = self.result_value {
27430      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
27431      fld_var.write_to_out_protocol(o_prot)?;
27432      o_prot.write_field_end()?
27433    }
27434    o_prot.write_field_stop()?;
27435    o_prot.write_struct_end()
27436  }
27437  fn ok_or(self) -> thrift::Result<FindPrimaryReturn> {
27438    if self.result_value.is_some() {
27439      Ok(self.result_value.unwrap())
27440    } else {
27441      Err(
27442        thrift::Error::Application(
27443          ApplicationError::new(
27444            ApplicationErrorKind::MissingResult,
27445            "no result received for ApplyDbIdxLongDoubleFindPrimary"
27446          )
27447        )
27448      )
27449    }
27450  }
27451}
27452
27453//
27454// ApplyDbIdxLongDoubleFindSecondaryArgs
27455//
27456
27457#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27458struct ApplyDbIdxLongDoubleFindSecondaryArgs {
27459  code: Uint64,
27460  scope: Uint64,
27461  table: Uint64,
27462  secondary: Vec<u8>,
27463}
27464
27465impl ApplyDbIdxLongDoubleFindSecondaryArgs {
27466  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleFindSecondaryArgs> {
27467    i_prot.read_struct_begin()?;
27468    let mut f_1: Option<Uint64> = None;
27469    let mut f_2: Option<Uint64> = None;
27470    let mut f_3: Option<Uint64> = None;
27471    let mut f_4: Option<Vec<u8>> = None;
27472    loop {
27473      let field_ident = i_prot.read_field_begin()?;
27474      if field_ident.field_type == TType::Stop {
27475        break;
27476      }
27477      let field_id = field_id(&field_ident)?;
27478      match field_id {
27479        1 => {
27480          let val = Uint64::read_from_in_protocol(i_prot)?;
27481          f_1 = Some(val);
27482        },
27483        2 => {
27484          let val = Uint64::read_from_in_protocol(i_prot)?;
27485          f_2 = Some(val);
27486        },
27487        3 => {
27488          let val = Uint64::read_from_in_protocol(i_prot)?;
27489          f_3 = Some(val);
27490        },
27491        4 => {
27492          let val = i_prot.read_bytes()?;
27493          f_4 = Some(val);
27494        },
27495        _ => {
27496          i_prot.skip(field_ident.field_type)?;
27497        },
27498      };
27499      i_prot.read_field_end()?;
27500    }
27501    i_prot.read_struct_end()?;
27502    verify_required_field_exists("ApplyDbIdxLongDoubleFindSecondaryArgs.code", &f_1)?;
27503    verify_required_field_exists("ApplyDbIdxLongDoubleFindSecondaryArgs.scope", &f_2)?;
27504    verify_required_field_exists("ApplyDbIdxLongDoubleFindSecondaryArgs.table", &f_3)?;
27505    verify_required_field_exists("ApplyDbIdxLongDoubleFindSecondaryArgs.secondary", &f_4)?;
27506    let ret = ApplyDbIdxLongDoubleFindSecondaryArgs {
27507      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
27508      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
27509      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
27510      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
27511    };
27512    Ok(ret)
27513  }
27514  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27515    let struct_ident = TStructIdentifier::new("db_idx_long_double_find_secondary_args");
27516    o_prot.write_struct_begin(&struct_ident)?;
27517    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
27518    self.code.write_to_out_protocol(o_prot)?;
27519    o_prot.write_field_end()?;
27520    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
27521    self.scope.write_to_out_protocol(o_prot)?;
27522    o_prot.write_field_end()?;
27523    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
27524    self.table.write_to_out_protocol(o_prot)?;
27525    o_prot.write_field_end()?;
27526    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
27527    o_prot.write_bytes(&self.secondary)?;
27528    o_prot.write_field_end()?;
27529    o_prot.write_field_stop()?;
27530    o_prot.write_struct_end()
27531  }
27532}
27533
27534//
27535// ApplyDbIdxLongDoubleFindSecondaryResult
27536//
27537
27538#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27539struct ApplyDbIdxLongDoubleFindSecondaryResult {
27540  result_value: Option<FindSecondaryReturn>,
27541}
27542
27543impl ApplyDbIdxLongDoubleFindSecondaryResult {
27544  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleFindSecondaryResult> {
27545    i_prot.read_struct_begin()?;
27546    let mut f_0: Option<FindSecondaryReturn> = None;
27547    loop {
27548      let field_ident = i_prot.read_field_begin()?;
27549      if field_ident.field_type == TType::Stop {
27550        break;
27551      }
27552      let field_id = field_id(&field_ident)?;
27553      match field_id {
27554        0 => {
27555          let val = FindSecondaryReturn::read_from_in_protocol(i_prot)?;
27556          f_0 = Some(val);
27557        },
27558        _ => {
27559          i_prot.skip(field_ident.field_type)?;
27560        },
27561      };
27562      i_prot.read_field_end()?;
27563    }
27564    i_prot.read_struct_end()?;
27565    let ret = ApplyDbIdxLongDoubleFindSecondaryResult {
27566      result_value: f_0,
27567    };
27568    Ok(ret)
27569  }
27570  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27571    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleFindSecondaryResult");
27572    o_prot.write_struct_begin(&struct_ident)?;
27573    if let Some(ref fld_var) = self.result_value {
27574      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
27575      fld_var.write_to_out_protocol(o_prot)?;
27576      o_prot.write_field_end()?
27577    }
27578    o_prot.write_field_stop()?;
27579    o_prot.write_struct_end()
27580  }
27581  fn ok_or(self) -> thrift::Result<FindSecondaryReturn> {
27582    if self.result_value.is_some() {
27583      Ok(self.result_value.unwrap())
27584    } else {
27585      Err(
27586        thrift::Error::Application(
27587          ApplicationError::new(
27588            ApplicationErrorKind::MissingResult,
27589            "no result received for ApplyDbIdxLongDoubleFindSecondary"
27590          )
27591        )
27592      )
27593    }
27594  }
27595}
27596
27597//
27598// ApplyDbIdxLongDoubleLowerboundArgs
27599//
27600
27601#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27602struct ApplyDbIdxLongDoubleLowerboundArgs {
27603  code: Uint64,
27604  scope: Uint64,
27605  table: Uint64,
27606  secondary: Vec<u8>,
27607  primary: Uint64,
27608}
27609
27610impl ApplyDbIdxLongDoubleLowerboundArgs {
27611  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleLowerboundArgs> {
27612    i_prot.read_struct_begin()?;
27613    let mut f_1: Option<Uint64> = None;
27614    let mut f_2: Option<Uint64> = None;
27615    let mut f_3: Option<Uint64> = None;
27616    let mut f_4: Option<Vec<u8>> = None;
27617    let mut f_5: Option<Uint64> = None;
27618    loop {
27619      let field_ident = i_prot.read_field_begin()?;
27620      if field_ident.field_type == TType::Stop {
27621        break;
27622      }
27623      let field_id = field_id(&field_ident)?;
27624      match field_id {
27625        1 => {
27626          let val = Uint64::read_from_in_protocol(i_prot)?;
27627          f_1 = Some(val);
27628        },
27629        2 => {
27630          let val = Uint64::read_from_in_protocol(i_prot)?;
27631          f_2 = Some(val);
27632        },
27633        3 => {
27634          let val = Uint64::read_from_in_protocol(i_prot)?;
27635          f_3 = Some(val);
27636        },
27637        4 => {
27638          let val = i_prot.read_bytes()?;
27639          f_4 = Some(val);
27640        },
27641        5 => {
27642          let val = Uint64::read_from_in_protocol(i_prot)?;
27643          f_5 = Some(val);
27644        },
27645        _ => {
27646          i_prot.skip(field_ident.field_type)?;
27647        },
27648      };
27649      i_prot.read_field_end()?;
27650    }
27651    i_prot.read_struct_end()?;
27652    verify_required_field_exists("ApplyDbIdxLongDoubleLowerboundArgs.code", &f_1)?;
27653    verify_required_field_exists("ApplyDbIdxLongDoubleLowerboundArgs.scope", &f_2)?;
27654    verify_required_field_exists("ApplyDbIdxLongDoubleLowerboundArgs.table", &f_3)?;
27655    verify_required_field_exists("ApplyDbIdxLongDoubleLowerboundArgs.secondary", &f_4)?;
27656    verify_required_field_exists("ApplyDbIdxLongDoubleLowerboundArgs.primary", &f_5)?;
27657    let ret = ApplyDbIdxLongDoubleLowerboundArgs {
27658      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
27659      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
27660      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
27661      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
27662      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
27663    };
27664    Ok(ret)
27665  }
27666  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27667    let struct_ident = TStructIdentifier::new("db_idx_long_double_lowerbound_args");
27668    o_prot.write_struct_begin(&struct_ident)?;
27669    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
27670    self.code.write_to_out_protocol(o_prot)?;
27671    o_prot.write_field_end()?;
27672    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
27673    self.scope.write_to_out_protocol(o_prot)?;
27674    o_prot.write_field_end()?;
27675    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
27676    self.table.write_to_out_protocol(o_prot)?;
27677    o_prot.write_field_end()?;
27678    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
27679    o_prot.write_bytes(&self.secondary)?;
27680    o_prot.write_field_end()?;
27681    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
27682    self.primary.write_to_out_protocol(o_prot)?;
27683    o_prot.write_field_end()?;
27684    o_prot.write_field_stop()?;
27685    o_prot.write_struct_end()
27686  }
27687}
27688
27689//
27690// ApplyDbIdxLongDoubleLowerboundResult
27691//
27692
27693#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27694struct ApplyDbIdxLongDoubleLowerboundResult {
27695  result_value: Option<LowerBoundUpperBoundReturn>,
27696}
27697
27698impl ApplyDbIdxLongDoubleLowerboundResult {
27699  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleLowerboundResult> {
27700    i_prot.read_struct_begin()?;
27701    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
27702    loop {
27703      let field_ident = i_prot.read_field_begin()?;
27704      if field_ident.field_type == TType::Stop {
27705        break;
27706      }
27707      let field_id = field_id(&field_ident)?;
27708      match field_id {
27709        0 => {
27710          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
27711          f_0 = Some(val);
27712        },
27713        _ => {
27714          i_prot.skip(field_ident.field_type)?;
27715        },
27716      };
27717      i_prot.read_field_end()?;
27718    }
27719    i_prot.read_struct_end()?;
27720    let ret = ApplyDbIdxLongDoubleLowerboundResult {
27721      result_value: f_0,
27722    };
27723    Ok(ret)
27724  }
27725  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27726    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleLowerboundResult");
27727    o_prot.write_struct_begin(&struct_ident)?;
27728    if let Some(ref fld_var) = self.result_value {
27729      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
27730      fld_var.write_to_out_protocol(o_prot)?;
27731      o_prot.write_field_end()?
27732    }
27733    o_prot.write_field_stop()?;
27734    o_prot.write_struct_end()
27735  }
27736  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
27737    if self.result_value.is_some() {
27738      Ok(self.result_value.unwrap())
27739    } else {
27740      Err(
27741        thrift::Error::Application(
27742          ApplicationError::new(
27743            ApplicationErrorKind::MissingResult,
27744            "no result received for ApplyDbIdxLongDoubleLowerbound"
27745          )
27746        )
27747      )
27748    }
27749  }
27750}
27751
27752//
27753// ApplyDbIdxLongDoubleUpperboundArgs
27754//
27755
27756#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27757struct ApplyDbIdxLongDoubleUpperboundArgs {
27758  code: Uint64,
27759  scope: Uint64,
27760  table: Uint64,
27761  secondary: Vec<u8>,
27762  primary: Uint64,
27763}
27764
27765impl ApplyDbIdxLongDoubleUpperboundArgs {
27766  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleUpperboundArgs> {
27767    i_prot.read_struct_begin()?;
27768    let mut f_1: Option<Uint64> = None;
27769    let mut f_2: Option<Uint64> = None;
27770    let mut f_3: Option<Uint64> = None;
27771    let mut f_4: Option<Vec<u8>> = None;
27772    let mut f_5: Option<Uint64> = None;
27773    loop {
27774      let field_ident = i_prot.read_field_begin()?;
27775      if field_ident.field_type == TType::Stop {
27776        break;
27777      }
27778      let field_id = field_id(&field_ident)?;
27779      match field_id {
27780        1 => {
27781          let val = Uint64::read_from_in_protocol(i_prot)?;
27782          f_1 = Some(val);
27783        },
27784        2 => {
27785          let val = Uint64::read_from_in_protocol(i_prot)?;
27786          f_2 = Some(val);
27787        },
27788        3 => {
27789          let val = Uint64::read_from_in_protocol(i_prot)?;
27790          f_3 = Some(val);
27791        },
27792        4 => {
27793          let val = i_prot.read_bytes()?;
27794          f_4 = Some(val);
27795        },
27796        5 => {
27797          let val = Uint64::read_from_in_protocol(i_prot)?;
27798          f_5 = Some(val);
27799        },
27800        _ => {
27801          i_prot.skip(field_ident.field_type)?;
27802        },
27803      };
27804      i_prot.read_field_end()?;
27805    }
27806    i_prot.read_struct_end()?;
27807    verify_required_field_exists("ApplyDbIdxLongDoubleUpperboundArgs.code", &f_1)?;
27808    verify_required_field_exists("ApplyDbIdxLongDoubleUpperboundArgs.scope", &f_2)?;
27809    verify_required_field_exists("ApplyDbIdxLongDoubleUpperboundArgs.table", &f_3)?;
27810    verify_required_field_exists("ApplyDbIdxLongDoubleUpperboundArgs.secondary", &f_4)?;
27811    verify_required_field_exists("ApplyDbIdxLongDoubleUpperboundArgs.primary", &f_5)?;
27812    let ret = ApplyDbIdxLongDoubleUpperboundArgs {
27813      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
27814      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
27815      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
27816      secondary: f_4.expect("auto-generated code should have checked for presence of required fields"),
27817      primary: f_5.expect("auto-generated code should have checked for presence of required fields"),
27818    };
27819    Ok(ret)
27820  }
27821  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27822    let struct_ident = TStructIdentifier::new("db_idx_long_double_upperbound_args");
27823    o_prot.write_struct_begin(&struct_ident)?;
27824    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
27825    self.code.write_to_out_protocol(o_prot)?;
27826    o_prot.write_field_end()?;
27827    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
27828    self.scope.write_to_out_protocol(o_prot)?;
27829    o_prot.write_field_end()?;
27830    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
27831    self.table.write_to_out_protocol(o_prot)?;
27832    o_prot.write_field_end()?;
27833    o_prot.write_field_begin(&TFieldIdentifier::new("secondary", TType::String, 4))?;
27834    o_prot.write_bytes(&self.secondary)?;
27835    o_prot.write_field_end()?;
27836    o_prot.write_field_begin(&TFieldIdentifier::new("primary", TType::Struct, 5))?;
27837    self.primary.write_to_out_protocol(o_prot)?;
27838    o_prot.write_field_end()?;
27839    o_prot.write_field_stop()?;
27840    o_prot.write_struct_end()
27841  }
27842}
27843
27844//
27845// ApplyDbIdxLongDoubleUpperboundResult
27846//
27847
27848#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27849struct ApplyDbIdxLongDoubleUpperboundResult {
27850  result_value: Option<LowerBoundUpperBoundReturn>,
27851}
27852
27853impl ApplyDbIdxLongDoubleUpperboundResult {
27854  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleUpperboundResult> {
27855    i_prot.read_struct_begin()?;
27856    let mut f_0: Option<LowerBoundUpperBoundReturn> = None;
27857    loop {
27858      let field_ident = i_prot.read_field_begin()?;
27859      if field_ident.field_type == TType::Stop {
27860        break;
27861      }
27862      let field_id = field_id(&field_ident)?;
27863      match field_id {
27864        0 => {
27865          let val = LowerBoundUpperBoundReturn::read_from_in_protocol(i_prot)?;
27866          f_0 = Some(val);
27867        },
27868        _ => {
27869          i_prot.skip(field_ident.field_type)?;
27870        },
27871      };
27872      i_prot.read_field_end()?;
27873    }
27874    i_prot.read_struct_end()?;
27875    let ret = ApplyDbIdxLongDoubleUpperboundResult {
27876      result_value: f_0,
27877    };
27878    Ok(ret)
27879  }
27880  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27881    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleUpperboundResult");
27882    o_prot.write_struct_begin(&struct_ident)?;
27883    if let Some(ref fld_var) = self.result_value {
27884      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::Struct, 0))?;
27885      fld_var.write_to_out_protocol(o_prot)?;
27886      o_prot.write_field_end()?
27887    }
27888    o_prot.write_field_stop()?;
27889    o_prot.write_struct_end()
27890  }
27891  fn ok_or(self) -> thrift::Result<LowerBoundUpperBoundReturn> {
27892    if self.result_value.is_some() {
27893      Ok(self.result_value.unwrap())
27894    } else {
27895      Err(
27896        thrift::Error::Application(
27897          ApplicationError::new(
27898            ApplicationErrorKind::MissingResult,
27899            "no result received for ApplyDbIdxLongDoubleUpperbound"
27900          )
27901        )
27902      )
27903    }
27904  }
27905}
27906
27907//
27908// ApplyDbIdxLongDoubleEndArgs
27909//
27910
27911#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27912struct ApplyDbIdxLongDoubleEndArgs {
27913  code: Uint64,
27914  scope: Uint64,
27915  table: Uint64,
27916}
27917
27918impl ApplyDbIdxLongDoubleEndArgs {
27919  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleEndArgs> {
27920    i_prot.read_struct_begin()?;
27921    let mut f_1: Option<Uint64> = None;
27922    let mut f_2: Option<Uint64> = None;
27923    let mut f_3: Option<Uint64> = None;
27924    loop {
27925      let field_ident = i_prot.read_field_begin()?;
27926      if field_ident.field_type == TType::Stop {
27927        break;
27928      }
27929      let field_id = field_id(&field_ident)?;
27930      match field_id {
27931        1 => {
27932          let val = Uint64::read_from_in_protocol(i_prot)?;
27933          f_1 = Some(val);
27934        },
27935        2 => {
27936          let val = Uint64::read_from_in_protocol(i_prot)?;
27937          f_2 = Some(val);
27938        },
27939        3 => {
27940          let val = Uint64::read_from_in_protocol(i_prot)?;
27941          f_3 = Some(val);
27942        },
27943        _ => {
27944          i_prot.skip(field_ident.field_type)?;
27945        },
27946      };
27947      i_prot.read_field_end()?;
27948    }
27949    i_prot.read_struct_end()?;
27950    verify_required_field_exists("ApplyDbIdxLongDoubleEndArgs.code", &f_1)?;
27951    verify_required_field_exists("ApplyDbIdxLongDoubleEndArgs.scope", &f_2)?;
27952    verify_required_field_exists("ApplyDbIdxLongDoubleEndArgs.table", &f_3)?;
27953    let ret = ApplyDbIdxLongDoubleEndArgs {
27954      code: f_1.expect("auto-generated code should have checked for presence of required fields"),
27955      scope: f_2.expect("auto-generated code should have checked for presence of required fields"),
27956      table: f_3.expect("auto-generated code should have checked for presence of required fields"),
27957    };
27958    Ok(ret)
27959  }
27960  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
27961    let struct_ident = TStructIdentifier::new("db_idx_long_double_end_args");
27962    o_prot.write_struct_begin(&struct_ident)?;
27963    o_prot.write_field_begin(&TFieldIdentifier::new("code", TType::Struct, 1))?;
27964    self.code.write_to_out_protocol(o_prot)?;
27965    o_prot.write_field_end()?;
27966    o_prot.write_field_begin(&TFieldIdentifier::new("scope", TType::Struct, 2))?;
27967    self.scope.write_to_out_protocol(o_prot)?;
27968    o_prot.write_field_end()?;
27969    o_prot.write_field_begin(&TFieldIdentifier::new("table", TType::Struct, 3))?;
27970    self.table.write_to_out_protocol(o_prot)?;
27971    o_prot.write_field_end()?;
27972    o_prot.write_field_stop()?;
27973    o_prot.write_struct_end()
27974  }
27975}
27976
27977//
27978// ApplyDbIdxLongDoubleEndResult
27979//
27980
27981#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
27982struct ApplyDbIdxLongDoubleEndResult {
27983  result_value: Option<i32>,
27984}
27985
27986impl ApplyDbIdxLongDoubleEndResult {
27987  fn read_from_in_protocol(i_prot: &mut dyn TInputProtocol) -> thrift::Result<ApplyDbIdxLongDoubleEndResult> {
27988    i_prot.read_struct_begin()?;
27989    let mut f_0: Option<i32> = None;
27990    loop {
27991      let field_ident = i_prot.read_field_begin()?;
27992      if field_ident.field_type == TType::Stop {
27993        break;
27994      }
27995      let field_id = field_id(&field_ident)?;
27996      match field_id {
27997        0 => {
27998          let val = i_prot.read_i32()?;
27999          f_0 = Some(val);
28000        },
28001        _ => {
28002          i_prot.skip(field_ident.field_type)?;
28003        },
28004      };
28005      i_prot.read_field_end()?;
28006    }
28007    i_prot.read_struct_end()?;
28008    let ret = ApplyDbIdxLongDoubleEndResult {
28009      result_value: f_0,
28010    };
28011    Ok(ret)
28012  }
28013  fn write_to_out_protocol(&self, o_prot: &mut dyn TOutputProtocol) -> thrift::Result<()> {
28014    let struct_ident = TStructIdentifier::new("ApplyDbIdxLongDoubleEndResult");
28015    o_prot.write_struct_begin(&struct_ident)?;
28016    if let Some(fld_var) = self.result_value {
28017      o_prot.write_field_begin(&TFieldIdentifier::new("result_value", TType::I32, 0))?;
28018      o_prot.write_i32(fld_var)?;
28019      o_prot.write_field_end()?
28020    }
28021    o_prot.write_field_stop()?;
28022    o_prot.write_struct_end()
28023  }
28024  fn ok_or(self) -> thrift::Result<i32> {
28025    if self.result_value.is_some() {
28026      Ok(self.result_value.unwrap())
28027    } else {
28028      Err(
28029        thrift::Error::Application(
28030          ApplicationError::new(
28031            ApplicationErrorKind::MissingResult,
28032            "no result received for ApplyDbIdxLongDoubleEnd"
28033          )
28034        )
28035      )
28036    }
28037  }
28038}
28039