1 /** 2 * Autogenerated by Thrift for src/module.thrift 3 * 4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 * @generated @nocommit 6 */ 7 #pragma once 8 9 #include <thrift/lib/cpp2/gen/service_h.h> 10 11 #include "thrift/compiler/test/fixtures/interactions/gen-cpp2/MyServiceAsyncClient.h" 12 #include "thrift/compiler/test/fixtures/interactions/gen-cpp2/module_types.h" 13 #include <thrift/lib/cpp2/async/ServerStream.h> 14 #include <thrift/lib/cpp2/async/Sink.h> 15 16 namespace folly { 17 class IOBuf; 18 class IOBufQueue; 19 } 20 namespace apache { namespace thrift { 21 class Cpp2RequestContext; 22 class BinaryProtocolReader; 23 class CompactProtocolReader; 24 namespace transport { class THeader; } 25 }} 26 27 namespace cpp2 { 28 29 class MyServiceSvAsyncIf { 30 public: ~MyServiceSvAsyncIf()31 virtual ~MyServiceSvAsyncIf() {} 32 virtual void async_tm_foo(std::unique_ptr<apache::thrift::HandlerCallback<void>> callback) = 0; 33 virtual folly::Future<folly::Unit> future_foo() = 0; 34 virtual folly::SemiFuture<folly::Unit> semifuture_foo() = 0; 35 }; 36 37 class MyServiceAsyncProcessor; 38 39 class MyServiceSvIf : public MyServiceSvAsyncIf, public apache::thrift::ServerInterface { 40 public: getGeneratedName()41 std::string_view getGeneratedName() const override { return "MyService"; } 42 43 typedef MyServiceAsyncProcessor ProcessorType; 44 std::unique_ptr<apache::thrift::AsyncProcessor> getProcessor() override; 45 CreateMethodMetadataResult createMethodMetadata() override; 46 47 class MyInteractionIf : public apache::thrift::Tile, public apache::thrift::ServerInterface { 48 public: getGeneratedName()49 std::string_view getGeneratedName() const override { return "MyInteraction"; } 50 51 typedef MyServiceAsyncProcessor ProcessorType; 52 virtual ~MyInteractionIf() = default; getProcessor()53 std::unique_ptr<apache::thrift::AsyncProcessor> getProcessor() override { 54 std::terminate(); 55 } createMethodMetadata()56 CreateMethodMetadataResult createMethodMetadata() override { 57 std::terminate(); 58 } 59 virtual ::std::int32_t frobnicate(); 60 virtual folly::SemiFuture<::std::int32_t> semifuture_frobnicate(); 61 #if FOLLY_HAS_COROUTINES 62 virtual folly::coro::Task<::std::int32_t> co_frobnicate(); 63 virtual folly::coro::Task<::std::int32_t> co_frobnicate(apache::thrift::RequestParams params); 64 #endif 65 virtual void async_tm_frobnicate(std::unique_ptr<apache::thrift::HandlerCallback<::std::int32_t>> callback); 66 virtual void ping(); 67 virtual folly::SemiFuture<folly::Unit> semifuture_ping(); 68 #if FOLLY_HAS_COROUTINES 69 virtual folly::coro::Task<void> co_ping(); 70 virtual folly::coro::Task<void> co_ping(apache::thrift::RequestParams params); 71 #endif 72 virtual void async_tm_ping(std::unique_ptr<apache::thrift::HandlerCallbackBase> callback); 73 virtual ::apache::thrift::ServerStream<bool> truthify(); 74 virtual folly::SemiFuture<::apache::thrift::ServerStream<bool>> semifuture_truthify(); 75 #if FOLLY_HAS_COROUTINES 76 virtual folly::coro::Task<::apache::thrift::ServerStream<bool>> co_truthify(); 77 virtual folly::coro::Task<::apache::thrift::ServerStream<bool>> co_truthify(apache::thrift::RequestParams params); 78 #endif 79 virtual void async_tm_truthify(std::unique_ptr<apache::thrift::HandlerCallback<::apache::thrift::ServerStream<bool>>> callback); 80 virtual ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string> encode(); 81 virtual folly::SemiFuture<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>> semifuture_encode(); 82 #if FOLLY_HAS_COROUTINES 83 virtual folly::coro::Task<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>> co_encode(); 84 virtual folly::coro::Task<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>> co_encode(apache::thrift::RequestParams params); 85 #endif 86 virtual void async_tm_encode(std::unique_ptr<apache::thrift::HandlerCallback<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>>> callback); 87 private: 88 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_frobnicate{apache::thrift::detail::si::InvocationType::AsyncTm}; 89 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_ping{apache::thrift::detail::si::InvocationType::AsyncTm}; 90 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_truthify{apache::thrift::detail::si::InvocationType::AsyncTm}; 91 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_encode{apache::thrift::detail::si::InvocationType::AsyncTm}; 92 };class MyInteractionFastIf : public apache::thrift::Tile, public apache::thrift::ServerInterface { 93 public: getGeneratedName()94 std::string_view getGeneratedName() const override { return "MyInteractionFast"; } 95 96 typedef MyServiceAsyncProcessor ProcessorType; 97 virtual ~MyInteractionFastIf() = default; getProcessor()98 std::unique_ptr<apache::thrift::AsyncProcessor> getProcessor() override { 99 std::terminate(); 100 } createMethodMetadata()101 CreateMethodMetadataResult createMethodMetadata() override { 102 std::terminate(); 103 } 104 virtual void async_eb_frobnicate(std::unique_ptr<apache::thrift::HandlerCallback<::std::int32_t>> callback); 105 virtual void async_eb_ping(std::unique_ptr<apache::thrift::HandlerCallbackBase> callback); 106 virtual void async_eb_truthify(std::unique_ptr<apache::thrift::HandlerCallback<::apache::thrift::ServerStream<bool>>> callback); 107 virtual void async_eb_encode(std::unique_ptr<apache::thrift::HandlerCallback<::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>>> callback); 108 private: 109 };class SerialInteractionIf : public apache::thrift::SerialInteractionTile, public apache::thrift::ServerInterface { 110 public: getGeneratedName()111 std::string_view getGeneratedName() const override { return "SerialInteraction"; } 112 113 typedef MyServiceAsyncProcessor ProcessorType; 114 virtual ~SerialInteractionIf() = default; getProcessor()115 std::unique_ptr<apache::thrift::AsyncProcessor> getProcessor() override { 116 std::terminate(); 117 } createMethodMetadata()118 CreateMethodMetadataResult createMethodMetadata() override { 119 std::terminate(); 120 } 121 virtual void frobnicate(); 122 virtual folly::SemiFuture<folly::Unit> semifuture_frobnicate(); 123 #if FOLLY_HAS_COROUTINES 124 virtual folly::coro::Task<void> co_frobnicate(); 125 virtual folly::coro::Task<void> co_frobnicate(apache::thrift::RequestParams params); 126 #endif 127 virtual void async_tm_frobnicate(std::unique_ptr<apache::thrift::HandlerCallback<void>> callback); 128 private: 129 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_frobnicate{apache::thrift::detail::si::InvocationType::AsyncTm}; 130 }; 131 virtual std::unique_ptr<MyInteractionIf> createMyInteraction() = 0; 132 virtual std::unique_ptr<MyInteractionFastIf> createMyInteractionFast() = 0; 133 virtual std::unique_ptr<SerialInteractionIf> createSerialInteraction() = 0; 134 virtual void foo(); 135 folly::Future<folly::Unit> future_foo() override; 136 folly::SemiFuture<folly::Unit> semifuture_foo() override; 137 void async_tm_foo(std::unique_ptr<apache::thrift::HandlerCallback<void>> callback) override; 138 private: 139 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_createMyInteraction{apache::thrift::detail::si::InvocationType::AsyncTm}; 140 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_createMyInteractionFast{apache::thrift::detail::si::InvocationType::AsyncTm}; 141 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_createSerialInteraction{apache::thrift::detail::si::InvocationType::AsyncTm}; 142 std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_foo{apache::thrift::detail::si::InvocationType::AsyncTm}; 143 }; 144 145 class MyServiceSvNull : public MyServiceSvIf { 146 public: 147 void foo() override; 148 }; 149 150 class MyServiceAsyncProcessor : public ::apache::thrift::GeneratedAsyncProcessor { 151 public: 152 const char* getServiceName() override; 153 void getServiceMetadata(apache::thrift::metadata::ThriftServiceMetadataResponse& response) override; 154 using BaseAsyncProcessor = void; 155 protected: 156 MyServiceSvIf* iface_; 157 public: 158 // This is implemented in case the corresponding AsyncProcessorFactory did not implement createMethodMetadata. 159 // This can happen if the service is using a custom AsyncProcessorFactory but re-using the same AsyncProcessor. 160 void processSerializedCompressedRequest(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::protocol::PROTOCOL_TYPES protType, apache::thrift::Cpp2RequestContext* context, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm) override; 161 // By default, this overload will be called for generated services 162 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; 163 public: 164 using ProcessFuncs = GeneratedAsyncProcessor::ProcessFuncs<MyServiceAsyncProcessor>; 165 using ProcessMap = GeneratedAsyncProcessor::ProcessMap<ProcessFuncs>; 166 using InteractionConstructor = GeneratedAsyncProcessor::InteractionConstructor<MyServiceAsyncProcessor>; 167 using InteractionConstructorMap = GeneratedAsyncProcessor::InteractionConstructorMap<InteractionConstructor>; 168 static const MyServiceAsyncProcessor::ProcessMap& getOwnProcessMap(); 169 static const MyServiceAsyncProcessor::InteractionConstructorMap& getInteractionConstructorMap(); 170 std::unique_ptr<apache::thrift::Tile> createInteractionImpl(const std::string& name) override; 171 private: 172 static const MyServiceAsyncProcessor::ProcessMap kOwnProcessMap_; 173 static const MyServiceAsyncProcessor::InteractionConstructorMap interactionConstructorMap_; 174 private: createMyInteraction()175 std::unique_ptr<apache::thrift::Tile> createMyInteraction() { 176 return iface_->createMyInteraction(); 177 } createMyInteractionFast()178 std::unique_ptr<apache::thrift::Tile> createMyInteractionFast() { 179 return iface_->createMyInteractionFast(); 180 } createSerialInteraction()181 std::unique_ptr<apache::thrift::Tile> createSerialInteraction() { 182 return iface_->createSerialInteraction(); 183 } 184 template <typename ProtocolIn_, typename ProtocolOut_> 185 void setUpAndProcess_foo(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 186 template <typename ProtocolIn_, typename ProtocolOut_> 187 void process_foo(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 188 template <class ProtocolIn_, class ProtocolOut_> 189 static apache::thrift::SerializedResponse return_foo(apache::thrift::ContextStack* ctx); 190 template <class ProtocolIn_, class ProtocolOut_> 191 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); 192 template <typename ProtocolIn_, typename ProtocolOut_> 193 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); 194 template <typename ProtocolIn_, typename ProtocolOut_> 195 void process_MyInteraction_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 196 template <class ProtocolIn_, class ProtocolOut_> 197 static apache::thrift::SerializedResponse return_MyInteraction_frobnicate(apache::thrift::ContextStack* ctx, ::std::int32_t const& _return); 198 template <class ProtocolIn_, class ProtocolOut_> 199 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); 200 template <typename ProtocolIn_, typename ProtocolOut_> 201 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); 202 template <typename ProtocolIn_, typename ProtocolOut_> 203 void process_MyInteraction_ping(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 204 template <typename ProtocolIn_, typename ProtocolOut_> 205 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); 206 template <typename ProtocolIn_, typename ProtocolOut_> 207 void process_MyInteraction_truthify(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 208 template <class ProtocolIn_, class ProtocolOut_> 209 static apache::thrift::ResponseAndServerStreamFactory return_MyInteraction_truthify(apache::thrift::ContextStack* ctx, folly::Executor::KeepAlive<> executor, ::apache::thrift::ServerStream<bool>&& _return); 210 template <class ProtocolIn_, class ProtocolOut_> 211 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); 212 template <typename ProtocolIn_, typename ProtocolOut_> 213 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); 214 template <typename ProtocolIn_, typename ProtocolOut_> 215 void process_MyInteraction_encode(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 216 template <class ProtocolIn_, class ProtocolOut_> 217 static std::pair<apache::thrift::SerializedResponse, apache::thrift::detail::SinkConsumerImpl> return_MyInteraction_encode(apache::thrift::ContextStack* ctx, ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>&& _return, folly::Executor::KeepAlive<> executor); 218 template <class ProtocolIn_, class ProtocolOut_> 219 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); 220 template <typename ProtocolIn_, typename ProtocolOut_> 221 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); 222 template <typename ProtocolIn_, typename ProtocolOut_> 223 void process_MyInteractionFast_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 224 template <class ProtocolIn_, class ProtocolOut_> 225 static apache::thrift::SerializedResponse return_MyInteractionFast_frobnicate(apache::thrift::ContextStack* ctx, ::std::int32_t const& _return); 226 template <class ProtocolIn_, class ProtocolOut_> 227 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); 228 template <typename ProtocolIn_, typename ProtocolOut_> 229 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); 230 template <typename ProtocolIn_, typename ProtocolOut_> 231 void process_MyInteractionFast_ping(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 232 template <typename ProtocolIn_, typename ProtocolOut_> 233 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); 234 template <typename ProtocolIn_, typename ProtocolOut_> 235 void process_MyInteractionFast_truthify(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 236 template <class ProtocolIn_, class ProtocolOut_> 237 static apache::thrift::ResponseAndServerStreamFactory return_MyInteractionFast_truthify(apache::thrift::ContextStack* ctx, folly::Executor::KeepAlive<> executor, ::apache::thrift::ServerStream<bool>&& _return); 238 template <class ProtocolIn_, class ProtocolOut_> 239 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); 240 template <typename ProtocolIn_, typename ProtocolOut_> 241 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); 242 template <typename ProtocolIn_, typename ProtocolOut_> 243 void process_MyInteractionFast_encode(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 244 template <class ProtocolIn_, class ProtocolOut_> 245 static std::pair<apache::thrift::SerializedResponse, apache::thrift::detail::SinkConsumerImpl> return_MyInteractionFast_encode(apache::thrift::ContextStack* ctx, ::apache::thrift::ResponseAndSinkConsumer<::std::set<::std::int32_t>, ::std::string, ::std::string>&& _return, folly::Executor::KeepAlive<> executor); 246 template <class ProtocolIn_, class ProtocolOut_> 247 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); 248 template <typename ProtocolIn_, typename ProtocolOut_> 249 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); 250 template <typename ProtocolIn_, typename ProtocolOut_> 251 void process_SerialInteraction_frobnicate(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx,folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm); 252 template <class ProtocolIn_, class ProtocolOut_> 253 static apache::thrift::SerializedResponse return_SerialInteraction_frobnicate(apache::thrift::ContextStack* ctx); 254 template <class ProtocolIn_, class ProtocolOut_> 255 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); 256 public: MyServiceAsyncProcessor(MyServiceSvIf * iface)257 MyServiceAsyncProcessor(MyServiceSvIf* iface) : 258 iface_(iface) {} ~MyServiceAsyncProcessor()259 ~MyServiceAsyncProcessor() override {} 260 }; 261 262 } // cpp2 263