Skip to content

Limbo architecture

ljacqu edited this page Mar 26, 2017 · 3 revisions

This is a technical description of how limbo players are handled. Please refer to Limbo players for a general, non-technical description.

Classes in bold are public-facing classes: these are the classes that are used outside of the limbo package to use the limbo feature. The remaining classes are used internally within the limbo package.

  • LimboPlayer is the object with the limbo properties
  • LimboService keeps LimboPlayer objects in memory and offers methods to the outside world
  • LimboServiceHelper is a util to LimboService and extracts some of the longer actions
  • LimboPlayerTaskManager is also a util to LimboService and handles most of the limbo tasks (see below)
  • LimboPersistence is used in LimboService to read and write LimboPlayers to disk
  • LimboPersistenceHandler is an interface with multiple implementations. The implementation that is chosen depends on the settings. The proper implementation is used within LimboPersistence to perform the actual I/O work. The used implementation in LimboPersistence is switched on each reload (new instance / new implementation if setting has changed).

Limbo tasks

todo ljacqu

Limbo player merge

todo ljacqu

Clone this wiki locally