| namespace rb SpecNamespace | 
 |  | 
 | struct Hello { | 
 |   1: string greeting = "hello world" | 
 | } | 
 |  | 
 | struct Foo { | 
 |   1: i32 simple = 53, | 
 |   2: string words = "words", | 
 |   3: Hello hello = {'greeting' : "hello, world!"}, | 
 |   4: list<i32> ints = [1, 2, 2, 3], | 
 |   5: map<i32, map<string, double>> complex, | 
 |   6: set<i16> shorts = [5, 17, 239], | 
 |   7: optional string opt_string | 
 | } | 
 |  | 
 | struct BoolStruct { | 
 |   1: bool yesno = 1 | 
 | } | 
 |  | 
 | struct SimpleList { | 
 |   1: list<bool> bools, | 
 |   2: list<byte> bytes, | 
 |   3: list<i16> i16s, | 
 |   4: list<i32> i32s, | 
 |   5: list<i64> i64s, | 
 |   6: list<double> doubles, | 
 |   7: list<string> strings, | 
 |   8: list<map<i16, i16>> maps, | 
 |   9: list<list<i16>> lists, | 
 |   10: list<set<i16>> sets, | 
 |   11: list<Hello> hellos | 
 | } | 
 |  | 
 | exception Xception { | 
 |   1: string message, | 
 |   2: i32 code = 1 | 
 | } | 
 |  | 
 | service NonblockingService { | 
 |   Hello greeting(1:bool english) | 
 |   bool block() | 
 |   async void unblock(1:i32 n) | 
 |   async void shutdown() | 
 |   void sleep(1:double seconds) | 
 | } |