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

63 lines
1.7 KiB
C++

/*
* File: RejoinAnnounce.h
* Author: gschneid
*
* Created on September 26, 2012, 2:34 PM
*/
#pragma once
#ifndef REJOINANNOUNCE_H
#define REJOINANNOUNCE_H
#include "common/Platform.h"
#include "app/PeerDescription.h"
#include "common/Defines.h"
#include "common/transport/TransportAddress.h"
#include "common/transport/msg/ExteriorMessage.h"
#include "ms/MemberDescription.h"
#include "mt/msg/MulticastMessage.h"
namespace ubeeme {
namespace moversight {
/**
* @brief Defines a rejoin announce announce message, used to signal the other members of the secondary group about the ongoing rejoin.
* @class RejoinAnnounce
* @author Grit Schneider, Robert Noack
* @ingroup Moversight
*/
class RejoinAnnounce : public MulticastMessage {
public:
RejoinAnnounce();
RejoinAnnounce( const RejoinAnnounce & other);
virtual ~RejoinAnnounce();
RejoinAnnounce * dup() const;
RejoinAnnounce & operator=(const RejoinAnnounce& other);
void handleReceive(Dispatcher & dis);
void handleDeliver(Dispatcher & dis, const PeerIDList & missedPeers);
const PeerID& getReReachablePeerID() const;
void setReReachablePeer( const PeerID& pID);
const PeerIDList& getReachablePeers() const;
void setReachablePeers( const PeerIDList& pIDList);
const PeerIDList& getDisjoinedPeers() const;
void setDisjoinedPeers( const PeerIDList& pIDList);
virtual void set(Archive& archive);
private:
PeerID reReachablePeer;
PeerIDList reachablePeers;
PeerIDList disjoinedPeers;
};
}
}
#endif /* REJOINANNOUNCE_H */