/**
 * Autogenerated by Thrift for /opt/local/var/macports/build/fb303-3df6b803/work/fb303-2025.08.04.00/fb303/thrift/fb303_core.thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated @nocommit
 */
#pragma once

#include <thrift/lib/cpp2/gen/service_h.h>

#include "fb303/thrift/gen-cpp2/BaseServiceAsyncClient.h"
#include "fb303/thrift/gen-cpp2/fb303_core_types.h"

namespace folly {
  class IOBuf;
  class IOBufQueue;
}
namespace apache { namespace thrift {
  class Cpp2RequestContext;
  class BinaryProtocolReader;
  class CompactProtocolReader;
  namespace transport { class THeader; }
}}

namespace facebook::fb303::cpp2 {
class BaseService;
class BaseServiceAsyncProcessor;

class BaseServiceServiceInfoHolder : public apache::thrift::ServiceInfoHolder {
  public:
   apache::thrift::ServiceRequestInfoMap const& requestInfoMap() const override;
   static apache::thrift::ServiceRequestInfoMap staticRequestInfoMap();
};
} // namespace facebook::fb303::cpp2

namespace apache::thrift {
template <>
class ServiceHandler<::facebook::fb303::cpp2::BaseService> : public apache::thrift::ServerInterface {
  static_assert(!folly::is_detected_v<::apache::thrift::detail::st::detect_complete, ::facebook::fb303::cpp2::BaseService>, "Definition collision with service tag. Either rename the Thrift service using @cpp.Name annotation or rename the conflicting C++ type.");

 public:
  std::string_view getGeneratedName() const override { return "BaseService"; }

  static std::string_view __fbthrift_thrift_uri() {
    return "facebook.com/fb303/BaseService";
  }

  typedef ::facebook::fb303::cpp2::BaseServiceAsyncProcessor ProcessorType;
  std::unique_ptr<apache::thrift::AsyncProcessor> getProcessor() override;
  CreateMethodMetadataResult createMethodMetadata() override;
  bool isThriftGenerated() const override final { return true; }
 private:
  std::optional<std::reference_wrapper<apache::thrift::ServiceRequestInfoMap const>> getServiceRequestInfoMap() const;
 public:

