Expand description
GVSP packet parsing, reassembly and resend orchestration.
The GigE Vision Streaming Protocol delivers image data over UDP. Packets can
arrive out of order or be dropped entirely; this module reconstructs complete
frames while coordinating resend requests over GVCP. The implementation keeps
copies to a minimum by writing directly into pooled [BytesMut] buffers that
are subsequently frozen into [Bytes] once a frame is ready.
Structs§
- Chunk
Raw - Raw GVSP chunk extracted from a payload or trailer block.
- Completed
Frame - Representation of a fully reassembled frame ready for consumption.
- Frame
Assembly - Representation of a partially received frame.
- Frame
Queue - Frame queue used for communicating between the receiver task and the application.
- Packet
Bitmap - Bitmap tracking received packets within a block.
- Reassembler
- Zero-copy block assembly state machine.
- Resend
Planner - Helper struct tracking resend attempts for a given block.
- Stream
Config - Stream configuration shared between the control plane and GVSP receiver.
Enums§
- Gvsp
Error - Errors raised while handling GVSP packets.
- Gvsp
Packet - Representation of a GVSP packet.
- Stream
Dest - Destination for GVSP packets received by the stream.
Functions§
- coalesce_
missing - Coalesce missing packet ranges into resend requests.
- parse_
chunks - Parse a chunk payload following the
[id][reserved][length][data...]layout. - parse_
packet - Parse a raw UDP payload into a GVSP packet.