From 4a73efc414e85e15b9a1755584827942e67f7942 Mon Sep 17 00:00:00 2001 From: Ivan FB Date: Fri, 24 Apr 2026 09:45:22 +0200 Subject: [PATCH] introduce ReliableSendId concept --- standards/application/reliable-channel-api.md | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/standards/application/reliable-channel-api.md b/standards/application/reliable-channel-api.md index d2fd05d..6ceac22 100644 --- a/standards/application/reliable-channel-api.md +++ b/standards/application/reliable-channel-api.md @@ -95,6 +95,16 @@ This API considers the types defined by [MESSAGING-API](/standards/application/m ```yaml types: + ReliableSendId: + type: string + description: "Unique identifier for a single `send` operation on a reliable channel. + It groups all chunks produced by segmenting one envelope, so callers can correlate + acknowledgement and error events back to the original send call. + Internally, each chunk is dispatched as an independent [MESSAGING-API](/standards/application/messaging-api.md) call, + producing one `RequestId` (as defined in [MESSAGING-API](/standards/application/messaging-api.md)) per chunk. + A single `ReliableSendId` therefore maps to one or more underlying `RequestId` values, + one per chunk sent." + IEncryption: type: object description: "Interface for a pluggable encryption mechanism. @@ -206,8 +216,8 @@ types: description: "Event emitted when a complete message has been received and reassembled." fields: requestId: - type: RequestId - description: "Identifier of the `send` operation that initiated the message sending. `RequestId` is defined in [MESSAGING-API](./messaging-api.md)." + type: ReliableSendId + description: "Identifier of the `send` operation that produced this message." envelope: type: ReliableEnvelope description: "The reassembled message and its channel context. `envelope.messageEnvelope.payload` contains the fully reassembled content; `envelope.channelId` identifies the channel on which it arrived." @@ -217,16 +227,16 @@ types: description: "Event emitted when all chunks of a message have been acknowledged by the network." fields: requestId: - type: RequestId - description: "The request ID associated with the sent message. `RequestId` is defined in [MESSAGING-API](./messaging-api.md)." + type: ReliableSendId + description: "The identifier of the `send` operation whose chunks have all been acknowledged." EventMessageSendError: type: object description: "Event emitted when a message send operation fails after exhausting retransmission attempts." fields: requestId: - type: RequestId - description: "The request ID associated with the failed message. `RequestId` is defined in [MESSAGING-API](./messaging-api.md)." + type: ReliableSendId + description: "The identifier of the `send` operation that failed after exhausting retransmission attempts." error: type: string description: "Error message describing what went wrong" @@ -298,8 +308,8 @@ functions: type: ReliableEnvelope description: "The envelope containing the message and channel routing information." returns: - type: result - description: "`RequestId` is defined in [MESSAGING-API](./messaging-api.md)." + type: result + description: "Returns a `ReliableSendId` that callers can use to correlate subsequent `MessageSentEvent` or `MessageSendErrorEvent` events." ``` Incoming events are emitted on `ReliableChannel.messageEvents` as defined by `MessageEvents`.