private void emitEvents()

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);
        }
    }