/** * Perform SMTPAppender specific appending actions, mainly adding the event to * a cyclic buffer. */ protected void subAppend(CyclicBuffer<ILoggingEvent> cb, ILoggingEvent event) { if (includeCallerData) { event.getCallerData(); } event.prepareForDeferredProcessing(); cb.add(event); }
@Override protected CyclicBuffer<E> buildComponent(String key) { return new CyclicBuffer<E>(bufferSize); }
@Test public void cloning() { CyclicBuffer<String> cb = new CyclicBuffer<String>(2); cb.add("zero"); cb.add("one"); CyclicBuffer<String> clone = new CyclicBuffer<String>(cb); assertSize(clone, 2); cb.clear(); assertSize(cb, 0); List<String> witness = Arrays.asList("zero", "one"); assertEquals(witness, clone.asList()); } }
@Override protected void processPriorToRemoval(CyclicBuffer<E> component) { component.clear(); }
/** * Clears the buffer and resets all attributes. */ public void clear() { init(this.maxSize); }
@Test public void smoke() { CyclicBuffer<String> cb = new CyclicBuffer<String>(2); assertSize(cb, 0); cb.add("zero"); assertSize(cb, 1); cb.add("one"); assertSize(cb, 2); cb.add("two"); assertSize(cb, 2); assertEquals("one", cb.get()); assertSize(cb, 1); assertEquals("two",cb.get()); assertSize(cb, 0); }
public List<Status> getCopyOfStatusList() { synchronized (statusListLock) { List<Status> tList = new ArrayList<Status>(statusList); tList.addAll(tailBuffer.asList()); return tList; } }
if (eventEvaluator.evaluate(eventObject)) { CyclicBuffer<E> cbClone = new CyclicBuffer<E>(cb); cb.clear();
@Test public void destroy() { long now = 3000; CyclicBuffer<Object> cb = tracker.getOrCreate(key, now); cb.add(new Object()); assertEquals(1, cb.length()); tracker.endOfLife(key); now += CyclicBufferTracker.LINGERING_TIMEOUT + 10; tracker.removeStaleComponents(now); assertEquals(0, tracker.liveKeysAsOrderedList().size()); assertEquals(0, tracker.getComponentCount()); assertEquals(0, cb.length()); }
public int getLength() { if (isStarted()) { return cb.length(); } else { return 0; } }
public E get(int i) { if (isStarted()) { return cb.get(i); } else { return null; } }
public void reset() { cb.clear(); }
/** * Instantiate a new CyclicBuffer of at most <code>maxSize</code> events. * * The <code>maxSize</code> argument must a positive integer. * * @param maxSize * The maximum number of elements in the buffer. */ public CyclicBuffer(int maxSize) throws IllegalArgumentException { if (maxSize < 1) { throw new IllegalArgumentException("The maxSize argument (" + maxSize + ") is not a positive integer."); } init(maxSize); }
public List<Status> getCopyOfStatusList() { synchronized (statusListLock) { List<Status> tList = new ArrayList<Status>(statusList); tList.addAll(tailBuffer.asList()); return tList; } }
public int getLength() { if (isStarted()) { return cb.length(); } else { return 0; } }
public E get(int i) { if (isStarted()) { return cb.get(i); } else { return null; } }
@Override protected void append(E eventObject) { if (!isStarted()) { return; } cb.add(eventObject); }
public void clear() { synchronized (statusListLock) { count = 0; statusList.clear(); tailBuffer.clear(); } }