Commit graph

250 commits

Author SHA1 Message Date
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 671fd0f078 Update test script to take into account the selected test configuration. 2016-12-19 22:30:15 +01:00
Sönke Ludwig 4c4a69a0be Test more configurations. 2016-12-19 22:23:49 +01:00
Sönke Ludwig 6ad917493d Improve timer test diagnostics. 2016-12-19 22:21:51 +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 cae451c4d7 Fix compilation of the example projects. 2016-12-19 22:07:02 +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
Sönke Ludwig a80c8bd18c Merge pull request #1 from Rikarin/patch-1
Update timer.d
2016-12-17 10:48:18 +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 b4157e2ff6 Fix TCP test compilation. 2016-10-19 22:01:11 +02:00
Sönke Ludwig 32f4170b8b Add basic timer test. 2016-10-19 22:00:32 +02:00
Sönke Ludwig e824278870 Fix possible null pointer access. 2016-10-19 22:00:22 +02:00
Sönke Ludwig bf519fd058 Fix test compile errors. 2016-10-19 22:00:06 +02:00
Sönke Ludwig ee1b9cbd4b Fix Linux build. 2016-10-19 14:30:16 +02:00
Sönke Ludwig fccde9c670 Fix Windows driver name in README. 2016-10-19 14:29:18 +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 9f5c71d29a Also test the latest DMD beta. 2016-10-07 20:54:22 +02:00
Sönke Ludwig 7ba3202460 Make all examples/tests single-file packages. 2016-10-07 20:36:09 +02:00
Sönke Ludwig 84e1934e87 Add TCP test. 2016-10-07 20:23:04 +02:00