Commit graph

569 commits

Author SHA1 Message Date
Sönke Ludwig 1e27b33f26 Consider fired timers to be events that cause processEvents to return. 2016-06-15 22:18:24 +02:00
Sönke Ludwig 96a8c95b81 Properly round event timeout for the epoll driver.
Avoids continuous 0 msec timeouts just before timers expire.
2016-06-15 22:17:34 +02:00
Sönke Ludwig 80df8e1ce8 Fix out-of-bounds error in ConsumableQueue. 2016-06-15 22:16:49 +02:00
Sönke Ludwig f808f89e7c Fix issues for posix events and cleanup cancel semantics.
Cancelling an operation now guarantees that the callback won't be called.
2016-06-15 18:20:32 +02:00
Sönke Ludwig fe939bff18 Fix range errors in ConsumableQueue and add removePending. 2016-06-15 18:18:26 +02:00
Sönke Ludwig 5298e00c09 Remove redundant callback parameter from createTimer. 2016-06-14 09:25:06 +02:00
Sönke Ludwig 5ec6b9a5e5 Add more interface functions.
- Cancelling of socket read/write events
- Cancelling of timer waits
- Retrieving the TCP connection state
- Storing custom data together with the event structures
2016-06-14 07:57:10 +02:00
Sönke Ludwig 87487f9e71 Fix deprecation warnings on DMD 2.071.0. 2016-05-18 12:47:30 +02:00
Sönke Ludwig 0b7adc993f Implement manual events in the PosixEventDriver and add waitTimer. 2016-02-03 14:21:02 +01:00
Sönke Ludwig 844e955cdb Add EventDriver.exit and move all event callback parameters to the end. 2016-01-27 11:02:54 +01:00
Sönke Ludwig 3d8183248c Add ConsumableQueue helper container. 2016-01-27 11:00:29 +01:00
Sönke Ludwig 8212d9e16a Add module descriptions for the driver implementations. 2016-01-16 16:33:20 +01:00
Sönke Ludwig b92be4a29d Move drivers to an own package. 2016-01-16 15:50:47 +01:00
Sönke Ludwig be99b48216 Don't compile EpollEventDriver outside of Linux. 2016-01-16 15:48:27 +01:00
Sönke Ludwig eee5091f2f Fix Windows compilation of SelectEventDriver/PosixEventDriver. 2016-01-16 15:48:03 +01:00
Sönke Ludwig f5a1444167 Add README.md. 2016-01-16 15:47:27 +01:00
Sönke Ludwig 52c74e6633 Always use edge-triggered events. 2016-01-16 14:48:43 +01:00
Sönke Ludwig 47c16c65cc Register sockets for events only once.
Only the callbacks are set and unset now, resulting in a considerable performance boost for the epoll backend.
2016-01-16 14:48:30 +01:00
Sönke Ludwig 2a926d87aa Initial version with sone partial Posix implementations. 2016-01-11 21:33:49 +01:00