This is an automated email from the ASF dual-hosted git repository.
wwbmmm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brpc.git
The following commit(s) were added to refs/heads/master by this push:
new 7dbe7752 Opt HttpResponseSender move constructor (#2504)
7dbe7752 is described below
commit 7dbe7752a3a8e189f64b977e30bdef0ea81a0dc8
Author: Bright Chen <[email protected]>
AuthorDate: Tue Jan 23 13:21:15 2024 +0800
Opt HttpResponseSender move constructor (#2504)
---
src/brpc/policy/http_rpc_protocol.cpp | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/brpc/policy/http_rpc_protocol.cpp
b/src/brpc/policy/http_rpc_protocol.cpp
index 1f9fb5a8..2587cf3f 100644
--- a/src/brpc/policy/http_rpc_protocol.cpp
+++ b/src/brpc/policy/http_rpc_protocol.cpp
@@ -708,16 +708,19 @@ class HttpResponseSender {
friend class HttpResponseSenderAsDone;
public:
HttpResponseSender()
- : _method_status(NULL), _received_us(0), _h2_stream_id(-1) {}
- HttpResponseSender(Controller* cntl/*own*/)
+ : HttpResponseSender(NULL) {}
+ explicit HttpResponseSender(Controller* cntl/*own*/)
: _cntl(cntl), _method_status(NULL), _received_us(0),
_h2_stream_id(-1) {}
- HttpResponseSender(HttpResponseSender&& s)
+ HttpResponseSender(HttpResponseSender&& s) noexcept
: _cntl(std::move(s._cntl))
, _req(std::move(s._req))
, _res(std::move(s._res))
- , _method_status(std::move(s._method_status))
+ , _method_status(s._method_status)
, _received_us(s._received_us)
, _h2_stream_id(s._h2_stream_id) {
+ s._method_status = NULL;
+ s._received_us = 0;
+ s._h2_stream_id = -1;
}
~HttpResponseSender();
@@ -738,7 +741,7 @@ private:
class HttpResponseSenderAsDone : public google::protobuf::Closure {
public:
- HttpResponseSenderAsDone(HttpResponseSender* s) : _sender(std::move(*s)) {}
+ explicit HttpResponseSenderAsDone(HttpResponseSender* s) :
_sender(std::move(*s)) {}
void Run() override {
_sender._cntl->CallAfterRpcResp(_sender._req.get(),
_sender._res.get());
delete this;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]