63 lines
1.7 KiB
C++
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 */
|
|
|