Skip to content

Commit 5a6de3b

Browse files
progress
1 parent cec5d75 commit 5a6de3b

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

doc/dev/adr/0020-large-message-chunking.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ The chunking mechanism will:
2828
- When all chunks for a message ID are received, they are reassembled in order and message checksum verified.
2929
- The reconstructed message is then processed as a single message by the application callback.
3030

31+
**Note:**
32+
Chunk size is a three party agreement: *publisher-broker-subscriber*. Publisher can set the chunk size, but it is capped by the subscriber's or broker's maximum packet size which ever is smaller.
33+
3134
## Consequences
3235

3336
### Benefits
@@ -41,14 +44,12 @@ The chunking mechanism will:
4144
- Chunk timeout mechanisms
4245
- Error propagation to application code
4346
- **Performance Optimization:**
44-
- Dynamic chunk sizing based on broker limitations
4547
- Concurrent chunk transmission
4648
- Efficient memory usage during reassembly
4749
- **Security:**
4850
- Validate message integrity across chunks
4951
- Prevent chunk injection attacks
5052

5153
## Open Questions
52-
1. How do we determine the optimal chunk size? Should it be based on the broker's max size, network conditions, or configurable by the application?
53-
2. Do we create a new API method (`PublishLargeAsync()`) or use the existing `PublishAsync()` API with transparent chunking for oversized payloads?
54-
3. Chunking and shared subscriptions: How do we handle chunked messages across multiple subscribers?
54+
1. Do we create a new API method (`PublishLargeAsync()`) or use the existing `PublishAsync()` API with transparent chunking for oversized payloads?
55+
2. Chunking and shared subscriptions: How do we handle chunked messages across multiple subscribers?

0 commit comments

Comments
 (0)