Expand description
Segmentation and reassembly of large data across multiple Space Packets. Helpers for segmentation and reassembly of large data blocks across multiple Space Packets.
This module provides a high-level API to handle data that is too large to fit
into a single SpacePacket. This implementation is #![no_std] and allocator-free.
The user is responsible for providing buffers for the reassembly process.
§Workflow
Sending (Segmentation):
- Create a [
Segmenter] iterator over your large data slice. - The iterator yields [
SegmentedPacketData] structs. - Use the information from each struct to build and send a
SpacePacket.
Receiving (Reassembly):
- The user must manage a pool of [
Reassembler] instances. The [ReassemblyManager] is a helper for this. - When a
Firstpacket is received, associate a freeReassembler(and its buffer) with the packet’sApid. - Feed subsequent packets for that
Apidto the correctReassembler. - When the
Lastpacket is processed, theReassemblerwill yield a slice containing the complete data.
Modules§
- reassembler
- Reassembly of segmented packets back into a contiguous data block.
- segmenter
- Segmentation of large data into multiple packet-sized chunks.