update20140630

This commit is contained in:
stubbfel
2014-06-30 13:58:10 +02:00
parent 565970632e
commit 1e6cf42df3
877 changed files with 1146249 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
/*
* File: MulticastMessageQueue.h
* Author: jgaebler
*
* Created on April 13, 2010, 6:14 PM
*/
#pragma once
#ifndef MULTICASTMESSAGEQUEUE_H
#define MULTICASTMESSAGEQUEUE_H
#include "common/Defines.h"
#include "common/transport/MessageReference.h"
#include "mt/msg/MulticastMessage.h"
namespace ubeeme {
namespace moversight {
/**
* @class MulticastMessageQueue
* @brief Provides a queue for storing MulticastMessages. Each message is stored only one time.
* @ingroup Moversight
* @author Jan Gäbler
*/
class MulticastMessageQueue : public List<MulticastMessage *>{
public:
void clear();
MulticastMessage * find(const MessageReference & mref);
void remove(const MessageReference & mRef);
void add(const MulticastMessage * pdu);
void printQueue();
void sortByLogicalDeliveryTime();
private:
typedef List<MulticastMessage*> MessageQueue;
class MulticastMessageFunctor {
public:
MulticastMessageFunctor(const MessageReference & aMref) {
mref = aMref;
}
bool operator()(const MulticastMessage * pdu) {
return mref == pdu->getMessageReference();
}
private:
MessageReference mref;
};
};
bool MulticastMessageLogicalDeliveryTimeComparatorLessThan(const MulticastMessage * a, const MulticastMessage* b);
};
};
#endif /* MULTICASTMESSAGEQUEUE_H */