Created
December 18, 2016 17:09
-
-
Save allengeorge/5e602bf40ba68ebe0eb2d3117b5d943d to your computer and use it in GitHub Desktop.
Auto-generated rust code for ThriftTest.thrift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Autogenerated by Thrift Compiler (0.10.0) | |
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | |
#![allow(unused_imports)] | |
extern crate ordered_float; | |
extern crate rift; | |
extern crate try_from; | |
use ordered_float::OrderedFloat; | |
use std::cell::RefCell; | |
use std::collections::{BTreeMap, BTreeSet}; | |
use std::convert::From; | |
use std::error::Error; | |
use std::fmt; | |
use std::fmt::{Display, Formatter}; | |
use std::rc::Rc; | |
use try_from::TryFrom; | |
use rift::{ApplicationError, ApplicationErrorKind, ProtocolError, ProtocolErrorKind}; | |
use rift::protocol::{TFieldIdentifier, TListIdentifier, TMapIdentifier, TMessageIdentifier, TMessageType, TProtocol, TSetIdentifier, TStructIdentifier, TType}; | |
use rift::protocol::field_id; | |
use rift::protocol::verify_expected_message_type; | |
use rift::protocol::verify_expected_sequence_number; | |
use rift::protocol::verify_expected_service_call; | |
use rift::protocol::verify_required_field_exists; | |
use rift::server::TProcessor; | |
#[derive(Copy, Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub enum Numberz { | |
ONE = 1, | |
TWO = 2, | |
THREE = 3, | |
FIVE = 5, | |
SIX = 6, | |
EIGHT = 8, | |
} | |
impl Numberz { | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
o_prot.write_i32(*self as i32) | |
} | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Numberz> { | |
let enum_value = try!(i_prot.read_i32()); | |
Numberz::try_from(enum_value) } | |
} | |
impl TryFrom<i32> for Numberz { | |
type Err = rift::Error; fn try_from(i: i32) -> Result<Self, Self::Err> { | |
match i { | |
1 => Ok(Numberz::ONE), | |
2 => Ok(Numberz::TWO), | |
3 => Ok(Numberz::THREE), | |
5 => Ok(Numberz::FIVE), | |
6 => Ok(Numberz::SIX), | |
8 => Ok(Numberz::EIGHT), | |
_ => { | |
Err( | |
rift::Error::Protocol( | |
ProtocolError { | |
kind: ProtocolErrorKind::InvalidData, | |
message: format!("cannot convert enum constant {} to Numberz", i), | |
} | |
) | |
) | |
}, | |
} | |
} | |
} | |
pub type StringListMapType = BTreeMap<String, Vec<String>>; | |
pub type UserId = i64; | |
pub type MapType = BTreeMap<String, Bonk>; | |
// | |
// Bonk | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Bonk { | |
pub message: Option<String>, | |
pub typo: Option<i32>, | |
} | |
impl Bonk { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Bonk> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = Some("".to_owned()); | |
let mut f_2: Option<i32> = Some(0); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_i32()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Bonk { | |
message: f_1, | |
typo: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Bonk".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.message { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("message".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.typo { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("typo".to_owned()), field_type: TType::I32, id: Some(2) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// Bools | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Bools { | |
pub im_true: Option<bool>, | |
pub im_false: Option<bool>, | |
} | |
impl Bools { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Bools> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<bool> = Some(false); | |
let mut f_2: Option<bool> = Some(false); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_bool()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_bool()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Bools { | |
im_true: f_1, | |
im_false: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Bools".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.im_true { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("im_true".to_owned()), field_type: TType::Bool, id: Some(1) })); | |
try!(o_prot.write_bool(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.im_false { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("im_false".to_owned()), field_type: TType::Bool, id: Some(2) })); | |
try!(o_prot.write_bool(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// Xtruct | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Xtruct { | |
pub string_thing: Option<String>, | |
pub byte_thing: Option<i8>, | |
pub i32_thing: Option<i32>, | |
pub i64_thing: Option<i64>, | |
} | |
impl Xtruct { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Xtruct> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = Some("".to_owned()); | |
let mut f_4: Option<i8> = Some(0); | |
let mut f_9: Option<i32> = Some(0); | |
let mut f_11: Option<i64> = Some(0); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
4 => { | |
let val = try!(i_prot.read_i8()); | |
f_4 = Some(val); | |
}, | |
9 => { | |
let val = try!(i_prot.read_i32()); | |
f_9 = Some(val); | |
}, | |
11 => { | |
let val = try!(i_prot.read_i64()); | |
f_11 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Xtruct { | |
string_thing: f_1, | |
byte_thing: f_4, | |
i32_thing: f_9, | |
i64_thing: f_11, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Xtruct".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.string_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("string_thing".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.byte_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("byte_thing".to_owned()), field_type: TType::I08, id: Some(4) })); | |
try!(o_prot.write_i8(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.i32_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("i32_thing".to_owned()), field_type: TType::I32, id: Some(9) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.i64_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("i64_thing".to_owned()), field_type: TType::I64, id: Some(11) })); | |
try!(o_prot.write_i64(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// Xtruct2 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Xtruct2 { | |
pub byte_thing: Option<i8>, | |
pub struct_thing: Option<Xtruct>, | |
pub i32_thing: Option<i32>, | |
} | |
impl Xtruct2 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Xtruct2> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i8> = Some(0); | |
let mut f_2: Option<Xtruct> = None; | |
let mut f_3: Option<i32> = Some(0); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i8()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(Xtruct::read_from_in_protocol(i_prot)); | |
f_2 = Some(val); | |
}, | |
3 => { | |
let val = try!(i_prot.read_i32()); | |
f_3 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Xtruct2 { | |
byte_thing: f_1, | |
struct_thing: f_2, | |
i32_thing: f_3, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Xtruct2".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.byte_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("byte_thing".to_owned()), field_type: TType::I08, id: Some(1) })); | |
try!(o_prot.write_i8(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.struct_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("struct_thing".to_owned()), field_type: TType::Struct, id: Some(2) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.i32_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("i32_thing".to_owned()), field_type: TType::I32, id: Some(3) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// Xtruct3 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Xtruct3 { | |
pub string_thing: Option<String>, | |
pub changed: Option<i32>, | |
pub i32_thing: Option<i32>, | |
pub i64_thing: Option<i64>, | |
} | |
impl Xtruct3 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Xtruct3> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = Some("".to_owned()); | |
let mut f_4: Option<i32> = Some(0); | |
let mut f_9: Option<i32> = Some(0); | |
let mut f_11: Option<i64> = Some(0); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
4 => { | |
let val = try!(i_prot.read_i32()); | |
f_4 = Some(val); | |
}, | |
9 => { | |
let val = try!(i_prot.read_i32()); | |
f_9 = Some(val); | |
}, | |
11 => { | |
let val = try!(i_prot.read_i64()); | |
f_11 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Xtruct3 { | |
string_thing: f_1, | |
changed: f_4, | |
i32_thing: f_9, | |
i64_thing: f_11, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Xtruct3".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.string_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("string_thing".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.changed { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("changed".to_owned()), field_type: TType::I32, id: Some(4) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.i32_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("i32_thing".to_owned()), field_type: TType::I32, id: Some(9) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.i64_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("i64_thing".to_owned()), field_type: TType::I64, id: Some(11) })); | |
try!(o_prot.write_i64(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// Insanity | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Insanity { | |
pub user_map: Option<BTreeMap<Numberz, UserId>>, | |
pub xtructs: Option<Vec<Xtruct>>, | |
} | |
impl Insanity { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Insanity> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<BTreeMap<Numberz, UserId>> = Some(BTreeMap::new()); | |
let mut f_2: Option<Vec<Xtruct>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<Numberz, UserId> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_0 = try!(Numberz::read_from_in_protocol(i_prot)); | |
let map_val_1 = try!(i_prot.read_i64()); | |
val.insert(map_key_0, map_val_1); | |
} | |
try!(i_prot.read_map_end()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<Xtruct> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_2 = try!(Xtruct::read_from_in_protocol(i_prot)); | |
val.push(list_elem_2); | |
} | |
try!(i_prot.read_list_end()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Insanity { | |
user_map: f_1, | |
xtructs: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Insanity".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.user_map { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("userMap".to_owned()), field_type: TType::Map, id: Some(1) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::I64, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(k.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_i64(*v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.xtructs { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("xtructs".to_owned()), field_type: TType::List, id: Some(2) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Struct, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(e.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// CrazyNesting | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct CrazyNesting { | |
pub string_field: Option<String>, | |
pub set_field: Option<BTreeSet<Insanity>>, | |
pub list_field: Vec<BTreeMap<BTreeSet<i32>, BTreeMap<i32, BTreeSet<Vec<BTreeMap<Insanity, String>>>>>>, | |
pub binary_field: Option<Vec<u8>>, | |
} | |
impl CrazyNesting { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<CrazyNesting> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = Some("".to_owned()); | |
let mut f_2: Option<BTreeSet<Insanity>> = None; | |
let mut f_3: Option<Vec<BTreeMap<BTreeSet<i32>, BTreeMap<i32, BTreeSet<Vec<BTreeMap<Insanity, String>>>>>>> = None; | |
let mut f_4: Option<Vec<u8>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut val: BTreeSet<Insanity> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_3 = try!(Insanity::read_from_in_protocol(i_prot)); | |
val.insert(set_elem_3); | |
} | |
try!(i_prot.read_set_end()); | |
f_2 = Some(val); | |
}, | |
3 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<BTreeMap<BTreeSet<i32>, BTreeMap<i32, BTreeSet<Vec<BTreeMap<Insanity, String>>>>>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut list_elem_4: BTreeMap<BTreeSet<i32>, BTreeMap<i32, BTreeSet<Vec<BTreeMap<Insanity, String>>>>> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut map_key_5: BTreeSet<i32> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_6 = try!(i_prot.read_i32()); | |
map_key_5.insert(set_elem_6); | |
} | |
try!(i_prot.read_set_end()); | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut map_val_7: BTreeMap<i32, BTreeSet<Vec<BTreeMap<Insanity, String>>>> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_8 = try!(i_prot.read_i32()); | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut map_val_9: BTreeSet<Vec<BTreeMap<Insanity, String>>> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut set_elem_10: Vec<BTreeMap<Insanity, String>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut list_elem_11: BTreeMap<Insanity, String> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_12 = try!(Insanity::read_from_in_protocol(i_prot)); | |
let map_val_13 = try!(i_prot.read_string()); | |
list_elem_11.insert(map_key_12, map_val_13); | |
} | |
try!(i_prot.read_map_end()); | |
set_elem_10.push(list_elem_11); | |
} | |
try!(i_prot.read_list_end()); | |
map_val_9.insert(set_elem_10); | |
} | |
try!(i_prot.read_set_end()); | |
map_val_7.insert(map_key_8, map_val_9); | |
} | |
try!(i_prot.read_map_end()); | |
list_elem_4.insert(map_key_5, map_val_7); | |
} | |
try!(i_prot.read_map_end()); | |
val.push(list_elem_4); | |
} | |
try!(i_prot.read_list_end()); | |
f_3 = Some(val); | |
}, | |
4 => { | |
let val = try!(i_prot.read_bytes()); | |
f_4 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("CrazyNesting.list_field", &f_3)); | |
let ret = CrazyNesting { | |
string_field: f_1, | |
set_field: f_2, | |
list_field: f_3.expect("auto-generated code should have checked for presence of required fields"), | |
binary_field: f_4, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "CrazyNesting".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.string_field { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("string_field".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.set_field { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("set_field".to_owned()), field_type: TType::Set, id: Some(2) })); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::Struct, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(e.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("list_field".to_owned()), field_type: TType::List, id: Some(3) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Map, size: self.list_field.len() as i32 })); | |
for e in self.list_field.iter() { | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::Set, value_type: TType::Map, size: e.len() as i32 })); | |
for (k, v) in e.iter() { | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::I32, size: k.len() as i32 })); | |
for e in k.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::Set, size: v.len() as i32 })); | |
for (k, v) in v.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::List, size: v.len() as i32 })); | |
for e in v.iter() { | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Map, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::Struct, value_type: TType::String, size: e.len() as i32 })); | |
for (k, v) in e.iter() { | |
try!(k.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_string(&v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
if let Some(ref fld_var) = self.binary_field { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("binary_field".to_owned()), field_type: TType::String, id: Some(4) })); | |
try!(o_prot.write_bytes(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// Xception | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Xception { | |
pub error_code: Option<i32>, | |
pub message: Option<String>, | |
} | |
impl Xception { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Xception> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = Some(0); | |
let mut f_2: Option<String> = Some("".to_owned()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_string()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Xception { | |
error_code: f_1, | |
message: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Xception".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.error_code { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("errorCode".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.message { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("message".to_owned()), field_type: TType::String, id: Some(2) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
impl Error for Xception { | |
fn description(&self) -> &str { | |
"remote service threw Xception" | |
} | |
} | |
impl From<Xception> for rift::Error { | |
fn from(e: Xception) -> Self { | |
rift::Error::User(Box::new(e)) | |
} | |
} | |
impl Display for Xception { | |
fn fmt(&self, f: &mut Formatter) -> fmt::Result { | |
self.description().fmt(f) | |
} | |
} | |
// | |
// Xception2 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct Xception2 { | |
pub error_code: Option<i32>, | |
pub struct_thing: Option<Xtruct>, | |
} | |
impl Xception2 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<Xception2> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = Some(0); | |
let mut f_2: Option<Xtruct> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(Xtruct::read_from_in_protocol(i_prot)); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = Xception2 { | |
error_code: f_1, | |
struct_thing: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "Xception2".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.error_code { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("errorCode".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.struct_thing { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("struct_thing".to_owned()), field_type: TType::Struct, id: Some(2) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
impl Error for Xception2 { | |
fn description(&self) -> &str { | |
"remote service threw Xception2" | |
} | |
} | |
impl From<Xception2> for rift::Error { | |
fn from(e: Xception2) -> Self { | |
rift::Error::User(Box::new(e)) | |
} | |
} | |
impl Display for Xception2 { | |
fn fmt(&self, f: &mut Formatter) -> fmt::Result { | |
self.description().fmt(f) | |
} | |
} | |
// | |
// EmptyStruct | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct EmptyStruct { | |
} | |
impl EmptyStruct { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<EmptyStruct> { | |
try!(i_prot.read_struct_begin()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = EmptyStruct {}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "EmptyStruct".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// OneField | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct OneField { | |
pub field: Option<EmptyStruct>, | |
} | |
impl OneField { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<OneField> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<EmptyStruct> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(EmptyStruct::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = OneField { | |
field: f_1, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "OneField".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.field { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("field".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// SomeUnion | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub enum SomeUnion { | |
MapThing(BTreeMap<Numberz, UserId>), | |
StringThing(String), | |
I32Thing(i32), | |
XtructThing(Xtruct3), | |
InsanityThing(Insanity), | |
} | |
impl SomeUnion { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<SomeUnion> { | |
let mut ret: Option<SomeUnion> = None; | |
let mut received_field_count = 0; | |
try!(i_prot.read_struct_begin()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<Numberz, UserId> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_14 = try!(Numberz::read_from_in_protocol(i_prot)); | |
let map_val_15 = try!(i_prot.read_i64()); | |
val.insert(map_key_14, map_val_15); | |
} | |
try!(i_prot.read_map_end()); | |
if let None = ret { | |
ret = Some(SomeUnion::MapThing(val)); | |
} | |
received_field_count += 1; | |
}, | |
2 => { | |
let val = try!(i_prot.read_string()); | |
if let None = ret { | |
ret = Some(SomeUnion::StringThing(val)); | |
} | |
received_field_count += 1; | |
}, | |
3 => { | |
let val = try!(i_prot.read_i32()); | |
if let None = ret { | |
ret = Some(SomeUnion::I32Thing(val)); | |
} | |
received_field_count += 1; | |
}, | |
4 => { | |
let val = try!(Xtruct3::read_from_in_protocol(i_prot)); | |
if let None = ret { | |
ret = Some(SomeUnion::XtructThing(val)); | |
} | |
received_field_count += 1; | |
}, | |
5 => { | |
let val = try!(Insanity::read_from_in_protocol(i_prot)); | |
if let None = ret { | |
ret = Some(SomeUnion::InsanityThing(val)); | |
} | |
received_field_count += 1; | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
received_field_count += 1; | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
if received_field_count > 1 { | |
Err( | |
rift::Error::Protocol( | |
ProtocolError { | |
kind: ProtocolErrorKind::InvalidData, | |
message: "received multiple fields from remote for union SomeUnion".to_owned(), | |
} | |
) | |
) | |
} else { | |
Ok(ret.expect("return value should have been constructed")) | |
} | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "SomeUnion".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
match *self { | |
SomeUnion::MapThing(ref f) => { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("map_thing".to_owned()), field_type: TType::Map, id: Some(1) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::I64, size: f.len() as i32 })); | |
for (k, v) in f.iter() { | |
try!(k.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_i64(*v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
}, | |
SomeUnion::StringThing(ref f) => { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("string_thing".to_owned()), field_type: TType::String, id: Some(2) })); | |
try!(o_prot.write_string(&f)); | |
try!(o_prot.write_field_end()); | |
}, | |
SomeUnion::I32Thing(f) => { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("i32_thing".to_owned()), field_type: TType::I32, id: Some(3) })); | |
try!(o_prot.write_i32(f)); | |
try!(o_prot.write_field_end()); | |
}, | |
SomeUnion::XtructThing(ref f) => { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("xtruct_thing".to_owned()), field_type: TType::Struct, id: Some(4) })); | |
try!(f.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
}, | |
SomeUnion::InsanityThing(ref f) => { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("insanity_thing".to_owned()), field_type: TType::Struct, id: Some(5) })); | |
try!(f.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
}, | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// VersioningTestV1 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct VersioningTestV1 { | |
pub begin_in_both: Option<i32>, | |
pub old_string: Option<String>, | |
pub end_in_both: Option<i32>, | |
} | |
impl VersioningTestV1 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<VersioningTestV1> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = Some(0); | |
let mut f_3: Option<String> = Some("".to_owned()); | |
let mut f_12: Option<i32> = Some(0); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
3 => { | |
let val = try!(i_prot.read_string()); | |
f_3 = Some(val); | |
}, | |
12 => { | |
let val = try!(i_prot.read_i32()); | |
f_12 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = VersioningTestV1 { | |
begin_in_both: f_1, | |
old_string: f_3, | |
end_in_both: f_12, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "VersioningTestV1".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.begin_in_both { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("begin_in_both".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.old_string { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("old_string".to_owned()), field_type: TType::String, id: Some(3) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.end_in_both { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("end_in_both".to_owned()), field_type: TType::I32, id: Some(12) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// VersioningTestV2 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct VersioningTestV2 { | |
pub begin_in_both: Option<i32>, | |
pub newint: Option<i32>, | |
pub newbyte: Option<i8>, | |
pub newshort: Option<i16>, | |
pub newlong: Option<i64>, | |
pub newdouble: Option<OrderedFloat<f64>>, | |
pub newstruct: Option<Bonk>, | |
pub newlist: Option<Vec<i32>>, | |
pub newset: Option<BTreeSet<i32>>, | |
pub newmap: Option<BTreeMap<i32, i32>>, | |
pub newstring: Option<String>, | |
pub end_in_both: Option<i32>, | |
} | |
impl VersioningTestV2 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<VersioningTestV2> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = Some(0); | |
let mut f_2: Option<i32> = Some(0); | |
let mut f_3: Option<i8> = Some(0); | |
let mut f_4: Option<i16> = Some(0); | |
let mut f_5: Option<i64> = Some(0); | |
let mut f_6: Option<OrderedFloat<f64>> = Some(OrderedFloat::from(0.0)); | |
let mut f_7: Option<Bonk> = None; | |
let mut f_8: Option<Vec<i32>> = Some(Vec::new()); | |
let mut f_9: Option<BTreeSet<i32>> = Some(BTreeSet::new()); | |
let mut f_10: Option<BTreeMap<i32, i32>> = Some(BTreeMap::new()); | |
let mut f_11: Option<String> = Some("".to_owned()); | |
let mut f_12: Option<i32> = Some(0); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_i32()); | |
f_2 = Some(val); | |
}, | |
3 => { | |
let val = try!(i_prot.read_i8()); | |
f_3 = Some(val); | |
}, | |
4 => { | |
let val = try!(i_prot.read_i16()); | |
f_4 = Some(val); | |
}, | |
5 => { | |
let val = try!(i_prot.read_i64()); | |
f_5 = Some(val); | |
}, | |
6 => { | |
let val = OrderedFloat::from(try!(i_prot.read_double())); | |
f_6 = Some(val); | |
}, | |
7 => { | |
let val = try!(Bonk::read_from_in_protocol(i_prot)); | |
f_7 = Some(val); | |
}, | |
8 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_16 = try!(i_prot.read_i32()); | |
val.push(list_elem_16); | |
} | |
try!(i_prot.read_list_end()); | |
f_8 = Some(val); | |
}, | |
9 => { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut val: BTreeSet<i32> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_17 = try!(i_prot.read_i32()); | |
val.insert(set_elem_17); | |
} | |
try!(i_prot.read_set_end()); | |
f_9 = Some(val); | |
}, | |
10 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<i32, i32> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_18 = try!(i_prot.read_i32()); | |
let map_val_19 = try!(i_prot.read_i32()); | |
val.insert(map_key_18, map_val_19); | |
} | |
try!(i_prot.read_map_end()); | |
f_10 = Some(val); | |
}, | |
11 => { | |
let val = try!(i_prot.read_string()); | |
f_11 = Some(val); | |
}, | |
12 => { | |
let val = try!(i_prot.read_i32()); | |
f_12 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = VersioningTestV2 { | |
begin_in_both: f_1, | |
newint: f_2, | |
newbyte: f_3, | |
newshort: f_4, | |
newlong: f_5, | |
newdouble: f_6, | |
newstruct: f_7, | |
newlist: f_8, | |
newset: f_9, | |
newmap: f_10, | |
newstring: f_11, | |
end_in_both: f_12, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "VersioningTestV2".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.begin_in_both { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("begin_in_both".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.newint { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newint".to_owned()), field_type: TType::I32, id: Some(2) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.newbyte { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newbyte".to_owned()), field_type: TType::I08, id: Some(3) })); | |
try!(o_prot.write_i8(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.newshort { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newshort".to_owned()), field_type: TType::I16, id: Some(4) })); | |
try!(o_prot.write_i16(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.newlong { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newlong".to_owned()), field_type: TType::I64, id: Some(5) })); | |
try!(o_prot.write_i64(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.newdouble { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newdouble".to_owned()), field_type: TType::Double, id: Some(6) })); | |
try!(o_prot.write_double(fld_var.into())); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.newstruct { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newstruct".to_owned()), field_type: TType::Struct, id: Some(7) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.newlist { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newlist".to_owned()), field_type: TType::List, id: Some(8) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.newset { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newset".to_owned()), field_type: TType::Set, id: Some(9) })); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::I32, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.newmap { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newmap".to_owned()), field_type: TType::Map, id: Some(10) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::I32, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_i32(*v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.newstring { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("newstring".to_owned()), field_type: TType::String, id: Some(11) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.end_in_both { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("end_in_both".to_owned()), field_type: TType::I32, id: Some(12) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// ListTypeVersioningV1 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct ListTypeVersioningV1 { | |
pub myints: Option<Vec<i32>>, | |
pub hello: Option<String>, | |
} | |
impl ListTypeVersioningV1 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<ListTypeVersioningV1> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<i32>> = Some(Vec::new()); | |
let mut f_2: Option<String> = Some("".to_owned()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_20 = try!(i_prot.read_i32()); | |
val.push(list_elem_20); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_string()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = ListTypeVersioningV1 { | |
myints: f_1, | |
hello: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "ListTypeVersioningV1".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.myints { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("myints".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.hello { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("hello".to_owned()), field_type: TType::String, id: Some(2) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// ListTypeVersioningV2 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct ListTypeVersioningV2 { | |
pub strings: Option<Vec<String>>, | |
pub hello: Option<String>, | |
} | |
impl ListTypeVersioningV2 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<ListTypeVersioningV2> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<String>> = Some(Vec::new()); | |
let mut f_2: Option<String> = Some("".to_owned()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<String> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_21 = try!(i_prot.read_string()); | |
val.push(list_elem_21); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_string()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = ListTypeVersioningV2 { | |
strings: f_1, | |
hello: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "ListTypeVersioningV2".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.strings { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("strings".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::String, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_string(&e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.hello { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("hello".to_owned()), field_type: TType::String, id: Some(2) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// GuessProtocolStruct | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct GuessProtocolStruct { | |
pub map_field: Option<BTreeMap<String, String>>, | |
} | |
impl GuessProtocolStruct { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<GuessProtocolStruct> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_7: Option<BTreeMap<String, String>> = Some(BTreeMap::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
7 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<String, String> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_22 = try!(i_prot.read_string()); | |
let map_val_23 = try!(i_prot.read_string()); | |
val.insert(map_key_22, map_val_23); | |
} | |
try!(i_prot.read_map_end()); | |
f_7 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = GuessProtocolStruct { | |
map_field: f_7, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "GuessProtocolStruct".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.map_field { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("map_field".to_owned()), field_type: TType::Map, id: Some(7) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::String, value_type: TType::String, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_string(&k)); | |
try!(o_prot.write_string(&v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// LargeDeltas | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct LargeDeltas { | |
pub b1: Option<Bools>, | |
pub b10: Option<Bools>, | |
pub b100: Option<Bools>, | |
pub check_true: Option<bool>, | |
pub b1000: Option<Bools>, | |
pub check_false: Option<bool>, | |
pub vertwo2000: Option<VersioningTestV2>, | |
pub a_set2500: Option<BTreeSet<String>>, | |
pub vertwo3000: Option<VersioningTestV2>, | |
pub big_numbers: Option<Vec<i32>>, | |
} | |
impl LargeDeltas { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<LargeDeltas> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Bools> = None; | |
let mut f_10: Option<Bools> = None; | |
let mut f_100: Option<Bools> = None; | |
let mut f_500: Option<bool> = Some(false); | |
let mut f_1000: Option<Bools> = None; | |
let mut f_1500: Option<bool> = Some(false); | |
let mut f_2000: Option<VersioningTestV2> = None; | |
let mut f_2500: Option<BTreeSet<String>> = Some(BTreeSet::new()); | |
let mut f_3000: Option<VersioningTestV2> = None; | |
let mut f_4000: Option<Vec<i32>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(Bools::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
10 => { | |
let val = try!(Bools::read_from_in_protocol(i_prot)); | |
f_10 = Some(val); | |
}, | |
100 => { | |
let val = try!(Bools::read_from_in_protocol(i_prot)); | |
f_100 = Some(val); | |
}, | |
500 => { | |
let val = try!(i_prot.read_bool()); | |
f_500 = Some(val); | |
}, | |
1000 => { | |
let val = try!(Bools::read_from_in_protocol(i_prot)); | |
f_1000 = Some(val); | |
}, | |
1500 => { | |
let val = try!(i_prot.read_bool()); | |
f_1500 = Some(val); | |
}, | |
2000 => { | |
let val = try!(VersioningTestV2::read_from_in_protocol(i_prot)); | |
f_2000 = Some(val); | |
}, | |
2500 => { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut val: BTreeSet<String> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_24 = try!(i_prot.read_string()); | |
val.insert(set_elem_24); | |
} | |
try!(i_prot.read_set_end()); | |
f_2500 = Some(val); | |
}, | |
3000 => { | |
let val = try!(VersioningTestV2::read_from_in_protocol(i_prot)); | |
f_3000 = Some(val); | |
}, | |
4000 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_25 = try!(i_prot.read_i32()); | |
val.push(list_elem_25); | |
} | |
try!(i_prot.read_list_end()); | |
f_4000 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = LargeDeltas { | |
b1: f_1, | |
b10: f_10, | |
b100: f_100, | |
check_true: f_500, | |
b1000: f_1000, | |
check_false: f_1500, | |
vertwo2000: f_2000, | |
a_set2500: f_2500, | |
vertwo3000: f_3000, | |
big_numbers: f_4000, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "LargeDeltas".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.b1 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("b1".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.b10 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("b10".to_owned()), field_type: TType::Struct, id: Some(10) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.b100 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("b100".to_owned()), field_type: TType::Struct, id: Some(100) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.check_true { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("check_true".to_owned()), field_type: TType::Bool, id: Some(500) })); | |
try!(o_prot.write_bool(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.b1000 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("b1000".to_owned()), field_type: TType::Struct, id: Some(1000) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(fld_var) = self.check_false { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("check_false".to_owned()), field_type: TType::Bool, id: Some(1500) })); | |
try!(o_prot.write_bool(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.vertwo2000 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("vertwo2000".to_owned()), field_type: TType::Struct, id: Some(2000) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.a_set2500 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("a_set2500".to_owned()), field_type: TType::Set, id: Some(2500) })); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::String, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_string(&e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.vertwo3000 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("vertwo3000".to_owned()), field_type: TType::Struct, id: Some(3000) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.big_numbers { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("big_numbers".to_owned()), field_type: TType::List, id: Some(4000) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// NestedListsI32x2 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct NestedListsI32x2 { | |
pub integerlist: Option<Vec<Vec<i32>>>, | |
} | |
impl NestedListsI32x2 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<NestedListsI32x2> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<Vec<i32>>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<Vec<i32>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut list_elem_26: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_27 = try!(i_prot.read_i32()); | |
list_elem_26.push(list_elem_27); | |
} | |
try!(i_prot.read_list_end()); | |
val.push(list_elem_26); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = NestedListsI32x2 { | |
integerlist: f_1, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "NestedListsI32x2".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.integerlist { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("integerlist".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::List, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// NestedListsI32x3 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct NestedListsI32x3 { | |
pub integerlist: Option<Vec<Vec<Vec<i32>>>>, | |
} | |
impl NestedListsI32x3 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<NestedListsI32x3> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<Vec<Vec<i32>>>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<Vec<Vec<i32>>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut list_elem_28: Vec<Vec<i32>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut list_elem_29: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_30 = try!(i_prot.read_i32()); | |
list_elem_29.push(list_elem_30); | |
} | |
try!(i_prot.read_list_end()); | |
list_elem_28.push(list_elem_29); | |
} | |
try!(i_prot.read_list_end()); | |
val.push(list_elem_28); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = NestedListsI32x3 { | |
integerlist: f_1, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "NestedListsI32x3".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.integerlist { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("integerlist".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::List, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::List, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// NestedMixedx2 | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct NestedMixedx2 { | |
pub int_set_list: Option<Vec<BTreeSet<i32>>>, | |
pub map_int_strset: Option<BTreeMap<i32, BTreeSet<String>>>, | |
pub map_int_strset_list: Option<Vec<BTreeMap<i32, BTreeSet<String>>>>, | |
} | |
impl NestedMixedx2 { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<NestedMixedx2> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<BTreeSet<i32>>> = Some(Vec::new()); | |
let mut f_2: Option<BTreeMap<i32, BTreeSet<String>>> = Some(BTreeMap::new()); | |
let mut f_3: Option<Vec<BTreeMap<i32, BTreeSet<String>>>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<BTreeSet<i32>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut list_elem_31: BTreeSet<i32> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_32 = try!(i_prot.read_i32()); | |
list_elem_31.insert(set_elem_32); | |
} | |
try!(i_prot.read_set_end()); | |
val.push(list_elem_31); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<i32, BTreeSet<String>> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_33 = try!(i_prot.read_i32()); | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut map_val_34: BTreeSet<String> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_35 = try!(i_prot.read_string()); | |
map_val_34.insert(set_elem_35); | |
} | |
try!(i_prot.read_set_end()); | |
val.insert(map_key_33, map_val_34); | |
} | |
try!(i_prot.read_map_end()); | |
f_2 = Some(val); | |
}, | |
3 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<BTreeMap<i32, BTreeSet<String>>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut list_elem_36: BTreeMap<i32, BTreeSet<String>> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_37 = try!(i_prot.read_i32()); | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut map_val_38: BTreeSet<String> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_39 = try!(i_prot.read_string()); | |
map_val_38.insert(set_elem_39); | |
} | |
try!(i_prot.read_set_end()); | |
list_elem_36.insert(map_key_37, map_val_38); | |
} | |
try!(i_prot.read_map_end()); | |
val.push(list_elem_36); | |
} | |
try!(i_prot.read_list_end()); | |
f_3 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = NestedMixedx2 { | |
int_set_list: f_1, | |
map_int_strset: f_2, | |
map_int_strset_list: f_3, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "NestedMixedx2".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.int_set_list { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("int_set_list".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Set, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::I32, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.map_int_strset { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("map_int_strset".to_owned()), field_type: TType::Map, id: Some(2) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::Set, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::String, size: v.len() as i32 })); | |
for e in v.iter() { | |
try!(o_prot.write_string(&e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.map_int_strset_list { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("map_int_strset_list".to_owned()), field_type: TType::List, id: Some(3) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Map, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::Set, size: e.len() as i32 })); | |
for (k, v) in e.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::String, size: v.len() as i32 })); | |
for e in v.iter() { | |
try!(o_prot.write_string(&e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// ListBonks | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct ListBonks { | |
pub bonk: Option<Vec<Bonk>>, | |
} | |
impl ListBonks { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<ListBonks> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<Bonk>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<Bonk> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_40 = try!(Bonk::read_from_in_protocol(i_prot)); | |
val.push(list_elem_40); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = ListBonks { | |
bonk: f_1, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "ListBonks".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.bonk { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("bonk".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Struct, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(e.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// NestedListsBonk | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct NestedListsBonk { | |
pub bonk: Option<Vec<Vec<Vec<Bonk>>>>, | |
} | |
impl NestedListsBonk { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<NestedListsBonk> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<Vec<Vec<Bonk>>>> = Some(Vec::new()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<Vec<Vec<Bonk>>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut list_elem_41: Vec<Vec<Bonk>> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut list_elem_42: Vec<Bonk> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_43 = try!(Bonk::read_from_in_protocol(i_prot)); | |
list_elem_42.push(list_elem_43); | |
} | |
try!(i_prot.read_list_end()); | |
list_elem_41.push(list_elem_42); | |
} | |
try!(i_prot.read_list_end()); | |
val.push(list_elem_41); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = NestedListsBonk { | |
bonk: f_1, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "NestedListsBonk".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.bonk { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("bonk".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::List, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::List, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::Struct, size: e.len() as i32 })); | |
for e in e.iter() { | |
try!(e.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// BoolTest | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct BoolTest { | |
pub b: Option<bool>, | |
pub s: Option<String>, | |
} | |
impl BoolTest { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<BoolTest> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<bool> = None; | |
let mut f_2: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_bool()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_string()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = BoolTest { | |
b: f_1, | |
s: f_2, | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "BoolTest".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.b { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("b".to_owned()), field_type: TType::Bool, id: Some(1) })); | |
try!(o_prot.write_bool(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.s { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("s".to_owned()), field_type: TType::String, id: Some(2) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// StructA | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct StructA { | |
pub s: String, | |
} | |
impl StructA { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<StructA> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("StructA.s", &f_1)); | |
let ret = StructA { | |
s: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "StructA".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("s".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&self.s)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// StructB | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
pub struct StructB { | |
pub aa: Option<StructA>, | |
pub ab: StructA, | |
} | |
impl StructB { | |
pub fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<StructB> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<StructA> = None; | |
let mut f_2: Option<StructA> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(StructA::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(StructA::read_from_in_protocol(i_prot)); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("StructB.ab", &f_2)); | |
let ret = StructB { | |
aa: f_1, | |
ab: f_2.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
pub fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "StructB".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.aa { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("aa".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("ab".to_owned()), field_type: TType::Struct, id: Some(2) })); | |
try!(self.ab.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
pub struct ConstMyNumberz; | |
impl ConstMyNumberz { | |
pub fn const_value() -> Numberz { | |
{ | |
Numberz::try_from(1).expect("expecting valid const value") | |
} | |
} | |
} | |
pub struct ConstUrNested; | |
impl ConstUrNested { | |
pub fn const_value() -> StringListMapType { | |
{ | |
let mut m: BTreeMap<String, Vec<String>> = BTreeMap::new(); | |
let k = "foo".to_owned(); | |
let v = { | |
{ | |
let mut l: Vec<String> = Vec::new(); | |
l.push("bar".to_owned()); | |
l.push("baz".to_owned()); | |
l | |
} | |
}; | |
m.insert(k, v); | |
let k = "hey".to_owned(); | |
let v = { | |
{ | |
let mut l: Vec<String> = Vec::new(); | |
l.push("nonny".to_owned()); | |
l.push("no".to_owned()); | |
l | |
} | |
}; | |
m.insert(k, v); | |
m | |
} | |
} | |
} | |
// | |
// ThriftTest service client | |
// | |
pub trait TAbstractThriftTestSyncClient { | |
fn test_void(&mut self) -> rift::Result<()>; | |
fn test_string(&mut self, thing: String) -> rift::Result<String>; | |
fn test_bool(&mut self, thing: bool) -> rift::Result<bool>; | |
fn test_byte(&mut self, thing: i8) -> rift::Result<i8>; | |
fn test_i32(&mut self, thing: i32) -> rift::Result<i32>; | |
fn test_i64(&mut self, thing: i64) -> rift::Result<i64>; | |
fn test_double(&mut self, thing: OrderedFloat<f64>) -> rift::Result<OrderedFloat<f64>>; | |
fn test_binary(&mut self, thing: Vec<u8>) -> rift::Result<Vec<u8>>; | |
fn test_struct(&mut self, thing: Xtruct) -> rift::Result<Xtruct>; | |
fn test_nest(&mut self, thing: Xtruct2) -> rift::Result<Xtruct2>; | |
fn test_map(&mut self, thing: BTreeMap<i32, i32>) -> rift::Result<BTreeMap<i32, i32>>; | |
fn test_string_map(&mut self, thing: BTreeMap<String, String>) -> rift::Result<BTreeMap<String, String>>; | |
fn test_set(&mut self, thing: BTreeSet<i32>) -> rift::Result<BTreeSet<i32>>; | |
fn test_list(&mut self, thing: Vec<i32>) -> rift::Result<Vec<i32>>; | |
fn test_enum(&mut self, thing: Numberz) -> rift::Result<Numberz>; | |
fn test_typedef(&mut self, thing: UserId) -> rift::Result<UserId>; | |
fn test_map_map(&mut self, hello: i32) -> rift::Result<BTreeMap<i32, BTreeMap<i32, i32>>>; | |
fn test_insanity(&mut self, argument: Insanity) -> rift::Result<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>>; | |
fn test_multi(&mut self, arg0: i8, arg1: i32, arg2: i64, arg3: BTreeMap<i16, String>, arg4: Numberz, arg5: UserId) -> rift::Result<Xtruct>; | |
fn test_exception(&mut self, arg: String) -> rift::Result<()>; | |
fn test_multi_exception(&mut self, arg0: String, arg1: String) -> rift::Result<Xtruct>; | |
fn test_oneway(&mut self, seconds_to_sleep: i32) -> rift::Result<()>; | |
} | |
pub struct TThriftTestSyncClient { | |
i_prot: Rc<RefCell<Box<TProtocol>>>, | |
o_prot: Rc<RefCell<Box<TProtocol>>>, | |
sequence_number: i32, | |
} | |
impl TThriftTestSyncClient { | |
pub fn new(protocol: Box<TProtocol>) -> TThriftTestSyncClient { | |
let p = Rc::new(RefCell::new(protocol)); | |
TThriftTestSyncClient { i_prot: p.clone(), o_prot: p.clone(), sequence_number: 0 } | |
} | |
pub fn with_separate_protocols(input_protocol: Box<TProtocol>, output_protocol: Box<TProtocol>) -> TThriftTestSyncClient { | |
TThriftTestSyncClient { i_prot: Rc::new(RefCell::new(input_protocol)), o_prot: Rc::new(RefCell::new(output_protocol)), sequence_number: 0 } | |
} | |
fn send_test_void(&mut self) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testVoid".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestVoidArgs { }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_void(&mut self) -> rift::Result<()> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testVoid", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestVoidResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_string(&mut self, thing: String) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testString".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestStringArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_string(&mut self) -> rift::Result<String> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testString", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestStringResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_bool(&mut self, thing: bool) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testBool".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestBoolArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_bool(&mut self) -> rift::Result<bool> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testBool", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestBoolResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_byte(&mut self, thing: i8) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testByte".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestByteArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_byte(&mut self) -> rift::Result<i8> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testByte", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestByteResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_i32(&mut self, thing: i32) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testI32".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestI32Args { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_i32(&mut self) -> rift::Result<i32> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testI32", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestI32Result::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_i64(&mut self, thing: i64) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testI64".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestI64Args { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_i64(&mut self) -> rift::Result<i64> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testI64", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestI64Result::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_double(&mut self, thing: OrderedFloat<f64>) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testDouble".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestDoubleArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_double(&mut self) -> rift::Result<OrderedFloat<f64>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testDouble", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestDoubleResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_binary(&mut self, thing: Vec<u8>) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testBinary".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestBinaryArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_binary(&mut self) -> rift::Result<Vec<u8>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testBinary", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestBinaryResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_struct(&mut self, thing: Xtruct) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testStruct".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestStructArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_struct(&mut self) -> rift::Result<Xtruct> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testStruct", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestStructResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_nest(&mut self, thing: Xtruct2) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testNest".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestNestArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_nest(&mut self) -> rift::Result<Xtruct2> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testNest", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestNestResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_map(&mut self, thing: BTreeMap<i32, i32>) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testMap".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestMapArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_map(&mut self) -> rift::Result<BTreeMap<i32, i32>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testMap", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestMapResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_string_map(&mut self, thing: BTreeMap<String, String>) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testStringMap".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestStringMapArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_string_map(&mut self) -> rift::Result<BTreeMap<String, String>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testStringMap", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestStringMapResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_set(&mut self, thing: BTreeSet<i32>) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testSet".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestSetArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_set(&mut self) -> rift::Result<BTreeSet<i32>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testSet", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestSetResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_list(&mut self, thing: Vec<i32>) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testList".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestListArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_list(&mut self) -> rift::Result<Vec<i32>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testList", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestListResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_enum(&mut self, thing: Numberz) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testEnum".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestEnumArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_enum(&mut self) -> rift::Result<Numberz> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testEnum", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestEnumResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_typedef(&mut self, thing: UserId) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testTypedef".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestTypedefArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_typedef(&mut self) -> rift::Result<UserId> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testTypedef", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestTypedefResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_map_map(&mut self, hello: i32) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testMapMap".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestMapMapArgs { hello: hello }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_map_map(&mut self) -> rift::Result<BTreeMap<i32, BTreeMap<i32, i32>>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testMapMap", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestMapMapResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_insanity(&mut self, argument: Insanity) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testInsanity".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestInsanityArgs { argument: argument }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_insanity(&mut self) -> rift::Result<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testInsanity", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestInsanityResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_multi(&mut self, arg0: i8, arg1: i32, arg2: i64, arg3: BTreeMap<i16, String>, arg4: Numberz, arg5: UserId) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testMulti".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestMultiArgs { arg0: arg0, arg1: arg1, arg2: arg2, arg3: arg3, arg4: arg4, arg5: arg5 }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_multi(&mut self) -> rift::Result<Xtruct> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testMulti", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestMultiResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_exception(&mut self, arg: String) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testException".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestExceptionArgs { arg: arg }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_exception(&mut self) -> rift::Result<()> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testException", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestExceptionResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_multi_exception(&mut self, arg0: String, arg1: String) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testMultiException".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = TestMultiExceptionArgs { arg0: arg0, arg1: arg1 }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_test_multi_exception(&mut self) -> rift::Result<Xtruct> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("testMultiException", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(TestMultiExceptionResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_test_oneway(&mut self, seconds_to_sleep: i32) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"testOneway".to_owned(), message_type: TMessageType::OneWay, sequence_number: self.sequence_number }; | |
let call_args = TestOnewayArgs { seconds_to_sleep: seconds_to_sleep }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
} | |
impl TAbstractThriftTestSyncClient for TThriftTestSyncClient { | |
fn test_void(&mut self) -> rift::Result<()> { | |
try!(self.send_test_void()); | |
self.recv_test_void() | |
} | |
fn test_string(&mut self, thing: String) -> rift::Result<String> { | |
try!(self.send_test_string(thing)); | |
self.recv_test_string() | |
} | |
fn test_bool(&mut self, thing: bool) -> rift::Result<bool> { | |
try!(self.send_test_bool(thing)); | |
self.recv_test_bool() | |
} | |
fn test_byte(&mut self, thing: i8) -> rift::Result<i8> { | |
try!(self.send_test_byte(thing)); | |
self.recv_test_byte() | |
} | |
fn test_i32(&mut self, thing: i32) -> rift::Result<i32> { | |
try!(self.send_test_i32(thing)); | |
self.recv_test_i32() | |
} | |
fn test_i64(&mut self, thing: i64) -> rift::Result<i64> { | |
try!(self.send_test_i64(thing)); | |
self.recv_test_i64() | |
} | |
fn test_double(&mut self, thing: OrderedFloat<f64>) -> rift::Result<OrderedFloat<f64>> { | |
try!(self.send_test_double(thing)); | |
self.recv_test_double() | |
} | |
fn test_binary(&mut self, thing: Vec<u8>) -> rift::Result<Vec<u8>> { | |
try!(self.send_test_binary(thing)); | |
self.recv_test_binary() | |
} | |
fn test_struct(&mut self, thing: Xtruct) -> rift::Result<Xtruct> { | |
try!(self.send_test_struct(thing)); | |
self.recv_test_struct() | |
} | |
fn test_nest(&mut self, thing: Xtruct2) -> rift::Result<Xtruct2> { | |
try!(self.send_test_nest(thing)); | |
self.recv_test_nest() | |
} | |
fn test_map(&mut self, thing: BTreeMap<i32, i32>) -> rift::Result<BTreeMap<i32, i32>> { | |
try!(self.send_test_map(thing)); | |
self.recv_test_map() | |
} | |
fn test_string_map(&mut self, thing: BTreeMap<String, String>) -> rift::Result<BTreeMap<String, String>> { | |
try!(self.send_test_string_map(thing)); | |
self.recv_test_string_map() | |
} | |
fn test_set(&mut self, thing: BTreeSet<i32>) -> rift::Result<BTreeSet<i32>> { | |
try!(self.send_test_set(thing)); | |
self.recv_test_set() | |
} | |
fn test_list(&mut self, thing: Vec<i32>) -> rift::Result<Vec<i32>> { | |
try!(self.send_test_list(thing)); | |
self.recv_test_list() | |
} | |
fn test_enum(&mut self, thing: Numberz) -> rift::Result<Numberz> { | |
try!(self.send_test_enum(thing)); | |
self.recv_test_enum() | |
} | |
fn test_typedef(&mut self, thing: UserId) -> rift::Result<UserId> { | |
try!(self.send_test_typedef(thing)); | |
self.recv_test_typedef() | |
} | |
fn test_map_map(&mut self, hello: i32) -> rift::Result<BTreeMap<i32, BTreeMap<i32, i32>>> { | |
try!(self.send_test_map_map(hello)); | |
self.recv_test_map_map() | |
} | |
fn test_insanity(&mut self, argument: Insanity) -> rift::Result<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>> { | |
try!(self.send_test_insanity(argument)); | |
self.recv_test_insanity() | |
} | |
fn test_multi(&mut self, arg0: i8, arg1: i32, arg2: i64, arg3: BTreeMap<i16, String>, arg4: Numberz, arg5: UserId) -> rift::Result<Xtruct> { | |
try!(self.send_test_multi(arg0, arg1, arg2, arg3, arg4, arg5)); | |
self.recv_test_multi() | |
} | |
fn test_exception(&mut self, arg: String) -> rift::Result<()> { | |
try!(self.send_test_exception(arg)); | |
self.recv_test_exception() | |
} | |
fn test_multi_exception(&mut self, arg0: String, arg1: String) -> rift::Result<Xtruct> { | |
try!(self.send_test_multi_exception(arg0, arg1)); | |
self.recv_test_multi_exception() | |
} | |
fn test_oneway(&mut self, seconds_to_sleep: i32) -> rift::Result<()> { | |
try!(self.send_test_oneway(seconds_to_sleep)); | |
Ok(()) | |
} | |
} | |
// | |
// ThriftTest service server | |
// | |
pub trait TAbstractThriftTestSyncHandler { | |
fn handle_test_void(&mut self) -> rift::Result<()>; | |
fn handle_test_string(&mut self, thing: String) -> rift::Result<String>; | |
fn handle_test_bool(&mut self, thing: bool) -> rift::Result<bool>; | |
fn handle_test_byte(&mut self, thing: i8) -> rift::Result<i8>; | |
fn handle_test_i32(&mut self, thing: i32) -> rift::Result<i32>; | |
fn handle_test_i64(&mut self, thing: i64) -> rift::Result<i64>; | |
fn handle_test_double(&mut self, thing: OrderedFloat<f64>) -> rift::Result<OrderedFloat<f64>>; | |
fn handle_test_binary(&mut self, thing: Vec<u8>) -> rift::Result<Vec<u8>>; | |
fn handle_test_struct(&mut self, thing: Xtruct) -> rift::Result<Xtruct>; | |
fn handle_test_nest(&mut self, thing: Xtruct2) -> rift::Result<Xtruct2>; | |
fn handle_test_map(&mut self, thing: BTreeMap<i32, i32>) -> rift::Result<BTreeMap<i32, i32>>; | |
fn handle_test_string_map(&mut self, thing: BTreeMap<String, String>) -> rift::Result<BTreeMap<String, String>>; | |
fn handle_test_set(&mut self, thing: BTreeSet<i32>) -> rift::Result<BTreeSet<i32>>; | |
fn handle_test_list(&mut self, thing: Vec<i32>) -> rift::Result<Vec<i32>>; | |
fn handle_test_enum(&mut self, thing: Numberz) -> rift::Result<Numberz>; | |
fn handle_test_typedef(&mut self, thing: UserId) -> rift::Result<UserId>; | |
fn handle_test_map_map(&mut self, hello: i32) -> rift::Result<BTreeMap<i32, BTreeMap<i32, i32>>>; | |
fn handle_test_insanity(&mut self, argument: Insanity) -> rift::Result<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>>; | |
fn handle_test_multi(&mut self, arg0: i8, arg1: i32, arg2: i64, arg3: BTreeMap<i16, String>, arg4: Numberz, arg5: UserId) -> rift::Result<Xtruct>; | |
fn handle_test_exception(&mut self, arg: String) -> rift::Result<()>; | |
fn handle_test_multi_exception(&mut self, arg0: String, arg1: String) -> rift::Result<Xtruct>; | |
fn handle_test_oneway(&mut self, seconds_to_sleep: i32) -> rift::Result<()>; | |
} | |
pub struct TThriftTestProcessor<H: TAbstractThriftTestSyncHandler> { | |
handler: H, | |
} | |
impl <H: TAbstractThriftTestSyncHandler> TThriftTestProcessor<H> { | |
pub fn new(handler: H) -> TThriftTestProcessor<H> { | |
TThriftTestProcessor { handler: handler } | |
} | |
fn process_test_void(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let _ = try!(TestVoidArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_void() { | |
Ok(_) => { | |
let message_ident = TMessageIdentifier { name: "testVoid".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestVoidResult { }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testVoid".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_string(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestStringArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_string(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testString".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestStringResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testString".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_bool(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestBoolArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_bool(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testBool".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestBoolResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testBool".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_byte(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestByteArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_byte(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testByte".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestByteResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testByte".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_i32(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestI32Args::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_i32(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testI32".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestI32Result { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testI32".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_i64(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestI64Args::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_i64(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testI64".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestI64Result { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testI64".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_double(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestDoubleArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_double(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testDouble".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestDoubleResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testDouble".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_binary(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestBinaryArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_binary(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testBinary".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestBinaryResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testBinary".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_struct(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestStructArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_struct(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testStruct".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestStructResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testStruct".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_nest(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestNestArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_nest(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testNest".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestNestResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testNest".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_map(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestMapArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_map(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testMap".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestMapResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testMap".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_string_map(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestStringMapArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_string_map(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testStringMap".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestStringMapResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testStringMap".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_set(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestSetArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_set(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testSet".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestSetResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testSet".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_list(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestListArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_list(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testList".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestListResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testList".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_enum(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestEnumArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_enum(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testEnum".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestEnumResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testEnum".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_typedef(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestTypedefArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_typedef(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testTypedef".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestTypedefResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testTypedef".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_map_map(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestMapMapArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_map_map(args.hello) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testMapMap".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestMapMapResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testMapMap".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_insanity(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestInsanityArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_insanity(args.argument) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testInsanity".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestInsanityResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testInsanity".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_multi(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestMultiArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_multi(args.arg0, args.arg1, args.arg2, args.arg3, args.arg4, args.arg5) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testMulti".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestMultiResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testMulti".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_exception(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestExceptionArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_exception(args.arg) { | |
Ok(_) => { | |
let message_ident = TMessageIdentifier { name: "testException".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestExceptionResult { err1: None }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
rift::Error::User(usr_err) => { | |
if usr_err.downcast_ref::<Xception>().is_some() { | |
let err = usr_err.downcast::<Xception>().expect("downcast already checked"); | |
let ret_err = TestExceptionResult{ err1: Some(*err) }; | |
let message_ident = TMessageIdentifier { name: "testException".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(ret_err.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
} else { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: usr_err.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testException".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
} | |
}, | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testException".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_multi_exception(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestMultiExceptionArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_multi_exception(args.arg0, args.arg1) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "testMultiException".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = TestMultiExceptionResult { result_value: Some(handler_return), err1: None, err2: None }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
rift::Error::User(usr_err) => { | |
if usr_err.downcast_ref::<Xception>().is_some() { | |
let err = usr_err.downcast::<Xception>().expect("downcast already checked"); | |
let ret_err = TestMultiExceptionResult{ result_value: None, err1: Some(*err), err2: None }; | |
let message_ident = TMessageIdentifier { name: "testMultiException".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(ret_err.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
} else if usr_err.downcast_ref::<Xception2>().is_some() { | |
let err = usr_err.downcast::<Xception2>().expect("downcast already checked"); | |
let ret_err = TestMultiExceptionResult{ result_value: None, err1: None, err2: Some(*err) }; | |
let message_ident = TMessageIdentifier { name: "testMultiException".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(ret_err.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
} else { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: usr_err.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testMultiException".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
} | |
}, | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "testMultiException".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_test_oneway(&mut self, _: i32, i_prot: &mut TProtocol, _: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(TestOnewayArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_test_oneway(args.seconds_to_sleep) { | |
Ok(_) => { | |
Ok(()) | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
Err(rift::Error::Application(ret_err)) | |
}, | |
} | |
}, | |
} | |
} | |
} | |
impl <H: TAbstractThriftTestSyncHandler> TProcessor for TThriftTestProcessor<H> { | |
fn process(&mut self, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let message_ident = try!(i_prot.read_message_begin()); | |
match &*message_ident.name { | |
"testVoid" => { | |
self.process_test_void(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testString" => { | |
self.process_test_string(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testBool" => { | |
self.process_test_bool(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testByte" => { | |
self.process_test_byte(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testI32" => { | |
self.process_test_i32(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testI64" => { | |
self.process_test_i64(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testDouble" => { | |
self.process_test_double(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testBinary" => { | |
self.process_test_binary(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testStruct" => { | |
self.process_test_struct(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testNest" => { | |
self.process_test_nest(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testMap" => { | |
self.process_test_map(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testStringMap" => { | |
self.process_test_string_map(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testSet" => { | |
self.process_test_set(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testList" => { | |
self.process_test_list(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testEnum" => { | |
self.process_test_enum(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testTypedef" => { | |
self.process_test_typedef(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testMapMap" => { | |
self.process_test_map_map(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testInsanity" => { | |
self.process_test_insanity(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testMulti" => { | |
self.process_test_multi(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testException" => { | |
self.process_test_exception(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testMultiException" => { | |
self.process_test_multi_exception(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"testOneway" => { | |
self.process_test_oneway(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
method => { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::UnknownMethod, | |
message: format!("unknown method {}", method), | |
} | |
) | |
) | |
}, | |
} | |
} | |
} | |
// | |
// TestVoidArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestVoidArgs { | |
} | |
impl TestVoidArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestVoidArgs> { | |
try!(i_prot.read_struct_begin()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestVoidArgs {}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testVoid_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestVoidResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestVoidResult { | |
} | |
impl TestVoidResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestVoidResult> { | |
try!(i_prot.read_struct_begin()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestVoidResult {}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestVoidResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<()> { | |
Ok(()) | |
} | |
} | |
// | |
// TestStringArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestStringArgs { | |
thing: String, | |
} | |
impl TestStringArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestStringArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestStringArgs.thing", &f_1)); | |
let ret = TestStringArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testString_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestStringResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestStringResult { | |
result_value: Option<String>, | |
} | |
impl TestStringResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestStringResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_string()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestStringResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestStringResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::String, id: Some(0) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<String> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestString".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestBoolArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestBoolArgs { | |
thing: bool, | |
} | |
impl TestBoolArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestBoolArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<bool> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_bool()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestBoolArgs.thing", &f_1)); | |
let ret = TestBoolArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testBool_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Bool, id: Some(1) })); | |
try!(o_prot.write_bool(self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestBoolResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestBoolResult { | |
result_value: Option<bool>, | |
} | |
impl TestBoolResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestBoolResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<bool> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_bool()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestBoolResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestBoolResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Bool, id: Some(0) })); | |
try!(o_prot.write_bool(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<bool> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestBool".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestByteArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestByteArgs { | |
thing: i8, | |
} | |
impl TestByteArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestByteArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i8> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i8()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestByteArgs.thing", &f_1)); | |
let ret = TestByteArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testByte_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::I08, id: Some(1) })); | |
try!(o_prot.write_i8(self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestByteResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestByteResult { | |
result_value: Option<i8>, | |
} | |
impl TestByteResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestByteResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<i8> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_i8()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestByteResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestByteResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::I08, id: Some(0) })); | |
try!(o_prot.write_i8(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<i8> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestByte".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestI32Args | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestI32Args { | |
thing: i32, | |
} | |
impl TestI32Args { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestI32Args> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestI32Args.thing", &f_1)); | |
let ret = TestI32Args { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testI32_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestI32Result | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestI32Result { | |
result_value: Option<i32>, | |
} | |
impl TestI32Result { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestI32Result> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<i32> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_i32()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestI32Result { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestI32Result".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::I32, id: Some(0) })); | |
try!(o_prot.write_i32(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<i32> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestI32".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestI64Args | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestI64Args { | |
thing: i64, | |
} | |
impl TestI64Args { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestI64Args> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i64> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i64()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestI64Args.thing", &f_1)); | |
let ret = TestI64Args { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testI64_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::I64, id: Some(1) })); | |
try!(o_prot.write_i64(self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestI64Result | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestI64Result { | |
result_value: Option<i64>, | |
} | |
impl TestI64Result { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestI64Result> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<i64> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_i64()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestI64Result { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestI64Result".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::I64, id: Some(0) })); | |
try!(o_prot.write_i64(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<i64> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestI64".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestDoubleArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestDoubleArgs { | |
thing: OrderedFloat<f64>, | |
} | |
impl TestDoubleArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestDoubleArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<OrderedFloat<f64>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = OrderedFloat::from(try!(i_prot.read_double())); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestDoubleArgs.thing", &f_1)); | |
let ret = TestDoubleArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testDouble_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Double, id: Some(1) })); | |
try!(o_prot.write_double(self.thing.into())); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestDoubleResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestDoubleResult { | |
result_value: Option<OrderedFloat<f64>>, | |
} | |
impl TestDoubleResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestDoubleResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<OrderedFloat<f64>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = OrderedFloat::from(try!(i_prot.read_double())); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestDoubleResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestDoubleResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Double, id: Some(0) })); | |
try!(o_prot.write_double(fld_var.into())); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<OrderedFloat<f64>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestDouble".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestBinaryArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestBinaryArgs { | |
thing: Vec<u8>, | |
} | |
impl TestBinaryArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestBinaryArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<u8>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_bytes()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestBinaryArgs.thing", &f_1)); | |
let ret = TestBinaryArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testBinary_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_bytes(&self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestBinaryResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestBinaryResult { | |
result_value: Option<Vec<u8>>, | |
} | |
impl TestBinaryResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestBinaryResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Vec<u8>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_bytes()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestBinaryResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestBinaryResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::String, id: Some(0) })); | |
try!(o_prot.write_bytes(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Vec<u8>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestBinary".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestStructArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestStructArgs { | |
thing: Xtruct, | |
} | |
impl TestStructArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestStructArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Xtruct> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(Xtruct::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestStructArgs.thing", &f_1)); | |
let ret = TestStructArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testStruct_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(self.thing.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestStructResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestStructResult { | |
result_value: Option<Xtruct>, | |
} | |
impl TestStructResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestStructResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Xtruct> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(Xtruct::read_from_in_protocol(i_prot)); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestStructResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestStructResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Struct, id: Some(0) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Xtruct> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestStruct".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestNestArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestNestArgs { | |
thing: Xtruct2, | |
} | |
impl TestNestArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestNestArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Xtruct2> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(Xtruct2::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestNestArgs.thing", &f_1)); | |
let ret = TestNestArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testNest_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(self.thing.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestNestResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestNestResult { | |
result_value: Option<Xtruct2>, | |
} | |
impl TestNestResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestNestResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Xtruct2> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(Xtruct2::read_from_in_protocol(i_prot)); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestNestResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestNestResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Struct, id: Some(0) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Xtruct2> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestNest".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestMapArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMapArgs { | |
thing: BTreeMap<i32, i32>, | |
} | |
impl TestMapArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMapArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<BTreeMap<i32, i32>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<i32, i32> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_44 = try!(i_prot.read_i32()); | |
let map_val_45 = try!(i_prot.read_i32()); | |
val.insert(map_key_44, map_val_45); | |
} | |
try!(i_prot.read_map_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestMapArgs.thing", &f_1)); | |
let ret = TestMapArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testMap_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Map, id: Some(1) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::I32, size: self.thing.len() as i32 })); | |
for (k, v) in self.thing.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_i32(*v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestMapResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMapResult { | |
result_value: Option<BTreeMap<i32, i32>>, | |
} | |
impl TestMapResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMapResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<BTreeMap<i32, i32>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<i32, i32> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_46 = try!(i_prot.read_i32()); | |
let map_val_47 = try!(i_prot.read_i32()); | |
val.insert(map_key_46, map_val_47); | |
} | |
try!(i_prot.read_map_end()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestMapResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestMapResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Map, id: Some(0) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::I32, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_i32(*v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<BTreeMap<i32, i32>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestMap".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestStringMapArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestStringMapArgs { | |
thing: BTreeMap<String, String>, | |
} | |
impl TestStringMapArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestStringMapArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<BTreeMap<String, String>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<String, String> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_48 = try!(i_prot.read_string()); | |
let map_val_49 = try!(i_prot.read_string()); | |
val.insert(map_key_48, map_val_49); | |
} | |
try!(i_prot.read_map_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestStringMapArgs.thing", &f_1)); | |
let ret = TestStringMapArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testStringMap_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Map, id: Some(1) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::String, value_type: TType::String, size: self.thing.len() as i32 })); | |
for (k, v) in self.thing.iter() { | |
try!(o_prot.write_string(&k)); | |
try!(o_prot.write_string(&v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestStringMapResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestStringMapResult { | |
result_value: Option<BTreeMap<String, String>>, | |
} | |
impl TestStringMapResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestStringMapResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<BTreeMap<String, String>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<String, String> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_50 = try!(i_prot.read_string()); | |
let map_val_51 = try!(i_prot.read_string()); | |
val.insert(map_key_50, map_val_51); | |
} | |
try!(i_prot.read_map_end()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestStringMapResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestStringMapResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Map, id: Some(0) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::String, value_type: TType::String, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_string(&k)); | |
try!(o_prot.write_string(&v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<BTreeMap<String, String>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestStringMap".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestSetArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestSetArgs { | |
thing: BTreeSet<i32>, | |
} | |
impl TestSetArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestSetArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<BTreeSet<i32>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut val: BTreeSet<i32> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_52 = try!(i_prot.read_i32()); | |
val.insert(set_elem_52); | |
} | |
try!(i_prot.read_set_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestSetArgs.thing", &f_1)); | |
let ret = TestSetArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testSet_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::Set, id: Some(1) })); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::I32, size: self.thing.len() as i32 })); | |
for e in self.thing.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestSetResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestSetResult { | |
result_value: Option<BTreeSet<i32>>, | |
} | |
impl TestSetResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestSetResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<BTreeSet<i32>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let set_ident = try!(i_prot.read_set_begin()); | |
let mut val: BTreeSet<i32> = BTreeSet::new(); | |
for _ in 0..set_ident.size { | |
let set_elem_53 = try!(i_prot.read_i32()); | |
val.insert(set_elem_53); | |
} | |
try!(i_prot.read_set_end()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestSetResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestSetResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Set, id: Some(0) })); | |
try!(o_prot.write_set_begin(&TSetIdentifier { element_type: TType::I32, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_set_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<BTreeSet<i32>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestSet".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestListArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestListArgs { | |
thing: Vec<i32>, | |
} | |
impl TestListArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestListArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Vec<i32>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_54 = try!(i_prot.read_i32()); | |
val.push(list_elem_54); | |
} | |
try!(i_prot.read_list_end()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestListArgs.thing", &f_1)); | |
let ret = TestListArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testList_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::List, id: Some(1) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: self.thing.len() as i32 })); | |
for e in self.thing.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestListResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestListResult { | |
result_value: Option<Vec<i32>>, | |
} | |
impl TestListResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestListResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Vec<i32>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let list_ident = try!(i_prot.read_list_begin()); | |
let mut val: Vec<i32> = Vec::with_capacity(list_ident.size as usize); | |
for _ in 0..list_ident.size { | |
let list_elem_55 = try!(i_prot.read_i32()); | |
val.push(list_elem_55); | |
} | |
try!(i_prot.read_list_end()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestListResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestListResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::List, id: Some(0) })); | |
try!(o_prot.write_list_begin(&TListIdentifier { element_type: TType::I32, size: fld_var.len() as i32 })); | |
for e in fld_var.iter() { | |
try!(o_prot.write_i32(*e)); | |
try!(o_prot.write_list_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Vec<i32>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestList".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestEnumArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestEnumArgs { | |
thing: Numberz, | |
} | |
impl TestEnumArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestEnumArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Numberz> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(Numberz::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestEnumArgs.thing", &f_1)); | |
let ret = TestEnumArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testEnum_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(self.thing.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestEnumResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestEnumResult { | |
result_value: Option<Numberz>, | |
} | |
impl TestEnumResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestEnumResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Numberz> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(Numberz::read_from_in_protocol(i_prot)); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestEnumResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestEnumResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::I32, id: Some(0) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Numberz> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestEnum".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestTypedefArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestTypedefArgs { | |
thing: UserId, | |
} | |
impl TestTypedefArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestTypedefArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<UserId> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i64()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestTypedefArgs.thing", &f_1)); | |
let ret = TestTypedefArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testTypedef_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::I64, id: Some(1) })); | |
try!(o_prot.write_i64(self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestTypedefResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestTypedefResult { | |
result_value: Option<UserId>, | |
} | |
impl TestTypedefResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestTypedefResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<UserId> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_i64()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestTypedefResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestTypedefResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::I64, id: Some(0) })); | |
try!(o_prot.write_i64(fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<UserId> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestTypedef".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestMapMapArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMapMapArgs { | |
hello: i32, | |
} | |
impl TestMapMapArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMapMapArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestMapMapArgs.hello", &f_1)); | |
let ret = TestMapMapArgs { | |
hello: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testMapMap_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("hello".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(self.hello)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestMapMapResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMapMapResult { | |
result_value: Option<BTreeMap<i32, BTreeMap<i32, i32>>>, | |
} | |
impl TestMapMapResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMapMapResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<BTreeMap<i32, BTreeMap<i32, i32>>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<i32, BTreeMap<i32, i32>> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_56 = try!(i_prot.read_i32()); | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut map_val_57: BTreeMap<i32, i32> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_58 = try!(i_prot.read_i32()); | |
let map_val_59 = try!(i_prot.read_i32()); | |
map_val_57.insert(map_key_58, map_val_59); | |
} | |
try!(i_prot.read_map_end()); | |
val.insert(map_key_56, map_val_57); | |
} | |
try!(i_prot.read_map_end()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestMapMapResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestMapMapResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Map, id: Some(0) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::Map, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::I32, size: v.len() as i32 })); | |
for (k, v) in v.iter() { | |
try!(o_prot.write_i32(*k)); | |
try!(o_prot.write_i32(*v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<BTreeMap<i32, BTreeMap<i32, i32>>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestMapMap".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestInsanityArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestInsanityArgs { | |
argument: Insanity, | |
} | |
impl TestInsanityArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestInsanityArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Insanity> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(Insanity::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestInsanityArgs.argument", &f_1)); | |
let ret = TestInsanityArgs { | |
argument: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testInsanity_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("argument".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(self.argument.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestInsanityResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestInsanityResult { | |
result_value: Option<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>>, | |
} | |
impl TestInsanityResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestInsanityResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<UserId, BTreeMap<Numberz, Insanity>> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_60 = try!(i_prot.read_i64()); | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut map_val_61: BTreeMap<Numberz, Insanity> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_62 = try!(Numberz::read_from_in_protocol(i_prot)); | |
let map_val_63 = try!(Insanity::read_from_in_protocol(i_prot)); | |
map_val_61.insert(map_key_62, map_val_63); | |
} | |
try!(i_prot.read_map_end()); | |
val.insert(map_key_60, map_val_61); | |
} | |
try!(i_prot.read_map_end()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestInsanityResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestInsanityResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Map, id: Some(0) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I64, value_type: TType::Map, size: fld_var.len() as i32 })); | |
for (k, v) in fld_var.iter() { | |
try!(o_prot.write_i64(*k)); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I32, value_type: TType::Struct, size: v.len() as i32 })); | |
for (k, v) in v.iter() { | |
try!(k.write_to_out_protocol(o_prot)); | |
try!(v.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<BTreeMap<UserId, BTreeMap<Numberz, Insanity>>> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestInsanity".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestMultiArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMultiArgs { | |
arg0: i8, | |
arg1: i32, | |
arg2: i64, | |
arg3: BTreeMap<i16, String>, | |
arg4: Numberz, | |
arg5: UserId, | |
} | |
impl TestMultiArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMultiArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i8> = None; | |
let mut f_2: Option<i32> = None; | |
let mut f_3: Option<i64> = None; | |
let mut f_4: Option<BTreeMap<i16, String>> = None; | |
let mut f_5: Option<Numberz> = None; | |
let mut f_6: Option<UserId> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i8()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_i32()); | |
f_2 = Some(val); | |
}, | |
3 => { | |
let val = try!(i_prot.read_i64()); | |
f_3 = Some(val); | |
}, | |
4 => { | |
let map_ident = try!(i_prot.read_map_begin()); | |
let mut val: BTreeMap<i16, String> = BTreeMap::new(); | |
for _ in 0..map_ident.size { | |
let map_key_64 = try!(i_prot.read_i16()); | |
let map_val_65 = try!(i_prot.read_string()); | |
val.insert(map_key_64, map_val_65); | |
} | |
try!(i_prot.read_map_end()); | |
f_4 = Some(val); | |
}, | |
5 => { | |
let val = try!(Numberz::read_from_in_protocol(i_prot)); | |
f_5 = Some(val); | |
}, | |
6 => { | |
let val = try!(i_prot.read_i64()); | |
f_6 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestMultiArgs.arg0", &f_1)); | |
try!(verify_required_field_exists("TestMultiArgs.arg1", &f_2)); | |
try!(verify_required_field_exists("TestMultiArgs.arg2", &f_3)); | |
try!(verify_required_field_exists("TestMultiArgs.arg3", &f_4)); | |
try!(verify_required_field_exists("TestMultiArgs.arg4", &f_5)); | |
try!(verify_required_field_exists("TestMultiArgs.arg5", &f_6)); | |
let ret = TestMultiArgs { | |
arg0: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
arg1: f_2.expect("auto-generated code should have checked for presence of required fields"), | |
arg2: f_3.expect("auto-generated code should have checked for presence of required fields"), | |
arg3: f_4.expect("auto-generated code should have checked for presence of required fields"), | |
arg4: f_5.expect("auto-generated code should have checked for presence of required fields"), | |
arg5: f_6.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testMulti_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg0".to_owned()), field_type: TType::I08, id: Some(1) })); | |
try!(o_prot.write_i8(self.arg0)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg1".to_owned()), field_type: TType::I32, id: Some(2) })); | |
try!(o_prot.write_i32(self.arg1)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg2".to_owned()), field_type: TType::I64, id: Some(3) })); | |
try!(o_prot.write_i64(self.arg2)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg3".to_owned()), field_type: TType::Map, id: Some(4) })); | |
try!(o_prot.write_map_begin(&TMapIdentifier { key_type: TType::I16, value_type: TType::String, size: self.arg3.len() as i32 })); | |
for (k, v) in self.arg3.iter() { | |
try!(o_prot.write_i16(*k)); | |
try!(o_prot.write_string(&v)); | |
try!(o_prot.write_map_end()); | |
} | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg4".to_owned()), field_type: TType::I32, id: Some(5) })); | |
try!(self.arg4.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg5".to_owned()), field_type: TType::I64, id: Some(6) })); | |
try!(o_prot.write_i64(self.arg5)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestMultiResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMultiResult { | |
result_value: Option<Xtruct>, | |
} | |
impl TestMultiResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMultiResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Xtruct> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(Xtruct::read_from_in_protocol(i_prot)); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestMultiResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestMultiResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Struct, id: Some(0) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Xtruct> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestMulti".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestExceptionArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestExceptionArgs { | |
arg: String, | |
} | |
impl TestExceptionArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestExceptionArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestExceptionArgs.arg", &f_1)); | |
let ret = TestExceptionArgs { | |
arg: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testException_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&self.arg)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestExceptionResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestExceptionResult { | |
err1: Option<Xception>, | |
} | |
impl TestExceptionResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestExceptionResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<Xception> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(Xception::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestExceptionResult { | |
err1: f_1, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestExceptionResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.err1 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("err1".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<()> { | |
if self.err1.is_some() { | |
Err(rift::Error::User(Box::new(self.err1.unwrap()))) | |
} else { | |
Ok(()) | |
} | |
} | |
} | |
// | |
// TestMultiExceptionArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMultiExceptionArgs { | |
arg0: String, | |
arg1: String, | |
} | |
impl TestMultiExceptionArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMultiExceptionArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = None; | |
let mut f_2: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(i_prot.read_string()); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestMultiExceptionArgs.arg0", &f_1)); | |
try!(verify_required_field_exists("TestMultiExceptionArgs.arg1", &f_2)); | |
let ret = TestMultiExceptionArgs { | |
arg0: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
arg1: f_2.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testMultiException_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg0".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&self.arg0)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("arg1".to_owned()), field_type: TType::String, id: Some(2) })); | |
try!(o_prot.write_string(&self.arg1)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// TestMultiExceptionResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestMultiExceptionResult { | |
result_value: Option<Xtruct>, | |
err1: Option<Xception>, | |
err2: Option<Xception2>, | |
} | |
impl TestMultiExceptionResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestMultiExceptionResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<Xtruct> = None; | |
let mut f_1: Option<Xception> = None; | |
let mut f_2: Option<Xception2> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(Xtruct::read_from_in_protocol(i_prot)); | |
f_0 = Some(val); | |
}, | |
1 => { | |
let val = try!(Xception::read_from_in_protocol(i_prot)); | |
f_1 = Some(val); | |
}, | |
2 => { | |
let val = try!(Xception2::read_from_in_protocol(i_prot)); | |
f_2 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = TestMultiExceptionResult { | |
result_value: f_0, | |
err1: f_1, | |
err2: f_2, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "TestMultiExceptionResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::Struct, id: Some(0) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.err1 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("err1".to_owned()), field_type: TType::Struct, id: Some(1) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
if let Some(ref fld_var) = self.err2 { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("err2".to_owned()), field_type: TType::Struct, id: Some(2) })); | |
try!(fld_var.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<Xtruct> { | |
if self.err1.is_some() { | |
Err(rift::Error::User(Box::new(self.err1.unwrap()))) | |
} else if self.err2.is_some() { | |
Err(rift::Error::User(Box::new(self.err2.unwrap()))) | |
} else if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for TestMultiException".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} | |
// | |
// TestOnewayArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct TestOnewayArgs { | |
seconds_to_sleep: i32, | |
} | |
impl TestOnewayArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<TestOnewayArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<i32> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_i32()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("TestOnewayArgs.seconds_to_sleep", &f_1)); | |
let ret = TestOnewayArgs { | |
seconds_to_sleep: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "testOneway_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("secondsToSleep".to_owned()), field_type: TType::I32, id: Some(1) })); | |
try!(o_prot.write_i32(self.seconds_to_sleep)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// SecondService service client | |
// | |
pub trait TAbstractSecondServiceSyncClient { | |
fn blah_blah(&mut self) -> rift::Result<()>; | |
fn secondtest_string(&mut self, thing: String) -> rift::Result<String>; | |
} | |
pub struct TSecondServiceSyncClient { | |
i_prot: Rc<RefCell<Box<TProtocol>>>, | |
o_prot: Rc<RefCell<Box<TProtocol>>>, | |
sequence_number: i32, | |
} | |
impl TSecondServiceSyncClient { | |
pub fn new(protocol: Box<TProtocol>) -> TSecondServiceSyncClient { | |
let p = Rc::new(RefCell::new(protocol)); | |
TSecondServiceSyncClient { i_prot: p.clone(), o_prot: p.clone(), sequence_number: 0 } | |
} | |
pub fn with_separate_protocols(input_protocol: Box<TProtocol>, output_protocol: Box<TProtocol>) -> TSecondServiceSyncClient { | |
TSecondServiceSyncClient { i_prot: Rc::new(RefCell::new(input_protocol)), o_prot: Rc::new(RefCell::new(output_protocol)), sequence_number: 0 } | |
} | |
fn send_blah_blah(&mut self) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"blahBlah".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = BlahBlahArgs { }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_blah_blah(&mut self) -> rift::Result<()> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("blahBlah", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(BlahBlahResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
fn send_secondtest_string(&mut self, thing: String) -> rift::Result<()> { | |
self.sequence_number = self.sequence_number + 1; | |
let message_ident = TMessageIdentifier { name:"secondtestString".to_owned(), message_type: TMessageType::Call, sequence_number: self.sequence_number }; | |
let call_args = SecondtestStringArgs { thing: thing }; | |
try!(self.o_prot.borrow_mut().write_message_begin(&message_ident)); | |
try!(call_args.write_to_out_protocol(&mut **self.o_prot.borrow_mut())); | |
try!(self.o_prot.borrow_mut().write_message_end()); | |
self.o_prot.borrow_mut().flush() | |
} | |
fn recv_secondtest_string(&mut self) -> rift::Result<String> { | |
let message_ident = try!(self.i_prot.borrow_mut().read_message_begin()); | |
try!(verify_expected_sequence_number(self.sequence_number, message_ident.sequence_number)); | |
try!(verify_expected_service_call("secondtestString", &message_ident.name)); | |
if message_ident.message_type == TMessageType::Exception { | |
let remote_error = try!(rift::Error::read_application_error_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
return Err(rift::Error::Application(remote_error)) | |
} | |
try!(verify_expected_message_type(TMessageType::Reply, message_ident.message_type)); | |
let result = try!(SecondtestStringResult::read_from_in_protocol(&mut **self.i_prot.borrow_mut())); | |
try!(self.i_prot.borrow_mut().read_message_end()); | |
result.ok_or() | |
} | |
} | |
impl TAbstractSecondServiceSyncClient for TSecondServiceSyncClient { | |
fn blah_blah(&mut self) -> rift::Result<()> { | |
try!(self.send_blah_blah()); | |
self.recv_blah_blah() | |
} | |
fn secondtest_string(&mut self, thing: String) -> rift::Result<String> { | |
try!(self.send_secondtest_string(thing)); | |
self.recv_secondtest_string() | |
} | |
} | |
// | |
// SecondService service server | |
// | |
pub trait TAbstractSecondServiceSyncHandler { | |
fn handle_blah_blah(&mut self) -> rift::Result<()>; | |
fn handle_secondtest_string(&mut self, thing: String) -> rift::Result<String>; | |
} | |
pub struct TSecondServiceProcessor<H: TAbstractSecondServiceSyncHandler> { | |
handler: H, | |
} | |
impl <H: TAbstractSecondServiceSyncHandler> TSecondServiceProcessor<H> { | |
pub fn new(handler: H) -> TSecondServiceProcessor<H> { | |
TSecondServiceProcessor { handler: handler } | |
} | |
fn process_blah_blah(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let _ = try!(BlahBlahArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_blah_blah() { | |
Ok(_) => { | |
let message_ident = TMessageIdentifier { name: "blahBlah".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = BlahBlahResult { }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "blahBlah".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
fn process_secondtest_string(&mut self, incoming_sequence_number: i32, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let args = try!(SecondtestStringArgs::read_from_in_protocol(i_prot)); | |
match self.handler.handle_secondtest_string(args.thing) { | |
Ok(handler_return) => { | |
let message_ident = TMessageIdentifier { name: "secondtestString".to_owned(), message_type: TMessageType::Reply, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
let ret = SecondtestStringResult { result_value: Some(handler_return) }; | |
try!(ret.write_to_out_protocol(o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
Err(e) => { | |
match e { | |
_ => { | |
let ret_err = { | |
ApplicationError { | |
kind: ApplicationErrorKind::Unknown, | |
message: e.description().to_owned(), | |
} | |
}; | |
let message_ident = TMessageIdentifier { name: "secondtestString".to_owned(), message_type: TMessageType::Exception, sequence_number: incoming_sequence_number }; | |
try!(o_prot.write_message_begin(&message_ident)); | |
try!(rift::Error::write_application_error_to_out_protocol(&ret_err, o_prot)); | |
try!(o_prot.write_message_end()); | |
o_prot.flush() | |
}, | |
} | |
}, | |
} | |
} | |
} | |
impl <H: TAbstractSecondServiceSyncHandler> TProcessor for TSecondServiceProcessor<H> { | |
fn process(&mut self, i_prot: &mut TProtocol, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let message_ident = try!(i_prot.read_message_begin()); | |
match &*message_ident.name { | |
"blahBlah" => { | |
self.process_blah_blah(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
"secondtestString" => { | |
self.process_secondtest_string(message_ident.sequence_number, i_prot, o_prot) | |
}, | |
method => { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::UnknownMethod, | |
message: format!("unknown method {}", method), | |
} | |
) | |
) | |
}, | |
} | |
} | |
} | |
// | |
// BlahBlahArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct BlahBlahArgs { | |
} | |
impl BlahBlahArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<BlahBlahArgs> { | |
try!(i_prot.read_struct_begin()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = BlahBlahArgs {}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "blahBlah_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// BlahBlahResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct BlahBlahResult { | |
} | |
impl BlahBlahResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<BlahBlahResult> { | |
try!(i_prot.read_struct_begin()); | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = BlahBlahResult {}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "BlahBlahResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<()> { | |
Ok(()) | |
} | |
} | |
// | |
// SecondtestStringArgs | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct SecondtestStringArgs { | |
thing: String, | |
} | |
impl SecondtestStringArgs { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<SecondtestStringArgs> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_1: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
1 => { | |
let val = try!(i_prot.read_string()); | |
f_1 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
try!(verify_required_field_exists("SecondtestStringArgs.thing", &f_1)); | |
let ret = SecondtestStringArgs { | |
thing: f_1.expect("auto-generated code should have checked for presence of required fields"), | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "secondtestString_args".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("thing".to_owned()), field_type: TType::String, id: Some(1) })); | |
try!(o_prot.write_string(&self.thing)); | |
try!(o_prot.write_field_end()); | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
} | |
// | |
// SecondtestStringResult | |
// | |
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] | |
struct SecondtestStringResult { | |
result_value: Option<String>, | |
} | |
impl SecondtestStringResult { | |
fn read_from_in_protocol(i_prot: &mut TProtocol) -> rift::Result<SecondtestStringResult> { | |
try!(i_prot.read_struct_begin()); | |
let mut f_0: Option<String> = None; | |
loop { | |
let field_ident = try!(i_prot.read_field_begin()); | |
if field_ident.field_type == TType::Stop { | |
break; | |
} | |
let field_id = try!(field_id(&field_ident)); | |
match field_id { | |
0 => { | |
let val = try!(i_prot.read_string()); | |
f_0 = Some(val); | |
}, | |
_ => { | |
try!(i_prot.skip(field_ident.field_type)); | |
}, | |
}; | |
try!(i_prot.read_field_end()); | |
} | |
try!(i_prot.read_struct_end()); | |
let ret = SecondtestStringResult { | |
result_value: f_0, | |
}; | |
Ok(ret) | |
} | |
fn write_to_out_protocol(&self, o_prot: &mut TProtocol) -> rift::Result<()> { | |
let struct_ident = TStructIdentifier { name: "SecondtestStringResult".to_owned() }; | |
try!(o_prot.write_struct_begin(&struct_ident)); | |
if let Some(ref fld_var) = self.result_value { | |
try!(o_prot.write_field_begin(&TFieldIdentifier {name: Some("result_value".to_owned()), field_type: TType::String, id: Some(0) })); | |
try!(o_prot.write_string(&fld_var)); | |
try!(o_prot.write_field_end()); | |
() | |
} else { | |
() | |
} | |
try!(o_prot.write_field_stop()); | |
o_prot.write_struct_end() | |
} | |
fn ok_or(self) -> rift::Result<String> { | |
if self.result_value.is_some() { | |
Ok(self.result_value.unwrap()) | |
} else { | |
Err( | |
rift::Error::Application( | |
ApplicationError { | |
kind: ApplicationErrorKind::MissingResult, | |
message: "no result received for SecondtestString".to_owned(), | |
} | |
) | |
) | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment