Task #1245
closed
- Assignee set to Anonymous
This task is ready to start.
Try to keep segmentation feature separate, so that it could be shared with #1192.
- Status changed from New to In Progress
How should the face list results be segmented into Data objects? My initial sketch was that I should try to put as many complete FaceStatus entries, up to some size limit, into a single Data.
However, after playing with this for a while, I'm getting errors attempting to decode the result with as few as 2 FaceStatus entries (just 1 works fine). I'm getting a "TLV length mismatches buffer length" exception when calling Block::blockFromValue on the Data's payload. I'm still unfamiliar with the library's encoding stuff, but is this because it's seeing the length of the first FaceStatus TLV and noticing it's smaller than the rest of the Data payload's buffer? (or Content TLV's length I guess?).
collect all FaceStatus
blocks into one chunk
segment this chunk at arbitrary offsets (without considering FaceStatus
block boundary, such that
- Data packet does not exceed MAX_NDN_PACKET_SIZE after signing (it's better to be on the conservative side, such as having
(MAX_NDN_PACKET_SIZE >> 1)
octets of payload per packet
- payloads in all Data packets, when combined sequentially, equals the chunk
sequentially AppData.put
those Data packets
- segment 0 would satisfy the Interest
- subsequent segments would go into the ContentStore
This task need not decode the Data packets. Decoding is in #1328.
- Status changed from In Progress to Code review
- % Done changed from 0 to 100
- Status changed from Code review to Closed
Also available in: Atom
PDF