Commit graph

117 commits

Author SHA1 Message Date
Sönke Ludwig e72b071057 Add debug output for the getaddrinfo based DNS lookup driver. 2017-01-23 12:17:53 +01:00
Sönke Ludwig e55e23368a Fix compile error on macOS. 2017-01-23 11:52:09 +01:00
Sönke Ludwig d6321a2b52
Fix waiter count bookkeeping in PosixEventDriverEvents. 2017-01-23 11:34:14 +01:00
Sönke Ludwig e5078ad399
Fix ConsumableQueue.consume with no entries present. 2017-01-23 11:33:45 +01:00
Sönke Ludwig 0422ee495c
Fix null pointer error. 2017-01-23 11:15:03 +01:00
Sönke Ludwig a8aa505373
Fix Linux build. 2017-01-23 10:38:09 +01:00
Sönke Ludwig b556849af2 Fully fix the Win64 build (test might still fail). 2017-01-23 10:03:36 +01:00
Sönke Ludwig 2c4534d178 Fix Win64 build. 2017-01-23 09:09:30 +01:00
Sönke Ludwig 217a6698cb Fix type conversion error. 2017-01-22 21:55:51 +01:00
Sönke Ludwig 619948c4d5 Another fix attempt for the special read 0 behavior. 2017-01-22 21:29:12 +01:00
Sönke Ludwig 25bab3e37e Make the kqueue event driver work. 2017-01-22 20:54:09 +01:00
Sönke Ludwig c9c6d73f5e Make the kqueue event driver compile on macOS (doesn't work yet). 2017-01-22 18:43:29 +01:00
Sönke Ludwig 1c83076897 Fixup TCP read wait special case. 2017-01-22 12:40:07 +01:00
Sönke Ludwig dd5c88d1ed Fix compilation and event behavior on macOS. 2017-01-22 12:36:27 +01:00
Sönke Ludwig f5b514899a Add basic documentation for the driver interface. 2017-01-22 11:39:01 +01:00
Sönke Ludwig 58c89a7369 Implement proper zero size wait semantics for Posix stream sockets. 2017-01-22 10:47:58 +01:00
Sönke Ludwig ca81d25645 Implement socket adoption and fix wait loops on Windows for the Posix driver. 2017-01-22 10:43:18 +01:00
Sönke Ludwig 28040004cf Another compile fix. 2017-01-22 03:32:38 +01:00
Sönke Ludwig 55ea6c192f DMD 2.073.0-rc1 compile fixes. 2017-01-22 03:26:47 +01:00
Sönke Ludwig 922c9e8e72 Revert "Make the address parameter of send() scoped."
This reverts commit 1385250884.
2017-01-22 03:16:36 +01:00
Sönke Ludwig d6f6fc8357 Posix compile fix. 2017-01-22 03:10:46 +01:00
Sönke Ludwig 1385250884 Make the address parameter of send() scoped. 2017-01-22 03:05:46 +01:00
Sönke Ludwig 17c4fe65a8 Fix the Windows events implementation in the Posix driver. 2017-01-22 03:05:01 +01:00
Sönke Ludwig 924f2087f2 Fix premature event loop exit in case of waiting for events in the Posix driver. 2017-01-22 02:30:00 +01:00
Sönke Ludwig 0e38717669 Add unit test for SmallIntegerSet. 2017-01-22 02:28:40 +01:00
Sönke Ludwig 6b68e934f3 Implement file support for the WinAPI driver. 2017-01-22 02:01:13 +01:00
Sönke Ludwig 2a5252977e Implement events for the WinAPI driver. 2017-01-21 23:19:39 +01:00
Sönke Ludwig f7ec3da756 Implement directory watchers for the WinAPI driver. 2017-01-21 21:10:17 +01:00
Sönke Ludwig 4c7281dd01
Trivial refactor. 2017-01-21 17:27:54 +01:00
Sönke Ludwig 74d9242086
Final compile fix attempt. 2017-01-21 17:27:28 +01:00
Sönke Ludwig 40595fe133 Fix another compilation error. 2017-01-21 17:17:11 +01:00
Sönke Ludwig 0f325a47e4 Fix compilation error on Linux. 2017-01-21 16:40:28 +01:00
Sönke Ludwig 12e59b9c3c Implement basic event processing and timers for the WinAPI driver. 2017-01-21 16:39:48 +01:00
Sönke Ludwig 373cf45b1e Also fix compilation of PosixEventDriverEvents on Windows.
The previous commit actually didn't fully fix the Windows build.
2017-01-21 16:34:06 +01:00
Sönke Ludwig 64f6bb2a14 Make the select based configuration compile on Windows. 2017-01-21 16:19:34 +01:00
Sönke Ludwig a1f0cafeb3
Add IOMode parameter for file IO operations. 2017-01-19 00:24:38 +01:00
Sönke Ludwig 672e1c951d Adjust high level wrapper and test. 2017-01-15 21:59:15 +01:00
Sönke Ludwig 8b8169b868 Add EventDriverSockets.setBroadcast. 2017-01-15 21:42:05 +01:00
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