diff --git a/source/server/informer/client.d b/source/server/informer/client.d index dc7ae40..bd0a1c8 100644 --- a/source/server/informer/client.d +++ b/source/server/informer/client.d @@ -1,8 +1,28 @@ module server.informer.client; import core.thread : Thread; +import server.server : BesterServer; +import std.socket; + public class BesterInformerClient : Thread { + /* The associated `BesterServer` */ + private BesterServer server; + + /* The socket to the handler */ + private Socket handlerSocket; + + this(BesterServer server, Socket handlerSocket) + { + super(&worker); + this.server = server; + this.handlerSocket = handlerSocket; + } + + private void worker() + { + /* TODO: Implement me */ + } } \ No newline at end of file diff --git a/source/server/informer/informer.d b/source/server/informer/informer.d index 1864e51..bd1d6a6 100644 --- a/source/server/informer/informer.d +++ b/source/server/informer/informer.d @@ -3,6 +3,7 @@ module server.informer.informer; import core.thread : Thread; import server.server : BesterServer; import std.socket; +import server.informer.client : BesterInformerClient; /** * The `BesterInformer` allows handlers to query (out-of-band) @@ -35,6 +36,9 @@ public final class BesterInformer : Thread while(1) { Socket handler = informerSocket.accept(); + + BesterInformerClient newInformer = new BesterInformerClient(server, handler); + newInformer.start(); } }