Commit graph

225 commits

Author SHA1 Message Date
Martin Nowak 30102f9e3a avoid Buffer type which creates a huge __initZ symbol 2018-01-14 04:43:14 +01:00
Sebastian Wilzbach 0eed0fe8b7 Use the stable stdx-allocator DUB package 2017-12-03 20:38:07 +01:00
Sönke Ludwig 2625397f91 Use asyncAwaitAny instead of asyncAwait to work around linker error. 2017-11-25 15:27:17 +01:00
Boris-Barboris 6634cbc645 switch to asyncAwait 2017-11-25 15:27:17 +01:00
Boris-Barboris 55e7866497 implement tcp connect timeout 2017-11-25 15:27:17 +01:00
Sönke Ludwig dad84e8a46 Adjust DirectoryWatcher implementation for changed FileChange definition in eventcore. 2017-11-21 21:42:44 +01:00
Sönke Ludwig 8c68a4aeef Bump version number. 2017-11-17 11:56:59 +01:00
Sönke Ludwig 094de42f97 Update change log. 2017-11-17 11:56:18 +01:00
Sönke Ludwig 2a106ebcbb Add FileInfo.hidden. 2017-11-07 16:14:02 +01:00
Sönke Ludwig fc89257afd
Fixup for c95306245f. 2017-10-31 23:04:13 +01:00
Sönke Ludwig c95306245f
Improve InterfaceProxy(Class).
- InterfaceProxyClass can now be allocated/freed using a custom allocator
- Non-copyable values can be moved into an InterfaceProxyClass instance
- Non-copyable values can be moved into an InterfaceProxy
2017-10-30 23:01:22 +01:00
Sönke Ludwig b68d23f515
Add opCast(bool) to FreeListRef and remove opAssign with value type. 2017-10-30 22:58:30 +01:00
Sönke Ludwig ecd981b1e1
Fix compile error in internal API. 2017-10-30 22:56:19 +01:00
Sönke Ludwig 340357d455
Let pipe() return the number of bytes written. 2017-10-30 22:55:54 +01:00
Sönke Ludwig 710c996666
Add assertion message. 2017-10-30 22:55:22 +01:00
Sönke Ludwig 874e174d38 Add const overload for Task.tid. 2017-10-24 09:44:54 +02:00
Sönke Ludwig db449e3cb3 Fix implementation of TCPListener.bindAddress. 2017-09-28 23:52:39 +02:00
Sönke Ludwig 72540d7eaf Work around DigitalMars/optlink#18. 2017-09-27 17:43:08 +02:00
Sönke Ludwig 9fe9783443 Convert Waitable from struct to pure template to avoid heap closures.
Also fixes a case where ThreadLocalWaiter.emitSingle overlaps a call to .emit.
2017-09-27 16:41:11 +02:00
Sönke Ludwig e32d818873 Add CircularDList.insertAfter. 2017-09-27 16:41:11 +02:00
Sönke Ludwig a93b6e1cb1 Move log message to print before shutdown to avoid potential mixup with other log messages during shutdown. 2017-09-21 14:35:53 +02:00
Sönke Ludwig 9e0b5a7821 Fix access violation in the log module when called from a non-D thread. 2017-09-21 14:09:19 +02:00
Sönke Ludwig a5628230c1 Fix setupWorkerThreads to actually use the provided thread count. See #35. 2017-09-21 13:40:00 +02:00
Sönke Ludwig dd05676c4e Fix workerThreadCount to return the actual number of threads in the default worker pool. Fixes #35. 2017-09-21 13:39:05 +02:00
Sönke Ludwig 0dbebac482 Add TaskPool.threadCount property. 2017-09-21 13:38:24 +02:00
Sönke Ludwig 8895f62a49
Fix parameter name. 2017-09-15 15:58:35 +02:00
Sönke Ludwig 333643d48e Add interface_address parameter to UDPConnection.addMembership. 2017-09-15 15:54:59 +02:00
Sönke Ludwig 6cf2579206 Fix path construction from segment range with no internal separators. 2017-09-10 00:16:53 +02:00
Sönke Ludwig cf914d8827 Update version. 2017-09-05 16:05:06 +02:00
Sönke Ludwig 2d0576a5fe
Implement the UDP multicast support methods. 2017-09-03 18:15:52 +02:00
Sönke Ludwig 7e1d6a7323 Add listenUDP overload taking a NetworkAddress. 2017-09-03 15:54:17 +02:00
Sönke Ludwig 1ef8d5206f
Fix handling of the "periodic" argument to the setTimer compatibility overload. 2017-09-03 15:46:50 +02:00
Sönke Ludwig 43260cf982
Log the fiber/task ID in the HTML logger. 2017-09-03 14:17:57 +02:00
Boris-Barboris a590de154a fix deadlocks, caused by second m_locks increment 2017-08-28 21:58:08 +00:00
Sönke Ludwig 544157c065
Fix return value for FileDescriptorEvent.wait. 2017-08-14 14:27:09 +02:00
Sönke Ludwig 62ee67091d
Enable support for timeouts in FileDescriptorEvent.wait. 2017-08-13 23:35:11 +02:00
Sönke Ludwig 5e979364cb
Fix whitespace. 2017-08-10 11:08:26 +02:00
Sönke Ludwig 24f4e5f70f Resurrect GenericPath.startsWith.
Since the semantics are different w.r.t. path separators, the alternative suggested in the deprecation message is not valid. At least until the comparison/toString semantics of PathSegment have a profound definition, it will be kept around to avoid unneeded interruptions when upgrading to 0.8.x.
2017-08-10 10:09:01 +02:00
Sönke Ludwig 2777b0a6ff
Fix FileDescriptorEvent constructor to adhere to the given event mask. 2017-07-29 13:32:27 +02:00
Sönke Ludwig a60828d6da Mark more classes as final. 2017-07-23 15:04:11 +02:00
Sönke Ludwig 59ac459cdf Mark all synchronization classes final.
Those classes are not meant as being derived from.
2017-07-23 14:57:48 +02:00
Sönke Ludwig 2ba6c2eca1
Bump version number. 2017-07-20 18:50:40 +02:00
Sönke Ludwig f81c9175df
Mention that TCPListenOptions.distribute is deprecated. 2017-07-20 18:48:08 +02:00
Sönke Ludwig be0de0a733 Add assertions for uninitialized LocalManualEvents. 2017-07-20 16:52:35 +02:00
Sönke Ludwig a6eeae97f3 Fix DirectoryWatcher's creation of its LocalManualEvent. 2017-07-20 16:52:34 +02:00
Sönke Ludwig f6736d13ab Add test that reproduces the LocalManualEvent copy bug. 2017-07-20 16:14:47 +02:00
Sönke Ludwig 100dfc30ee Add test that triggers the former bug in ThreadLocalWaiter.emit() and ensures FIFO emit order. 2017-07-20 16:10:18 +02:00
Sönke Ludwig a4b36f08d3 Fix multiple issues in (Local)ManualEvent.
- Copying LocalManualEvent now works correctly, using reference counting
- ManualEvent correctly pins the reference to the thread-local waiter until it has finished emitting it
- ThreadLocalWaiter uses a doubly-linked list to manage task waiters (more efficient deletion, FIFO trigger order)
- Fixed a bug in ThreadLocalWaiter.emit() where the head element of the iterated list might already have stopped waiting, resulting in an invocation of a dangling TaskWaiter pointer
2017-07-20 15:57:44 +02:00
Sönke Ludwig 19db7732e6 Add nothrow annotations. 2017-07-20 13:36:27 +02:00
Sönke Ludwig 536fa09780 Add helper module with intrusive singly and doubly linked lists. 2017-07-20 13:34:39 +02:00