70 lines
2.0 KiB
C++
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 */
|
|
|