thrift/test/OptionalRequiredTest.thrift
David Reiss ce161a96cd Thrift: Clean up and test TDenseProtocol
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
2007-09-11 22:09:42 +00:00

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;
}