This repository was archived by the owner on Jun 11, 2023. It is now read-only.

Description
Process lifecycles:
-
direct - Process with a clear goal/target/objective, has an ending. The time required for completion is usually shown to the player. Examples: FileTransfer (download/upload), editing a log, overflow/bruteforce attack.
-
recursive - The process runs endlessly. It has a target, but the user doesn't know which one exactly is it. Once the target is deemed processed, the user is notified about it, and the process selects a new target, starting from scratch. If no targets are select, the process runs anyway, and the user does not know that. Examples: LogRecover (system-wide), FileSeeker.
-
daemon - The process runs endlessly. It usually does not have a target. Instead, the process is used as means to 1) enabling some in-game action or 2) increasing/hardening in-game defense against remote attacks. Examples: Firewall (passive).
Current TOP, rewritten at #322, only supports direct. Adding both recursive and daemon should require minimal changes to the allocator, and a new interfarce under Resourceable (in order for recursive protects to select the next target).
Edit: support for recursive process added at #410