org.apache.juli.logging.net.logstash.logback.encoder.com.lmax.disruptor.dsl.EventProcessorFactory Maven / Gradle / Ivy
package org.apache.juli.logging.net.logstash.logback.encoder.com.lmax.disruptor.dsl;
import org.apache.juli.logging.net.logstash.logback.encoder.com.lmax.disruptor.EventProcessor;
import org.apache.juli.logging.net.logstash.logback.encoder.com.lmax.disruptor.RingBuffer;
import org.apache.juli.logging.net.logstash.logback.encoder.com.lmax.disruptor.Sequence;
/**
* A factory interface to make it possible to include custom event processors in a chain:
*
*
* disruptor.handleEventsWith(handler1).then((ringBuffer, barrierSequences) -> new CustomEventProcessor(ringBuffer, barrierSequences));
*
*/
public interface EventProcessorFactory
{
/**
* Create a new event processor that gates on barrierSequences
.
*
* @param ringBuffer the ring buffer to receive events from.
* @param barrierSequences the sequences to gate on
* @return a new EventProcessor that gates on barrierSequences
before processing events
*/
EventProcessor createEventProcessor(RingBuffer ringBuffer, Sequence[] barrierSequences);
}