50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
|
|
#pragma once
|
|
|
|
#ifndef LEAVEANNOUNCE_H
|
|
#define LEAVEANNOUNCE_H
|
|
|
|
#include "common/Defines.h"
|
|
|
|
#include "common/container/PeerIDList.h"
|
|
#include "common/transport/msg/ExteriorMessage.h"
|
|
#include "mt/msg/MulticastMessage.h"
|
|
|
|
namespace ubeeme {
|
|
namespace moversight {
|
|
|
|
/**
|
|
* @brief Defines a leave announce message.
|
|
* @class LeaveAnnounce
|
|
* @ingroup Moversight
|
|
* @author Jan Gäbler, Robert Noack
|
|
*/
|
|
class LeaveAnnounce : public MulticastMessage {
|
|
public:
|
|
LeaveAnnounce();
|
|
LeaveAnnounce(const LeaveAnnounce & orig);
|
|
virtual ~LeaveAnnounce();
|
|
|
|
LeaveAnnounce & operator=(const LeaveAnnounce & other);
|
|
LeaveAnnounce * dup() const;
|
|
|
|
void handleReceive(Dispatcher & dis);
|
|
void handleDeliver(Dispatcher & dis, const PeerIDList & missedPeers);
|
|
|
|
virtual void set(Archive & archive);
|
|
|
|
// field getter/setter methods
|
|
const PeerIDList& getLeaveList() const;
|
|
void setLeaveList( const PeerIDList& leaveList);
|
|
|
|
const VirtualLogicalTime& getReferenceTime() const;
|
|
void setReferenceTime( const VirtualLogicalTime& referenceTime);
|
|
|
|
private:
|
|
PeerIDList leaveList;
|
|
VirtualLogicalTime referenceTime;
|
|
};
|
|
}
|
|
}
|
|
#endif /* LEAVEANNOUNCE_H */
|