/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/py3/src/module.thrift * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @nocommit */ #include #include "thrift/compiler/test/fixtures/py3/gen-py3cpp/module_metadata.h" // some of these functions can be so large that the compiler gives up optimizing // them - and issues a warning which may be treated as an error! // // these functions are so rarely called that it is probably okay for them not to // be optimized in practice FOLLY_CLANG_DISABLE_WARNING("-Wignored-optimization-argument") namespace apache { namespace thrift { namespace detail { namespace md { using ThriftMetadata = ::apache::thrift::metadata::ThriftMetadata; using ThriftPrimitiveType = ::apache::thrift::metadata::ThriftPrimitiveType; using ThriftType = ::apache::thrift::metadata::ThriftType; using ThriftService = ::apache::thrift::metadata::ThriftService; using ThriftServiceContext = ::apache::thrift::metadata::ThriftServiceContext; using ThriftFunctionGenerator = void (*)(ThriftMetadata&, ThriftService&); void EnumMetadata<::py3::simple::AnEnum>::gen(ThriftMetadata& metadata) { auto res = metadata.enums()->emplace("module.AnEnum", ::apache::thrift::metadata::ThriftEnum{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second; enum_metadata.name() = "module.AnEnum"; using EnumTraits = TEnumTraits<::py3::simple::AnEnum>; for (std::size_t i = 0; i != EnumTraits::size; ++i) { enum_metadata.elements()->emplace(static_cast(EnumTraits::values[i]), EnumTraits::names[i]); } } void EnumMetadata<::py3::simple::AnEnumRenamed>::gen(ThriftMetadata& metadata) { auto res = metadata.enums()->emplace("module.AnEnumRenamed", ::apache::thrift::metadata::ThriftEnum{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second; enum_metadata.name() = "module.AnEnumRenamed"; using EnumTraits = TEnumTraits<::py3::simple::AnEnumRenamed>; for (std::size_t i = 0; i != EnumTraits::size; ++i) { enum_metadata.elements()->emplace(static_cast(EnumTraits::values[i]), EnumTraits::names[i]); } } void EnumMetadata<::py3::simple::Flags>::gen(ThriftMetadata& metadata) { auto res = metadata.enums()->emplace("module.Flags", ::apache::thrift::metadata::ThriftEnum{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second; enum_metadata.name() = "module.Flags"; using EnumTraits = TEnumTraits<::py3::simple::Flags>; for (std::size_t i = 0; i != EnumTraits::size; ++i) { enum_metadata.elements()->emplace(static_cast(EnumTraits::values[i]), EnumTraits::names[i]); } enum_metadata.structured_annotations()->push_back(*cvStruct("python.Flags", { }).cv_struct_ref()); } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::SimpleException>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.SimpleException", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_SimpleException = res.first->second; module_SimpleException.name() = "module.SimpleException"; module_SimpleException.is_union() = false; static const auto* const module_SimpleException_fields = new std::array{ { { 1, "err_code", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, }}; for (const auto& f : *module_SimpleException_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_SimpleException.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::OptionalRefStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.OptionalRefStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_OptionalRefStruct = res.first->second; module_OptionalRefStruct.name() = "module.OptionalRefStruct"; module_OptionalRefStruct.is_union() = false; static const auto* const module_OptionalRefStruct_fields = new std::array{ { { 1, "optional_blob", true, std::make_unique("module.IOBufPtr", std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ *cvStruct("cpp.Type", { {"name", cvString("std::unique_ptr") } }).cv_struct_ref(), }), std::vector{ }}, }}; for (const auto& f : *module_OptionalRefStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_OptionalRefStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::SimpleStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.SimpleStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_SimpleStruct = res.first->second; module_SimpleStruct.name() = "module.SimpleStruct"; module_SimpleStruct.is_union() = false; static const auto* const module_SimpleStruct_fields = new std::array{ { { 1, "is_on", false, std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector{ }}, { 2, "tiny_int", false, std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector{ }}, { 3, "small_int", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, { 4, "nice_sized_int", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, { 5, "big_int", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 6, "real", false, std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector{ }}, { 7, "smaller_real", false, std::make_unique(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector{ }}, { 8, "hidden_field", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ *cvStruct("python.Py3Hidden", { }).cv_struct_ref(), }}, }}; for (const auto& f : *module_SimpleStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_SimpleStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::HiddenTypeFieldsStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.HiddenTypeFieldsStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_HiddenTypeFieldsStruct = res.first->second; module_HiddenTypeFieldsStruct.name() = "module.HiddenTypeFieldsStruct"; module_HiddenTypeFieldsStruct.is_union() = false; static const auto* const module_HiddenTypeFieldsStruct_fields = new std::array{ { { 1, "field1", false, std::make_unique("module.AdaptedTypeDef", std::make_unique>("module.SimpleStruct"), std::vector{ *cvStruct("cpp.Adapter", { {"name", cvString("Adapter") } }).cv_struct_ref(), }), std::vector{ *cvStruct("python.Py3Hidden", { }).cv_struct_ref(), }}, { 2, "field2", false, std::make_unique(std::make_unique("module.AdaptedTypeDef", std::make_unique>("module.SimpleStruct"), std::vector{ *cvStruct("cpp.Adapter", { {"name", cvString("Adapter") } }).cv_struct_ref(), })), std::vector{ *cvStruct("python.Py3Hidden", { }).cv_struct_ref(), }}, { 3, "field3", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique("module.AdaptedTypeDef", std::make_unique>("module.SimpleStruct"), std::vector{ *cvStruct("cpp.Adapter", { {"name", cvString("Adapter") } }).cv_struct_ref(), })), std::vector{ *cvStruct("cpp.Type", { {"template", cvString("::std::unordered_map") } }).cv_struct_ref(), *cvStruct("python.Py3Hidden", { }).cv_struct_ref(), }}, }}; for (const auto& f : *module_HiddenTypeFieldsStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_HiddenTypeFieldsStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::detail::AdaptedUnion>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.AdaptedUnion", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_AdaptedUnion = res.first->second; module_AdaptedUnion.name() = "module.AdaptedUnion"; module_AdaptedUnion.is_union() = true; static const auto* const module_AdaptedUnion_fields = new std::array{ { { 1, "best", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, }}; for (const auto& f : *module_AdaptedUnion_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_AdaptedUnion.fields()->push_back(std::move(field)); } module_AdaptedUnion.structured_annotations()->push_back(*cvStruct("cpp.Adapter", { {"name", cvString("Adapter") } }).cv_struct_ref()); return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::HiddenException>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.HiddenException", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_HiddenException = res.first->second; module_HiddenException.name() = "module.HiddenException"; module_HiddenException.is_union() = false; static const auto* const module_HiddenException_fields = new std::array{ { { 1, "test", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, }}; for (const auto& f : *module_HiddenException_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_HiddenException.fields()->push_back(std::move(field)); } module_HiddenException.structured_annotations()->push_back(*cvStruct("python.Py3Hidden", { }).cv_struct_ref()); return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::ComplexStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.ComplexStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_ComplexStruct = res.first->second; module_ComplexStruct.name() = "module.ComplexStruct"; module_ComplexStruct.is_union() = false; static const auto* const module_ComplexStruct_fields = new std::array{ { { 1, "structOne", false, std::make_unique>("module.SimpleStruct"), std::vector{ }}, { 2, "structTwo", false, std::make_unique>("module.SimpleStruct"), std::vector{ }}, { 3, "an_integer", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, { 4, "name", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 5, "an_enum", false, std::make_unique>("module.AnEnum"), std::vector{ }}, { 6, "some_bytes", false, std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ }}, { 7, "from", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ *cvStruct("python.Name", { {"name", cvString("sender") } }).cv_struct_ref(), }}, { 8, "cdef", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 9, "bytes_with_cpp_type", false, std::make_unique("module.foo_bar", std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ *cvStruct("cpp.Type", { {"name", cvString("foo::Bar") } }).cv_struct_ref(), }), std::vector{ }}, }}; for (const auto& f : *module_ComplexStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_ComplexStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::BinaryUnion>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.BinaryUnion", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_BinaryUnion = res.first->second; module_BinaryUnion.name() = "module.BinaryUnion"; module_BinaryUnion.is_union() = true; static const auto* const module_BinaryUnion_fields = new std::array{ { { 1, "iobuf_val", false, std::make_unique("module.IOBuf", std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ *cvStruct("cpp.Type", { {"name", cvString("folly::IOBuf") } }).cv_struct_ref(), }), std::vector{ }}, }}; for (const auto& f : *module_BinaryUnion_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_BinaryUnion.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::py3::simple::BinaryUnionStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.BinaryUnionStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_BinaryUnionStruct = res.first->second; module_BinaryUnionStruct.name() = "module.BinaryUnionStruct"; module_BinaryUnionStruct.is_union() = false; static const auto* const module_BinaryUnionStruct_fields = new std::array{ { { 1, "u", false, std::make_unique>("module.BinaryUnion"), std::vector{ }}, }}; for (const auto& f : *module_BinaryUnionStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_BinaryUnionStruct.fields()->push_back(std::move(field)); } return res.first->second; } void ExceptionMetadata<::py3::simple::SimpleException>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.SimpleException", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_SimpleException = res.first->second; module_SimpleException.name() = "module.SimpleException"; static const auto* const module_SimpleException_fields = new std::array{ { { 1, "err_code", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, }}; for (const auto& f : *module_SimpleException_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); module_SimpleException.fields()->push_back(std::move(field)); } } void ExceptionMetadata<::py3::simple::HiddenException>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.HiddenException", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_HiddenException = res.first->second; module_HiddenException.name() = "module.HiddenException"; static const auto* const module_HiddenException_fields = new std::array{ { { 1, "test", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, }}; for (const auto& f : *module_HiddenException_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); module_HiddenException.fields()->push_back(std::move(field)); } module_HiddenException.structured_annotations()->push_back(*cvStruct("python.Py3Hidden", { }).cv_struct_ref()); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_five([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_five"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_add_five([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "add_five"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_add_five_num_1; module_SimpleService_add_five_num_1.id() = 1; module_SimpleService_add_five_num_1.name() = "num"; module_SimpleService_add_five_num_1.is_optional() = false; auto module_SimpleService_add_five_num_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_SimpleService_add_five_num_1_type->writeAndGenType(*module_SimpleService_add_five_num_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_add_five_num_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_do_nothing([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "do_nothing"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_VOID_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_concat([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "concat"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_concat_first_1; module_SimpleService_concat_first_1.id() = 1; module_SimpleService_concat_first_1.name() = "first"; module_SimpleService_concat_first_1.is_optional() = false; auto module_SimpleService_concat_first_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); module_SimpleService_concat_first_1_type->writeAndGenType(*module_SimpleService_concat_first_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_concat_first_1)); ::apache::thrift::metadata::ThriftField module_SimpleService_concat_second_2; module_SimpleService_concat_second_2.id() = 2; module_SimpleService_concat_second_2.name() = "second"; module_SimpleService_concat_second_2.is_optional() = false; auto module_SimpleService_concat_second_2_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); module_SimpleService_concat_second_2_type->writeAndGenType(*module_SimpleService_concat_second_2.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_concat_second_2)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_value([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_value"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_get_value_simple_struct_1; module_SimpleService_get_value_simple_struct_1.id() = 1; module_SimpleService_get_value_simple_struct_1.name() = "simple_struct"; module_SimpleService_get_value_simple_struct_1.is_optional() = false; auto module_SimpleService_get_value_simple_struct_1_type = std::make_unique>("module.SimpleStruct"); module_SimpleService_get_value_simple_struct_1_type->writeAndGenType(*module_SimpleService_get_value_simple_struct_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_get_value_simple_struct_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_negate([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "negate"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_negate_input_1; module_SimpleService_negate_input_1.id() = 1; module_SimpleService_negate_input_1.name() = "input"; module_SimpleService_negate_input_1.is_optional() = false; auto module_SimpleService_negate_input_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE); module_SimpleService_negate_input_1_type->writeAndGenType(*module_SimpleService_negate_input_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_negate_input_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_tiny([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "tiny"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_tiny_input_1; module_SimpleService_tiny_input_1.id() = 1; module_SimpleService_tiny_input_1.name() = "input"; module_SimpleService_tiny_input_1.is_optional() = false; auto module_SimpleService_tiny_input_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE); module_SimpleService_tiny_input_1_type->writeAndGenType(*module_SimpleService_tiny_input_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_tiny_input_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_small([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "small"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_small_input_1; module_SimpleService_small_input_1.id() = 1; module_SimpleService_small_input_1.name() = "input"; module_SimpleService_small_input_1.is_optional() = false; auto module_SimpleService_small_input_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); module_SimpleService_small_input_1_type->writeAndGenType(*module_SimpleService_small_input_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_small_input_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_big([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "big"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_big_input_1; module_SimpleService_big_input_1.id() = 1; module_SimpleService_big_input_1.name() = "input"; module_SimpleService_big_input_1.is_optional() = false; auto module_SimpleService_big_input_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE); module_SimpleService_big_input_1_type->writeAndGenType(*module_SimpleService_big_input_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_big_input_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_two([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "two"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_two_input_1; module_SimpleService_two_input_1.id() = 1; module_SimpleService_two_input_1.name() = "input"; module_SimpleService_two_input_1.is_optional() = false; auto module_SimpleService_two_input_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE); module_SimpleService_two_input_1_type->writeAndGenType(*module_SimpleService_two_input_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_two_input_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_expected_exception([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "expected_exception"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_VOID_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_expected_exception_se_1; module_SimpleService_expected_exception_se_1.id() = 1; module_SimpleService_expected_exception_se_1.name() = "se"; module_SimpleService_expected_exception_se_1.is_optional() = false; auto module_SimpleService_expected_exception_se_1_type = std::make_unique>("module.SimpleException"); module_SimpleService_expected_exception_se_1_type->writeAndGenType(*module_SimpleService_expected_exception_se_1.type(), metadata); func.exceptions()->push_back(std::move(module_SimpleService_expected_exception_se_1)); ExceptionMetadata<::py3::simple::SimpleException>::gen(metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_unexpected_exception([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "unexpected_exception"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_i16_list([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "sum_i16_list"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_sum_i16_list_numbers_1; module_SimpleService_sum_i16_list_numbers_1.id() = 1; module_SimpleService_sum_i16_list_numbers_1.name() = "numbers"; module_SimpleService_sum_i16_list_numbers_1.is_optional() = false; auto module_SimpleService_sum_i16_list_numbers_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE)); module_SimpleService_sum_i16_list_numbers_1_type->writeAndGenType(*module_SimpleService_sum_i16_list_numbers_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_sum_i16_list_numbers_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_i32_list([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "sum_i32_list"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_sum_i32_list_numbers_1; module_SimpleService_sum_i32_list_numbers_1.id() = 1; module_SimpleService_sum_i32_list_numbers_1.name() = "numbers"; module_SimpleService_sum_i32_list_numbers_1.is_optional() = false; auto module_SimpleService_sum_i32_list_numbers_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)); module_SimpleService_sum_i32_list_numbers_1_type->writeAndGenType(*module_SimpleService_sum_i32_list_numbers_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_sum_i32_list_numbers_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_i64_list([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "sum_i64_list"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_sum_i64_list_numbers_1; module_SimpleService_sum_i64_list_numbers_1.id() = 1; module_SimpleService_sum_i64_list_numbers_1.name() = "numbers"; module_SimpleService_sum_i64_list_numbers_1.is_optional() = false; auto module_SimpleService_sum_i64_list_numbers_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)); module_SimpleService_sum_i64_list_numbers_1_type->writeAndGenType(*module_SimpleService_sum_i64_list_numbers_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_sum_i64_list_numbers_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_concat_many([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "concat_many"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_concat_many_words_1; module_SimpleService_concat_many_words_1.id() = 1; module_SimpleService_concat_many_words_1.name() = "words"; module_SimpleService_concat_many_words_1.is_optional() = false; auto module_SimpleService_concat_many_words_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); module_SimpleService_concat_many_words_1_type->writeAndGenType(*module_SimpleService_concat_many_words_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_concat_many_words_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_count_structs([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "count_structs"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_count_structs_items_1; module_SimpleService_count_structs_items_1.id() = 1; module_SimpleService_count_structs_items_1.name() = "items"; module_SimpleService_count_structs_items_1.is_optional() = false; auto module_SimpleService_count_structs_items_1_type = std::make_unique(std::make_unique>("module.SimpleStruct")); module_SimpleService_count_structs_items_1_type->writeAndGenType(*module_SimpleService_count_structs_items_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_count_structs_items_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_set([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "sum_set"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_sum_set_numbers_1; module_SimpleService_sum_set_numbers_1.id() = 1; module_SimpleService_sum_set_numbers_1.name() = "numbers"; module_SimpleService_sum_set_numbers_1.is_optional() = false; auto module_SimpleService_sum_set_numbers_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)); module_SimpleService_sum_set_numbers_1_type->writeAndGenType(*module_SimpleService_sum_set_numbers_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_sum_set_numbers_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_contains_word([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "contains_word"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_contains_word_words_1; module_SimpleService_contains_word_words_1.id() = 1; module_SimpleService_contains_word_words_1.name() = "words"; module_SimpleService_contains_word_words_1.is_optional() = false; auto module_SimpleService_contains_word_words_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); module_SimpleService_contains_word_words_1_type->writeAndGenType(*module_SimpleService_contains_word_words_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_contains_word_words_1)); ::apache::thrift::metadata::ThriftField module_SimpleService_contains_word_word_2; module_SimpleService_contains_word_word_2.id() = 2; module_SimpleService_contains_word_word_2.name() = "word"; module_SimpleService_contains_word_word_2.is_optional() = false; auto module_SimpleService_contains_word_word_2_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); module_SimpleService_contains_word_word_2_type->writeAndGenType(*module_SimpleService_contains_word_word_2.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_contains_word_word_2)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_map_value([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_map_value"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_get_map_value_words_1; module_SimpleService_get_map_value_words_1.id() = 1; module_SimpleService_get_map_value_words_1.name() = "words"; module_SimpleService_get_map_value_words_1.is_optional() = false; auto module_SimpleService_get_map_value_words_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); module_SimpleService_get_map_value_words_1_type->writeAndGenType(*module_SimpleService_get_map_value_words_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_get_map_value_words_1)); ::apache::thrift::metadata::ThriftField module_SimpleService_get_map_value_key_2; module_SimpleService_get_map_value_key_2.id() = 2; module_SimpleService_get_map_value_key_2.name() = "key"; module_SimpleService_get_map_value_key_2.is_optional() = false; auto module_SimpleService_get_map_value_key_2_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); module_SimpleService_get_map_value_key_2_type->writeAndGenType(*module_SimpleService_get_map_value_key_2.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_get_map_value_key_2)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_map_length([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "map_length"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_map_length_items_1; module_SimpleService_map_length_items_1.id() = 1; module_SimpleService_map_length_items_1.name() = "items"; module_SimpleService_map_length_items_1.is_optional() = false; auto module_SimpleService_map_length_items_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique>("module.SimpleStruct")); module_SimpleService_map_length_items_1_type->writeAndGenType(*module_SimpleService_map_length_items_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_map_length_items_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_map_values([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "sum_map_values"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_sum_map_values_items_1; module_SimpleService_sum_map_values_items_1.id() = 1; module_SimpleService_sum_map_values_items_1.name() = "items"; module_SimpleService_sum_map_values_items_1.is_optional() = false; auto module_SimpleService_sum_map_values_items_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE)); module_SimpleService_sum_map_values_items_1_type->writeAndGenType(*module_SimpleService_sum_map_values_items_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_sum_map_values_items_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_complex_sum_i32([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "complex_sum_i32"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_complex_sum_i32_counter_1; module_SimpleService_complex_sum_i32_counter_1.id() = 1; module_SimpleService_complex_sum_i32_counter_1.name() = "counter"; module_SimpleService_complex_sum_i32_counter_1.is_optional() = false; auto module_SimpleService_complex_sum_i32_counter_1_type = std::make_unique>("module.ComplexStruct"); module_SimpleService_complex_sum_i32_counter_1_type->writeAndGenType(*module_SimpleService_complex_sum_i32_counter_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_complex_sum_i32_counter_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_repeat_name([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "repeat_name"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_repeat_name_counter_1; module_SimpleService_repeat_name_counter_1.id() = 1; module_SimpleService_repeat_name_counter_1.name() = "counter"; module_SimpleService_repeat_name_counter_1.is_optional() = false; auto module_SimpleService_repeat_name_counter_1_type = std::make_unique>("module.ComplexStruct"); module_SimpleService_repeat_name_counter_1_type->writeAndGenType(*module_SimpleService_repeat_name_counter_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_repeat_name_counter_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_struct([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_struct"; auto func_ret_type = std::make_unique>("module.SimpleStruct"); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_fib([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "fib"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_fib_n_1; module_SimpleService_fib_n_1.id() = 1; module_SimpleService_fib_n_1.name() = "n"; module_SimpleService_fib_n_1.is_optional() = false; auto module_SimpleService_fib_n_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); module_SimpleService_fib_n_1_type->writeAndGenType(*module_SimpleService_fib_n_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_fib_n_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_unique_words([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "unique_words"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_unique_words_words_1; module_SimpleService_unique_words_words_1.id() = 1; module_SimpleService_unique_words_words_1.name() = "words"; module_SimpleService_unique_words_words_1.is_optional() = false; auto module_SimpleService_unique_words_words_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); module_SimpleService_unique_words_words_1_type->writeAndGenType(*module_SimpleService_unique_words_words_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_unique_words_words_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_words_count([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "words_count"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE)); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_words_count_words_1; module_SimpleService_words_count_words_1.id() = 1; module_SimpleService_words_count_words_1.name() = "words"; module_SimpleService_words_count_words_1.is_optional() = false; auto module_SimpleService_words_count_words_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); module_SimpleService_words_count_words_1_type->writeAndGenType(*module_SimpleService_words_count_words_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_words_count_words_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_set_enum([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "set_enum"; auto func_ret_type = std::make_unique>("module.AnEnum"); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_set_enum_in_enum_1; module_SimpleService_set_enum_in_enum_1.id() = 1; module_SimpleService_set_enum_in_enum_1.name() = "in_enum"; module_SimpleService_set_enum_in_enum_1.is_optional() = false; auto module_SimpleService_set_enum_in_enum_1_type = std::make_unique>("module.AnEnum"); module_SimpleService_set_enum_in_enum_1_type->writeAndGenType(*module_SimpleService_set_enum_in_enum_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_set_enum_in_enum_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_list_of_lists([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "list_of_lists"; auto func_ret_type = std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_list_of_lists_num_lists_1; module_SimpleService_list_of_lists_num_lists_1.id() = 1; module_SimpleService_list_of_lists_num_lists_1.name() = "num_lists"; module_SimpleService_list_of_lists_num_lists_1.is_optional() = false; auto module_SimpleService_list_of_lists_num_lists_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); module_SimpleService_list_of_lists_num_lists_1_type->writeAndGenType(*module_SimpleService_list_of_lists_num_lists_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_list_of_lists_num_lists_1)); ::apache::thrift::metadata::ThriftField module_SimpleService_list_of_lists_num_items_2; module_SimpleService_list_of_lists_num_items_2.id() = 2; module_SimpleService_list_of_lists_num_items_2.name() = "num_items"; module_SimpleService_list_of_lists_num_items_2.is_optional() = false; auto module_SimpleService_list_of_lists_num_items_2_type = std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE); module_SimpleService_list_of_lists_num_items_2_type->writeAndGenType(*module_SimpleService_list_of_lists_num_items_2.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_list_of_lists_num_items_2)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_word_character_frequency([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "word_character_frequency"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_word_character_frequency_sentence_1; module_SimpleService_word_character_frequency_sentence_1.id() = 1; module_SimpleService_word_character_frequency_sentence_1.name() = "sentence"; module_SimpleService_word_character_frequency_sentence_1.is_optional() = false; auto module_SimpleService_word_character_frequency_sentence_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); module_SimpleService_word_character_frequency_sentence_1_type->writeAndGenType(*module_SimpleService_word_character_frequency_sentence_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_word_character_frequency_sentence_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_list_of_sets([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "list_of_sets"; auto func_ret_type = std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_list_of_sets_some_words_1; module_SimpleService_list_of_sets_some_words_1.id() = 1; module_SimpleService_list_of_sets_some_words_1.name() = "some_words"; module_SimpleService_list_of_sets_some_words_1.is_optional() = false; auto module_SimpleService_list_of_sets_some_words_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); module_SimpleService_list_of_sets_some_words_1_type->writeAndGenType(*module_SimpleService_list_of_sets_some_words_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_list_of_sets_some_words_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_nested_map_argument([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "nested_map_argument"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_nested_map_argument_struct_map_1; module_SimpleService_nested_map_argument_struct_map_1.id() = 1; module_SimpleService_nested_map_argument_struct_map_1.name() = "struct_map"; module_SimpleService_nested_map_argument_struct_map_1.is_optional() = false; auto module_SimpleService_nested_map_argument_struct_map_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(std::make_unique>("module.SimpleStruct"))); module_SimpleService_nested_map_argument_struct_map_1_type->writeAndGenType(*module_SimpleService_nested_map_argument_struct_map_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_nested_map_argument_struct_map_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_make_sentence([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "make_sentence"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_make_sentence_word_chars_1; module_SimpleService_make_sentence_word_chars_1.id() = 1; module_SimpleService_make_sentence_word_chars_1.name() = "word_chars"; module_SimpleService_make_sentence_word_chars_1.is_optional() = false; auto module_SimpleService_make_sentence_word_chars_1_type = std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))); module_SimpleService_make_sentence_word_chars_1_type->writeAndGenType(*module_SimpleService_make_sentence_word_chars_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_make_sentence_word_chars_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_union([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_union"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_get_union_sets_1; module_SimpleService_get_union_sets_1.id() = 1; module_SimpleService_get_union_sets_1.name() = "sets"; module_SimpleService_get_union_sets_1.is_optional() = false; auto module_SimpleService_get_union_sets_1_type = std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))); module_SimpleService_get_union_sets_1_type->writeAndGenType(*module_SimpleService_get_union_sets_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_get_union_sets_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_keys([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_keys"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_get_keys_string_map_1; module_SimpleService_get_keys_string_map_1.id() = 1; module_SimpleService_get_keys_string_map_1.name() = "string_map"; module_SimpleService_get_keys_string_map_1.is_optional() = false; auto module_SimpleService_get_keys_string_map_1_type = std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))); module_SimpleService_get_keys_string_map_1_type->writeAndGenType(*module_SimpleService_get_keys_string_map_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_get_keys_string_map_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_lookup_double([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "lookup_double"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_lookup_double_key_1; module_SimpleService_lookup_double_key_1.id() = 1; module_SimpleService_lookup_double_key_1.name() = "key"; module_SimpleService_lookup_double_key_1.is_optional() = false; auto module_SimpleService_lookup_double_key_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_SimpleService_lookup_double_key_1_type->writeAndGenType(*module_SimpleService_lookup_double_key_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_lookup_double_key_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_retrieve_binary([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "retrieve_binary"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_retrieve_binary_something_1; module_SimpleService_retrieve_binary_something_1.id() = 1; module_SimpleService_retrieve_binary_something_1.name() = "something"; module_SimpleService_retrieve_binary_something_1.is_optional() = false; auto module_SimpleService_retrieve_binary_something_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE); module_SimpleService_retrieve_binary_something_1_type->writeAndGenType(*module_SimpleService_retrieve_binary_something_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_retrieve_binary_something_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_contain_binary([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "contain_binary"; auto func_ret_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE)); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_contain_binary_binaries_1; module_SimpleService_contain_binary_binaries_1.id() = 1; module_SimpleService_contain_binary_binaries_1.name() = "binaries"; module_SimpleService_contain_binary_binaries_1.is_optional() = false; auto module_SimpleService_contain_binary_binaries_1_type = std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE)); module_SimpleService_contain_binary_binaries_1_type->writeAndGenType(*module_SimpleService_contain_binary_binaries_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_contain_binary_binaries_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_contain_enum([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "contain_enum"; auto func_ret_type = std::make_unique(std::make_unique>("module.AnEnum")); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_contain_enum_the_enum_1; module_SimpleService_contain_enum_the_enum_1.id() = 1; module_SimpleService_contain_enum_the_enum_1.name() = "the_enum"; module_SimpleService_contain_enum_the_enum_1.is_optional() = false; auto module_SimpleService_contain_enum_the_enum_1_type = std::make_unique(std::make_unique>("module.AnEnum")); module_SimpleService_contain_enum_the_enum_1_type->writeAndGenType(*module_SimpleService_contain_enum_the_enum_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_contain_enum_the_enum_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_binary_union_struct([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_binary_union_struct"; auto func_ret_type = std::make_unique>("module.BinaryUnionStruct"); func_ret_type->writeAndGenType(*func.return_type(), metadata); ::apache::thrift::metadata::ThriftField module_SimpleService_get_binary_union_struct_u_1; module_SimpleService_get_binary_union_struct_u_1.id() = 1; module_SimpleService_get_binary_union_struct_u_1.name() = "u"; module_SimpleService_get_binary_union_struct_u_1.is_optional() = false; auto module_SimpleService_get_binary_union_struct_u_1_type = std::make_unique>("module.BinaryUnion"); module_SimpleService_get_binary_union_struct_u_1_type->writeAndGenType(*module_SimpleService_get_binary_union_struct_u_1.type(), metadata); func.arguments()->push_back(std::move(module_SimpleService_get_binary_union_struct_u_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_struct_hidden([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_struct_hidden"; auto func_ret_type = std::make_unique>("module.SimpleStruct"); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; func.structured_annotations()->push_back(*cvStruct("python.Py3Hidden", { }).cv_struct_ref()); service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen(::apache::thrift::metadata::ThriftServiceMetadataResponse& response) { const ::apache::thrift::metadata::ThriftServiceContextRef* self = genRecurse(*response.metadata(), *response.services()); DCHECK(self != nullptr); // TODO(praihan): Remove ThriftServiceContext from response. But in the meantime, we need to fill the field with the result of looking up in ThriftMetadata. ::apache::thrift::metadata::ThriftServiceContext context; context.module() = *self->module(); context.service_info() = response.metadata()->services()->at(*self->service_name()); response.context() = std::move(context); } const ThriftServiceContextRef* ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::genRecurse([[maybe_unused]] ThriftMetadata& metadata, std::vector& services) { ::apache::thrift::metadata::ThriftService module_SimpleService; module_SimpleService.name() = "module.SimpleService"; static const ThriftFunctionGenerator functions[] = { ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_five, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_add_five, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_do_nothing, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_concat, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_value, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_negate, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_tiny, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_small, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_big, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_two, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_expected_exception, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_unexpected_exception, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_i16_list, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_i32_list, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_i64_list, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_concat_many, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_count_structs, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_set, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_contains_word, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_map_value, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_map_length, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_sum_map_values, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_complex_sum_i32, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_repeat_name, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_struct, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_fib, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_unique_words, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_words_count, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_set_enum, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_list_of_lists, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_word_character_frequency, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_list_of_sets, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_nested_map_argument, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_make_sentence, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_union, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_keys, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_lookup_double, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_retrieve_binary, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_contain_binary, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_contain_enum, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_binary_union_struct, ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::gen_get_struct_hidden, }; for (auto& function_gen : functions) { function_gen(metadata, module_SimpleService); } // We need to keep the index around because a reference or iterator could be invalidated. auto selfIndex = services.size(); services.emplace_back(); ThriftServiceContextRef& context = services[selfIndex]; metadata.services()->emplace("module.SimpleService", std::move(module_SimpleService)); context.service_name() = "module.SimpleService"; ::apache::thrift::metadata::ThriftModuleContext module; module.name() = "module"; context.module() = std::move(module); return &context; } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::DerivedService>>::gen_get_six([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_six"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::DerivedService>>::gen(::apache::thrift::metadata::ThriftServiceMetadataResponse& response) { const ::apache::thrift::metadata::ThriftServiceContextRef* self = genRecurse(*response.metadata(), *response.services()); DCHECK(self != nullptr); // TODO(praihan): Remove ThriftServiceContext from response. But in the meantime, we need to fill the field with the result of looking up in ThriftMetadata. ::apache::thrift::metadata::ThriftServiceContext context; context.module() = *self->module(); context.service_info() = response.metadata()->services()->at(*self->service_name()); response.context() = std::move(context); } const ThriftServiceContextRef* ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::DerivedService>>::genRecurse([[maybe_unused]] ThriftMetadata& metadata, std::vector& services) { ::apache::thrift::metadata::ThriftService module_DerivedService; module_DerivedService.name() = "module.DerivedService"; static const ThriftFunctionGenerator functions[] = { ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::DerivedService>>::gen_get_six, }; for (auto& function_gen : functions) { function_gen(metadata, module_DerivedService); } // We need to keep the index around because a reference or iterator could be invalidated. auto selfIndex = services.size(); services.emplace_back(); module_DerivedService.parent() = "module.SimpleService"; ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::SimpleService>>::genRecurse(metadata, services); ThriftServiceContextRef& context = services[selfIndex]; metadata.services()->emplace("module.DerivedService", std::move(module_DerivedService)); context.service_name() = "module.DerivedService"; ::apache::thrift::metadata::ThriftModuleContext module; module.name() = "module"; context.module() = std::move(module); return &context; } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::RederivedService>>::gen_get_seven([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "get_seven"; auto func_ret_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); func_ret_type->writeAndGenType(*func.return_type(), metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::RederivedService>>::gen(::apache::thrift::metadata::ThriftServiceMetadataResponse& response) { const ::apache::thrift::metadata::ThriftServiceContextRef* self = genRecurse(*response.metadata(), *response.services()); DCHECK(self != nullptr); // TODO(praihan): Remove ThriftServiceContext from response. But in the meantime, we need to fill the field with the result of looking up in ThriftMetadata. ::apache::thrift::metadata::ThriftServiceContext context; context.module() = *self->module(); context.service_info() = response.metadata()->services()->at(*self->service_name()); response.context() = std::move(context); } const ThriftServiceContextRef* ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::RederivedService>>::genRecurse([[maybe_unused]] ThriftMetadata& metadata, std::vector& services) { ::apache::thrift::metadata::ThriftService module_RederivedService; module_RederivedService.name() = "module.RederivedService"; static const ThriftFunctionGenerator functions[] = { ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::RederivedService>>::gen_get_seven, }; for (auto& function_gen : functions) { function_gen(metadata, module_RederivedService); } // We need to keep the index around because a reference or iterator could be invalidated. auto selfIndex = services.size(); services.emplace_back(); module_RederivedService.parent() = "module.DerivedService"; ServiceMetadata<::apache::thrift::ServiceHandler<::py3::simple::DerivedService>>::genRecurse(metadata, services); ThriftServiceContextRef& context = services[selfIndex]; metadata.services()->emplace("module.RederivedService", std::move(module_RederivedService)); context.service_name() = "module.RederivedService"; ::apache::thrift::metadata::ThriftModuleContext module; module.name() = "module"; context.module() = std::move(module); return &context; } } // namespace md } // namespace detail } // namespace thrift } // namespace apache