67 lines
1.9 KiB
C++
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 */
|
|
|