mirror of https://github.com/deavmi/dlog.git
parent
c53558f847
commit
66adb8f700
|
@ -5,30 +5,68 @@
|
||||||
*/
|
*/
|
||||||
module dlog.core;
|
module dlog.core;
|
||||||
|
|
||||||
public class Message
|
import std.container.slist : SList;
|
||||||
|
import core.sync.mutex : Mutex;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base message type
|
||||||
|
*/
|
||||||
|
public abstract class Message
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the filtering
|
||||||
|
* interface
|
||||||
|
*/
|
||||||
public interface Filter
|
public interface Filter
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Filters the given message
|
||||||
|
* returning a verdict
|
||||||
|
* based on it
|
||||||
|
*
|
||||||
|
* Params:
|
||||||
|
* message = the message
|
||||||
|
* Returns: the verdct
|
||||||
|
*/
|
||||||
public bool filter(Message message);
|
public bool filter(Message message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the message
|
||||||
|
* transformation interface
|
||||||
|
*/
|
||||||
public interface Transform
|
public interface Transform
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Transforms the given message
|
||||||
|
*
|
||||||
|
* Params:
|
||||||
|
* message = the message input
|
||||||
|
* Returns: the transformed
|
||||||
|
* message
|
||||||
|
*/
|
||||||
public Message transform(Message message);
|
public Message transform(Message message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the interface
|
||||||
|
* for handling messages
|
||||||
|
*/
|
||||||
public interface Handler
|
public interface Handler
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Handles the given message
|
||||||
|
*
|
||||||
|
* Params:
|
||||||
|
* message = the message to
|
||||||
|
* handle
|
||||||
|
*/
|
||||||
public void handle(Message message);
|
public void handle(Message message);
|
||||||
}
|
}
|
||||||
|
|
||||||
import std.container.slist : SList;
|
|
||||||
// import std.range : in;
|
|
||||||
import core.sync.mutex : Mutex;
|
|
||||||
|
|
||||||
public abstract class Logger
|
public abstract class Logger
|
||||||
{
|
{
|
||||||
private SList!(Transform) transforms;
|
private SList!(Transform) transforms;
|
||||||
|
|
Loading…
Reference in New Issue