mirror of
https://github.com/logos-messaging/specs.git
synced 2026-05-18 19:09:33 +00:00
rm segmentation api details
This commit is contained in:
parent
bdab8f7cab
commit
d85c71b7d1
@ -105,28 +105,6 @@ This API considers the types defined by [MESSAGING-API](/standards/application/m
|
||||
|
||||
```yaml
|
||||
types:
|
||||
MessageChunk:
|
||||
type: object
|
||||
description: "Represents the minimum unit of data transmitted across the network. Its size is governed by SegmentationConfig. Chunks are chained to their predecessors, and any chunk whose linkage to its predecessor cannot be verified MUST be discarded.
|
||||
Only the first chunk on every message, is rate-limited (RLN) and the subsequent chunks MUST be accepted rate-limit wise."
|
||||
fields:
|
||||
chunkId:
|
||||
type: string
|
||||
description: UUID for the chunk
|
||||
previousChunkId:
|
||||
type: string
|
||||
description: Previous chunk ID. Chunks with unvalidated previous chunks MUST be rejected.
|
||||
This field is empty when chunkIndex == 0.
|
||||
chunkIndex:
|
||||
type: uint
|
||||
description: "Zero-based position of this chunk within the ordered sequence of chunks that form the original message."
|
||||
lastChunkIndex:
|
||||
type: uint
|
||||
description: "All chunks of same message have the same value, i.e., num-chunks - 1."
|
||||
requestId:
|
||||
type: RequestId
|
||||
description: "The request id this chunk belongs to. This is generated by the send function. `RequestId` is defined in [MESSAGING-API](./messaging-api.md)."
|
||||
|
||||
SyncStatusDetail:
|
||||
type: object
|
||||
description: "Provides a snapshot of the channel's synchronisation state."
|
||||
@ -220,7 +198,7 @@ types:
|
||||
fields:
|
||||
segmentationConfig:
|
||||
type: SegmentationConfig
|
||||
description: "Configuration for message segmentation. Please refer to [SEGMENTATION](./segmentation.md) for more details."
|
||||
description: "Configuration for message segmentation. Refer to [SEGMENTATION-API](./segmentation-api.md) for details."
|
||||
sdsConfig:
|
||||
type: SdsConfig
|
||||
description: "Configuration for Scalable Data Sync."
|
||||
@ -233,15 +211,6 @@ types:
|
||||
default: none
|
||||
description: "Optional pluggable encryption implementation. If none, messages are sent unencrypted."
|
||||
|
||||
SegmentationConfig:
|
||||
type: object
|
||||
fields:
|
||||
chunkSizeBytes:
|
||||
type: uint
|
||||
default: 102400 # 100 KiB
|
||||
description: "Maximum chunk size in bytes.
|
||||
Messages larger than this value are split before SDS processing."
|
||||
|
||||
SdsConfig:
|
||||
type: object
|
||||
fields:
|
||||
@ -425,7 +394,7 @@ functions:
|
||||
|
||||
When `send` is called, the implementation MUST process the message in the following order:
|
||||
|
||||
1. **Segment**: Split the payload into chunks of at most `chunkSizeBytes` as defined in `SegmentationConfig`.
|
||||
1. **Segment**: Split the payload into chunks as defined in [SEGMENTATION-API](./segmentation-api.md).
|
||||
2. **Apply SDS**: Register each chunk with the SDS layer to track acknowledgements and enable retransmission.
|
||||
3. **Encrypt**: If an `IEncryption` implementation is provided, encrypt each chunk before transmission.
|
||||
4. **Dispatch**: Send each chunk via the underlying [MESSAGING-API](/standards/application/messaging-api.md).
|
||||
@ -454,15 +423,7 @@ Chunks MUST NOT be sent at a rate that would violate the RLN message rate limit
|
||||
|
||||
### Segmentation
|
||||
|
||||
Segmentation splits outgoing messages into chunks before SDS processing.
|
||||
This ensures each chunk fits within the network's maximum message size.
|
||||
|
||||
- The default chunk size is `100 KiB` (`102400 bytes`.)
|
||||
- Chunks MUST be tagged with metadata sufficient for the receiver to reassemble the original message:
|
||||
a message identifier, chunk index, and total chunk count.
|
||||
- Segmentation MUST be transparent to the SDS layer; SDS operates on individual chunks.
|
||||
- The maximum allowed message size is `1MiB` (`1048576 bytes`.)
|
||||
- Messages that are bigger than the maximum allowed size will be discarded automatically and an error will be given to the caller.
|
||||
See [SEGMENTATION-API](./segmentation-api.md).
|
||||
|
||||
### Scalable Data Sync (SDS)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user