|
CX Framework
Cross-platform C utility framework
|
Base for datagram filters (attached between the application and a datagram flow) More...
#include <filter.h>
Data Fields | |
| NetMsgQueue | encOut |
| This stage's output toward the wire (a chain boundary queue) | |
| NetMsgQueue | decOut |
| NetPool * | pool |
| The pool this stage allocates its output from, held strongly. | |
Base for datagram filters (attached between the application and a datagram flow)
A datagram filter transforms whole NetMessages at message boundaries – DTLS is one datagram per record. Each stage owns a pair of boundary queues, encOut/decOut, playing the same role NetStreamFilter's boundary rings play for a byte stream: a stage need not produce exactly one output per input. Consuming a handshake record and producing nothing is how a stage swallows it; producing more messages than consumed is how a stage fragments an oversized message for the wire's MTU.
| NetMsgQueue NetDatagramFilter::decOut |
| NetPool* NetDatagramFilter::pool |
The pool this stage allocates its output from, held strongly.
Set by the framework when the stage is added to a flow's chain; a concrete filter neither sets nor releases it, and simply uses it to allocate messages for encOut/decOut. See Buffer Pool.