From b3bdab976cdae70eed9a87d426c1aca430bd3497 Mon Sep 17 00:00:00 2001 From: weizili Date: Wed, 26 Apr 2017 09:43:44 +0800 Subject: [PATCH] Refactor : rename ConnPtr to NSQConnPtr --- apps/evnsq/client.cc | 24 +++++++++++++++--------- apps/evnsq/client.h | 10 ++++------ apps/evnsq/nsq_conn.cc | 2 +- apps/evnsq/nsq_conn.h | 8 +++++--- apps/evnsq/producer.cc | 4 ++-- apps/evnsq/producer.h | 2 +- 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/apps/evnsq/client.cc b/apps/evnsq/client.cc index 6de4bbf0..ac231069 100644 --- a/apps/evnsq/client.cc +++ b/apps/evnsq/client.cc @@ -16,12 +16,16 @@ static const std::string kNSQMagic = " V2"; static const std::string kOK = "OK"; Client::Client(evpp::EventLoop* l, Type t, const Option& ops) - : loop_(l), type_(t), option_(ops), closing_(false) {} + : loop_(l), type_(t), option_(ops), closing_(false) { + DLOG_TRACE; +} -Client::~Client() {} +Client::~Client() { + DLOG_TRACE; +} void Client::ConnectToNSQD(const std::string& addr) { - auto c = ConnPtr(new NSQConn(this, option_)); + auto c = NSQConnPtr(new NSQConn(this, option_)); connecting_conns_[addr] = c; c->SetMessageCallback(msg_fn_); c->SetConnectionCallback(std::bind(&Client::OnConnection, this, std::placeholders::_1)); @@ -64,18 +68,18 @@ void Client::ConnectToLookupds(const std::string& lookupd_urls/*http://192.168.0 } void Client::Close() { - LOG_INFO << "Client::Close this=" << this << " conns_.size=" << conns_.size() << " connecting_conns_.size=" << connecting_conns_.size(); + DLOG_TRACE << "conns_.size=" << conns_.size() << " connecting_conns_.size=" << connecting_conns_.size(); closing_ = true; auto f = [this]() { ready_to_publish_fn_ = ReadyToPublishCallback(); for (auto it = this->conns_.begin(), ite = this->conns_.end(); it != ite; ++it) { - LOG_INFO << "Close connected NSQConn " << (*it).get() << (*it)->remote_addr(); + DLOG_TRACE << "Close connected NSQConn " << (*it).get() << (*it)->remote_addr(); (*it)->Close(); } for (auto it = this->connecting_conns_.begin(), ite = this->connecting_conns_.end(); it != ite; ++it) { - LOG_INFO << "Close connecting NSQConn " << it->second.get() << it->second->remote_addr(); + DLOG_TRACE << "Close connecting NSQConn " << it->second.get() << it->second->remote_addr(); it->second->Close(); } @@ -103,6 +107,7 @@ bool Client::IsReady() const { void Client::HandleLoopkupdHTTPResponse( const std::shared_ptr& response, const std::shared_ptr& request) { + DLOG_TRACE; std::string body = response->body().ToString(); if (response->http_code() != 200) { @@ -142,7 +147,8 @@ void Client::HandleLoopkupdHTTPResponse( } } -void Client::OnConnection(const ConnPtr& conn) { +void Client::OnConnection(const NSQConnPtr& conn) { + DLOG_TRACE << " NSQConn remote_addr=" << conn->remote_addr() << " status=" << conn->StatusToString(); if (conn->IsConnected() || conn->IsReady()) { conns_.push_back(conn); connecting_conns_.erase(conn->remote_addr()); @@ -210,8 +216,8 @@ bool Client::IsKnownNSQDAddress(const std::string& addr) const { return false; } -void Client::MoveToConnectingList(const ConnPtr& conn) { - ConnPtr& connecting_conn = connecting_conns_[conn->remote_addr()]; +void Client::MoveToConnectingList(const NSQConnPtr& conn) { + NSQConnPtr& connecting_conn = connecting_conns_[conn->remote_addr()]; if (connecting_conn.get()) { // This connection is already in the connecting list // so do not need to remove it from conns_ diff --git a/apps/evnsq/client.h b/apps/evnsq/client.h index fc2941da..aee39193 100644 --- a/apps/evnsq/client.h +++ b/apps/evnsq/client.h @@ -23,8 +23,6 @@ class Response; namespace evnsq { -typedef std::shared_ptr ConnPtr; - // A Client represents a producer or consumer who holds several NSQConns with a cluster of NSQDs class EVNSQ_EXPORT Client { public: @@ -68,7 +66,7 @@ class EVNSQ_EXPORT Client { void HandleLoopkupdHTTPResponse( const std::shared_ptr& response, const std::shared_ptr& request); - void OnConnection(const ConnPtr& conn); + void OnConnection(const NSQConnPtr& conn); void set_topic(const std::string& t) { topic_ = t; } @@ -80,15 +78,15 @@ class EVNSQ_EXPORT Client { } private: bool IsKnownNSQDAddress(const std::string& addr) const; - void MoveToConnectingList(const ConnPtr& conn); + void MoveToConnectingList(const NSQConnPtr& conn); protected: evpp::EventLoop* loop_; Type type_; Option option_; std::string topic_; std::string channel_; - std::map connecting_conns_; // The TCP connections which are connecting to NSQDs - std::vector conns_; // The TCP connections which has established the connection with NSQDs + std::map connecting_conns_; // The TCP connections which are connecting to NSQDs + std::vector conns_; // The TCP connections which has established the connection with NSQDs MessageCallback msg_fn_; CloseCallback close_fn_; std::vector lookupd_timers_; diff --git a/apps/evnsq/nsq_conn.cc b/apps/evnsq/nsq_conn.cc index e5471e21..2280f5ae 100644 --- a/apps/evnsq/nsq_conn.cc +++ b/apps/evnsq/nsq_conn.cc @@ -66,7 +66,7 @@ const std::string& NSQConn::remote_addr() const { } void NSQConn::OnTCPConnectionEvent(const evpp::TCPConnPtr& conn) { - LOG_INFO << "NSQConn::OnTCPConnectionEvent status=" << StatusToString() << " TCPConn=" << conn.get() << " remote_addr=" << conn->remote_addr(); + DLOG_TRACE << "status=" << StatusToString() << " TCPConn=" << conn.get() << " remote_addr=" << conn->remote_addr(); if (conn->IsConnected()) { assert(tcp_client_->conn() == conn); if (status_ == kConnecting) { diff --git a/apps/evnsq/nsq_conn.h b/apps/evnsq/nsq_conn.h index 5b3acecb..a80772db 100644 --- a/apps/evnsq/nsq_conn.h +++ b/apps/evnsq/nsq_conn.h @@ -36,7 +36,7 @@ class EVNSQ_EXPORT NSQConn : public std::enable_shared_from_this { kConnecting = 1, kIdentifying = 2, kAuthenticating = 3, - kConnected = 4, // Successfully connected to NSQD + kConnected = 4, // After identifying and authenticating, we successfully connected to NSQD kSubscribing = 5, kReady = 6, // Ready to produce messages to NSQD or consume messages from NSQD kDisconnecting = 7, @@ -85,6 +85,7 @@ class EVNSQ_EXPORT NSQConn : public std::enable_shared_from_this { return status_ == kAuthenticating; } const std::string& remote_addr() const; + const char* StatusToString() const; private: void WriteCommand(const Command& cmd); void Reconnect(); @@ -101,7 +102,6 @@ class EVNSQ_EXPORT NSQConn : public std::enable_shared_from_this { void OnPublishResponse(const char* d, size_t len); void PushWaitACKCommand(const CommandPtr& cmd); CommandPtr PopWaitACKCommand(); - const char* StatusToString() const; private: Client* nsq_client_; evpp::EventLoop* loop_; @@ -116,7 +116,9 @@ class EVNSQ_EXPORT NSQConn : public std::enable_shared_from_this { int64_t published_count_; int64_t published_ok_count_; int64_t published_failed_count_; - }; + +typedef std::shared_ptr NSQConnPtr; + } diff --git a/apps/evnsq/producer.cc b/apps/evnsq/producer.cc index 6fcc43ec..daa871d4 100644 --- a/apps/evnsq/producer.cc +++ b/apps/evnsq/producer.cc @@ -120,9 +120,9 @@ void Producer::OnPublishResponse(NSQConn* conn, const CommandPtr& cmd, bool succ } } -ConnPtr Producer::GetNextConn() { +NSQConnPtr Producer::GetNextConn() { if (conns_.empty()) { - return ConnPtr(); + return NSQConnPtr(); } if (current_conn_index_ >= conns_.size()) { diff --git a/apps/evnsq/producer.h b/apps/evnsq/producer.h index ccd7e1be..10619e35 100644 --- a/apps/evnsq/producer.h +++ b/apps/evnsq/producer.h @@ -48,7 +48,7 @@ class EVNSQ_EXPORT Producer : public Client { bool PublishInLoop(const CommandPtr& cmd); void OnPublishResponse(NSQConn* conn, const CommandPtr& cmd, bool successfull); void OnReady(NSQConn* conn); - ConnPtr GetNextConn(); + NSQConnPtr GetNextConn(); void PrintStats(); private: size_t current_conn_index_; // current Conn position at Client::conns_