using namespace icinga;
-Ringbuffer::Ringbuffer(int slots)
+Ringbuffer::Ringbuffer(long slots)
: m_Slots(slots, 0), m_Offset(0)
{ }
void Ringbuffer::InsertValue(long tv, int num)
{
- int offsetTarget = tv % m_Slots.size();
+ vector<int>::size_type offsetTarget = tv % m_Slots.size();
/* walk towards the target offset, resetting slots to 0 */
while (m_Offset != offsetTarget) {
class I2_BASE_API Ringbuffer
{
public:
- Ringbuffer(int slots);
+ Ringbuffer(long slots);
int GetLength(void) const;
void InsertValue(long tv, int num);
private:
vector<int> m_Slots;
- int m_Offset;
+ vector<int>::size_type m_Offset;
};
}