SkyratBot 94cb4e0ce4 [MIRROR] sstimer no longer batches maintenance tasks to the bucket list to avoid edge cases and duplicated logic. (#1933)
* sstimer no longer batches maintenance tasks to the bucket list to avoid edge cases and duplicated logic. (#55140)

* sstimer no longer delays maintenance tasks if its going over its tick.

This was leading to bugs if certain state operations happened while a task was delayed, furthermore if the timer subsystem was overloaded, the invoked timers list would bloat as it would never get cleared out, which would make all timer invocations take longer as they had to add to an ever growing list.

* Update timer.dm

* Fix error when a bucket has only one timer.

* simply timer loop logic & improve timer debug string

It would try to batch up linked list modifications and every issue we have ever had has been related to this, so now it just directly pulls the head of the linked list off, using bucketEject, rather then detect when it reaches the end of the linked list queue it will now just know because the bucket will be empty.

All bucketCount logic has been moved to bucketEject and bucketJoin(), which should also keep that more proper.

* Update timer.dm

* Update timer.dm

* sstimer no longer batches maintenance tasks to the bucket list to avoid edge cases and duplicated logic.

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-11-29 21:28:18 +00:00
2020-11-28 17:18:33 +00:00
2020-11-29 15:02:24 -06:00

Skyrat 13 (/tg/station Downstream)

<<<<<<< HEAD Build Status Percentage of issues still open Average time to resolve an issue Coverage

Build Status Percentage of issues still open Average time to resolve an issue Coverage

94f746b1a30... Improve naming in new GitHub actions (#54821)

forthebadge forthebadge forinfinityandbyond

This is Skyrat's downstream fork of /tg/station created in byond.

Space Station 13 is a paranoia-laden round-based roleplaying game set against the backdrop of a nonsensical, metal death trap masquerading as a space station, with charming spritework designed to represent the sci-fi setting and its dangerous undertones. Have fun, and survive!

DEVELOPMENT FLOWCHART

image

Modularisation Guide

DOWNLOADING

Downloading

Running on the server

Maps and Away Missions

Requirements for contributors

Guidelines for Contributors

/tg/station HACKMD account - Design documentation here

Documenting your code

Policy configuration system

Interested in some starting lore?

Current Skyrat Modules

LICENSE

All code after commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU AGPL v3.

All code before commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST is licensed under GNU GPL v3. (Including tools unless their readme specifies otherwise.)

See LICENSE and GPLv3.txt for more details.

The TGS DMAPI API is licensed as a subproject under the MIT license.

See the footer of code/__DEFINES/tgs.dm and code/modules/tgs/LICENSE for the MIT license.

All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.

Languages
DM 91.4%
TypeScript 5.9%
JavaScript 1.7%
Python 0.5%
SCSS 0.2%