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

72 lines
1.7 KiB
C++

/*
* File: RejoinTimer.h
* Author: gschneid
* Author: jgaebler
*
* Created on August 27, 2012, 2:26 PM
*/
#pragma once
#ifndef REJOINTIMER_H
#define REJOINTIMER_H
#include "common/timer/MoversightTimer.h"
#include "common/container/PeerIDList.h"
#include "ms/MemberRegister.h"
namespace ubeeme {
namespace moversight {
class MobilitySupport;
/**
* @class RejoinTimer
* @brief Timer to monitor the rejoin after a partition was detected.
* @author Grit Schneider
* @author Jan Gäbler
* @ingroup Moversight
*/
class RejoinTimer: public MoversightTimer {
public:
RejoinTimer(MobilitySupport & aMob);
RejoinTimer(const RejoinTimer & other);
virtual ~RejoinTimer();
RejoinTimer & operator=(const RejoinTimer & other);
virtual void timeout();
RejoinTimer* dup();
void setSecondaryPeerIDList(PeerIDList pIDList);
PeerIDList getSecondaryPeerIDList();
void removeSecondaryPeer(PeerID pId);
void setDisconnectedPeers(PeerIDList pIDList);
void addDisconnectedPeer(PeerID pID);
PeerIDList getDisconnectedPeers();
void saveCurrentMRToOriginalMR();
void setOriginalMR(const MemberRegister & mr);
MemberRegister & getOriginalMR();
void setReachablePeerID(PeerID pID);
PeerID getReachablePeerID();
bool needToResetMR();
void setResetMR(bool value);
private:
MemberRegister originalMR;
MobilitySupport & mob;
};
}
}
#endif /* REJOINTIMER_H */