specify SDS

This commit is contained in:
fryorcraken 2025-10-17 16:16:57 +11:00
parent a9ea0b5023
commit 4ff7967d1d
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4

View File

@ -5,8 +5,6 @@ category: Standards Track
status: raw status: raw
tags: [reliability, application, api] tags: [reliability, application, api]
editor: Franck Royer <franck@status.im> editor: Franck Royer <franck@status.im>
contributors:
- Franck Royer <franck@status.im>
--- ---
## Table of contents ## Table of contents
@ -35,7 +33,8 @@ contributors:
* [Extended definitions](#extended-definitions-1) * [Extended definitions](#extended-definitions-1)
* [Channel lifecycle](#channel-lifecycle) * [Channel lifecycle](#channel-lifecycle)
* [Function definitions](#function-definitions-2) * [Function definitions](#function-definitions-2)
* [Security/Privacy Considerations](#securityprivacy-considerations) * [Future improvements](#future-improvements)
* [Security/Privacy considerations](#securityprivacy-considerations)
* [Copyright](#copyright) * [Copyright](#copyright)
<!-- TOC --> <!-- TOC -->
@ -105,17 +104,17 @@ The primitive types and general guidelines are the same as defined in [WAKU-API]
The Reliable Channel is a layered architecture that combines multiple components: The Reliable Channel is a layered architecture that combines multiple components:
``` ```
┌─────────────────────────────────────────┐ ┌──────────────────────────────────────────────────────────
│ Reliable Channel API │ ← Application-facing event-driven API │ Reliable Channel API │ ← Application-facing event-driven API
├─────────────────────────────────────────┤ ├──────────────────────────────────────────────────────────
│ Message Segmentation │ ← Large message splitting/reassembly │ Message Segmentation │ ← Large message splitting/reassembly
├─────────────────────────────────────────┤ ├──────────────────────────────────────────────────────────
│ Rate Limit Manager │ ← WAKU2-RLN-RELAY compliance & pacing │ Rate Limit Manager │ ← WAKU2-RLN-RELAY compliance & pacing
├─────────────────────────────────────────┤ ├──────────────────────────────────────────────────────────
│ SDS (Scalable Data Sync) │ ← Causal ordering & acknowledgements │ SDS (Scalable Data Sync) │ ← Causal ordering & acknowledgements
├─────────────────────────────────────────┤ ├──────────────────────────────────────────────────────────
│ WAKU-API (LightPush/Filter/Store) │ ← Message transport layer │ WAKU-API (LightPush/Filter/Store/P2P Reliability) │ ← Message transport layer
└─────────────────────────────────────────┘ └──────────────────────────────────────────────────────────
``` ```
### SDS integration ### SDS integration
@ -165,9 +164,6 @@ When using [WAKU2-RLN-RELAY](https://github.com/vacp2p/rfc-index/blob/main/waku/
TODO: refer to rate limit manager spec TODO: refer to rate limit manager spec
Note: at a later stage, we may prefer for the Waku node to expose rate limit information (total rate limit, usage so far)
instead of having it a configurable on the reliable channel.
## The Reliable Channel API ## The Reliable Channel API
```yaml ```yaml
@ -220,7 +216,7 @@ types:
process_task_min_elapse_ms: process_task_min_elapse_ms:
type: uint type: uint
default: 1000 default: 1000
description: "The minimum elapsed time between calling the underlying channel process task for incoming messages. This prevents overload when processing many messages." description: "The minimum elapsed time between calling the underlying SDS channel process task for incoming messages. This prevents overload when processing many messages."
causal_history_size: causal_history_size:
type: uint type: uint
description: "The number of recent messages to include in causal history. Passed to the underlying SDS MessageChannel." description: "The number of recent messages to include in causal history. Passed to the underlying SDS MessageChannel."
@ -546,7 +542,8 @@ functions:
## Future improvements ## Future improvements
- Developer may prefer to have control over the content topics for privacy and anonymity purposes, future improvements may enable this. - Developer may prefer to have control over the content topics for privacy and anonymity purposes, future improvements may enable this.
- Developers may prefer the message routing service (aka [WAKU2]()) to provide message rate limit information. - Developers may prefer the message routing service (aka [WAKU2](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/10/waku2.md)) to provide message rate limit information.
- "Query on connect" is most likely more suited at the [WAKU-API](/standards/application/waku-api.md) layer
## Security/Privacy considerations ## Security/Privacy considerations