Sönke Ludwig
116940a5a7
Add EventDriverSockets.getLocalAddress and make parameters scope where possible.
2017-01-15 20:56:06 +01:00
Sönke Ludwig
d8f10972eb
Added EventDriverSockets.setKeepAlive.
2017-01-15 17:21:18 +01:00
Sönke Ludwig
2341762992
Fix range violation errors in ConsumableQueue.
2017-01-13 20:30:56 +01:00
Sönke Ludwig
aa7b2946f3
Add shared overload of the EventDriver.events property.
...
This allows accessing the shared "trigger" method from a shared event driver.
2017-01-13 10:20:51 +01:00
Sönke Ludwig
a3ca0965cf
Fix wrong epoll timeout in case of already expired timers.
...
This could cause process/task starvation due to an infinite wait timeout.
2016-12-29 22:51:07 +01:00
Sönke Ludwig
06bcccd6ac
Revert #1 .
...
The idea is that every wait() produces exactly one callback unless cancelled.
2016-12-19 22:21:36 +01:00
Sönke Ludwig
e33d36eb46
Fix compilation errors in the socket wrapper.
2016-12-19 22:16:34 +01:00
Sönke Ludwig
cc3299fb88
Fix compilation on Windows and DMD 2.072.1.
2016-12-19 16:16:22 +01:00
Sönke Ludwig
8a365f6d07
Use the 0.8.x line of libasync and fix compilation of the (stub) libasync driver.
2016-12-18 23:55:59 +01:00
Sönke Ludwig
2acf44596a
Avoid possible dangling objects referenced by timer callback delegates. Fixes #2 .
2016-12-18 19:39:29 +01:00
Satoshi
bfe1c46a73
Update timer.d
...
Don't remove callback when timer is periodic because after first hit cb cannot be called again?
2016-12-12 11:31:16 +01:00
Sönke Ludwig
7e9031439c
Remove EventDriverFiles.createTemp() and add adopt() instead.
...
The rationale is to keep the event loop abstraction at a minimal size. createTemp(), to be generally useful, would also require a getFilename(fd) method and possibly more. adopt() on the other hand is frequently useful for wrapping other libraries.
2016-12-10 15:59:03 +01:00
Sönke Ludwig
de89a5a9e1
Fix out-of-bounds access in SmallIntegerSet.
2016-12-10 15:53:59 +01:00
Sönke Ludwig
175368b334
Fix erroneously disabling some socket events in the Posix driver.
2016-11-29 11:58:46 +01:00
Sönke Ludwig
ba61afbc2b
Introduce debug version EventCoreEpollDebug.
...
Outputs some debug log messages for the epoll backend.
2016-11-29 11:56:23 +01:00
Sönke Ludwig
c85d546efd
Fix PosixEventDriverSockets.shutdown and .getConnectionState.
2016-11-04 21:29:05 +01:00
Sönke Ludwig
0cdde3008c
Fix range violation in ConsumableQueue.
2016-11-04 21:28:08 +01:00
Sönke Ludwig
d181a6730f
Add bind address support for outgoing TCP connections.
2016-11-02 20:22:54 +01:00
Sönke Ludwig
35f5852d8f
Disable the getaddrinfo_a based host name lookup.
...
Causes a stack address issue within vibe-core that still needs further debugging.
2016-10-25 00:13:21 +02:00
Sönke Ludwig
88600c5e21
Remove stack optimizations for DNS lookups and streamline send() signature.
2016-10-25 00:12:13 +02:00
Sönke Ludwig
39afb2ad21
Properly initialize accepted stream sockets.
2016-10-24 08:17:59 +02:00
Sönke Ludwig
d6e77adfc5
Clear the full FD slot after the FD has been closed.
2016-10-24 07:55:39 +02:00
Sönke Ludwig
92c6783ef3
Fix ChoppedVector to properly use GC.addRange for allocated memory.
2016-10-24 07:55:00 +02:00
Sönke Ludwig
9bf0875778
Add event test and fix the notify_all==false case.
2016-10-24 00:44:55 +02:00
Sönke Ludwig
5450cda724
Make the FD map in the Posix event driver type safe.
2016-10-24 00:15:42 +02:00
Sönke Ludwig
2846637f95
Add AlgebraicChoppedVector as the future base for the event drivers FD map.
2016-10-24 00:12:35 +02:00
Sönke Ludwig
5cca0e863b
Avoid default arguments in driver interface and streamline Handle declarations.
2016-10-24 00:11:40 +02:00
Sönke Ludwig
e824278870
Fix possible null pointer access.
2016-10-19 22:00:22 +02:00
Sönke Ludwig
ee1b9cbd4b
Fix Linux build.
2016-10-19 14:30:16 +02:00
Sönke Ludwig
5f243cbb18
Improve cross-platform organization and fix compilation on Windows (posix driver).
2016-10-18 11:53:52 +02:00
Sönke Ludwig
c12fefadcf
Add stub/partial implementation of WinAPI and kqueue based drivers.
2016-10-17 21:59:00 +02:00
Sönke Ludwig
201e4f6077
Make all releaseRef() methods return a Boolean.
2016-10-17 21:53:30 +02:00
Sönke Ludwig
e4e78a860a
Implement inotify based directory watcher.
2016-10-17 21:42:09 +02:00
Sönke Ludwig
8ecc583e4d
Make timer wait semantics consistent with other wait() functions.
2016-10-17 21:41:48 +02:00
Sönke Ludwig
270543d3d8
Implement getaddrinfo_a based DNS lookup for Linux.
2016-10-16 23:01:22 +02:00
Sönke Ludwig
bdaff3264f
Implement listening for signals based on signalfd().
2016-10-16 21:06:11 +02:00
Sönke Ludwig
0cce1123fc
Add getaddrinfo based DNS lookup implementation.
2016-10-16 14:30:52 +02:00
Sönke Ludwig
2b442f949b
Add ChoppedVector.opApply.
2016-10-16 14:30:12 +02:00
Sönke Ludwig
2518a6c301
Add DNS API and update Libasync stub.
2016-10-14 22:24:31 +02:00
Sönke Ludwig
c6dec730d8
Split up PosixEventDriver into individual classes.
2016-10-12 22:59:15 +02:00
Sönke Ludwig
2a44817911
Fix safety errors on DMD 2.072.0-b2.
2016-10-12 10:00:31 +02:00
Sönke Ludwig
c526b58866
Fix notification/resource management bugs.
...
- Enforce that objects stay alive as long as a callback is pending
- Avoid multiple connect callbacks for connectStream
2016-10-07 20:22:39 +02:00
Sönke Ludwig
9d833a7a62
Use template alias paramters for callbacks in all socket wrapper functions.
2016-10-07 19:40:01 +02:00
Sönke Ludwig
e2814315e4
Fix some socket bugs and improve code.
2016-10-07 19:39:13 +02:00
Sönke Ludwig
45931f2c17
Add a draft version of a managed socket wrapper API.
2016-10-07 12:40:10 +02:00
Sönke Ludwig
c4e985b73c
Implement UDP socket support.
2016-10-07 12:39:38 +02:00
Sönke Ludwig
2a8c52f347
Add a thread pool based async file implementation.
2016-10-06 22:04:33 +02:00
Sönke Ludwig
a2691ff0af
Add SmallIntegerSet utility container.
2016-10-06 15:14:18 +02:00
Sönke Ludwig
49116ede13
Fix doc comment formatting.
2016-10-05 21:09:14 +02:00
Sönke Ludwig
95ccc347d5
Add stub libasync support.
2016-10-05 14:38:29 +02:00