Skip to content

[Deliverable] Create Segmentation Library #318

@fryorcraken

Description

@fryorcraken

Owner: App/Chat Dev

Feature: Segmentation

FURPS:

  • F1. Outbound messages larger than the maximum Waku message size are partitioned in several messages to fit in Waku messages.

  • F2. Inbound partitioned messages are reconstructed in a whole message.

  • F3. A capping limit is applied to pre-segmented messages (e.g. 100MB).

  • F4. Messages under the maximum message size are not modified.

  • U1. Only takes a maximum message size as a parameter.

  • R1. Reconstruction can be performed even when parts are received out or order.

  • R2. Reconstruction can be performed as long as 87.5% of the segments is received.

  • R3. If too many parts missing to reconstruct an informative error should be logged.

  • P1. The payload overhead does not exceed 12.5% overall, and 100 bytes per segment.

  • S1. Nim library.

  • +1. Segmentation metadata should not reveal information about the original message content

  • +2. Relevant for all Waku nodes

  • +3. Nimble package manager is used to build.

Checklist:

Tasks

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions