bluerobotics / bluerobotics/BlueOS
Improve cable-guy architecture
- Dominant language
- Vue
- Stars
- 453
- Forks
- 151
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 174
Description

- The Network Manager:
- owns the access to the settings file
- owns the Drivers Interface
- catches all exceptions and return them via API
- implements (cached) setters and getters for each part of the settings:
A. on any setter call, it:
1. locks its internal Drivers Interface accessor
2. sends the desired_configs+options to the Drivers Interface
3. waits for the Drivers Interface response
4. update the settings file with the current_config (translated to settings type)
5. unlocks its internal Driver Interface accessor
6. returns the result
B. on any getter call, it:
1. locks its internal Drivers Interface accessor
2. asks Driver Interfaces for the current_config
3. unlocks its internal Driver Interface accessor
4. returns the result
- The Drivers Interface:
- implements and owns all abstractions for the SO drivers and tools
- has a map between each config and their drivers for each kind of system
- raises on any driver error
- implements a set_configs() that:
1. filters out-configs that don't need to be reapplied unless asked not to (via options)
2. tries to apply the desired configs using the appropriate drivers from its driver map
3. calls its get_configs result
- implements a get_configs() that:
1. gets the current OS state using the appropriate drivers from its driver map to
2. translates OS state to configs
3. returns the current_config
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.