summaryrefslogtreecommitdiff
path: root/src/linkgraph/linkgraphjob.h
AgeCommit message (Collapse)Author
2021-05-31Codechange: C++-ify lists for SaveLoad (#9323)Patric Stout
Basically, this changes "SaveLoad *" to either: 1) "SaveLoadTable" if a list of SaveLoads was meant 2) "SaveLoad &" if a single entry was meant As added bonus, this removes SL_END / SLE_END / SLEG_END. This also adds core/span.hpp, a "std::span"-lite.
2021-05-27Codechange: linkgraph always iterates with NodeIDs over the Size(), so make ↵rubidium42
Size() the same type to prevent infinite loops
2021-04-13Fix: Add virtual destructor to link graph Path.Milek7
Classes derived from Path were freed through base class pointer, but no virtual destructor was present.
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-25Change: [Linkgraph] Allow job threads to be aborted early when clearing ↵Jonathan G Rennison
schedule (#8416) When link graph jobs are cleared due to abandoning the game or exiting, flag the job as aborted. The link graph job running in a separate thread checks the aborted flag periodically and terminates processing early if set. This reduces the delay at game abandon or exit if a long-running job would otherwise still be running.
2020-12-22Change: [Linkgraph] Pause the game when linkgraph jobs lag (#6470)Jonathan G Rennison
Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
2020-05-21Codechange: Replace SmallPair with std::pair.Michael Lutz
std::pair is already the smallest possible pair, and it already handles non-POD types correctly.
2019-12-21Codechange: Replace linkgraph related FOR_ALL with range-based for loopsglx
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-09-29Fix: Some typos found using codespellJMcKiern
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-06Codechange: Replace custom thread code with C++11 thread objects.Michael Lutz
We assume a conforming C++11 compiler environment that has a valid <thread>-header. Failure to run a real thread is handled gracefully.
2019-03-26Codechange: Removed SmallVector completelyHenry Wilson
2015-03-07(svn r27178) -Fix [FS#5969]: Data race due to lazy initialisation of objects.frosch
2014-02-16(svn r26347) -Fix [FS#5898]: Make sure link graph jobs can delete themselves ↵fonsinchen
after SLA_NULL.
2014-02-10(svn r26331) -Fix: some inconsistencies regarding link graph (job) IDs.fonsinchen
2014-01-29(svn r26286) -Fix: Thoroughly erase dead flows.fonsinchen
2013-10-19(svn r25885) -Codechange: Keep paths sorted so that the ones with flow == 0 ↵fonsinchen
are in the back and don't have to be iterated over so often.
2013-08-23(svn r25741) -Fix: shift join dates of link graph jobs when using the date cheatfonsinchen
2013-06-17(svn r25423) -Fix: integer overflows in MCF solverfonsinchen
2013-06-09(svn r25387) -Fix: "typos" in @file filenamerubidium
2013-06-09(svn r25353) -Add: link graph job implementationfonsinchen