/* * File: MessagReferenceCircularBuffer.h * Author: jgaebler * * Created on October 29, 2012, 9:05 AM */ #pragma once #ifndef MESSAGREFERENCECIRCULARBUFFER_H #define MESSAGREFERENCECIRCULARBUFFER_H #include "common/Defines.h" #include "common/transport/MessageReference.h" #include "common/container/CircularBuffer.h" namespace ubeeme { namespace moversight { class MessageReferenceCircularBuffer : public CircularBuffer { public: /** * @brief Constructor. Creates an circular buffer, witch stores at most 50 elements. */ MessageReferenceCircularBuffer() : CircularBuffer(50) { } /** * @brief Constructor * @param size The size of the circular buffer */ MessageReferenceCircularBuffer(size_t size) : CircularBuffer(size) { } /** * @brief Determines, if the given message reference stored in the buffer. * @param mRef The message reference to check. * @return True, if the given message reference already stored in the buffer, false otherwise. */ bool contains(MessageReference const & mRef) const { for (size_t i = 0; i < size(); i++) { MessageReference local = get(i); if(local == mRef){ return true; } } return false; } }; } } #endif /* MESSAGREFERENCECIRCULARBUFFER_H */