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

67 lines
1.9 KiB
C++

/*
* File: ReconnectAnnounce.h
* Author: gschneid
* Author: jgaebler
*
* Created on September 21, 2012, 9:21 AM
*/
#pragma once
#ifndef RECONNECTANNOUNCE_H
#define RECONNECTANNOUNCE_H
#include "common/Platform.h"
#include "app/PeerDescription.h"
#include "common/Defines.h"
#include "common/container/PeerIDToTaMap.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 reconnect announce message, used to signal that a set of peers rejoined the group.
* @class ReconnectAnnounce
* @author Grit Schneider, Jan Gäbler, Robert Noack
* @ingroup Moversight
*/
class ReconnectAnnounce : public MulticastMessage {
public:
ReconnectAnnounce();
ReconnectAnnounce( const ReconnectAnnounce& other);
virtual ~ReconnectAnnounce();
ReconnectAnnounce* dup() const;
ReconnectAnnounce& operator=( const ReconnectAnnounce& other);
void handleReceive( Dispatcher& dis);
void handleDeliver( Dispatcher& dis, const PeerIDList& missedPeers);
// field getter/setter methods
const PeerIDToTaMap& getReconnectedPeers() const;
void setReconnectedPeers( const PeerIDToTaMap& reconnectedPeers);
const PeerIDList& getDisconnectedPeers() const;
void setDisconnectedPeers( const PeerIDList& pIDList);
const PeerID& getReachablePeerID() const;
void setReachablePeerID( const PeerID& reachable);
virtual void set( Archive& archive);
private:
PeerID reachableSecondary;
PeerIDToTaMap reconnectedPeers;
PeerIDList disconnectedPeers;
};
}
}
#endif /* RECONNECTANNOUNCE_H */