public class

BoundedFIFO

extends Object
java.lang.Object
   ↳ org.apache.log4j.helpers.BoundedFIFO

Class Overview

BoundedFIFO serves as the bounded first-in-first-out buffer heavily used by the AsyncAppender.

Summary

Public Constructors
BoundedFIFO(int maxSize)
Instantiate a new BoundedFIFO with a maximum size passed as argument.
Public Methods
LoggingEvent get()
Get the first element in the buffer.
int getMaxSize()
Get the maximum size of the buffer.
boolean isFull()
Return true if the buffer is full, that is, whether the number of elements in the buffer equals the buffer size.
int length()
Get the number of elements in the buffer.
void put(LoggingEvent o)
Place a LoggingEvent in the buffer.
synchronized void resize(int newSize)
Resize the buffer to a new size.
boolean wasEmpty()
Returns true if there is just one element in the buffer.
boolean wasFull()
Returns true if the number of elements in the buffer plus 1 equals the maximum buffer size, returns false otherwise.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public BoundedFIFO (int maxSize)

Instantiate a new BoundedFIFO with a maximum size passed as argument.

Public Methods

public LoggingEvent get ()

Get the first element in the buffer. Returns null if there are no elements in the buffer.

public int getMaxSize ()

Get the maximum size of the buffer.

public boolean isFull ()

Return true if the buffer is full, that is, whether the number of elements in the buffer equals the buffer size.

public int length ()

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

public void put (LoggingEvent o)

Place a LoggingEvent in the buffer. If the buffer is full then the event is silently dropped. It is the caller's responsability to make sure that the buffer has free space.

public synchronized void resize (int newSize)

Resize the buffer to a new size. If the new size is smaller than the old size events might be lost.

public boolean wasEmpty ()

Returns true if there is just one element in the buffer. In other words, if there were no elements before the last put(LoggingEvent) operation completed.

public boolean wasFull ()

Returns true if the number of elements in the buffer plus 1 equals the maximum buffer size, returns false otherwise.