/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/interactions/src/module.thrift * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @nocommit */ #pragma once #include #include "thrift/compiler/test/fixtures/interactions/gen-cpp2/MyServiceAsyncClient.h" #include "thrift/compiler/test/fixtures/interactions/gen-cpp2/module_types.h" #include #include namespace folly { class IOBuf; class IOBufQueue; } namespace apache { namespace thrift { class Cpp2RequestContext; class BinaryProtocolReader; class CompactProtocolReader; namespace transport { class THeader; } }} namespace cpp2 { class MyService; class MyServiceAsyncProcessor; class MyServiceServiceInfoHolder : public apache::thrift::ServiceInfoHolder { public: apache::thrift::ServiceRequestInfoMap const& requestInfoMap() const override; static apache::thrift::ServiceRequestInfoMap staticRequestInfoMap(); }; } // namespace cpp2 namespace apache::thrift { template <> class ServiceHandler<::cpp2::MyService> : public apache::thrift::ServerInterface { public: std::string_view getGeneratedName() const override { return "MyService"; } typedef ::cpp2::MyServiceAsyncProcessor ProcessorType; std::unique_ptr getProcessor() override; CreateMethodMetadataResult createMethodMetadata() override; private: std::optional> getServiceRequestInfoMap() const; public: class MyInteractionServiceInfoHolder : public apache::thrift::ServiceInfoHolder { public: apache::thrift::ServiceRequestInfoMap const& requestInfoMap() const override; static apache::thrift::ServiceRequestInfoMap staticRequestInfoMap(); }; class MyInteractionIf : public apache::thrift::Tile, public apache::thrift::ServerInterface { public: std::string_view getGeneratedName() const override { return "MyInteraction"; } typedef ::cpp2::MyServiceAsyncProcessor ProcessorType; std::unique_ptr getProcessor() override { std::terminate(); } CreateMethodMetadataResult createMethodMetadata() override { std::terminate(); } virtual ::std::int32_t sync_frobnicate(); [[deprecated("Use sync_frobnicate instead")]] virtual ::std::int32_t frobnicate(); virtual folly::SemiFuture<::std::int32_t> semifuture_frobnicate(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task<::std::int32_t> co_frobnicate(); virtual folly::coro::Task<::std::int32_t> co_frobnicate(apache::thrift::RequestParams params); #endif virtual void async_tm_frobnicate(std::unique_ptr> callback); virtual void sync_ping(); [[deprecated("Use sync_ping instead")]] virtual void ping(); virtual folly::SemiFuture semifuture_ping(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task co_ping(); virtual folly::coro::Task co_ping(apache::thrift::RequestParams params); #endif virtual void async_tm_ping(std::unique_ptr callback); virtual ::apache::thrift::ServerStream sync_truthify(); [[deprecated("Use sync_truthify instead")]] virtual ::apache::thrift::ServerStream truthify(); virtual folly::SemiFuture<::apache::thrift::ServerStream> semifuture_truthify(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task<::apache::thrift::ServerStream> co_truthify(); virtual folly::coro::Task<::apache::thrift::ServerStream> co_truthify(apache::thrift::RequestParams params); #endif virtual void async_tm_truthify(std::unique_ptr>> callback); virtual ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string> sync_encode(); [[deprecated("Use sync_encode instead")]] virtual ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string> encode(); virtual folly::SemiFuture<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>> semifuture_encode(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>> co_encode(); virtual folly::coro::Task<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>> co_encode(apache::thrift::RequestParams params); #endif virtual void async_tm_encode(std::unique_ptr, ::std::string, ::std::string>>> callback); private: std::atomic __fbthrift_invocation_frobnicate{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_ping{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_truthify{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_encode{apache::thrift::detail::si::InvocationType::AsyncTm}; };class MyInteractionFastServiceInfoHolder : public apache::thrift::ServiceInfoHolder { public: apache::thrift::ServiceRequestInfoMap const& requestInfoMap() const override; static apache::thrift::ServiceRequestInfoMap staticRequestInfoMap(); }; class MyInteractionFastIf : public apache::thrift::EventBaseTile, public apache::thrift::ServerInterface { public: std::string_view getGeneratedName() const override { return "MyInteractionFast"; } typedef ::cpp2::MyServiceAsyncProcessor ProcessorType; std::unique_ptr getProcessor() override { std::terminate(); } CreateMethodMetadataResult createMethodMetadata() override { std::terminate(); } virtual void async_eb_frobnicate(std::unique_ptr> callback); virtual void async_eb_ping(std::unique_ptr callback); virtual void async_eb_truthify(std::unique_ptr>> callback); virtual void async_eb_encode(std::unique_ptr, ::std::string, ::std::string>>> callback); private: };class SerialInteractionServiceInfoHolder : public apache::thrift::ServiceInfoHolder { public: apache::thrift::ServiceRequestInfoMap const& requestInfoMap() const override; static apache::thrift::ServiceRequestInfoMap staticRequestInfoMap(); }; class SerialInteractionIf : public apache::thrift::SerialInteractionTile, public apache::thrift::ServerInterface { public: std::string_view getGeneratedName() const override { return "SerialInteraction"; } typedef ::cpp2::MyServiceAsyncProcessor ProcessorType; std::unique_ptr getProcessor() override { std::terminate(); } CreateMethodMetadataResult createMethodMetadata() override { std::terminate(); } virtual void sync_frobnicate(); [[deprecated("Use sync_frobnicate instead")]] virtual void frobnicate(); virtual folly::SemiFuture semifuture_frobnicate(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task co_frobnicate(); virtual folly::coro::Task co_frobnicate(apache::thrift::RequestParams params); #endif virtual void async_tm_frobnicate(std::unique_ptr> callback); private: std::atomic __fbthrift_invocation_frobnicate{apache::thrift::detail::si::InvocationType::AsyncTm}; }; virtual std::unique_ptr createMyInteraction(); virtual std::unique_ptr createMyInteractionFast(); virtual std::unique_ptr createSerialInteraction(); virtual void sync_foo(); [[deprecated("Use sync_foo instead")]] virtual void foo(); virtual folly::Future future_foo(); virtual folly::SemiFuture semifuture_foo(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task co_foo(); virtual folly::coro::Task co_foo(apache::thrift::RequestParams params); #endif virtual void async_tm_foo(std::unique_ptr> callback); virtual apache::thrift::TileAndResponse::MyInteractionIf, void> sync_interact(::std::int32_t /*arg*/); [[deprecated("Use sync_interact instead")]] virtual apache::thrift::TileAndResponse::MyInteractionIf, void> interact(::std::int32_t /*arg*/); virtual folly::Future::MyInteractionIf, void>> future_interact(::std::int32_t p_arg); virtual folly::SemiFuture::MyInteractionIf, void>> semifuture_interact(::std::int32_t p_arg); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task::MyInteractionIf, void>> co_interact(::std::int32_t p_arg); virtual folly::coro::Task::MyInteractionIf, void>> co_interact(apache::thrift::RequestParams params, ::std::int32_t p_arg); #endif virtual void async_tm_interact(std::unique_ptr::MyInteractionIf, void>>> callback, ::std::int32_t p_arg); virtual apache::thrift::TileAndResponse::MyInteractionFastIf, ::std::int32_t> sync_interactFast(); [[deprecated("Use sync_interactFast instead")]] virtual apache::thrift::TileAndResponse::MyInteractionFastIf, ::std::int32_t> interactFast(); virtual folly::Future::MyInteractionFastIf, ::std::int32_t>> future_interactFast(); virtual folly::SemiFuture::MyInteractionFastIf, ::std::int32_t>> semifuture_interactFast(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task::MyInteractionFastIf, ::std::int32_t>> co_interactFast(); virtual folly::coro::Task::MyInteractionFastIf, ::std::int32_t>> co_interactFast(apache::thrift::RequestParams params); #endif virtual void async_tm_interactFast(std::unique_ptr::MyInteractionFastIf, ::std::int32_t>>> callback); virtual apache::thrift::TileAndResponse::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>> sync_serialize(); [[deprecated("Use sync_serialize instead")]] virtual apache::thrift::TileAndResponse::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>> serialize(); virtual folly::Future::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>>> future_serialize(); virtual folly::SemiFuture::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>>> semifuture_serialize(); #if FOLLY_HAS_COROUTINES virtual folly::coro::Task::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>>> co_serialize(); virtual folly::coro::Task::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>>> co_serialize(apache::thrift::RequestParams params); #endif virtual void async_tm_serialize(std::unique_ptr::SerialInteractionIf, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>>>> callback); private: static ::cpp2::MyServiceServiceInfoHolder __fbthrift_serviceInfoHolder; std::atomic __fbthrift_invocation_createMyInteraction{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_createMyInteractionFast{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_createSerialInteraction{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_foo{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_interact{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_interactFast{apache::thrift::detail::si::InvocationType::AsyncTm}; std::atomic __fbthrift_invocation_serialize{apache::thrift::detail::si::InvocationType::AsyncTm}; }; } // namespace apache::thrift namespace cpp2 { using MyServiceSvIf [[deprecated("Use apache::thrift::ServiceHandler instead")]] = ::apache::thrift::ServiceHandler; } // namespace cpp2 namespace cpp2 { class MyServiceSvNull : public ::apache::thrift::ServiceHandler { public: void foo() override; }; class MyServiceAsyncProcessor : public ::apache::thrift::GeneratedAsyncProcessorBase { public: const char* getServiceName() override; void getServiceMetadata(apache::thrift::metadata::ThriftServiceMetadataResponse& response) override; using BaseAsyncProcessor = void; protected: ::apache::thrift::ServiceHandler<::cpp2::MyService>* iface_; public: void processSerializedCompressedRequestWithMetadata(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, const apache::thrift::AsyncProcessorFactory::MethodMetadata& methodMetadata, apache::thrift::protocol::PROTOCOL_TYPES protType, apache::thrift::Cpp2RequestContext* context, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm) override; void executeRequest(apache::thrift::ServerRequest&& serverRequest, const apache::thrift::AsyncProcessorFactory::MethodMetadata& methodMetadata) override; public: using ProcessFuncs = GeneratedAsyncProcessorBase::ProcessFuncs; using ProcessMap = GeneratedAsyncProcessorBase::ProcessMap; using InteractionConstructor = GeneratedAsyncProcessorBase::InteractionConstructor; using InteractionConstructorMap = GeneratedAsyncProcessorBase::InteractionConstructorMap; static const MyServiceAsyncProcessor::ProcessMap& getOwnProcessMap(); static const MyServiceAsyncProcessor::InteractionConstructorMap& getInteractionConstructorMap(); std::unique_ptr createInteractionImpl(const std::string& name) override; private: static const MyServiceAsyncProcessor::ProcessMap kOwnProcessMap_; static const MyServiceAsyncProcessor::InteractionConstructorMap interactionConstructorMap_; private: std::unique_ptr createMyInteraction() { return iface_->createMyInteraction(); } std::unique_ptr createMyInteractionFast() { return iface_->createMyInteractionFast(); } std::unique_ptr createSerialInteraction() { return iface_->createSerialInteraction(); } template void setUpAndProcess_foo(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_foo(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::SerializedResponse return_foo(apache::thrift::ContextStack* ctx); template static void throw_wrapped_foo(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_interact(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_interact(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::SerializedResponse return_interact(apache::thrift::ContextStack* ctx); template static void throw_wrapped_interact(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_interactFast(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_interactFast(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::SerializedResponse return_interactFast(apache::thrift::ContextStack* ctx, ::std::int32_t const& _return); template static void throw_wrapped_interactFast(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_serialize(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_serialize(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::ResponseAndServerStreamFactory return_serialize(apache::thrift::ContextStack* ctx, folly::Executor::KeepAlive<> executor, ::apache::thrift::ResponseAndServerStream<::std::int32_t, ::std::int32_t>&& _return); template static void throw_wrapped_serialize(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_MyInteraction_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteraction_frobnicate(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::SerializedResponse return_MyInteraction_frobnicate(apache::thrift::ContextStack* ctx, ::std::int32_t const& _return); template static void throw_wrapped_MyInteraction_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_MyInteraction_ping(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteraction_ping(apache::thrift::ServerRequest&& serverRequest); template void setUpAndProcess_MyInteraction_truthify(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteraction_truthify(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::ResponseAndServerStreamFactory return_MyInteraction_truthify(apache::thrift::ContextStack* ctx, folly::Executor::KeepAlive<> executor, ::apache::thrift::ServerStream&& _return); template static void throw_wrapped_MyInteraction_truthify(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_MyInteraction_encode(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteraction_encode(apache::thrift::ServerRequest&& serverRequest); template static std::pair return_MyInteraction_encode(apache::thrift::ContextStack* ctx, ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>&& _return, folly::Executor::KeepAlive<> executor); template static void throw_wrapped_MyInteraction_encode(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_MyInteractionFast_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteractionFast_frobnicate(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::SerializedResponse return_MyInteractionFast_frobnicate(apache::thrift::ContextStack* ctx, ::std::int32_t const& _return); template static void throw_wrapped_MyInteractionFast_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_MyInteractionFast_ping(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteractionFast_ping(apache::thrift::ServerRequest&& serverRequest); template void setUpAndProcess_MyInteractionFast_truthify(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteractionFast_truthify(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::ResponseAndServerStreamFactory return_MyInteractionFast_truthify(apache::thrift::ContextStack* ctx, folly::Executor::KeepAlive<> executor, ::apache::thrift::ServerStream&& _return); template static void throw_wrapped_MyInteractionFast_truthify(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_MyInteractionFast_encode(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_MyInteractionFast_encode(apache::thrift::ServerRequest&& serverRequest); template static std::pair return_MyInteractionFast_encode(apache::thrift::ContextStack* ctx, ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>&& _return, folly::Executor::KeepAlive<> executor); template static void throw_wrapped_MyInteractionFast_encode(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); template void setUpAndProcess_SerialInteraction_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); template void executeRequest_SerialInteraction_frobnicate(apache::thrift::ServerRequest&& serverRequest); template static apache::thrift::SerializedResponse return_SerialInteraction_frobnicate(apache::thrift::ContextStack* ctx); template static void throw_wrapped_SerialInteraction_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx); public: MyServiceAsyncProcessor(::apache::thrift::ServiceHandler<::cpp2::MyService>* iface) : iface_(iface) {} ~MyServiceAsyncProcessor() override {} }; } // namespace cpp2