File indexing completed on 2026-04-17 08:35:01
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef _THRIFT_ASYNC_TASYNCCHANNEL_H_
0021 #define _THRIFT_ASYNC_TASYNCCHANNEL_H_ 1
0022
0023 #include <functional>
0024 #include <memory>
0025 #include <thrift/Thrift.h>
0026
0027 namespace apache {
0028 namespace thrift {
0029 namespace transport {
0030 class TMemoryBuffer;
0031 }
0032 }
0033 }
0034
0035 namespace apache {
0036 namespace thrift {
0037 namespace async {
0038 using apache::thrift::transport::TMemoryBuffer;
0039
0040 class TAsyncChannel {
0041 public:
0042 typedef std::function<void()> VoidCallback;
0043
0044 virtual ~TAsyncChannel() = default;
0045
0046
0047 virtual bool good() const = 0;
0048 virtual bool error() const = 0;
0049 virtual bool timedOut() const = 0;
0050
0051
0052
0053
0054 virtual void sendMessage(const VoidCallback& cob,
0055 apache::thrift::transport::TMemoryBuffer* message) = 0;
0056
0057
0058
0059
0060 virtual void recvMessage(const VoidCallback& cob,
0061 apache::thrift::transport::TMemoryBuffer* message) = 0;
0062
0063
0064
0065
0066 virtual void sendAndRecvMessage(const VoidCallback& cob,
0067 apache::thrift::transport::TMemoryBuffer* sendBuf,
0068 apache::thrift::transport::TMemoryBuffer* recvBuf);
0069 };
0070 }
0071 }
0072 }
0073
0074 #endif