- Setting out new API
This commit is contained in:
Tristan B. Velloza Kildaire 2024-04-09 08:24:21 +02:00
parent bb8f71c9db
commit d07cab3560
1 changed files with 38 additions and 0 deletions

38
source/dlog/nu/core.d Normal file
View File

@ -0,0 +1,38 @@
module dlog.nu.core;
public class Message
{
}
public interface Filter
{
public bool filter(Message message);
}
public interface MessageTransform
{
public Message transform(Message message);
}
public interface Handler
{
public void handle(Message message);
}
import std.container.slist : SList;
// import std.range : in;
import core.sync.mutex : Mutex;
public abstract class Logger
{
private SList!(MessageTransform) transforms;
private SList!(Filter) filters;
private SList!(Handler) handlers;
private Mutex lock; // Lock for attached handlers, filters and transforms
this()
{
this.lock = new Mutex();
}
}