diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift b/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift new file mode 100644 index 000000000..b42481b32 --- /dev/null +++ b/src/jaegertracing/thrift/lib/rb/spec/ThriftSpec.thrift @@ -0,0 +1,183 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +namespace rb SpecNamespace + +struct Hello { + 1: string greeting = "hello world" +} + +enum SomeEnum { + ONE + TWO +} + +struct StructWithSomeEnum { + 1: SomeEnum some_enum; +} + +union TestUnion { + /** + * A doc string + */ + 1: string string_field; + 2: i32 i32_field; + 3: i32 other_i32_field; + 4: SomeEnum enum_field; + 5: binary binary_field; +} + +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 + 8: bool my_bool +} + +struct Foo2 { + 1: binary my_binary +} + +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() + oneway void unblock(1:i32 n) + oneway void shutdown() + void sleep(1:double seconds) +} + +union My_union { + 1: bool im_true, + 2: byte a_bite, + 3: i16 integer16, + 4: i32 integer32, + 5: i64 integer64, + 6: double double_precision, + 7: string some_characters, + 8: i32 other_i32 + 9: SomeEnum some_enum; + 10: map<SomeEnum, list<SomeEnum>> my_map; +} + +struct Struct_with_union { + 1: My_union fun_union + 2: i32 integer32 + 3: string some_characters +} + +struct StructWithEnumMap { + 1: map<SomeEnum, list<SomeEnum>> my_map; +} + +# Nested lists +struct NestedListInList { + 1: list<list<byte>> value +} + +struct NestedListInSet { + 1: set<list<byte>> value +} + +struct NestedListInMapKey { + 1: map<list<byte>, byte> value +} + +struct NestedListInMapValue { + 1: map<byte, list<byte>> value +} + +# Nested sets +struct NestedSetInList { + 1: list<set<byte>> value +} + +struct NestedSetInSet { + 1: set<set<byte>> value +} + +struct NestedSetInMapKey { + 1: map<set<byte>, byte> value +} + +struct NestedSetInMapValue { + 1: map<byte, set<byte>> value +} + +# Nested maps +struct NestedMapInList { + 1: list<map<byte, byte>> value +} + +struct NestedMapInSet { + 1: set<map<byte, byte>> value +} + +struct NestedMapInMapKey { + 2: map<map<byte, byte>, byte> value +} + +struct NestedMapInMapValue { + 2: map<byte, map<byte, byte>> value +} |