  virtual ::facebook::fb303::cpp2::fb303_status sync_getStatus();
  [[deprecated("Use sync_getStatus instead")]] virtual ::facebook::fb303::cpp2::fb303_status getStatus();
  virtual folly::Future<::facebook::fb303::cpp2::fb303_status> future_getStatus();
  virtual folly::SemiFuture<::facebook::fb303::cpp2::fb303_status> semifuture_getStatus();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<::facebook::fb303::cpp2::fb303_status> co_getStatus();
  virtual folly::coro::Task<::facebook::fb303::cpp2::fb303_status> co_getStatus(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_getStatus(apache::thrift::HandlerCallbackPtr<::facebook::fb303::cpp2::fb303_status> callback);
  virtual void sync_getName(::std::string& /*_return*/);
  [[deprecated("Use sync_getName instead")]] virtual void getName(::std::string& /*_return*/);
  virtual folly::Future<std::unique_ptr<::std::string>> future_getName();
  virtual folly::SemiFuture<std::unique_ptr<::std::string>> semifuture_getName();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getName();
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getName(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_getName(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::string>> callback);
  virtual void sync_getVersion(::std::string& /*_return*/);
  [[deprecated("Use sync_getVersion instead")]] virtual void getVersion(::std::string& /*_return*/);
  virtual folly::Future<std::unique_ptr<::std::string>> future_getVersion();
  virtual folly::SemiFuture<std::unique_ptr<::std::string>> semifuture_getVersion();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getVersion();
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getVersion(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_getVersion(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::string>> callback);
  virtual void sync_getStatusDetails(::std::string& /*_return*/);
  [[deprecated("Use sync_getStatusDetails instead")]] virtual void getStatusDetails(::std::string& /*_return*/);
  virtual folly::Future<std::unique_ptr<::std::string>> future_getStatusDetails();
  virtual folly::SemiFuture<std::unique_ptr<::std::string>> semifuture_getStatusDetails();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getStatusDetails();
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getStatusDetails(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_getStatusDetails(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::string>> callback);
  virtual void async_eb_getCounters(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::int64_t>>> callback);
  virtual void async_eb_getRegexCounters(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::int64_t>>> callback, std::unique_ptr<::std::string> p_regex);
  virtual void async_eb_getSelectedCounters(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::int64_t>>> callback, std::unique_ptr<::std::vector<::std::string>> p_keys);
  virtual ::std::int64_t sync_getCounter(std::unique_ptr<::std::string> /*key*/);
  [[deprecated("Use sync_getCounter instead")]] virtual ::std::int64_t getCounter(std::unique_ptr<::std::string> /*key*/);
  virtual folly::Future<::std::int64_t> future_getCounter(std::unique_ptr<::std::string> p_key);
  virtual folly::SemiFuture<::std::int64_t> semifuture_getCounter(std::unique_ptr<::std::string> p_key);
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<::std::int64_t> co_getCounter(std::unique_ptr<::std::string> p_key);
  virtual folly::coro::Task<::std::int64_t> co_getCounter(apache::thrift::RequestParams params, std::unique_ptr<::std::string> p_key);
#endif
  virtual void async_tm_getCounter(apache::thrift::HandlerCallbackPtr<::std::int64_t> callback, std::unique_ptr<::std::string> p_key);
  virtual void sync_getExportedValues(::std::map<::std::string, ::std::string>& /*_return*/);
  [[deprecated("Use sync_getExportedValues instead")]] virtual void getExportedValues(::std::map<::std::string, ::std::string>& /*_return*/);
  virtual folly::Future<std::unique_ptr<::std::map<::std::string, ::std::string>>> future_getExportedValues();
  virtual folly::SemiFuture<std::unique_ptr<::std::map<::std::string, ::std::string>>> semifuture_getExportedValues();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getExportedValues();
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getExportedValues(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_getExportedValues(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::string>>> callback);
  virtual void sync_getSelectedExportedValues(::std::map<::std::string, ::std::string>& /*_return*/, std::unique_ptr<::std::vector<::std::string>> /*keys*/);
  [[deprecated("Use sync_getSelectedExportedValues instead")]] virtual void getSelectedExportedValues(::std::map<::std::string, ::std::string>& /*_return*/, std::unique_ptr<::std::vector<::std::string>> /*keys*/);
  virtual folly::Future<std::unique_ptr<::std::map<::std::string, ::std::string>>> future_getSelectedExportedValues(std::unique_ptr<::std::vector<::std::string>> p_keys);
  virtual folly::SemiFuture<std::unique_ptr<::std::map<::std::string, ::std::string>>> semifuture_getSelectedExportedValues(std::unique_ptr<::std::vector<::std::string>> p_keys);
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getSelectedExportedValues(std::unique_ptr<::std::vector<::std::string>> p_keys);
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getSelectedExportedValues(apache::thrift::RequestParams params, std::unique_ptr<::std::vector<::std::string>> p_keys);
#endif
  virtual void async_tm_getSelectedExportedValues(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::string>>> callback, std::unique_ptr<::std::vector<::std::string>> p_keys);
  virtual void sync_getRegexExportedValues(::std::map<::std::string, ::std::string>& /*_return*/, std::unique_ptr<::std::string> /*regex*/);
  [[deprecated("Use sync_getRegexExportedValues instead")]] virtual void getRegexExportedValues(::std::map<::std::string, ::std::string>& /*_return*/, std::unique_ptr<::std::string> /*regex*/);
  virtual folly::Future<std::unique_ptr<::std::map<::std::string, ::std::string>>> future_getRegexExportedValues(std::unique_ptr<::std::string> p_regex);
  virtual folly::SemiFuture<std::unique_ptr<::std::map<::std::string, ::std::string>>> semifuture_getRegexExportedValues(std::unique_ptr<::std::string> p_regex);
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getRegexExportedValues(std::unique_ptr<::std::string> p_regex);
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getRegexExportedValues(apache::thrift::RequestParams params, std::unique_ptr<::std::string> p_regex);
#endif
  virtual void async_tm_getRegexExportedValues(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::string>>> callback, std::unique_ptr<::std::string> p_regex);
  virtual void sync_getExportedValue(::std::string& /*_return*/, std::unique_ptr<::std::string> /*key*/);
  [[deprecated("Use sync_getExportedValue instead")]] virtual void getExportedValue(::std::string& /*_return*/, std::unique_ptr<::std::string> /*key*/);
  virtual folly::Future<std::unique_ptr<::std::string>> future_getExportedValue(std::unique_ptr<::std::string> p_key);
  virtual folly::SemiFuture<std::unique_ptr<::std::string>> semifuture_getExportedValue(std::unique_ptr<::std::string> p_key);
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getExportedValue(std::unique_ptr<::std::string> p_key);
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getExportedValue(apache::thrift::RequestParams params, std::unique_ptr<::std::string> p_key);
#endif
  virtual void async_tm_getExportedValue(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::string>> callback, std::unique_ptr<::std::string> p_key);
  virtual void sync_setOption(std::unique_ptr<::std::string> /*key*/, std::unique_ptr<::std::string> /*value*/);
  [[deprecated("Use sync_setOption instead")]] virtual void setOption(std::unique_ptr<::std::string> /*key*/, std::unique_ptr<::std::string> /*value*/);
  virtual folly::Future<folly::Unit> future_setOption(std::unique_ptr<::std::string> p_key, std::unique_ptr<::std::string> p_value);
  virtual folly::SemiFuture<folly::Unit> semifuture_setOption(std::unique_ptr<::std::string> p_key, std::unique_ptr<::std::string> p_value);
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<void> co_setOption(std::unique_ptr<::std::string> p_key, std::unique_ptr<::std::string> p_value);
  virtual folly::coro::Task<void> co_setOption(apache::thrift::RequestParams params, std::unique_ptr<::std::string> p_key, std::unique_ptr<::std::string> p_value);
#endif
  virtual void async_tm_setOption(apache::thrift::HandlerCallbackPtr<void> callback, std::unique_ptr<::std::string> p_key, std::unique_ptr<::std::string> p_value);
  virtual void sync_getOption(::std::string& /*_return*/, std::unique_ptr<::std::string> /*key*/);
  [[deprecated("Use sync_getOption instead")]] virtual void getOption(::std::string& /*_return*/, std::unique_ptr<::std::string> /*key*/);
  virtual folly::Future<std::unique_ptr<::std::string>> future_getOption(std::unique_ptr<::std::string> p_key);
  virtual folly::SemiFuture<std::unique_ptr<::std::string>> semifuture_getOption(std::unique_ptr<::std::string> p_key);
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getOption(std::unique_ptr<::std::string> p_key);
  virtual folly::coro::Task<std::unique_ptr<::std::string>> co_getOption(apache::thrift::RequestParams params, std::unique_ptr<::std::string> p_key);
#endif
  virtual void async_tm_getOption(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::string>> callback, std::unique_ptr<::std::string> p_key);
  virtual void sync_getOptions(::std::map<::std::string, ::std::string>& /*_return*/);
  [[deprecated("Use sync_getOptions instead")]] virtual void getOptions(::std::map<::std::string, ::std::string>& /*_return*/);
  virtual folly::Future<std::unique_ptr<::std::map<::std::string, ::std::string>>> future_getOptions();
  virtual folly::SemiFuture<std::unique_ptr<::std::map<::std::string, ::std::string>>> semifuture_getOptions();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getOptions();
  virtual folly::coro::Task<std::unique_ptr<::std::map<::std::string, ::std::string>>> co_getOptions(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_getOptions(apache::thrift::HandlerCallbackPtr<std::unique_ptr<::std::map<::std::string, ::std::string>>> callback);
  virtual ::std::int64_t sync_aliveSince();
  [[deprecated("Use sync_aliveSince instead")]] virtual ::std::int64_t aliveSince();
  virtual folly::Future<::std::int64_t> future_aliveSince();
  virtual folly::SemiFuture<::std::int64_t> semifuture_aliveSince();
#if FOLLY_HAS_COROUTINES
  virtual folly::coro::Task<::std::int64_t> co_aliveSince();
  virtual folly::coro::Task<::std::int64_t> co_aliveSince(apache::thrift::RequestParams params);
#endif
  virtual void async_tm_aliveSince(apache::thrift::HandlerCallbackPtr<::std::int64_t> callback);
 private:
  static ::facebook::fb303::cpp2::BaseServiceServiceInfoHolder __fbthrift_serviceInfoHolder;
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getStatus{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getName{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getVersion{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getStatusDetails{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getCounter{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getExportedValues{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getSelectedExportedValues{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getRegexExportedValues{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getExportedValue{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_setOption{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getOption{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_getOptions{apache::thrift::detail::si::InvocationType::AsyncTm};
  std::atomic<apache::thrift::detail::si::InvocationType> __fbthrift_invocation_aliveSince{apache::thrift::detail::si::InvocationType::AsyncTm};
};

namespace detail {
template <> struct TSchemaAssociation<::facebook::fb303::cpp2::BaseService, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 230469349201456927;
  static constexpr ::std::string_view definitionKey = {"\xa8\x28\xa3\x0a\x43\x14\x94\xec\x19\xb8\x2c\x38\xc2\x77\xc0\x3b", 16};
};
}
} // namespace apache::thrift

namespace facebook::fb303::cpp2 {
using BaseServiceSvIf [[deprecated("Use apache::thrift::ServiceHandler<BaseService> instead")]] = ::apache::thrift::ServiceHandler<BaseService>;
} // namespace facebook::fb303::cpp2

namespace facebook::fb303::cpp2 {
class BaseServiceSvNull : public ::apache::thrift::ServiceHandler<BaseService> {
 public:
  ::facebook::fb303::cpp2::fb303_status getStatus() override;
  void getName(::std::string& /*_return*/) override;
  void getVersion(::std::string& /*_return*/) override;
  void getStatusDetails(::std::string& /*_return*/) override;
  ::std::int64_t getCounter(std::unique_ptr<::std::string> /*key*/) override;
  void getExportedValues(::std::map<::std::string, ::std::string>& /*_return*/) override;
  void getSelectedExportedValues(::std::map<::std::string, ::std::string>& /*_return*/, std::unique_ptr<::std::vector<::std::string>> /*keys*/) override;
  void getRegexExportedValues(::std::map<::std::string, ::std::string>& /*_return*/, std::unique_ptr<::std::string> /*regex*/) override;
  void getExportedValue(::std::string& /*_return*/, std::unique_ptr<::std::string> /*key*/) override;
  void setOption(std::unique_ptr<::std::string> /*key*/, std::unique_ptr<::std::string> /*value*/) override;
  void getOption(::std::string& /*_return*/, std::unique_ptr<::std::string> /*key*/) override;
  void getOptions(::std::map<::std::string, ::std::string>& /*_return*/) override;
  ::std::int64_t aliveSince() override;
};

class BaseServiceAsyncProcessor : public ::apache::thrift::GeneratedAsyncProcessorBase {
 public:
  std::string_view getServiceName() override;
  void getServiceMetadata(apache::thrift::metadata::ThriftServiceMetadataResponse& response) override;
  using BaseAsyncProcessor = void;
 protected:
  ::apache::thrift::ServiceHandler<::facebook::fb303::cpp2::BaseService>* 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<BaseServiceAsyncProcessor>;
  using ProcessMap = GeneratedAsyncProcessorBase::ProcessMap<ProcessFuncs>;
  static const BaseServiceAsyncProcessor::ProcessMap& getOwnProcessMap();
 private:
  static const BaseServiceAsyncProcessor::ProcessMap kOwnProcessMap_;
 private:
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getStatus(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getStatus(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getStatus(apache::thrift::ContextStack* ctx, ::facebook::fb303::cpp2::fb303_status const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getStatus(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getName(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getName(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getName(apache::thrift::ContextStack* ctx, ::std::string const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getName(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getVersion(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getVersion(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getVersion(apache::thrift::ContextStack* ctx, ::std::string const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getVersion(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getStatusDetails(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getStatusDetails(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getStatusDetails(apache::thrift::ContextStack* ctx, ::std::string const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getStatusDetails(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getCounters(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getCounters(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getCounters(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::int64_t> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getCounters(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getRegexCounters(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getRegexCounters(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getRegexCounters(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::int64_t> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getRegexCounters(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getSelectedCounters(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getSelectedCounters(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getSelectedCounters(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::int64_t> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getSelectedCounters(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getCounter(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getCounter(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getCounter(apache::thrift::ContextStack* ctx, ::std::int64_t const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getCounter(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getExportedValues(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getExportedValues(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getExportedValues(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::string> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getExportedValues(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getSelectedExportedValues(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getSelectedExportedValues(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getSelectedExportedValues(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::string> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getSelectedExportedValues(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getRegexExportedValues(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getRegexExportedValues(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getRegexExportedValues(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::string> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getRegexExportedValues(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getExportedValue(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getExportedValue(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getExportedValue(apache::thrift::ContextStack* ctx, ::std::string const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getExportedValue(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_setOption(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_setOption(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_setOption(apache::thrift::ContextStack* ctx);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_setOption(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getOption(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getOption(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getOption(apache::thrift::ContextStack* ctx, ::std::string const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getOption(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_getOptions(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_getOptions(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_getOptions(apache::thrift::ContextStack* ctx, ::std::map<::std::string, ::std::string> const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_getOptions(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void setUpAndProcess_aliveSince(apache::thrift::ResponseChannelRequest::UniquePtr req, apache::thrift::SerializedCompressedRequest&& serializedRequest, apache::thrift::Cpp2RequestContext* ctx, folly::EventBase* eb, apache::thrift::concurrency::ThreadManager* tm);
  template <typename ProtocolIn_, typename ProtocolOut_>
  void executeRequest_aliveSince(apache::thrift::ServerRequest&& serverRequest);
  template <class ProtocolIn_, class ProtocolOut_>
  static apache::thrift::SerializedResponse return_aliveSince(apache::thrift::ContextStack* ctx, ::std::int64_t const& _return);
  template <class ProtocolIn_, class ProtocolOut_>
  static void throw_wrapped_aliveSince(apache::thrift::ResponseChannelRequest::UniquePtr req,int32_t protoSeqId,apache::thrift::ContextStack* ctx,folly::exception_wrapper ew,apache::thrift::Cpp2RequestContext* reqCtx);
 public:
  BaseServiceAsyncProcessor(::apache::thrift::ServiceHandler<::facebook::fb303::cpp2::BaseService>* iface) :
      iface_(iface) {}
  ~BaseServiceAsyncProcessor() override {}
};

} // namespace facebook::fb303::cpp2
