Tristan B. Velloza Kildaire
cc75eefa15
Try 50ms
2022-11-26 18:16:07 +02:00
Tristan B. Velloza Kildaire
e75e3f732d
Added missing `eventy.config` import to the `package.d` module
2022-11-26 18:00:24 +02:00
Tristan B. Velloza Kildaire
4fed9fc780
Added missing comment to config.d
2022-11-26 17:58:15 +02:00
Tristan B. Velloza Kildaire
5bbb6d804a
Added last missing doc header to a method in engine.d
2022-11-26 17:43:44 +02:00
Tristan B. Velloza Kildaire
6cfaa9824e
Added missing comments
2022-11-26 17:37:38 +02:00
Tristan B. Velloza Kildaire
00b8eb82be
Removed redundant imports
2022-11-26 17:36:11 +02:00
Tristan B. Velloza Kildaire
a501de15d3
Removed commented out code
...
Moved testing imports within each unit test
Added a new unit test which tests the yield-based HoldOffMode
Neteaned up imports
2022-11-26 17:31:03 +02:00
Tristan B. Velloza Kildaire
59d0253b61
Implemented `agressiveTryLock` check so the user can choose whether or not to yield if a fail to grab the lock occurs
2022-11-26 17:26:05 +02:00
Tristan B. Velloza Kildaire
3603c567e8
Removed deprecated `setSleep(Duration)`
...
Added `getConfig()/setConfig(EngineSettings)` to retrieve and update the configuration of the Engine on the fly
Privated `getTypes()` method for now as it is not implemented yet
2022-11-26 17:23:40 +02:00
Tristan B. Velloza Kildaire
be44514a51
Cleaned up `shutdown()` and added some TODOs
2022-11-26 17:14:20 +02:00
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
ea1e317431
Updated README
2022-01-16 15:02:01 +02:00
Tristan B. Velloza Kildaire
f2f79e1cf8
Updated documentation
2022-01-16 14:56:26 +02:00
Tristan B. Velloza Kildaire
f649a63a77
Re-worked event system
2022-01-16 14:32:00 +02:00
Tristan B. Velloza Kildaire
f1a13623a6
Added comment
2022-01-16 14:22:18 +02:00
Tristan B. Velloza Kildaire
c2bc5bc902
Added optional payload support
2022-01-16 14:21:09 +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
d2e9f5376c
New logo
2021-12-27 12:29:47 +02:00
Tristan B. Kildaire
e6c18021bc
Delete libeventdisp.a
2021-12-27 12:22:58 +02:00
Tristan B. Velloza Kildaire
9cc4de215c
Made public
2021-09-15 14:55:11 +02:00
Tristan B. Velloza Kildaire
a86ff8fda2
Cleaned up
2021-09-15 14:54:59 +02:00
Tristan B. Velloza Kildaire
e7c913bc10
Added README (WIP)
2021-09-08 13:01:39 +02:00
Tristan B. Velloza Kildaire
fa9b827711
New logo
2021-09-08 13:01:34 +02:00
Tristan B. Velloza Kildaire
77774a73e1
Added logo
2021-09-08 12:55:10 +02:00
Tristan B. Velloza Kildaire
c1c4225800
Create package.d
2021-09-08 12:51:53 +02:00
Tristan B. Velloza Kildaire
179203caef
Updated dub information
2021-09-08 12:42:58 +02:00
Tristan B. Velloza Kildaire
15bc5d5b7e
Updated licensing information
2021-09-08 12:42:55 +02:00
Tristan B. Velloza Kildaire
b4d117d721
Added igitignore
2021-09-08 12:40:08 +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
206775937e
Added missing exception definition
2021-09-08 12:37:29 +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
a6aa3486ad
Added implementaiton for Signal's `handles(ulong)`
2021-09-01 15:33:39 +02:00
Tristan B. Velloza Kildaire
e19421f4e5
Added some methods
2021-09-01 15:33:26 +02:00
Tristan B. Velloza Kildaire
a7a3a09564
Set the id for the Event
2021-09-01 15:33:15 +02:00
Tristan B. Velloza Kildaire
972a12efed
Fixed use of the Ranges, I recall how it works now
2021-09-01 15:33:07 +02:00
Tristan B. Velloza Kildaire
3a2637605a
Fixed bug where mutex lock object was 0 addr
2021-09-01 14:50:39 +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