Files
scandocs/uni/masterarbeit/source/moversight/mob/msg/RejoinRosterAnnounce.h
2014-06-30 13:58:10 +02:00

70 lines
2.0 KiB
C++

/*
* File: RejoinRosterAnnounce.h
* Author: gschneid
*
* Created on December 28, 2012, 3:29 PM
*/
#pragma once
#ifndef REJOINROSTERANNOUNCE_H
#define REJOINROSTERANNOUNCE_H
#include "common/Platform.h"
#include "common/Defines.h"
#include "common/container/PeerIDList.h"
#include "ms/MemberDescription.h"
#include "ms/MemberDescriptionList.h"
#include "mt/msg/MulticastMessage.h"
namespace ubeeme {
namespace moversight {
class Dispatcher;
/**
* @brief A rejoinRosterAnnounce is used in the secondary partition to inform
* every member about the needed update of the memberRegister.
* @class RejoinRosterAnnounce
* @author Grit Schneider, Robert Noack
*/
class RejoinRosterAnnounce : public MulticastMessage {
public:
RejoinRosterAnnounce();
RejoinRosterAnnounce(const RejoinRosterAnnounce & other);
virtual ~RejoinRosterAnnounce();
RejoinRosterAnnounce * dup() const;
RejoinRosterAnnounce & operator=(const RejoinRosterAnnounce & other);
void handleReceive(Dispatcher & dis);
void handleDeliver(Dispatcher & dis, const PeerIDList & missedPeers);
// field getter/setter methods
const ViewID& getNewViewID() const;
void setNewViewID(const ViewID& newViewID);
const PeerID& getNextPeerID() const;
void setNextPeerID(const PeerID& nextPeerID);
const MemberDescriptionList& getMemberDescriptionList() const;
void setMemberDescriptionList( const MemberDescriptionList& descList);
const PeerIDList& getDisconnectedPeers() const;
void setDisconnectedPeers( const PeerIDList& disPeers);
virtual void set(Archive & archive);
private:
ViewID newViewID;
PeerID nextPeerID;
PeerIDList disconnectedPeers;
MemberDescriptionList mDescList;
};
}
}
#endif /* REJOINROSTERANNOUNCE_H */