Sönke Ludwig
2c63aa5c5c
Allow destructors to run in foreign threads. Fixes #69 .
...
This change modifies destructors to anticipate that they can be called form a foreign thread if the GC is involved. The actual release of the reference will then happen deferred in the original thread.
2018-03-16 18:06:53 +01:00
Sönke Ludwig
8ee5f4460c
Fix compilation of ConnectionPool!struct. Fixes vibe-d/vibe.d#2109 .
...
ConnectionPool!TCPConnection used to work with the old vibe-d:core implementation, but now failed, because TCPConnection is a struct. All assumptions about `Connection` being a class have been remove in this commit.
2018-03-11 00:07:42 +01:00
Sönke Ludwig
eb3620056f
Ensure async lambdas are templates to fix LDC linker errors. Fixes #65 .
...
If the lambda is a concrete function, two different versions will end up for it in the final binary on macOS when compiled with LDC. Using argument inference works around that issue.
2018-03-08 14:24:22 +01:00
Sönke Ludwig
a1a0d52fe6
Merge pull request #67 from vibe-d/issue_66_yield_exit_eventloop
...
Don't exit event loop prematurely.
2018-03-07 10:39:55 +01:00
Sönke Ludwig
7703cc675f
Fix a race-condition in TaskPool.
...
The lock that should surround the foreach loop was given up prematurely.
2018-03-07 10:39:28 +01:00
Sönke Ludwig
66c9aeea57
Don't exit event loop prematurely. Fixes #66 .
...
Idle processing needs to check whether there are still tasks scheduled to be resumed before setting the exit flag when there are no more waiters (I/O etc.).
2018-03-06 23:41:56 +01:00
Sönke Ludwig
595beb2c60
Bump version number.
2018-02-26 20:40:28 +01:00
Sönke Ludwig
6aa5cddf33
Merge pull request #62 from FraMecca/master
...
TCPConnection.waitForDataAsync
2018-02-26 20:33:53 +01:00
Sönke Ludwig
57d516a82b
fixup
2018-02-26 19:40:13 +01:00
Sönke Ludwig
e33cf567ec
Change callback semantics of waitForDataAsync
...
Also adds a documentation comment to specify the semantics.
2018-02-26 13:15:24 +01:00
Francesco Mecca
99e2873cc0
assert and stronger condition on TCPConnection.waitForDataAsync
...
assert and stronger condition on TCPConnection.waitForDataAsync
2018-02-24 21:32:54 +01:00
Francesco Mecca
20e32cf327
added Timer and enum return to TCPConnection.waitForDataAsync
2018-02-23 00:27:04 +00:00
Sönke Ludwig
2653c8c5e0
Always remove task from queue when switching to it. Fixes #58 .
...
Previously the task was only removed if switchTo was called from another task. Now it also gets removed when switchTo (e.g. due to a runTask() call) gets called form outside of a task.
2018-02-23 01:25:13 +01:00
Sönke Ludwig
d2146e3881
Fix shutdown of the worker thread pool.
...
Shuts down the pool before terminating the threads to avoid accessing an event thread waiter slot that is not associated with a valid eventcore driver anymore.
2018-02-22 20:10:08 +01:00
Francesco Mecca
0d6ba62f51
added TCPConnection.waitForDataAsync
2018-02-21 22:17:18 +00:00
Sönke Ludwig
e4eaaddbba
Make high-frequency log messages in the task scheduler optional.
...
Requires -debug=VibeTaskLog to enable them now.
2018-02-14 13:11:51 +01:00
Sönke Ludwig
ff26c31a42
Merge pull request #46 from vibe-d/total_cpus
...
Use std.parallelism.totalCPUs to implement logicalProcessorCount.
2018-02-14 13:09:02 +01:00
Sönke Ludwig
83515e4055
Merge pull request #51 from wilzbach/hexstring
...
Replace deprecated hexstring with hexString
2018-02-14 13:08:30 +01:00
Pavel Chebotarev
13e6c2aa41
Fix incorrect return value in TCPConnection.leastSize()
2018-01-27 18:53:16 +03:00
Sebastian Wilzbach
6107c1d807
Replace deprecated hexstring with hexString
2018-01-25 08:43:13 +01:00
Martin Nowak
30102f9e3a
avoid Buffer type which creates a huge __initZ symbol
2018-01-14 04:43:14 +01:00
Sönke Ludwig
1ed1c85f76
Use std.parallelism.totalCPUs to implement logicalProcessorCount.
...
See vibe-d/vibe.d#2008 .
2018-01-10 18:28:26 +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
b68d23f515
Add opCast(bool) to FreeListRef and remove opAssign with value type.
2017-10-30 22:58:30 +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
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
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