
io.datakernel.eventloop.EventloopInspector Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of datakernel-eventloop Show documentation
Show all versions of datakernel-eventloop Show documentation
Efficient non-blocking network and file I/O, for building Node.js-like client/server applications with
high performance requirements. It is similar to Event Loop in Node.js.
Although Eventloop runs in a single thread, multiple event loops can be
launched at the same time allowing for efficient CPU usage.
The newest version!
package io.datakernel.eventloop;
import io.datakernel.common.Stopwatch;
import io.datakernel.common.inspector.BaseInspector;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface EventloopInspector extends BaseInspector {
void onUpdateBusinessLogicTime(boolean taskOrKerPresent, boolean externalTaskPresent, long businessLogicTime);
void onUpdateSelectorSelectTime(long selectorSelectTime);
void onUpdateSelectorSelectTimeout(long selectorSelectTimeout);
void onUpdateSelectedKeyDuration(@NotNull Stopwatch sw);
void onUpdateSelectedKeysStats(int lastSelectedKeys, int invalidKeys, int acceptKeys, int connectKeys, int readKeys, int writeKeys, long loopTime);
void onUpdateLocalTaskDuration(@NotNull Runnable runnable, @Nullable Stopwatch sw);
void onUpdateLocalTasksStats(int newLocalTasks, long loopTime);
void onUpdateConcurrentTaskDuration(@NotNull Runnable runnable, @Nullable Stopwatch sw);
void onUpdateConcurrentTasksStats(int newConcurrentTasks, long loopTime);
void onUpdateScheduledTaskDuration(@NotNull Runnable runnable, @Nullable Stopwatch sw, boolean background);
void onUpdateScheduledTasksStats(int newScheduledTasks, long loopTime, boolean background);
void onFatalError(@NotNull Throwable e, Object causedObject);
void onScheduledTaskOverdue(int overdue, boolean background);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy