diff --git a/Limbo-architecture.md b/Limbo-architecture.md index d41be6b..f3375ed 100644 --- a/Limbo-architecture.md +++ b/Limbo-architecture.md @@ -1,3 +1,19 @@ This is a technical description of how limbo players are handled. Please refer to [Limbo players](Limbo-players) for a general, non-technical description. ![](https://s30.postimg.org/i09vy2pqp/Untitled_Diagram.png) + +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 \ No newline at end of file