Tristan B. Velloza Kildaire
e8b78156b7
Added support for graceful shutdown
2022-11-26 17:12:41 +02:00
Tristan B. Velloza Kildaire
490cfe85d6
Implemented `hasPendingEvents()` to check whether there are any pending events at all
...
Use `isPendingEvents()` is unit tests to ensure that we actually are able to see ALL events pushed dispatched before we, possibly, pre-maturely shutdown the engine with `shutdown()`
Removed unused function `runner(Event)`
Added new commented out test case
Formatted method documentation of some methods to conform to D's style
2022-11-26 17:07:17 +02:00
Tristan B. Velloza Kildaire
03dfe3ccfd
Removed TODO comment
...
Added configuration system
Introduced two modes of "sleeping" the event loop, sleep-based and yield-based (with 200ms sleep-mode as the default)
Disabled `setSleep(Duration)` for now
2022-11-26 16:52:21 +02:00
Tristan B. Velloza Kildaire
b67f61b848
Added isSignalExists(ulong id) to check whether a signal handler exists for a given event id
2022-05-26 14:04:34 +02:00
Tristan B. Velloza Kildaire
263188fa64
Remove todo that has since been completed
2022-05-19 16:50:56 +02:00
Tristan B. Velloza Kildaire
d0c4d12155
Make unit testing method private within module
2022-05-19 16:49:52 +02:00
Tristan B. Velloza Kildaire
9a26ed7011
Removed swear words
2022-05-19 16:49:25 +02:00
Tristan B. Velloza Kildaire
c6082f3941
Unit test: Shutdown engine after testing
2022-05-19 16:48:09 +02:00
Tristan B. Velloza Kildaire
692660772a
Added rudimentary shutdown() method
2022-04-07 10:11:59 +02:00
Tristan B. Velloza Kildaire
f649a63a77
Re-worked event system
2022-01-16 14:32:00 +02:00
Tristan B. Kildaire
72a35976e1
Added a Javadoc
2021-12-27 13:04:30 +02:00
Tristan B. Kildaire
3e826aa1ac
Added a Javadoc
2021-12-27 13:03:55 +02:00
Tristan B. Kildaire
f87a7f44ca
Added some Javadocs
2021-12-27 13:02:32 +02:00
Tristan B. Velloza Kildaire
9cc4de215c
Made public
2021-09-15 14:55:11 +02:00
Tristan B. Velloza Kildaire
7b835b39de
Fixed error where no queues could be added
2021-09-08 12:39:40 +02:00
Tristan B. Velloza Kildaire
ca61e7a8e1
Use ~ opAssign operator instead
2021-09-08 12:37:20 +02:00
Tristan B. Velloza Kildaire
f5ed565912
Don't waste time spinning on a mutex that cannot be unlocked, yield as it may be unlocked by another process, if not then whenever we get back here try again (repeat if same result), else fall through with lock, execute event loop, unlock and yield (as per normal)
2021-09-07 14:12:31 +02:00
Tristan B. Velloza Kildaire
217688767a
Added yield to stop starving the mutex on our side. They (API users) could of course still starve it on their side, so they should use functions not to rapidly else event-loop gets no time to dispatch events they add.
2021-09-07 14:05:31 +02:00
Tristan B. Velloza Kildaire
e19421f4e5
Added some methods
2021-09-01 15:33:26 +02:00
Tristan B. Velloza Kildaire
fd4bcb7ecd
Added multi-threaded dispatcher
2021-08-31 11:48:26 +02:00
Tristan B. Velloza Kildaire
8da3dd2b4a
Loop through queue and find matcxhing signal handlers for the first event of each queue
2021-08-31 11:39:41 +02:00
Tristan B. Velloza Kildaire
349f3d3ddd
Added queues for Queues and Signals and respective Mutexes
2021-08-31 11:34:41 +02:00
Tristan B. Velloza Kildaire
29afd37f38
Added a few methods for Signal and Engine
2021-08-28 11:41:21 +02:00
Tristan B. Velloza Kildaire
635bdf255e
Added stub types
2021-08-27 16:12:48 +02:00
Tristan B. Velloza Kildaire
bfa98ffee6
Added stub for Engine class
2021-08-27 15:53:19 +02:00