Files
2014-06-30 13:58:10 +02:00

66 lines
1.7 KiB
C++

/*
* File: RejoinRoster.h
* Author: gschneid
*
* Created on October 10, 2012, 5:41 PM
*/
#pragma once
#ifndef REJOINROSTER_H
#define REJOINROSTER_H
#include "common/transport/msg/ExteriorMessage.h"
#include "ms/MemberDescription.h"
#include "ms/MemberDescriptionList.h"
#include "common/container/PeerIDList.h"
namespace ubeeme {
namespace moversight {
class Dispatcher;
/**
* @brief A rejoinRoster send the needed information about the rejoining group to the other partition.
* @class RejoinRoster
* @author Grit Schneider, Robert Noack
*/
class RejoinRoster : public ExteriorMessage {
public:
RejoinRoster();
RejoinRoster(const RejoinRoster& other);
virtual ~RejoinRoster();
RejoinRoster * dup() const;
RejoinRoster & operator=(const RejoinRoster& other);
virtual void handleReceive(Dispatcher & dis);
// field getter/setter methods
const ViewID& getViewID() const;
void setViewID(const ViewID& nextViewID);
const PeerID& getNextPeerID() const;
void setNextPeerID(const PeerID& nextPeerID);
void setMemberDescriptionList(const MemberDescriptionList & descList);
const MemberDescriptionList & getMemberDescriptionList() const;
const PeerIDList& getDisconnectedPeers() const;
void setDisconnectedPeers( const PeerIDList& disPeers);
virtual void set(Archive & archive);
private:
ViewID viewID;
PeerID nextPeerID;
PeerIDList disconnectedPeers;
MemberDescriptionList mDescList;
};
}
}
#endif /* REJOINROSTER_H */