X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fmessages%2FMMonSubscribe.h;fp=src%2Fceph%2Fsrc%2Fmessages%2FMMonSubscribe.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=1fee9bb379e925ca567909c9b7b6fffb4b936da9;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/messages/MMonSubscribe.h b/src/ceph/src/messages/MMonSubscribe.h deleted file mode 100644 index 1fee9bb..0000000 --- a/src/ceph/src/messages/MMonSubscribe.h +++ /dev/null @@ -1,96 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2004-2006 Sage Weil - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_MMONSUBSCRIBE_H -#define CEPH_MMONSUBSCRIBE_H - -#include "msg/Message.h" -#include "include/ceph_features.h" - -/* - * compatibility with old crap - */ -struct ceph_mon_subscribe_item_old { - __le64 unused; - __le64 have; - __u8 onetime; -} __attribute__ ((packed)); -WRITE_RAW_ENCODER(ceph_mon_subscribe_item_old) - - -struct MMonSubscribe : public Message { - - static const int HEAD_VERSION = 2; - - map what; - - MMonSubscribe() : Message(CEPH_MSG_MON_SUBSCRIBE, HEAD_VERSION) { } -private: - ~MMonSubscribe() override {} - -public: - void sub_want(const char *w, version_t start, unsigned flags) { - what[w].start = start; - what[w].flags = flags; - } - - const char *get_type_name() const override { return "mon_subscribe"; } - void print(ostream& o) const override { - o << "mon_subscribe(" << what << ")"; - } - - void decode_payload() override { - bufferlist::iterator p = payload.begin(); - if (header.version < 2) { - map oldwhat; - ::decode(oldwhat, p); - what.clear(); - for (map::iterator q = oldwhat.begin(); - q != oldwhat.end(); - q++) { - if (q->second.have) - what[q->first].start = q->second.have + 1; - else - what[q->first].start = 0; - what[q->first].flags = 0; - if (q->second.onetime) - what[q->first].flags |= CEPH_SUBSCRIBE_ONETIME; - } - } else { - ::decode(what, p); - } - } - void encode_payload(uint64_t features) override { - if (features & CEPH_FEATURE_SUBSCRIBE2) { - ::encode(what, payload); - header.version = HEAD_VERSION; - } else { - header.version = 0; - map oldwhat; - for (map::iterator q = what.begin(); - q != what.end(); - q++) { - if (q->second.start) - // warning: start=1 -> have=0, which was ambiguous - oldwhat[q->first].have = q->second.start - 1; - else - oldwhat[q->first].have = 0; - oldwhat[q->first].onetime = q->second.flags & CEPH_SUBSCRIBE_ONETIME; - } - ::encode(oldwhat, payload); - } - } -}; - -#endif