From: Roger Meier Date: Thu, 28 Jul 2011 17:51:36 +0000 (+0000) Subject: THRIFT-1243 TAsyncChannel callbacks (use void instead of bool) X-Git-Tag: 0.7.0~23 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=285cfaa19943c168f7400424a8abde37da2e143f;p=common%2Fthrift.git THRIFT-1243 TAsyncChannel callbacks (use void instead of bool) Patch: Alexandre Parenteau git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1151940 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/lib/cpp/src/async/TAsyncChannel.cpp b/lib/cpp/src/async/TAsyncChannel.cpp index 2bf02fe3..9397017b 100644 --- a/lib/cpp/src/async/TAsyncChannel.cpp +++ b/lib/cpp/src/async/TAsyncChannel.cpp @@ -22,13 +22,13 @@ namespace apache { namespace thrift { namespace async { -bool TAsyncChannel::sendAndRecvMessage(const VoidCallback& cob, +void TAsyncChannel::sendAndRecvMessage(const VoidCallback& cob, TMemoryBuffer* sendBuf, TMemoryBuffer* recvBuf) { std::tr1::function send_done = std::tr1::bind(&TAsyncChannel::recvMessage, this, cob, recvBuf); - return sendMessage(send_done, sendBuf); + sendMessage(send_done, sendBuf); } }}} // apache::thrift::async diff --git a/lib/cpp/src/async/TAsyncChannel.h b/lib/cpp/src/async/TAsyncChannel.h index 72aa4e03..1f492731 100644 --- a/lib/cpp/src/async/TAsyncChannel.h +++ b/lib/cpp/src/async/TAsyncChannel.h @@ -46,21 +46,21 @@ class TAsyncChannel { * * @return true iff the cob has been or will be called, else false */ - virtual bool sendMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) = 0; + virtual void sendMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) = 0; /** * Receive a message from the channel. * * @return true iff the cob has been or will be called, else false */ - virtual bool recvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) = 0; + virtual void recvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) = 0; /** * Send a message over the channel and receive a response. * * @return true iff the cob has been or will be called, else false */ - virtual bool sendAndRecvMessage(const VoidCallback& cob, + virtual void sendAndRecvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* sendBuf, apache::thrift::transport::TMemoryBuffer* recvBuf); }; diff --git a/lib/cpp/src/async/TEvhttpClientChannel.cpp b/lib/cpp/src/async/TEvhttpClientChannel.cpp index b5265ce4..e5fc1b06 100755 --- a/lib/cpp/src/async/TEvhttpClientChannel.cpp +++ b/lib/cpp/src/async/TEvhttpClientChannel.cpp @@ -50,7 +50,7 @@ TEvhttpClientChannel::~TEvhttpClientChannel() { } -bool TEvhttpClientChannel::sendAndRecvMessage( +void TEvhttpClientChannel::sendAndRecvMessage( const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* sendBuf, apache::thrift::transport::TMemoryBuffer* recvBuf) { @@ -86,12 +86,10 @@ bool TEvhttpClientChannel::sendAndRecvMessage( if (rv != 0) { abort(); // XXX } - - return true; } -bool TEvhttpClientChannel::sendMessage( +void TEvhttpClientChannel::sendMessage( const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) { (void) cob; (void) message; @@ -99,7 +97,7 @@ bool TEvhttpClientChannel::sendMessage( } -bool TEvhttpClientChannel::recvMessage( +void TEvhttpClientChannel::recvMessage( const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) { (void) cob; (void) message; @@ -109,14 +107,17 @@ bool TEvhttpClientChannel::recvMessage( void TEvhttpClientChannel::finish(struct evhttp_request* req) { if (req == NULL) { - return cob_(); + cob_(); + return; } else if (req->response_code != 200) { - return cob_(); + cob_(); + return; } recvBuf_->resetBuffer( EVBUFFER_DATA(req->input_buffer), EVBUFFER_LENGTH(req->input_buffer)); - return cob_(); + cob_(); + return; } diff --git a/lib/cpp/src/async/TEvhttpClientChannel.h b/lib/cpp/src/async/TEvhttpClientChannel.h index d2bc4b30..d497edb9 100644 --- a/lib/cpp/src/async/TEvhttpClientChannel.h +++ b/lib/cpp/src/async/TEvhttpClientChannel.h @@ -46,12 +46,12 @@ class TEvhttpClientChannel : public TAsyncChannel { struct event_base* eb); ~TEvhttpClientChannel(); - virtual bool sendAndRecvMessage(const VoidCallback& cob, + virtual void sendAndRecvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* sendBuf, apache::thrift::transport::TMemoryBuffer* recvBuf); - virtual bool sendMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message); - virtual bool recvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message); + virtual void sendMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message); + virtual void recvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message); void finish(struct evhttp_request* req);