All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.openhft.chronicle.threads.PauserMonitorFactory Maven / Gradle / Ivy

package net.openhft.chronicle.threads;

import net.openhft.chronicle.core.threads.EventHandler;
import net.openhft.chronicle.core.threads.InvalidEventHandlerException;

import java.util.Iterator;
import java.util.ServiceLoader;

public interface PauserMonitorFactory {
    EventHandler pauserMonitor(Pauser pauser, String description, int seconds);

    static PauserMonitorFactory load() {
        final Iterator iterator = ServiceLoader.load(PauserMonitorFactory.class).iterator();
        return iterator.hasNext() ?
                iterator.next() :
                (pauser, description, seconds) -> new EventHandler() {
                    @Override
                    public boolean action() throws InvalidEventHandlerException {
                        throw new InvalidEventHandlerException();
                    }
                    @Override
                    public String toString() {
                        return "NOOP_PAUSER_MONITOR";
                    }
                };
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy