EIPC
Embedded Inter-Process Communication
Zero-copy, HMAC-authenticated IPC protocol for EoS services. Sub-microsecond shared memory transport, 4 transport backends, capability-based security.
Transport Backends
Same EIPC API regardless of transport. Swap backends without changing application code.
Zero-copy shared memory ring buffer. Fastest transport for same-core or same-chip communication.
Wire Format
Every EIPC frame follows this binary layout. Authenticated with HMAC-SHA256.
| Field | Size | Value | Description |
|---|---|---|---|
| Magic | 4 bytes | 0x45 0x49 0x50 0x43 | Frame identifier (EIPC) |
| Version | 1 byte | 0x01 | Protocol version |
| Flags | 1 byte | 0x00–0xFF | Compression, encryption, priority bits |
| Sequence | 4 bytes | uint32_t | Monotonic sequence number for ordering |
| Header Len | 2 bytes | uint16_t | Length of JSON header section |
| Payload Len | 4 bytes | uint32_t | Length of payload section |
| Header | variable | JSON | Service name, method, metadata |
| Payload | variable | JSON/CBOR/binary | Method arguments or return values |
| HMAC | 32 bytes | SHA-256 | HMAC-SHA256 over header + payload |
Features
Sub-microsecond Latency
Shared memory transport for same-core communication, with zero serialisation overhead for binary payloads.
HMAC Authentication
Every frame is authenticated with HMAC-SHA256. Prevents spoofing and replay attacks between EoS services.
Capability-Based Security
Services declare capabilities in their manifest. EIPC enforces capability checks before routing any message.
4 Transport Backends
Shared memory, UART, SPI, and TCP/IP transports. Same API regardless of transport — swap without code changes.
