This is part of the generic interface, not specific to the implementation.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
CEPH_FEATURE_PGID64;
uint64_t required =
CEPH_FEATURE_OSDREPLYMUX;
- messenger->set_default_policy(SimpleMessenger::Policy::client(supported, required));
+ messenger->set_default_policy(Messenger::Policy::client(supported, required));
messenger->set_policy(entity_name_t::TYPE_MON,
- SimpleMessenger::Policy::client(supported,
- CEPH_FEATURE_UID |
- CEPH_FEATURE_PGID64));
+ Messenger::Policy::client(supported,
+ CEPH_FEATURE_UID |
+ CEPH_FEATURE_PGID64));
messenger->set_policy(entity_name_t::TYPE_MDS,
- SimpleMessenger::Policy::lossless_peer(supported,
- CEPH_FEATURE_UID));
+ Messenger::Policy::lossless_peer(supported,
+ CEPH_FEATURE_UID));
messenger->set_policy(entity_name_t::TYPE_CLIENT,
- SimpleMessenger::Policy::stateful_server(supported, 0));
+ Messenger::Policy::stateful_server(supported, 0));
if (shadow != MDSMap::STATE_ONESHOT_REPLAY)
global_init_daemonize(g_ceph_context, 0);
CEPH_FEATURE_NOSRCADDR |
CEPH_FEATURE_MONCLOCKCHECK |
CEPH_FEATURE_PGID64;
- messenger->set_default_policy(SimpleMessenger::Policy::stateless_server(supported, 0));
+ messenger->set_default_policy(Messenger::Policy::stateless_server(supported, 0));
messenger->set_policy(entity_name_t::TYPE_MON,
- SimpleMessenger::Policy::lossless_peer(supported,
- CEPH_FEATURE_UID |
- CEPH_FEATURE_PGID64));
+ Messenger::Policy::lossless_peer(supported,
+ CEPH_FEATURE_UID |
+ CEPH_FEATURE_PGID64));
messenger->set_policy(entity_name_t::TYPE_OSD,
- SimpleMessenger::Policy::stateless_server(supported,
- CEPH_FEATURE_PGID64 |
- CEPH_FEATURE_OSDENC));
+ Messenger::Policy::stateless_server(supported,
+ CEPH_FEATURE_PGID64 |
+ CEPH_FEATURE_OSDENC));
mon->init();
messenger->wait();
CEPH_FEATURE_NOSRCADDR |
CEPH_FEATURE_PGID64;
- client_messenger->set_default_policy(SimpleMessenger::Policy::stateless_server(supported, 0));
+ client_messenger->set_default_policy(Messenger::Policy::stateless_server(supported, 0));
client_messenger->set_policy(entity_name_t::TYPE_CLIENT,
- SimpleMessenger::Policy::stateless_server(supported, 0));
+ Messenger::Policy::stateless_server(supported, 0));
client_messenger->set_policy_throttler(entity_name_t::TYPE_CLIENT, &client_throttler);
client_messenger->set_policy(entity_name_t::TYPE_MON,
- SimpleMessenger::Policy::client(supported,
- CEPH_FEATURE_UID |
- CEPH_FEATURE_PGID64 |
- CEPH_FEATURE_OSDENC));
+ Messenger::Policy::client(supported,
+ CEPH_FEATURE_UID |
+ CEPH_FEATURE_PGID64 |
+ CEPH_FEATURE_OSDENC));
//try to poison pill any OSD connections on the wrong address
client_messenger->set_policy(entity_name_t::TYPE_OSD,
- SimpleMessenger::Policy::stateless_server(0,0));
-
- cluster_messenger->set_default_policy(SimpleMessenger::Policy::stateless_server(0, 0));
- cluster_messenger->set_policy(entity_name_t::TYPE_MON, SimpleMessenger::Policy::client(0,0));
+ Messenger::Policy::stateless_server(0,0));
+
+ cluster_messenger->set_default_policy(Messenger::Policy::stateless_server(0, 0));
+ cluster_messenger->set_policy(entity_name_t::TYPE_MON, Messenger::Policy::client(0,0));
cluster_messenger->set_policy(entity_name_t::TYPE_OSD,
- SimpleMessenger::Policy::lossless_peer(supported,
- CEPH_FEATURE_UID |
- CEPH_FEATURE_PGID64 |
- CEPH_FEATURE_OSDENC));
+ Messenger::Policy::lossless_peer(supported,
+ CEPH_FEATURE_UID |
+ CEPH_FEATURE_PGID64 |
+ CEPH_FEATURE_OSDENC));
cluster_messenger->set_policy(entity_name_t::TYPE_CLIENT,
- SimpleMessenger::Policy::stateless_server(0, 0));
+ Messenger::Policy::stateless_server(0, 0));
// Set up crypto, daemonize, etc.
// Leave stderr open in case we need to report errors.
// require OSDREPLYMUX feature. this means we will fail to talk to
// old servers. this is necessary because otherwise we won't know
// how to decompose the reply data into its consituent pieces.
- messenger->set_default_policy(SimpleMessenger::Policy::client(0, CEPH_FEATURE_OSDREPLYMUX));
+ messenger->set_default_policy(Messenger::Policy::client(0, CEPH_FEATURE_OSDREPLYMUX));
ldout(cct, 1) << "starting msgr at " << messenger->get_ms_addr() << dendl;
#include "common/Cond.h"
#include "include/Context.h"
#include "include/types.h"
+#include "include/ceph_features.h"
#include <errno.h>
#include <sstream>
class Messenger {
+public:
+ struct Policy {
+ bool lossy;
+ bool server;
+ Throttle *throttler;
+
+ uint64_t features_supported;
+ uint64_t features_required;
+
+ Policy()
+ : lossy(false), server(false), throttler(NULL),
+ features_supported(CEPH_FEATURES_SUPPORTED_DEFAULT),
+ features_required(0) {}
+ Policy(bool l, bool s, uint64_t sup, uint64_t req)
+ : lossy(l), server(s), throttler(NULL),
+ features_supported(sup | CEPH_FEATURES_SUPPORTED_DEFAULT),
+ features_required(req) {}
+
+ static Policy stateful_server(uint64_t sup, uint64_t req) {
+ return Policy(false, true, sup, req);
+ }
+ static Policy stateless_server(uint64_t sup, uint64_t req) {
+ return Policy(true, true, sup, req);
+ }
+ static Policy lossless_peer(uint64_t sup, uint64_t req) {
+ return Policy(false, false, sup, req);
+ }
+ static Policy client(uint64_t sup, uint64_t req) {
+ return Policy(false, false, sup, req);
+ }
+ };
+
+
private:
list<Dispatcher*> dispatchers;
#include "include/types.h"
#include "include/xlist.h"
-#include "include/ceph_features.h"
#include <list>
#include <map>
*/
class SimpleMessenger : public Messenger {
-public:
- struct Policy {
- bool lossy;
- bool server;
- Throttle *throttler;
-
- uint64_t features_supported;
- uint64_t features_required;
-
- Policy() :
- lossy(false), server(false), throttler(NULL),
- features_supported(CEPH_FEATURES_SUPPORTED_DEFAULT),
- features_required(0) {}
- Policy(bool l, bool s, uint64_t sup, uint64_t req) :
- lossy(l), server(s), throttler(NULL),
- features_supported(sup | CEPH_FEATURES_SUPPORTED_DEFAULT),
- features_required(req) {}
-
- static Policy stateful_server(uint64_t sup, uint64_t req) { return Policy(false, true, sup, req); }
- static Policy stateless_server(uint64_t sup, uint64_t req) { return Policy(true, true, sup, req); }
- static Policy lossless_peer(uint64_t sup, uint64_t req) { return Policy(false, false, sup, req); }
- static Policy client(uint64_t sup, uint64_t req) { return Policy(false, false, sup, req); }
- };
-
-
public:
void sigint();