Handle Incomplete Sequence numbers in missing transmission report #594
Labels
BLE
BLE Transefer of VCs
BLE-Sharing
Related to BLE sharing mechanism
enhancement
New feature or request
triage
This issue is pending confirmation and planning and should not be worked on yet
Milestone
If the MTU size(-headers) is less than 183, there is a chance of incomplete sequence number in the transmission report in case of higher failure of chunks. In such scenario ignore any incomplete sequence number.
Scenario:
MTU negotiated: 185 [182 (-3 for headers)]
No of missed chunks: 95
Transfer Report Packet:
First Byte: Success/ Failure
Next 2 bytes: page numbers
No of bytes needed for representing each sequence number: 2 bytes
Remaining bytes: 179 bytes which can hold max of 89 sequence numbers
Current implementation will write first 90 sequence numbers in the characteristics which is 180 bytes. The last byte will get dropped as max available space is 179 bytes.
When the wallet tries to convert the bytes into Transfer Report back, the last sequence number will not be converted and throw an exception.
Example:
Data to be written by verifier:
00 | 00 95 | 00 01 | 00 34 | ....................... | 00 68 | 00 99
Data received by the wallet :
00 | 00 95 | 00 01 | 00 34 | ....................... | 00 68 | 00
Since the last sequence number is incomplete, it will cause error.
To be done:
Drop the entire last sequence number and then process the request:
00 | 00 95 | 00 01 | 00 34 | ....................... | 00 68
The text was updated successfully, but these errors were encountered: