The zCOM library is there to provide a composable stack of protocols, down from osi layer 1 (e.g. ethernet frames, IEEE_802.11) up to osi layer 7 (DNS, DHCP, Tiny TP, ...).
The library is designed in a way that you can stack each protocol onto a compatible protocol, for example serving Tiny TP over UDP instead of IrLMP or use PPP over a serial line.
- Provide a general purpose implementation of a lot of link protocols
- Protocol implementations should be configurable so they are suitable for both high end machines (desktop, server) and embedded devices
- This means that a protocol might require
comptimeconfiguration to restrict the number of allowed connections (for example, allow only up to 3 TCP connections to save RAM)
- This means that a protocol might require
- Allow the use of any physical layer
- Provide APIs that allows the use of
async, but doesn't enforce it - Make the APIs be usable for byte-by-byte inputs and don't require any specified packet size. Feeding a recording of 1 MB of data should work the same way as feeding a single byte.
The whole project is just in planning phase, no concrete implementation done yet.
Each protocol with a tick is at least in a somewhat usable state
- Ethernet
- IEEE802.11 (WLAN)