Commit Graph

50 Commits

Author SHA1 Message Date
Samuel
2442f14b3d
Add a Scheduler::scheduleTask with period supplier AND delay (#2082) 2024-04-09 17:25:17 -04:00
DeidaraMC
a9f6d9f02b
feat: add TICK_END execution type to scheduler api (#2045)
* feat: implement TICK_END scheduler ExecutionType

* feat: add TICK_END scheduler ExecutionType

* fix: call processTickEnd on entity/instances, SchedulerImpl code cleanup

* deprecate ExecutionType#SYNC, replace with TICK_START

* chore: update scheduler test

* chore: scheduleEndOfTick cleanup

---------

Co-authored-by: iam <iam4722202468@users.noreply.github.com>
2024-03-30 23:51:08 -04:00
Samuel
17fd82a5c1
Scheduler try catch (#2037)
* try catch in SchedulerImpl to individually fail tasks

* Use exception manager

* chore: add a test

---------

Co-authored-by: mworzala <mattheworzala@gmail.com>
2024-03-21 21:42:24 +00:00
Samuel
1058d88552
Scheduler extends Executor for convenience (#2036)
* Scheduler extends Executor for convenience

* chore: doc on Scheduler#execute()

---------

Co-authored-by: mworzala <mattheworzala@gmail.com>
2024-03-21 21:05:12 +00:00
Konstantin Shandurenko
2cea7ca5af
Async tasks cancellation fix (#907) 2022-04-11 20:26:59 +02:00
themode
024ba736ce Improve tasks performance 2022-03-10 16:57:36 +01:00
themode
3f10829935 Remove RoaringBitmap 2022-01-10 16:51:21 +01:00
themode
3decf439c6 MpscGrowableArrayQueue resizing seems to be broken 2022-01-10 16:51:21 +01:00
themode
2d1102e0e8 Add Scheduler#scheduleNextProcess 2022-01-10 16:51:21 +01:00
TheMode
f0104f7f1d Do not throw an exception if the task is not registered
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
themode
9af41f944a Fast exit if task queue is empty 2022-01-10 16:51:21 +01:00
TheMode
f1c9871800 Use bitset to store parked & registered tasks
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
9717e54aac Revamped scheduling API (#535) 2022-01-10 16:51:21 +01:00
TheMode
2e523350d3 Dont expose fastutil
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-21 10:13:01 +01:00
TheMode
b1ef97b5af Use toList in stream chains
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:23:14 +02:00
TheMode
9fe3f28497 Improve ThreadLocal performance when calling from a minestom thread
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-25 19:37:14 +02:00
TheMode
8cbd6460f4 Cleanup...
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 03:40:30 +02:00
Matthew
75964f87b4 Merge Task#scheduleForShutdown into Task#schedule 2021-08-26 11:22:08 -04:00
Matthew
1c92414cad Add TaskBuilder#build 2021-08-26 11:22:08 -04:00
Matthew
2674ca933e Move functionality from TaskBuilder#schedule to Task#schedule and Task#scheduleForShutdown 2021-08-26 11:22:08 -04:00
TheMode
ad964a0a39 Remove deprecated UpdateOption.java 2021-07-25 06:25:32 +02:00
Németh Noel
39dd5bfbf9 Removed duplicated code 2021-07-03 14:56:22 +02:00
Németh Noel
373ef90535 Fix javadoc 2021-06-30 13:36:26 +02:00
Németh Noel
b8441a0fd7 Updated TaskBuilder.java 2021-06-30 12:51:20 +02:00
LeoDog896
f68054d564 Convenience toMilliseconds, add UpdateOption methods 2021-06-01 11:29:40 -04:00
KrystilizeNevaDies
77af63772f Add getTask in SchedulerManager 2021-03-22 21:23:57 +10:00
jglrxavpok
ee158c0dea Use Nullable string instead of Optional in MinestomRootClassLoader#findExtensionObjectOwner 2021-02-04 11:57:43 +01:00
jglrxavpok
a63e9462c2 All EventHandler remove extension callback when the extension unloads 2021-02-03 20:47:01 +01:00
jglrxavpok
c8e311855f Auto-unschedule and cancel tasks from extensions 2021-02-03 17:51:14 +01:00
Tyan
855c8af455 Added ExceptionManager for custom exception handling 2021-01-20 11:43:45 +01:00
Felix Cravic
d61a598c94 Prevent players being disconnected two times during a clean stop, also made shutdown tasks being executed in a single thread 2020-12-02 21:28:36 +01:00
themode
3db53a798f Removed lombok dependency 2020-11-16 03:10:51 +01:00
themode
cf6fbd3d34 Cleanup 2020-11-06 22:58:38 +01:00
themode
fc4501501b Fix tasks not being canceled properly + annotations 2020-11-06 22:13:52 +01:00
themode
872dccd7ce Small cleanup 2020-10-29 22:52:07 +01:00
themode
384df073a8 Fixed synchronization issue when adding/removing scheduled tasks 2020-10-29 19:20:25 +01:00
themode
660a67e53e English fix 2020-10-15 21:16:31 +02:00
themode
88ef4eb3c0 Comments 2020-10-12 03:18:02 +02:00
TheMode
4a96ef6224 Use Map instead of List to store tasks 2020-10-09 06:08:27 +02:00
Felix Cravic
e84bcdb0a1 Prevent the instantiation of multiple SchedulerManager 2020-08-09 15:16:05 +02:00
Articdive
856d328668
Small optimizations. 2020-08-08 13:41:25 +02:00
Felix Cravic
336d040cd4 Replaced TaskBuilder#buildTask to TaskBuilder#schedule 2020-07-31 20:44:58 +02:00
R0bbyYT
56010e27e6 SchedulerManager console output + Added a simple ShutdownCommand 2020-07-29 05:03:07 +02:00
R0bbyYT
4ad4054fce Improve the scheduler's 2020-07-29 04:28:01 +02:00
Felix Cravic
5c1e6e7572 Cleanup 2020-07-23 07:36:49 +02:00
jglrxavpok
b98232eab6 Wait for shutdown tasks to finish before returning from SchedulerManager#shutdown 2020-07-01 22:17:35 +02:00
jglrxavpok
edbc189b98 Set lastUpdateTime on task creation, otherwise delayed task won't be delayed 2020-05-01 23:35:56 +02:00
Felix Cravic
a06274f877 Cleanup + updated RedstonePlacementRule 2020-04-28 22:08:39 +02:00
jglrxavpok
9b25f5d95b Allow server to be stopped cleanly 2020-04-28 19:23:02 +02:00
Felix Cravic
7daac5e610 Package rename to net.minestom.server 2020-04-24 03:25:58 +02:00