Enhance the existing acio infrastructure by improving the existing layering.
This should be done in combination/before #38. The previously verified test code can be used to test the refactored changes.
Detailed description
Introduce a clean separation of a device, protocol and game specific layer. Avoid any direct dependencies to previous layers (if possible) to create clean de-coupling within modules.
Benefits
Make this unit-testable. The goal is to be able to write small tests to run known/dumped payloads against the different layers to verify all so far known and emulated features.
Drawbacks
Can be complex to establish and might require additional abstraction/layer.
Current blockers
None.
## Summary
<!--- Provide a general summary of your changes in the Title above -->
Enhance the existing acio infrastructure by improving the existing layering.
This should be done in combination/before #38. The previously verified test code can be used to test the refactored changes.
## Detailed description
<!--- Describe your feature in detail -->
Introduce a clean separation of a device, protocol and game specific layer. Avoid any direct dependencies to previous layers (if possible) to create clean de-coupling within modules.
## Benefits
<!--- Describe the value/benefits of the feature in detail -->
Make this unit-testable. The goal is to be able to write small tests to run known/dumped payloads against the different layers to verify all so far known and emulated features.
## Drawbacks
<!--- Describe any drawbacks that might be introduced with this feature -->
Can be complex to establish and might require additional abstraction/layer.
## Current blockers
<!--- Describe any blockers that need to be resolved before implementing this feature -->
None.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Enhance the existing acio infrastructure by improving the existing layering.
This should be done in combination/before #38. The previously verified test code can be used to test the refactored changes.
Detailed description
Introduce a clean separation of a device, protocol and game specific layer. Avoid any direct dependencies to previous layers (if possible) to create clean de-coupling within modules.
Benefits
Make this unit-testable. The goal is to be able to write small tests to run known/dumped payloads against the different layers to verify all so far known and emulated features.
Drawbacks
Can be complex to establish and might require additional abstraction/layer.
Current blockers
None.