]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tools: cleanup RO
authorshangdehao1 <dehao.shang@intel.com>
Fri, 8 Mar 2019 00:35:02 +0000 (08:35 +0800)
committerYuan Zhou <yuan.zhou@intel.com>
Thu, 21 Mar 2019 16:16:31 +0000 (00:16 +0800)
- replace useless callback with bind function.
- remove session_id and m_session_map.
- fixed memory leak when session occur error
- change type conversion.
- add prefix

Signed-off-by: Dehao Shang <dehao.shang@intel.com>
src/tools/immutable_object_cache/CacheClient.cc
src/tools/immutable_object_cache/CacheController.cc
src/tools/immutable_object_cache/CacheController.h
src/tools/immutable_object_cache/CacheServer.cc
src/tools/immutable_object_cache/CacheServer.h
src/tools/immutable_object_cache/CacheSession.cc
src/tools/immutable_object_cache/CacheSession.h
src/tools/immutable_object_cache/Types.h

index c56f98931ecc2e5c708b86d49716a18c5c556e56..4af248f842e01d2e797be14eb8da28ad3f46f62c 100644 (file)
@@ -18,7 +18,6 @@ namespace immutable_obj_cache {
       m_io_thread(nullptr), m_session_work(false), m_writing(false),
       m_reading(false), m_sequence_id(0),
       m_lock("ceph::cache::cacheclient::m_lock") {
-    // TODO(dehao) : configure it.
     m_worker_thread_num =
       m_cct->_conf.get_val<uint64_t>(
         "immutable_object_cache_client_dedicated_thread_num");
index 4e406bd54c0cc5e32e93a1e0d7e5a6e4cefd4e7b..70146008d7f3b759a88b52120d0ba9eedfda6aae 100644 (file)
@@ -71,7 +71,8 @@ void CacheController::run() {
     std::remove(controller_path.c_str());
 
     m_cache_server = new CacheServer(m_cct, controller_path,
-      ([&](CacheSession* p, ObjectCacheRequest* s){handle_request(p, s);}));
+      std::bind(&CacheController::handle_request, this,
+                std::placeholders::_1, std::placeholders::_2));
 
     int ret = m_cache_server->run();
     if (ret != 0) {
@@ -98,7 +99,8 @@ void CacheController::handle_request(CacheSession* session,
     case RBDSC_READ: {
       // lookup object in local cache store
       std::string cache_path;
-      ObjectCacheReadData* req_read_data = (ObjectCacheReadData*)req;
+      ObjectCacheReadData* req_read_data =
+        reinterpret_cast <ObjectCacheReadData*> (req);
       int ret = m_object_cache_store->lookup_object(
         req_read_data->pool_namespace, req_read_data->pool_id,
         req_read_data->snap_id, req_read_data->oid, cache_path);
index 6c46b37b207a632e4cdca8c6e6b578fa3eab8af6..bdb5c8e63fc66ddf77285af6b80004b4f0e14697 100644 (file)
@@ -25,7 +25,6 @@ class CacheController {
 
   void run();
 
-  void handle_request(uint64_t sesstion_id, ObjectCacheRequest* msg);
   void handle_request(CacheSession* session, ObjectCacheRequest* msg);
 
  private:
index d6fecb079d4e306f5d61ecdc9bb28e09bd846539..7e68d7e875159807acf238275ca1bfd23ee005be 100644 (file)
@@ -76,7 +76,7 @@ int CacheServer::start_accept() {
 void CacheServer::accept() {
   CacheSessionPtr new_session = nullptr;
 
-  new_session.reset(new CacheSession(m_session_id, m_io_service,
+  new_session.reset(new CacheSession(m_io_service,
                     m_server_process_msg, cct));
 
   m_acceptor.async_accept(new_session->socket(),
@@ -93,10 +93,8 @@ void CacheServer::handle_accept(CacheSessionPtr new_session,
     return;
   }
 
-  m_session_map.emplace(m_session_id, new_session);
   // TODO(dehao) : session setting
   new_session->start();
-  m_session_id++;
 
   // lanuch next accept
   accept();
index 045669921786a3f2d8e968cf640881fa0e554776..31d8599340d588d5750f5f4a15f1dd18a860112e 100644 (file)
@@ -37,8 +37,6 @@ class CacheServer {
   ProcessMsg m_server_process_msg;
   stream_protocol::endpoint m_local_path;
   stream_protocol::acceptor m_acceptor;
-  uint64_t m_session_id = 1;
-  std::map<uint64_t, CacheSessionPtr> m_session_map;
 };
 
 }  // namespace immutable_obj_cache
index e567f43a7c60e7b670ad6591a1220717589d3443..c5ec0342878e332e07aa626ff67ed98fb7d85d83 100644 (file)
 namespace ceph {
 namespace immutable_obj_cache {
 
-CacheSession::CacheSession(uint64_t session_id, io_service& io_service,
-                           ProcessMsg processmsg, CephContext* cct)
-    : m_session_id(session_id), m_dm_socket(io_service),
-      m_server_process_msg(processmsg), cct(cct) {
+CacheSession::CacheSession(io_service& io_service,
+                           ProcessMsg processmsg,
+                           CephContext* cct)
+    : m_dm_socket(io_service),
+      m_server_process_msg(processmsg), m_cct(cct) {
   m_bp_header = buffer::create(get_header_size());
 }
 
@@ -35,7 +36,7 @@ void CacheSession::close() {
     boost::system::error_code close_ec;
     m_dm_socket.close(close_ec);
     if (close_ec) {
-       ldout(cct, 20) << "close: " << close_ec.message() << dendl;
+       ldout(m_cct, 20) << "close: " << close_ec.message() << dendl;
     }
   }
 }
@@ -45,7 +46,7 @@ void CacheSession::start() {
 }
 
 void CacheSession::read_request_header() {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   boost::asio::async_read(m_dm_socket,
     boost::asio::buffer(m_bp_header.c_str(), get_header_size()),
     boost::asio::transfer_exactly(get_header_size()),
@@ -56,7 +57,7 @@ void CacheSession::read_request_header() {
 
 void CacheSession::handle_request_header(const boost::system::error_code& err,
                                          size_t bytes_transferred) {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   if (err || bytes_transferred != get_header_size()) {
     fault();
     return;
@@ -66,7 +67,7 @@ void CacheSession::handle_request_header(const boost::system::error_code& err,
 }
 
 void CacheSession::read_request_data(uint64_t data_len) {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   bufferptr bp_data(buffer::create(data_len));
   boost::asio::async_read(m_dm_socket,
     boost::asio::buffer(bp_data.c_str(), bp_data.length()),
@@ -80,7 +81,7 @@ void CacheSession::read_request_data(uint64_t data_len) {
 void CacheSession::handle_request_data(bufferptr bp, uint64_t data_len,
                                       const boost::system::error_code& err,
                                       size_t bytes_transferred) {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   if (err || bytes_transferred != data_len) {
     fault();
     return;
@@ -98,12 +99,12 @@ void CacheSession::handle_request_data(bufferptr bp, uint64_t data_len,
 }
 
 void CacheSession::process(ObjectCacheRequest* req) {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   m_server_process_msg(this, req);
 }
 
 void CacheSession::send(ObjectCacheRequest* reply) {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   bufferlist bl;
   reply->encode();
   bl.append(reply->get_payload_bufferlist());
@@ -113,16 +114,16 @@ void CacheSession::send(ObjectCacheRequest* reply) {
         boost::asio::transfer_exactly(bl.length()),
         [this, bl, reply](const boost::system::error_code& err,
           size_t bytes_transferred) {
+          delete reply;
           if (err || bytes_transferred != bl.length()) {
             fault();
             return;
           }
-          delete reply;
         });
 }
 
 void CacheSession::fault() {
-  ldout(cct, 20) << dendl;
+  ldout(m_cct, 20) << dendl;
   // TODO(dehao)
 }
 
index 36bd5dbaad9f9120300bd9071b99ad6a67f667c0..2e66aa83f351d73fd62478cda6c70003c57f2ea1 100644 (file)
@@ -19,8 +19,8 @@ namespace immutable_obj_cache {
 
 class CacheSession : public std::enable_shared_from_this<CacheSession> {
  public:
-  CacheSession(uint64_t session_id, io_service& io_service,
-               ProcessMsg process_msg, CephContext* ctx);
+  CacheSession(io_service& io_service, ProcessMsg process_msg,
+                CephContext* ctx);
   ~CacheSession();
   stream_protocol::socket& socket();
   void close();
@@ -37,10 +37,9 @@ class CacheSession : public std::enable_shared_from_this<CacheSession> {
   void send(ObjectCacheRequest* msg);
 
  private:
-  uint64_t m_session_id;
   stream_protocol::socket m_dm_socket;
   ProcessMsg m_server_process_msg;
-  CephContext* cct;
+  CephContext* m_cct;
 
   bufferptr m_bp_header;
 };
index 470f764e0b54417599fa81c6685d06efe7e156a2..fb2ef13f4da62bff66f04d0c7d36b9e927e3ced0 100644 (file)
@@ -23,7 +23,7 @@ inline uint8_t get_header_size() {
 }
 
 inline uint32_t get_data_len(char* buf) {
-  HeaderHelper* header = (HeaderHelper*)buf;
+  HeaderHelper* header = reinterpret_cast<HeaderHelper*>(buf);
   return header->len;
 }
 }  //  namespace