diff --git a/source/tristanable/manager.d b/source/tristanable/manager/manager.d similarity index 85% rename from source/tristanable/manager.d rename to source/tristanable/manager/manager.d index 60322d9..64967be 100644 --- a/source/tristanable/manager.d +++ b/source/tristanable/manager/manager.d @@ -1,12 +1,12 @@ /** * Management of a tristanable instance */ -module tristanable.manager; +module tristanable.manager.manager; import std.socket; import tristanable.queue : Queue; import core.sync.mutex : Mutex; -import tristanable.watcher : Watcher; +import tristanable.manager.watcher : Watcher; /** * Manages a provided socket by spawning @@ -49,6 +49,14 @@ public class Manager { this.socket = socket; this.queuesLock = new Mutex(); + this.watcher = new Watcher(this, socket); + } + + // TODO: comment + // Starts the watcher + public void start() + { + watcher.start(); } diff --git a/source/tristanable/manager/package.d b/source/tristanable/manager/package.d new file mode 100644 index 0000000..fc15e0f --- /dev/null +++ b/source/tristanable/manager/package.d @@ -0,0 +1,3 @@ +module tristanable.manager; + +public import tristanable.manager.manager : Manager; \ No newline at end of file diff --git a/source/tristanable/watcher.d b/source/tristanable/manager/watcher.d similarity index 86% rename from source/tristanable/watcher.d rename to source/tristanable/manager/watcher.d index 31b9ac4..2fd841f 100644 --- a/source/tristanable/watcher.d +++ b/source/tristanable/manager/watcher.d @@ -1,7 +1,7 @@ -module tristanable.watcher; +module tristanable.manager.watcher; import core.thread : Thread; -import tristanable.manager : Manager; +import tristanable.manager.manager : Manager; import std.socket; /** @@ -27,7 +27,7 @@ public class Watcher : Thread // TODO: make package-level in a way such // ... that only Manager can access this constructor // TODO: Add constructor doc - this(Manager manager, Socket socket) + package this(Manager manager, Socket socket) { this.manager = manager; this.socket = socket; diff --git a/source/tristanable/package.d b/source/tristanable/package.d index c4f6211..3bcc702 100644 --- a/source/tristanable/package.d +++ b/source/tristanable/package.d @@ -7,7 +7,7 @@ module tristanable; * Interface which manages a provided socket * and enqueuing and dequeuing of queues */ -public import tristanable.manager : Manager; +public import tristanable.manager; // TODO: In future make `QueueItem` just `TaggedMessage` /**