71 lines
1.9 KiB
C++
71 lines
1.9 KiB
C++
/*
|
|
* File: MTTimer.h
|
|
* Author: jgaebler
|
|
*
|
|
* Created on April 29, 2010, 10:41 AM
|
|
*/
|
|
#pragma once
|
|
|
|
#ifndef _MTTIMER_H
|
|
#define _MTTIMER_H
|
|
|
|
#include "common/Defines.h"
|
|
|
|
#include "common/container/PeerIDList.h"
|
|
#include "common/time/VirtualLogicalTime.h"
|
|
#include "common/timer/ReferenceMonitorTimer.h"
|
|
#include "common/transport/MessageReference.h"
|
|
|
|
namespace ubeeme {
|
|
namespace moversight {
|
|
|
|
class MessageTransfer;
|
|
|
|
/**
|
|
* @class MTTimer
|
|
* @brief Provides a general purpose timer, used within the message transfer submodule.
|
|
* @ingroup Moversight
|
|
* @author Jan Gäbler
|
|
*/
|
|
class MTTimer : public ReferenceMonitorTimer<MessageReference> {
|
|
public:
|
|
|
|
virtual ~MTTimer();
|
|
|
|
// field getter/setter methods
|
|
virtual VirtualLogicalTime getLt();
|
|
virtual void setLt(const VirtualLogicalTime& lt);
|
|
|
|
virtual size_t getNumberOfMissingPeers();
|
|
virtual PeerIDList getMissingPeers();
|
|
virtual void setMissingPeers(const PeerIDList& missingPeers);
|
|
virtual void removeMissingPeer(PeerID pId);
|
|
|
|
virtual size_t getNumberOfForeignMissingPeers();
|
|
virtual PeerIDList getForeignMissingPeers();
|
|
virtual void setForeignMissingPeers(const PeerIDList& foreignMissingPeers);
|
|
virtual void removeForeignMissingPeer(PeerID pId);
|
|
|
|
protected:
|
|
|
|
MTTimer(MessageTransfer & aMt);
|
|
|
|
MTTimer(const MTTimer& other);
|
|
|
|
/**
|
|
* @brief A reference to the message transfer module.
|
|
*/
|
|
MessageTransfer & mt;
|
|
|
|
// protected and unimplemented operator==(), to prevent accidental usage
|
|
bool operator==(const MTTimer&);
|
|
|
|
// make assignment operator protected to force the user override it
|
|
MTTimer& operator=(const MTTimer& other);
|
|
|
|
};
|
|
}
|
|
}
|
|
#endif /* _MTTIMERO_H */
|
|
|