CyclicBuffer Class Reference

List of all members.

Public Member Functions

 CyclicBuffer (int maxSize)
void add (const spi::LoggingEventPtr &event)
spi::LoggingEventPtr get (int i)
spi::LoggingEventPtr get ()
int length () const
void resize (int newSize)

Detailed Description

CyclicBuffer is used by other appenders to hold LoggingEvents for immediate or differed display.

This buffer gives read access to any element in the buffer not just the first or last element.


Constructor & Destructor Documentation

CyclicBuffer int  maxSize  ) 
 

Instantiate a new CyclicBuffer of at most maxSize events. The maxSize argument must a positive integer.

Parameters:
maxSize The maximum number of elements in the buffer.
Exceptions:
IllegalArgumentException if maxSize is negative.


Member Function Documentation

void add const spi::LoggingEventPtr event  ) 
 

Add an event as the last event in the buffer.

spi::LoggingEventPtr get  ) 
 

Get the oldest (first) element in the buffer. The oldest element is removed from the buffer.

spi::LoggingEventPtr get int  i  ) 
 

Get the ith oldest event currently in the buffer. If i is outside the range 0 to the number of elements currently in the buffer, then null is returned.

int length  )  const [inline]
 

Get the number of elements in the buffer. This number is guaranteed to be in the range 0 to maxSize (inclusive).

void resize int  newSize  ) 
 

Resize the cyclic buffer to newSize.

Exceptions:
IllegalArgumentException if newSize is negative.


The documentation for this class was generated from the following files:
  • cyclicbuffer.h
  • cyclicbuffer.cpp

Copyright © 1999-2004, Apache Software Foundation