]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: deliver resets to all dispatchers; make naming consistent
authorSage Weil <sage@newdream.net>
Mon, 31 Aug 2009 21:12:58 +0000 (14:12 -0700)
committerSage Weil <sage@newdream.net>
Mon, 31 Aug 2009 21:12:58 +0000 (14:12 -0700)
19 files changed:
src/ceph.cc
src/client/Client.cc
src/client/Client.h
src/common/LogClient.cc
src/common/LogClient.h
src/dumpjournal.cc
src/librados.cc
src/mds/MDS.cc
src/mds/MDS.h
src/mon/MonClient.cc
src/mon/MonClient.h
src/mon/Monitor.cc
src/mon/Monitor.h
src/msg/Dispatcher.h
src/msg/Messenger.h
src/msg/SimpleMessenger.cc
src/osd/OSD.cc
src/osd/OSD.h
src/testmsgr.cc

index 117db544a8ef0790e7613eb55fad57681466c98d..f336a2a16a0cfaac8eb6adac30a8e61f2cb799c1 100644 (file)
@@ -336,7 +336,7 @@ void handle_ack(MMonCommandAck *ack)
 }
 
 class Admin : public Dispatcher {
-  bool dispatch_impl(Message *m) {
+  bool ms_dispatch(Message *m) {
     switch (m->get_type()) {
     case MSG_MON_COMMAND_ACK:
       handle_ack((MMonCommandAck*)m);
index dfbf568f2847b2f565f4e701bcb7e90077d5d086..bdf15642be0c5dd99c8a2e477598a86b814e6781 100644 (file)
@@ -1085,7 +1085,7 @@ void Client::handle_client_reply(MClientReply *reply)
 // ------------------------
 // incoming messages
 
-bool Client::dispatch_impl(Message *m)
+bool Client::ms_dispatch(Message *m)
 {
   client_lock.Lock();
 
index 6552c12593e74bc538b3effc25e2cea6cf163b7f..059482326368aeb13a87ab07328b3b24dcbe6fc5 100644 (file)
@@ -967,7 +967,7 @@ protected:
 
   // friends
   friend class SyntheticClient;
-  bool dispatch_impl(Message *m);
+  bool ms_dispatch(Message *m);
 
  public:
   Client(Messenger *m, MonClient *mc);
index 039feb1c60df56c5aeab3b6dc521e9b35311ac01..f42de364afab3fa3114228c1bd5edc5f943a6d73 100644 (file)
@@ -102,7 +102,7 @@ void LogClient::handle_log_ack(MLogAck *m)
   delete m;
 }
 
-bool LogClient::dispatch_impl(Message *m)
+bool LogClient::ms_dispatch(Message *m)
 {
   dout(20) << "dispatch " << m << dendl;
 
index caa93114917d08e6633e5082fba937230c07a6c5..4ecf66d82a1c1567f4a8d4d6eec89513fc30e089 100644 (file)
@@ -32,7 +32,7 @@ class LogClient : public Dispatcher {
   Messenger *messenger;
   MonMap *monmap;
 
-  bool dispatch_impl(Message *m);
+  bool ms_dispatch(Message *m);
   bool is_synchronous;
   void _send_log();
 
index 5906565f1f5594993c0c2c53e9552395d44ec079..c6d9895bd1c3da63190964c82e197ede39f18174 100644 (file)
@@ -49,7 +49,7 @@ Objecter *objecter = 0;
 Journaler *journaler = 0;
 
 class Dumper : public Dispatcher {
-  bool dispatch_impl(Message *m) {
+  bool ms_dispatch(Message *m) {
     switch (m->get_type()) {
     case CEPH_MSG_OSD_OPREPLY:
       objecter->handle_osd_op_reply((MOSDOpReply *)m);
index de5c224ec6e3bc1a7f5aaed27acda4ecabc11ab9..4ee02c41f80cfd4f49513f89353703638d69fdae 100644 (file)
@@ -57,7 +57,7 @@ class RadosClient : public Dispatcher
   SimpleMessenger rank;
 
   bool _dispatch(Message *m);
-  bool dispatch_impl(Message *m);
+  bool ms_dispatch(Message *m);
 
   Objecter *objecter;
 
@@ -335,7 +335,7 @@ RadosClient::~RadosClient()
 }
 
 
-bool RadosClient::dispatch_impl(Message *m)
+bool RadosClient::ms_dispatch(Message *m)
 {
   bool ret;
 
index fb1efddd429b995db6cb2cfb64b477f6fea05a9d..452e4b935fcae5d2cbe8dc384804fff8ac0a3bdc 100644 (file)
@@ -1146,7 +1146,7 @@ void MDS::suicide()
 
 
 
-bool MDS::dispatch_impl(Message *m)
+bool MDS::ms_dispatch(Message *m)
 {
   bool ret;
 
index 57a1d20021f4624a9b69436a466b817203adff8d..d3e9a94b458c836f5eadc38f3d157510fb20daae 100644 (file)
@@ -303,7 +303,7 @@ class MDS : public Dispatcher {
   int get_req_rate() { return req_rate; }
 
  private:
-  virtual bool dispatch_impl(Message *m);
+  virtual bool ms_dispatch(Message *m);
  public:
   MDS(const char *n, Messenger *m, MonClient *mc);
   ~MDS();
index 7a5e0dbf58a28d809a1083fdeb178d278f2c41a5..44022424efb033b2b15146e4ad85d0aa2aeba796 100644 (file)
@@ -150,7 +150,7 @@ int MonClient::get_monmap()
 }
 
 
-bool MonClient::dispatch_impl(Message *m)
+bool MonClient::ms_dispatch(Message *m)
 {
   dout(10) << "dispatch " << *m << dendl;
 
index b658db4fde8daa8eee4b0103a3293ddf7459fb04..8ed4054c9b81e4a106ab9c642e0bb4e02d80b051 100644 (file)
@@ -45,7 +45,7 @@ private:
   int mounters;
   Cond mount_cond, map_cond;
 
-  bool dispatch_impl(Message *m);
+  bool ms_dispatch(Message *m);
   void handle_monmap(MMonMap *m);
 
   void ms_handle_reset(const entity_addr_t& peer);
index 59b76809dd552dbe9d2c5095496c6c62f6a89139..360fcc55328890f08eb0a4badb0b7d9dff331eba 100644 (file)
@@ -354,7 +354,7 @@ void Monitor::stop_cluster()
 }
 
 
-bool Monitor::dispatch_impl(Message *m)
+bool Monitor::ms_dispatch(Message *m)
 {
   // verify protocol version
   if (m->get_orig_source().is_mon() &&
index 192f9c593fa7aa5a973a1efc208c812f4ac0e6e6..09d26ffd0b60d12c5617f6b1d5731b051d1f7cb1 100644 (file)
@@ -166,7 +166,7 @@ public:
   };
 
  private:
-  bool dispatch_impl(Message *m);
+  bool ms_dispatch(Message *m);
 
  public:
   Monitor(int w, MonitorStore *s, Messenger *m, MonMap *map);
index 3f06a54e7afef10915ccc864bad540bb316e1b2a..da7298a94bf8f38d7fe20bf1a116317fff24359f 100644 (file)
@@ -25,18 +25,18 @@ class Dispatcher {
   Dispatcher *next;
 
   // how i receive messages
-  virtual bool dispatch_impl(Message *m) = 0;
-  bool _dispatch(Message *m) {
+  virtual bool ms_dispatch(Message *m) = 0;
+  bool _ms_deliver_dispatch(Message *m) {
     bool ret = false;
     if (next)
-      ret = next->_dispatch(m);
+      ret = next->_ms_deliver_dispatch(m);
     if (!ret)
-      ret = dispatch_impl(m);
+      ret = ms_dispatch(m);
     return ret;
   }
 public:
-  virtual void dispatch(Message *m) {
-    if (!_dispatch(m)) {
+  void ms_deliver_dispatch(Message *m) {
+    if (!_ms_deliver_dispatch(m)) {
       generic_dout(0) << "unhandled message " << m << " " << *m
                      << " from " << m->get_orig_source_inst()
                      << dendl;
@@ -44,6 +44,23 @@ public:
     }
   }
 
+  void ms_deliver_handle_reset(const entity_addr_t& peer) {
+    ms_handle_reset(peer);
+    if (next)
+      next->ms_handle_reset(peer);
+  }
+  void ms_deliver_handle_remote_reset(const entity_addr_t& peer) {
+    ms_handle_remote_reset(peer);
+    if (next)
+      next->ms_handle_remote_reset(peer);
+  }
+  void ms_deliver_handle_failure(Message *m, const entity_addr_t& peer) {
+    ms_handle_failure(m, peer);
+    if (next)
+      next->ms_handle_failure(m, peer);
+  }
+
+
 public:
   virtual ~Dispatcher() { }
   Dispatcher() : next(NULL) { }
index 8d28ebc5fdc699e3623a989d3fd90f15204f0747..e37e4df701c1a5ba3158065bdb7f6e28b8598926 100644 (file)
@@ -91,7 +91,7 @@ protected:
   // dispatch incoming messages
   virtual void dispatch(Message *m) {
     assert(dispatcher);
-    dispatcher->dispatch(m);
+    dispatcher->ms_deliver_dispatch(m);
   }
 
   // shutdown
index 26850796f58654ab26b825dcdbfd114cd4cf2b79..6f960b7f0cd74784894507bd7001441b0f41d241 100644 (file)
@@ -289,20 +289,20 @@ void SimpleMessenger::Endpoint::dispatch_entry()
            entity_addr_t a = remote_reset_q.front();
            remote_reset_q.pop_front();
            lock.Unlock();
-           get_dispatcher()->ms_handle_remote_reset(a);
+           get_dispatcher()->ms_deliver_handle_remote_reset(a);
          } else if ((long)m == BAD_RESET) {
            lock.Lock();
            entity_addr_t a = reset_q.front();
            reset_q.pop_front();
            lock.Unlock();
-           get_dispatcher()->ms_handle_reset(a);
+           get_dispatcher()->ms_deliver_handle_reset(a);
          } else if ((long)m == BAD_FAILED) {
            lock.Lock();
            m = failed_q.front().first;
            entity_addr_t a = failed_q.front().second;
            failed_q.pop_front();
            lock.Unlock();
-           get_dispatcher()->ms_handle_failure(m, a);
+           get_dispatcher()->ms_deliver_handle_failure(m, a);
            m->put();
          } else {
            dout(1) << "<== " << m->get_source_inst()
index 7ec176d823551fe9a5849759d843f56876a2a134..88c6bd1edc979032bd00080687dee4619b852e7a 100644 (file)
@@ -1476,7 +1476,7 @@ bool OSD::heartbeat_dispatch(Message *m)
   return true;
 }
 
-bool OSD::dispatch_impl(Message *m)
+bool OSD::ms_dispatch(Message *m)
 {
   // verify protocol version
   if (m->get_orig_source().is_osd() &&
index 1490d15a762765c517af9e436e1e8aaa944ed11c..b9052abf89687b976d36133d231f01b18e2ea8b2 100644 (file)
@@ -204,7 +204,7 @@ public:
 
   struct HeartbeatDispatcher : public Dispatcher {
   private:
-    bool dispatch_impl(Message *m) {
+    bool ms_dispatch(Message *m) {
       return osd->heartbeat_dispatch(m);
     };
   public:
@@ -812,7 +812,7 @@ protected:
   } remove_wq;
 
  private:
-  virtual bool dispatch_impl(Message *m);
+  virtual bool ms_dispatch(Message *m);
  public:
   OSD(int id, Messenger *m, Messenger *hbm, MonClient *mc, const char *dev = 0, const char *jdev = 0);
   ~OSD();
index 9deaccf27169183287f8d7b1e2a882eaeb2d1834..0359881034a50c1bfd3ded2edf0efecebe85f369 100644 (file)
@@ -44,7 +44,7 @@ Cond cond;
 __u64 received = 0;
 
 class Admin : public Dispatcher {
-  bool dispatch_impl(Message *m) {
+  bool ms_dispatch(Message *m) {
 
     //cerr << "got ping from " << m->get_source() << std::endl;
     dout(0) << "got ping from " << m->get_source() << dendl;