text: /**
   * Autogenerated by Thrift
   *
   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   *  @generated
   */
  #pragma once
  
  #include <folly/futures/Future.h>
  #include <thrift/lib/cpp/TApplicationException.h>
  #include <thrift/lib/cpp2/async/AsyncClient.h>
  #include <thrift/lib/cpp2/async/FutureRequest.h>
  #include "thrift/compiler/test/fixtures/basic-stack-arguments/gen-cpp2/module_types.h"
  
  namespace folly {
    class IOBuf;
    class IOBufQueue;
  }
  namespace apache { namespace thrift {
    class Cpp2RequestContext;
    class BinaryProtocolReader;
    class CompactProtocolReader;
    namespace transport { class THeader; }
  }}
  
  namespace cpp2 {
  
  class MyServiceAsyncClient : public apache::thrift::GeneratedAsyncClient {
   public:
    using apache::thrift::GeneratedAsyncClient::GeneratedAsyncClient;
  
    char const* getServiceName() const noexcept override {
      return "MyService";
    }
  
    virtual void hasDataById(std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
    virtual void hasDataById(apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
   private:
    virtual void hasDataByIdImpl(bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
   public:
    virtual bool sync_hasDataById(int64_t id);
    virtual bool sync_hasDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::Future<bool> future_hasDataById(int64_t id);
    virtual folly::SemiFuture<bool> semifuture_hasDataById(int64_t id);
    virtual folly::Future<bool> future_hasDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::SemiFuture<bool> semifuture_hasDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::Future<std::pair<bool, std::unique_ptr<apache::thrift::transport::THeader>>> header_future_hasDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::SemiFuture<std::pair<bool, std::unique_ptr<apache::thrift::transport::THeader>>> header_semifuture_hasDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual void hasDataById(folly::Function<void (::apache::thrift::ClientReceiveState&&)> callback, int64_t id);
    static folly::exception_wrapper recv_wrapped_hasDataById(bool& _return, ::apache::thrift::ClientReceiveState& state);
    static bool recv_hasDataById(::apache::thrift::ClientReceiveState& state);
    // Mock friendly virtual instance method
    virtual bool recv_instance_hasDataById(::apache::thrift::ClientReceiveState& state);
    virtual folly::exception_wrapper recv_instance_wrapped_hasDataById(bool& _return, ::apache::thrift::ClientReceiveState& state);
   private:
    template <typename Protocol_>
    void hasDataByIdT(Protocol_* prot, bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
   public:
    virtual void getDataById(std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
    virtual void getDataById(apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
   private:
    virtual void getDataByIdImpl(bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
   public:
    virtual void sync_getDataById(std::string& _return, int64_t id);
    virtual void sync_getDataById(apache::thrift::RpcOptions& rpcOptions, std::string& _return, int64_t id);
    virtual folly::Future<std::string> future_getDataById(int64_t id);
    virtual folly::SemiFuture<std::string> semifuture_getDataById(int64_t id);
    virtual folly::Future<std::string> future_getDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::SemiFuture<std::string> semifuture_getDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::Future<std::pair<std::string, std::unique_ptr<apache::thrift::transport::THeader>>> header_future_getDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual folly::SemiFuture<std::pair<std::string, std::unique_ptr<apache::thrift::transport::THeader>>> header_semifuture_getDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id);
    virtual void getDataById(folly::Function<void (::apache::thrift::ClientReceiveState&&)> callback, int64_t id);
    static folly::exception_wrapper recv_wrapped_getDataById(std::string& _return, ::apache::thrift::ClientReceiveState& state);
    static void recv_getDataById(std::string& _return, ::apache::thrift::ClientReceiveState& state);
    // Mock friendly virtual instance method
    virtual void recv_instance_getDataById(std::string& _return, ::apache::thrift::ClientReceiveState& state);
    virtual folly::exception_wrapper recv_instance_wrapped_getDataById(std::string& _return, ::apache::thrift::ClientReceiveState& state);
   private:
    template <typename Protocol_>
    void getDataByIdT(Protocol_* prot, bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id);
   public:
    virtual void putDataById(std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
    virtual void putDataById(apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
   private:
    virtual void putDataByIdImpl(bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
   public:
    virtual void sync_putDataById(int64_t id, const std::string& data);
    virtual void sync_putDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual folly::Future<folly::Unit> future_putDataById(int64_t id, const std::string& data);
    virtual folly::SemiFuture<folly::Unit> semifuture_putDataById(int64_t id, const std::string& data);
    virtual folly::Future<folly::Unit> future_putDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual folly::SemiFuture<folly::Unit> semifuture_putDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual folly::Future<std::pair<folly::Unit, std::unique_ptr<apache::thrift::transport::THeader>>> header_future_putDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual folly::SemiFuture<std::pair<folly::Unit, std::unique_ptr<apache::thrift::transport::THeader>>> header_semifuture_putDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual void putDataById(folly::Function<void (::apache::thrift::ClientReceiveState&&)> callback, int64_t id, const std::string& data);
    static folly::exception_wrapper recv_wrapped_putDataById(::apache::thrift::ClientReceiveState& state);
    static void recv_putDataById(::apache::thrift::ClientReceiveState& state);
    // Mock friendly virtual instance method
    virtual void recv_instance_putDataById(::apache::thrift::ClientReceiveState& state);
    virtual folly::exception_wrapper recv_instance_wrapped_putDataById(::apache::thrift::ClientReceiveState& state);
   private:
    template <typename Protocol_>
    void putDataByIdT(Protocol_* prot, bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
   public:
    virtual void lobDataById(std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
    virtual void lobDataById(apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
   private:
    virtual void lobDataByIdImpl(bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
   public:
    virtual void sync_lobDataById(int64_t id, const std::string& data);
    virtual void sync_lobDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual folly::Future<folly::Unit> future_lobDataById(int64_t id, const std::string& data);
    virtual folly::SemiFuture<folly::Unit> semifuture_lobDataById(int64_t id, const std::string& data);
    virtual folly::Future<folly::Unit> future_lobDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual folly::SemiFuture<folly::Unit> semifuture_lobDataById(apache::thrift::RpcOptions& rpcOptions, int64_t id, const std::string& data);
    virtual void lobDataById(folly::Function<void (::apache::thrift::ClientReceiveState&&)> callback, int64_t id, const std::string& data);
   private:
    template <typename Protocol_>
    void lobDataByIdT(Protocol_* prot, bool useSync, apache::thrift::RpcOptions& rpcOptions, std::unique_ptr<apache::thrift::RequestCallback> callback, int64_t id, const std::string& data);
   public:
  };
  
  } // cpp2
  