/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/stream/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/stream/gen-cpp2/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&); const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::FooStreamEx>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.FooStreamEx", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_FooStreamEx = res.first->second; module_FooStreamEx.name() = "module.FooStreamEx"; module_FooStreamEx.is_union() = false; return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::FooEx>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.FooEx", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_FooEx = res.first->second; module_FooEx.name() = "module.FooEx"; module_FooEx.is_union() = false; return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::FooEx2>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.FooEx2", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_FooEx2 = res.first->second; module_FooEx2.name() = "module.FooEx2"; module_FooEx2.is_union() = false; return res.first->second; } void ExceptionMetadata<::cpp2::FooStreamEx>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.FooStreamEx", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_FooStreamEx = res.first->second; module_FooStreamEx.name() = "module.FooStreamEx"; } void ExceptionMetadata<::cpp2::FooEx>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.FooEx", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_FooEx = res.first->second; module_FooEx.name() = "module.FooEx"; } void ExceptionMetadata<::cpp2::FooEx2>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.FooEx2", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_FooEx2 = res.first->second; module_FooEx2.name() = "module.FooEx2"; } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_returnstream([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "returnstream"; 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_PubSubStreamingService_returnstream_i32_from_1; module_PubSubStreamingService_returnstream_i32_from_1.id() = 1; module_PubSubStreamingService_returnstream_i32_from_1.name() = "i32_from"; module_PubSubStreamingService_returnstream_i32_from_1.is_optional() = false; auto module_PubSubStreamingService_returnstream_i32_from_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_returnstream_i32_from_1_type->writeAndGenType(*module_PubSubStreamingService_returnstream_i32_from_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_returnstream_i32_from_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_returnstream_i32_to_2; module_PubSubStreamingService_returnstream_i32_to_2.id() = 2; module_PubSubStreamingService_returnstream_i32_to_2.name() = "i32_to"; module_PubSubStreamingService_returnstream_i32_to_2.is_optional() = false; auto module_PubSubStreamingService_returnstream_i32_to_2_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_returnstream_i32_to_2_type->writeAndGenType(*module_PubSubStreamingService_returnstream_i32_to_2.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_returnstream_i32_to_2)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_streamthrows([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "streamthrows"; 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_PubSubStreamingService_streamthrows_foo_1; module_PubSubStreamingService_streamthrows_foo_1.id() = 1; module_PubSubStreamingService_streamthrows_foo_1.name() = "foo"; module_PubSubStreamingService_streamthrows_foo_1.is_optional() = false; auto module_PubSubStreamingService_streamthrows_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_streamthrows_foo_1_type->writeAndGenType(*module_PubSubStreamingService_streamthrows_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_streamthrows_foo_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_servicethrows([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "servicethrows"; 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_PubSubStreamingService_servicethrows_foo_1; module_PubSubStreamingService_servicethrows_foo_1.id() = 1; module_PubSubStreamingService_servicethrows_foo_1.name() = "foo"; module_PubSubStreamingService_servicethrows_foo_1.is_optional() = false; auto module_PubSubStreamingService_servicethrows_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_servicethrows_foo_1_type->writeAndGenType(*module_PubSubStreamingService_servicethrows_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_servicethrows_foo_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_servicethrows_e_1; module_PubSubStreamingService_servicethrows_e_1.id() = 1; module_PubSubStreamingService_servicethrows_e_1.name() = "e"; module_PubSubStreamingService_servicethrows_e_1.is_optional() = false; auto module_PubSubStreamingService_servicethrows_e_1_type = std::make_unique>("module.FooEx"); module_PubSubStreamingService_servicethrows_e_1_type->writeAndGenType(*module_PubSubStreamingService_servicethrows_e_1.type(), metadata); func.exceptions()->push_back(std::move(module_PubSubStreamingService_servicethrows_e_1)); ExceptionMetadata<::cpp2::FooEx>::gen(metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_servicethrows2([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "servicethrows2"; 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_PubSubStreamingService_servicethrows2_foo_1; module_PubSubStreamingService_servicethrows2_foo_1.id() = 1; module_PubSubStreamingService_servicethrows2_foo_1.name() = "foo"; module_PubSubStreamingService_servicethrows2_foo_1.is_optional() = false; auto module_PubSubStreamingService_servicethrows2_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_servicethrows2_foo_1_type->writeAndGenType(*module_PubSubStreamingService_servicethrows2_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_servicethrows2_foo_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_servicethrows2_e1_1; module_PubSubStreamingService_servicethrows2_e1_1.id() = 1; module_PubSubStreamingService_servicethrows2_e1_1.name() = "e1"; module_PubSubStreamingService_servicethrows2_e1_1.is_optional() = false; auto module_PubSubStreamingService_servicethrows2_e1_1_type = std::make_unique>("module.FooEx"); module_PubSubStreamingService_servicethrows2_e1_1_type->writeAndGenType(*module_PubSubStreamingService_servicethrows2_e1_1.type(), metadata); func.exceptions()->push_back(std::move(module_PubSubStreamingService_servicethrows2_e1_1)); ExceptionMetadata<::cpp2::FooEx>::gen(metadata); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_servicethrows2_e2_2; module_PubSubStreamingService_servicethrows2_e2_2.id() = 2; module_PubSubStreamingService_servicethrows2_e2_2.name() = "e2"; module_PubSubStreamingService_servicethrows2_e2_2.is_optional() = false; auto module_PubSubStreamingService_servicethrows2_e2_2_type = std::make_unique>("module.FooEx2"); module_PubSubStreamingService_servicethrows2_e2_2_type->writeAndGenType(*module_PubSubStreamingService_servicethrows2_e2_2.type(), metadata); func.exceptions()->push_back(std::move(module_PubSubStreamingService_servicethrows2_e2_2)); ExceptionMetadata<::cpp2::FooEx2>::gen(metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_boththrows([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "boththrows"; 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_PubSubStreamingService_boththrows_foo_1; module_PubSubStreamingService_boththrows_foo_1.id() = 1; module_PubSubStreamingService_boththrows_foo_1.name() = "foo"; module_PubSubStreamingService_boththrows_foo_1.is_optional() = false; auto module_PubSubStreamingService_boththrows_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_boththrows_foo_1_type->writeAndGenType(*module_PubSubStreamingService_boththrows_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_boththrows_foo_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_boththrows_e_1; module_PubSubStreamingService_boththrows_e_1.id() = 1; module_PubSubStreamingService_boththrows_e_1.name() = "e"; module_PubSubStreamingService_boththrows_e_1.is_optional() = false; auto module_PubSubStreamingService_boththrows_e_1_type = std::make_unique>("module.FooEx"); module_PubSubStreamingService_boththrows_e_1_type->writeAndGenType(*module_PubSubStreamingService_boththrows_e_1.type(), metadata); func.exceptions()->push_back(std::move(module_PubSubStreamingService_boththrows_e_1)); ExceptionMetadata<::cpp2::FooEx>::gen(metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_responseandstreamstreamthrows([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "responseandstreamstreamthrows"; 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_PubSubStreamingService_responseandstreamstreamthrows_foo_1; module_PubSubStreamingService_responseandstreamstreamthrows_foo_1.id() = 1; module_PubSubStreamingService_responseandstreamstreamthrows_foo_1.name() = "foo"; module_PubSubStreamingService_responseandstreamstreamthrows_foo_1.is_optional() = false; auto module_PubSubStreamingService_responseandstreamstreamthrows_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_responseandstreamstreamthrows_foo_1_type->writeAndGenType(*module_PubSubStreamingService_responseandstreamstreamthrows_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_responseandstreamstreamthrows_foo_1)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_responseandstreamservicethrows([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "responseandstreamservicethrows"; 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_PubSubStreamingService_responseandstreamservicethrows_foo_1; module_PubSubStreamingService_responseandstreamservicethrows_foo_1.id() = 1; module_PubSubStreamingService_responseandstreamservicethrows_foo_1.name() = "foo"; module_PubSubStreamingService_responseandstreamservicethrows_foo_1.is_optional() = false; auto module_PubSubStreamingService_responseandstreamservicethrows_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_responseandstreamservicethrows_foo_1_type->writeAndGenType(*module_PubSubStreamingService_responseandstreamservicethrows_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_responseandstreamservicethrows_foo_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_responseandstreamservicethrows_e_1; module_PubSubStreamingService_responseandstreamservicethrows_e_1.id() = 1; module_PubSubStreamingService_responseandstreamservicethrows_e_1.name() = "e"; module_PubSubStreamingService_responseandstreamservicethrows_e_1.is_optional() = false; auto module_PubSubStreamingService_responseandstreamservicethrows_e_1_type = std::make_unique>("module.FooEx"); module_PubSubStreamingService_responseandstreamservicethrows_e_1_type->writeAndGenType(*module_PubSubStreamingService_responseandstreamservicethrows_e_1.type(), metadata); func.exceptions()->push_back(std::move(module_PubSubStreamingService_responseandstreamservicethrows_e_1)); ExceptionMetadata<::cpp2::FooEx>::gen(metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_responseandstreamboththrows([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "responseandstreamboththrows"; 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_PubSubStreamingService_responseandstreamboththrows_foo_1; module_PubSubStreamingService_responseandstreamboththrows_foo_1.id() = 1; module_PubSubStreamingService_responseandstreamboththrows_foo_1.name() = "foo"; module_PubSubStreamingService_responseandstreamboththrows_foo_1.is_optional() = false; auto module_PubSubStreamingService_responseandstreamboththrows_foo_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_responseandstreamboththrows_foo_1_type->writeAndGenType(*module_PubSubStreamingService_responseandstreamboththrows_foo_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_responseandstreamboththrows_foo_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_responseandstreamboththrows_e_1; module_PubSubStreamingService_responseandstreamboththrows_e_1.id() = 1; module_PubSubStreamingService_responseandstreamboththrows_e_1.name() = "e"; module_PubSubStreamingService_responseandstreamboththrows_e_1.is_optional() = false; auto module_PubSubStreamingService_responseandstreamboththrows_e_1_type = std::make_unique>("module.FooEx"); module_PubSubStreamingService_responseandstreamboththrows_e_1_type->writeAndGenType(*module_PubSubStreamingService_responseandstreamboththrows_e_1.type(), metadata); func.exceptions()->push_back(std::move(module_PubSubStreamingService_responseandstreamboththrows_e_1)); ExceptionMetadata<::cpp2::FooEx>::gen(metadata); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_returnstreamFast([[maybe_unused]] ThriftMetadata& metadata, ThriftService& service) { ::apache::thrift::metadata::ThriftFunction func; func.name() = "returnstreamFast"; 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_PubSubStreamingService_returnstreamFast_i32_from_1; module_PubSubStreamingService_returnstreamFast_i32_from_1.id() = 1; module_PubSubStreamingService_returnstreamFast_i32_from_1.name() = "i32_from"; module_PubSubStreamingService_returnstreamFast_i32_from_1.is_optional() = false; auto module_PubSubStreamingService_returnstreamFast_i32_from_1_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_returnstreamFast_i32_from_1_type->writeAndGenType(*module_PubSubStreamingService_returnstreamFast_i32_from_1.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_returnstreamFast_i32_from_1)); ::apache::thrift::metadata::ThriftField module_PubSubStreamingService_returnstreamFast_i32_to_2; module_PubSubStreamingService_returnstreamFast_i32_to_2.id() = 2; module_PubSubStreamingService_returnstreamFast_i32_to_2.name() = "i32_to"; module_PubSubStreamingService_returnstreamFast_i32_to_2.is_optional() = false; auto module_PubSubStreamingService_returnstreamFast_i32_to_2_type = std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE); module_PubSubStreamingService_returnstreamFast_i32_to_2_type->writeAndGenType(*module_PubSubStreamingService_returnstreamFast_i32_to_2.type(), metadata); func.arguments()->push_back(std::move(module_PubSubStreamingService_returnstreamFast_i32_to_2)); func.is_oneway() = false; service.functions()->push_back(std::move(func)); } void ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::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<::cpp2::PubSubStreamingService>>::genRecurse([[maybe_unused]] ThriftMetadata& metadata, std::vector& services) { ::apache::thrift::metadata::ThriftService module_PubSubStreamingService; module_PubSubStreamingService.name() = "module.PubSubStreamingService"; static const ThriftFunctionGenerator functions[] = { ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_returnstream, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_streamthrows, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_servicethrows, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_servicethrows2, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_boththrows, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_responseandstreamstreamthrows, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_responseandstreamservicethrows, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_responseandstreamboththrows, ServiceMetadata<::apache::thrift::ServiceHandler<::cpp2::PubSubStreamingService>>::gen_returnstreamFast, }; for (auto& function_gen : functions) { function_gen(metadata, module_PubSubStreamingService); } // 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.PubSubStreamingService", std::move(module_PubSubStreamingService)); context.service_name() = "module.PubSubStreamingService"; ::apache::thrift::metadata::ThriftModuleContext module; module.name() = "module"; context.module() = std::move(module); return &context; } } // namespace md } // namespace detail } // namespace thrift } // namespace apache