The redBlocks communication abstraction layer makes datagram and stream based communication transparent to higher software layers. No matter what programming interface the underlying TCP/IP stack offers, the interface that can be used by the application layer components stays the same. The redBlocks component library provides adaption layers for posix sockets and several embedded TCP/IP stacks.
Due to the abstraction layer, it does not even matter for the higher software layers whether the used protocol is a standard protocol like TCP or UDP, or if a custom protocol implementation is used.
For custom protocol implementation there are several classes that take care of framing, byte stuffing, checksum calculation, checksum test, ...
In order to conveniently define application layer protocols, on top of packet oriented or stream-based protocols, the redBlocks Component Library provides the Application Layer Protocol Framework.