diff --git a/source/tanya/async/loop.d b/source/tanya/async/loop.d index 1526251..f904243 100644 --- a/source/tanya/async/loop.d +++ b/source/tanya/async/loop.d @@ -133,6 +133,7 @@ abstract class Loop /// Pending watchers. protected Queue!Watcher* pendings; + /// Ditto. protected Queue!Watcher* swapPendings; /** @@ -150,8 +151,8 @@ abstract class Loop */ this() @nogc { - pendings = MmapPool.instance.make!(Queue!Watcher); - swapPendings = MmapPool.instance.make!(Queue!Watcher); + pendings = MmapPool.instance.make!(Queue!Watcher)(MmapPool.instance); + swapPendings = MmapPool.instance.make!(Queue!Watcher)(MmapPool.instance); } /** diff --git a/source/tanya/async/watcher.d b/source/tanya/async/watcher.d index f6915ab..2bbccad 100644 --- a/source/tanya/async/watcher.d +++ b/source/tanya/async/watcher.d @@ -53,7 +53,7 @@ class ConnectionWatcher : Watcher /// Protocol factory. protected Protocol delegate() @nogc protocolFactory; - package Queue!IOWatcher* incoming; + package Queue!IOWatcher incoming; /** * Params: @@ -62,7 +62,6 @@ class ConnectionWatcher : Watcher this(Socket socket) @nogc { socket_ = socket; - incoming = MmapPool.instance.make!(Queue!IOWatcher); } /// Ditto. @@ -72,14 +71,13 @@ class ConnectionWatcher : Watcher ~this() @nogc { - foreach (w; *incoming) + foreach (w; incoming) { MmapPool.instance.dispose(w); } - MmapPool.instance.dispose(incoming); } - /* + /** * Params: * P = Protocol should be used. */ @@ -114,7 +112,7 @@ class ConnectionWatcher : Watcher */ override void invoke() @nogc { - foreach (io; *incoming) + foreach (io; incoming) { io.protocol.connected(cast(DuplexTransport) io.transport); } @@ -164,7 +162,7 @@ class IOWatcher : ConnectionWatcher /** * Destroys the watcher. */ - protected ~this() @nogc + ~this() @nogc { MmapPool.instance.dispose(protocol_); } diff --git a/source/tanya/container/buffer.d b/source/tanya/container/buffer.d index 18501f0..3854606 100644 --- a/source/tanya/container/buffer.d +++ b/source/tanya/container/buffer.d @@ -90,7 +90,7 @@ struct ReadBuffer(T = ubyte) in size_t minAvailable = 1024, shared Allocator allocator = defaultAllocator) @trusted { - this(allocator_); + this(allocator); this.minAvailable = minAvailable; this.blockSize = size; buffer_ = cast(T[]) allocator_.allocate(size * T.sizeof);