new DbusEventBuffer(TestDbusEventBuffer.getConfig(
1200, 500, 100, 500, AllocationPolicy.HEAP_MEMORY, QueuePolicy.OVERWRITE_ON_WRITE,
AssertLevel.ALL));
BufferPositionParser parser = dbusBuf.getBufferPositionParser();
log.info("append initial events");
DbusEventGenerator generator = new DbusEventGenerator();
Vector<DbusEvent> events = new Vector<DbusEvent>();
generator.generateEvents(7, 1, 120, 39, events);
// Add events to the EventBuffer. Now the buffer is full
DbusEventAppender appender = new DbusEventAppender(events,dbusBuf,null);
appender.run(); // running in the same thread
log.info("Head:" + parser.toString(dbusBuf.getHead()) + ", Tail:" + parser.toString(dbusBuf.getTail()));
log.info("Num buffers: " + dbusBuf.getBuffer().length);
log.info("Buffer: " + Arrays.toString(dbusBuf.getBuffer()));
long headPos = dbusBuf.getHead();
long tailPos = dbusBuf.getTail();
long headGenId = parser.bufferGenId(headPos);
long headIndexId = parser.bufferIndex(headPos);
long headOffset = parser.bufferOffset(headPos);
long tailGenId = parser.bufferGenId(tailPos);
long tailIndexId = parser.bufferIndex(tailPos);
long tailOffset = parser.bufferOffset(tailPos);
assertEquals(0, headGenId);
assertEquals(0, headIndexId);
assertEquals(222, headOffset);
assertEquals(1, tailGenId);
assertEquals(0, tailIndexId);
assertEquals(61, tailOffset);
log.info("append windows with one small and one big event");
generator = new DbusEventGenerator(100);
events = new Vector<DbusEvent>();
generator.generateEvents(1, 1, 280, 139, events);
generator.generateEvents(1, 1, 480, 339, events);
// Add events to the EventBuffer. Now the buffer is full
appender = new DbusEventAppender(events,dbusBuf,null);
appender.run(); // running in the same thread
log.info("Head:" + parser.toString(dbusBuf.getHead()) + ", Tail:" + parser.toString(dbusBuf.getTail()));