in src/main/java/com/amazonaws/services/cloudtrail/processinglibrary/reader/EventReader.java [246:272]
private void emitEvents(EventSerializer serializer) throws IOException, CallbackException {
EventBuffer<CloudTrailEvent> eventBuffer = new EventBuffer<>(config.getMaxEventsPerEmit());
while (serializer.hasNextEvent()) {
CloudTrailEvent event = serializer.getNextEvent();
try {
if (eventFilter.filterEvent(event)) {
eventBuffer.addEvent(event);
if (eventBuffer.isBufferFull()) {
eventsProcessor.process(eventBuffer.getEvents());
}
} else {
logger.debug("AWSCloudTrailEvent " + event + " has been filtered out.");
}
} catch (Exception e) {
logger.error("AWSCloudTrailEvent " + event + " caused the following Exception: " + e.toString());
throw e;
}
}
//emit whatever in the buffer as last batch
List<CloudTrailEvent> events = eventBuffer.getEvents();
if (!events.isEmpty()) {
eventsProcessor.process(events);
}
}