Commit graph

72 commits

Author SHA1 Message Date
Ell 07623ddc1a Fixed an issue with removing event-based coroutines after several event calls
Fixes #14
2021-04-08 19:31:11 +02:00
Zaafar Ahmed 0d51954b63
Added a unit test to expose an exception (#14)
* added a unit test to expose the bug.

* made unit test simple.

* adding extra lines.
2021-04-08 19:25:56 +02:00
Ell 5dc11e0d26 update 2021-03-21 18:07:30 +01:00
Ell 79fa21eb1e
Merge pull request #13 from zaafar/master
Removed Avg, Max and added Raw stat i.e LastMoveNextTime
2021-03-21 18:03:36 +01:00
Zaafar 889ed157fe Removed Avg, Max and added raw stats i.e LastMoveNextTime 2021-03-21 12:54:21 -04:00
Ell 0e5b571590 cleanup 2021-03-21 02:02:11 +01:00
Ell 0de8a0dd2d split outstanding coroutines into two lists to improve performance slightly 2021-03-21 01:58:16 +01:00
Ell 4280ea2db4 always archive test results 2021-03-20 21:28:36 +01:00
Ell 10590841d2 only move coroutines that relate to the required type 2021-03-20 21:24:18 +01:00
Ell 19e8a74d2b use default initial capacity when creating event coroutine collection 2021-03-20 21:21:05 +01:00
Ell 1e8a9e4e6c make sure all infinite coroutines are canceled in tests 2021-03-20 21:20:08 +01:00
Ell d9f8c383ea
Merge pull request #11 from zaafar/master
Demostrate the issue and add unit test
2021-03-20 21:06:01 +01:00
Zaafar 9d23ffb2f6 added more unit tests 2021-03-20 15:59:01 -04:00
Ell 42360014d8 use sets for eventCoroutinesToRemove to speed up Contains check 2021-03-20 15:24:25 +01:00
Ell 501d744326 increase performance and scalability by storing event coroutines linked to their event 2021-03-20 15:13:39 +01:00
Ell 548e07f19f some code style improvements 2021-03-20 03:23:11 +01:00
Ell ff8749a799 Ensure that event coroutines never get duplicated when duplicate events are raised 2021-03-20 03:23:04 +01:00
Ell cf1b3c2db0 added a convenience method that accepts a TimeSpan for Tick 2021-03-20 02:00:46 +01:00
Ell 9f4d43d730 clean up recent pull request a bit 2021-03-20 01:50:00 +01:00
Ell 47ffd9b79a
Merge pull request #10 from zaafar/master
Stop RaiseEvent from adding/deleting Coroutines
2021-03-20 01:09:58 +01:00
Zaafar 469527cd87 name changes 2021-03-19 19:55:32 -04:00
Zaafar 3998cd92d7 added another test-case
also, provided a fix.
2021-03-19 18:37:17 -04:00
Zaafar 7bff370663 updated unit test to be more complex. 2021-03-19 16:45:47 -04:00
Ell 355c3a4f8c
Merge pull request #8 from zaafar/master
Few more Event based test-cases
2021-03-18 21:40:57 +01:00
Zaafar 41017b5f8a few more test-cases 2021-03-18 16:39:56 -04:00
Ell c26d0cbeb0 cleaned up tests and integrated them with ci 2021-03-18 16:38:34 +01:00
Ell c7378078ae
Merge pull request #7 from zaafar/master
added unit tests
2021-03-18 15:35:54 +01:00
Zaafar 1c97d17ef7 Added event based test. 2021-03-18 09:37:15 -04:00
Zaafar bda1e21ea3 Minor fixup 2021-03-18 09:20:36 -04:00
Zaafar 71f9573c9c manually cleaned up the Coroutine.sln file 2021-03-18 04:34:03 -04:00
Zaafar 494d3d9fc1 added unit tests for time based Wait.
updated some unit tests

minor changes
2021-03-18 04:32:35 -04:00
Ell 47dbd8bf25 update 2021-03-17 01:17:16 +01:00
Ell 6e07a26a6c fixed some race conditions with nested coroutines 2021-03-17 01:13:57 +01:00
Ell ffdb5ed8f7 revert back to using for loops to allow for nested coroutines to work correctly
Closes #6
2021-03-17 00:38:44 +01:00
Ell 448a55081b minor cleanup 2021-03-16 19:10:25 +01:00
Ell c68121614f added coroutine priority
Closes #6
2021-03-16 19:07:28 +01:00
Ell 5c6621ace3 use Equals for event comparison to allow easily overriding the equals method 2021-03-16 18:28:38 +01:00
Ell ca434b2324
Only publish on master 2021-01-01 11:10:35 +01:00
Ell 1fec29dc63
Merge pull request #5 from zaafar/f/add-max-stat
added MaxMoveNextTime Stat to ActiveCoroutine.
2021-01-01 11:07:53 +01:00
Zaafar 013b846fbc added MaxMoveNextTime Stat to ActiveCoroutine. 2021-01-01 00:27:34 -05:00
Ell a77c9874e7 update the documentation (which has been outdated for a while apparently, oops) 2020-12-20 22:00:40 +01:00
Ell 2453232fd2 update 2020-12-20 17:14:24 +01:00
Ell d3b34154ad Added some statistics to coroutines
It took me half a year, but closes #4
2020-12-20 17:12:43 +01:00
Ellpeck 607a1587fa
Create FUNDING.yml 2020-06-15 02:05:22 +02:00
Ellpeck ec08d6e314 update 2020-06-13 03:13:10 +02:00
Ellpeck ca2350592e documentation 2020-06-13 03:12:26 +02:00
Ellpeck f199112d99 allow coroutine handler instancing. Actually solves #2 2020-06-13 03:02:11 +02:00
Ellpeck b4874dd365 overhaul the coroutine system to avoid boxing 2020-06-13 02:58:54 +02:00
Ellpeck ae6e4924ec update 2020-05-19 16:14:06 +02:00
Ellpeck a3af44becb Fixed empty coroutines throwing a NRE
Closes #3
2020-05-19 16:06:38 +02:00