Task
Refactor services to use a common communications channel abstraction instead of reading/writing arbitrary byte arrays directly. This prepares the codebase for pluggable comms backends (eSPI, UART, etc.) as the underlying transport between the EC secure partition and the embedded controller.
Motivation
Currently each service manually packs/unpacks raw byte arrays for request and response data. This tightly couples service logic to the wire format and makes it difficult to swap the underlying transport. A common comms channel trait/abstraction would:
- Decouple service logic from transport details
- Enable pluggable backends (eSPI OOB, UART, shared memory, etc.)
- Provide a consistent interface for framing, serialization, and error handling
- Make it easier to test services with mock transports
Scope
Related
Parent
Part of #60
Task
Refactor services to use a common communications channel abstraction instead of reading/writing arbitrary byte arrays directly. This prepares the codebase for pluggable comms backends (eSPI, UART, etc.) as the underlying transport between the EC secure partition and the embedded controller.
Motivation
Currently each service manually packs/unpacks raw byte arrays for request and response data. This tightly couples service logic to the wire format and makes it difficult to swap the underlying transport. A common comms channel trait/abstraction would:
Scope
Related
Parent
Part of #60