mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-07 18:58:51 +00:00
ce161a96cd
Summary: - TDenseProtocol now includes a part of the struct fingerprint in the serialized message, to protect from unserialzing trash. - A lot of cleanups and commenting for TDenseProtocol. - A lot of test cases for same. Reviewed By: mcslee Test Plan: test/DenseProtoTest.cpp Revert Plan: ok git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665257 13f79535-47bb-0310-9956-ffa450edef68
52 lines
1.0 KiB
Thrift
52 lines
1.0 KiB
Thrift
/*
|
|
../compiler/cpp/thrift -cpp OptionalRequiredTest.thrift
|
|
g++ -Wall -g -I../lib/cpp/src -I/usr/local/include/boost-1_33_1 \
|
|
OptionalRequiredTest.cpp gen-cpp/OptionalRequiredTest_types.cpp \
|
|
../lib/cpp/.libs/libthrift.a -o OptionalRequiredTest
|
|
./OptionalRequiredTest
|
|
*/
|
|
|
|
cpp_namespace thrift.test
|
|
|
|
struct OldSchool {
|
|
1: i16 im_int;
|
|
2: string im_str;
|
|
3: list<map<i32,string>> im_big;
|
|
}
|
|
|
|
struct Simple {
|
|
1: /* :) */ i16 im_default;
|
|
2: required i16 im_required;
|
|
3: optional i16 im_optional;
|
|
}
|
|
|
|
struct Tricky1 {
|
|
1: /* :) */ i16 im_default;
|
|
}
|
|
|
|
struct Tricky2 {
|
|
1: optional i16 im_optional;
|
|
}
|
|
|
|
struct Tricky3 {
|
|
1: required i16 im_required;
|
|
}
|
|
|
|
struct Complex {
|
|
1: i16 cp_default;
|
|
2: required i16 cp_required;
|
|
3: optional i16 cp_optional;
|
|
4: map<i16,Simple> the_map;
|
|
5: required Simple req_simp;
|
|
6: optional Simple opt_simp;
|
|
}
|
|
|
|
struct ManyOpt {
|
|
1: optional i32 opt1;
|
|
2: optional i32 opt2;
|
|
3: optional i32 opt3;
|
|
4: i32 def4;
|
|
5: optional i32 opt5;
|
|
6: optional i32 opt6;
|
|
}
|