X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fmessages%2FMMonPaxos.h;fp=src%2Fceph%2Fsrc%2Fmessages%2FMMonPaxos.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=8a5e4f9341613fcd69dc3a47ed6d2ea0cd5aa069;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/messages/MMonPaxos.h b/src/ceph/src/messages/MMonPaxos.h deleted file mode 100644 index 8a5e4f9..0000000 --- a/src/ceph/src/messages/MMonPaxos.h +++ /dev/null @@ -1,130 +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_MMONPAXOS_H -#define CEPH_MMONPAXOS_H - -#include "messages/PaxosServiceMessage.h" -#include "mon/mon_types.h" -#include "include/ceph_features.h" - -class MMonPaxos : public Message { - - static const int HEAD_VERSION = 4; - static const int COMPAT_VERSION = 3; - - public: - // op types - const static int OP_COLLECT = 1; // proposer: propose round - const static int OP_LAST = 2; // voter: accept proposed round - const static int OP_BEGIN = 3; // proposer: value proposed for this round - const static int OP_ACCEPT = 4; // voter: accept propsed value - const static int OP_COMMIT = 5; // proposer: notify learners of agreed value - const static int OP_LEASE = 6; // leader: extend peon lease - const static int OP_LEASE_ACK = 7; // peon: lease ack - const static char *get_opname(int op) { - switch (op) { - case OP_COLLECT: return "collect"; - case OP_LAST: return "last"; - case OP_BEGIN: return "begin"; - case OP_ACCEPT: return "accept"; - case OP_COMMIT: return "commit"; - case OP_LEASE: return "lease"; - case OP_LEASE_ACK: return "lease_ack"; - default: ceph_abort(); return 0; - } - } - - epoch_t epoch = 0; // monitor epoch - __s32 op = 0; // paxos op - - version_t first_committed = 0; // i've committed to - version_t last_committed = 0; // i've committed to - version_t pn_from = 0; // i promise to accept after - version_t pn = 0; // with with proposal - version_t uncommitted_pn = 0; // previous pn, if we are a LAST with an uncommitted value - utime_t lease_timestamp; - utime_t sent_timestamp; - - version_t latest_version = 0; - bufferlist latest_value; - - map values; - - bufferlist feature_map; - - MMonPaxos() : Message(MSG_MON_PAXOS, HEAD_VERSION, COMPAT_VERSION) { } - MMonPaxos(epoch_t e, int o, utime_t now) : - Message(MSG_MON_PAXOS, HEAD_VERSION, COMPAT_VERSION), - epoch(e), - op(o), - first_committed(0), last_committed(0), pn_from(0), pn(0), uncommitted_pn(0), - sent_timestamp(now), - latest_version(0) { - } - -private: - ~MMonPaxos() override {} - -public: - const char *get_type_name() const override { return "paxos"; } - - void print(ostream& out) const override { - out << "paxos(" << get_opname(op) - << " lc " << last_committed - << " fc " << first_committed - << " pn " << pn << " opn " << uncommitted_pn; - if (latest_version) - out << " latest " << latest_version << " (" << latest_value.length() << " bytes)"; - out << ")"; - } - - void encode_payload(uint64_t features) override { - header.version = HEAD_VERSION; - ::encode(epoch, payload); - ::encode(op, payload); - ::encode(first_committed, payload); - ::encode(last_committed, payload); - ::encode(pn_from, payload); - ::encode(pn, payload); - ::encode(uncommitted_pn, payload); - ::encode(lease_timestamp, payload); - ::encode(sent_timestamp, payload); - ::encode(latest_version, payload); - ::encode(latest_value, payload); - ::encode(values, payload); - ::encode(feature_map, payload); - } - void decode_payload() override { - bufferlist::iterator p = payload.begin(); - ::decode(epoch, p); - ::decode(op, p); - ::decode(first_committed, p); - ::decode(last_committed, p); - ::decode(pn_from, p); - ::decode(pn, p); - ::decode(uncommitted_pn, p); - ::decode(lease_timestamp, p); - ::decode(sent_timestamp, p); - ::decode(latest_version, p); - ::decode(latest_value, p); - ::decode(values, p); - if (header.version >= 4) { - ::decode(feature_map, p); - } - } -}; - -#endif