pm/FURPS/application/segmentation.md
2025-06-10 22:00:18 +10:00

1.0 KiB

Segmentation FURPS

Functionality

  1. Outbound messages larger than the maximum Waku message size are partitioned in several messages to fit in Waku messages.
  2. Inbound partitioned messages are reconstructed in a whole message.
  3. A capping limit is applied to pre-segmented messages (e.g. 100MB).
  4. Messages under the maximum message size are not modified.

Usability

  1. Only takes a maximum message size as a parameter.

Reliability

  1. Reconstruction can be performed even when parts are received out or order.
  2. Reconstruction can be performed as long as 87.5% of the segments is received.
  3. If too many parts missing to reconstruct an informative error should be logged.

Performance

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

Supportability

  1. Nim library.

+ (Privacy, Anonymity, Deployments)

  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.