update_docs #10
@@ -9,7 +9,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
NATSBridge is a cross-platform, bi-directional data bridge that enables seamless communication between **Julia**, **JavaScript**, **Python**, and **MicroPython** applications using NATS as the message bus. The system implements the **Claim-Check pattern** for efficient handling of large payloads (>1MB) by uploading them to an HTTP file server instead of sending raw binary data over NATS.
|
||||
NATSBridge is a cross-platform, bi-directional data bridge that enables seamless communication between **Julia**, **JavaScript**, **Python**, and **MicroPython** applications using NATS as the message bus. The system implements the **Claim-Check pattern** for efficient handling of large payloads (>0.5MB) by uploading them to an HTTP file server instead of sending raw binary data over NATS.
|
||||
|
||||
---
|
||||
|
||||
@@ -20,8 +20,8 @@ NATSBridge is a cross-platform, bi-directional data bridge that enables seamless
|
||||
1. **Cross-Platform Interoperability**: Enable seamless data exchange between Julia, JavaScript, Python, and MicroPython applications without platform-specific barriers.
|
||||
|
||||
2. **Efficient Large Payload Handling**: Implement intelligent transport selection based on payload size:
|
||||
- **Direct Transport**: Small payloads (<1MB) sent directly via NATS
|
||||
- **Link Transport**: Large payloads (≥1MB) uploaded to HTTP file server, URL sent via NATS
|
||||
- **Direct Transport**: Small payloads (<0.5MB) sent directly via NATS
|
||||
- **Link Transport**: Large payloads (≥0.5MB) uploaded to HTTP file server, URL sent via NATS
|
||||
|
||||
3. **Unified API Across Platforms**: Provide consistent `smartsend()` and `smartreceive()` functions across all supported platforms while maintaining idiomatic implementations.
|
||||
|
||||
@@ -48,7 +48,7 @@ NATSBridge is a cross-platform, bi-directional data bridge that enables seamless
|
||||
|-------|----------|---------------------|
|
||||
| **As a Julia developer**, I want to send text messages to JavaScript applications | P1 | Text messages are serialized, encoded, and received correctly across platforms |
|
||||
| **As a Python developer**, I want to send tabular data to Julia applications | P1 | DataFrame exchange works with both Arrow IPC and JSON formats |
|
||||
| **As a JavaScript developer**, I want to send large files (>1MB) to other applications | P1 | Large files are automatically uploaded to file server and URLs are sent via NATS |
|
||||
| **As a JavaScript developer**, I want to send large files (>0.5MB) to other applications | P1 | Large files are automatically uploaded to file server and URLs are sent via NATS |
|
||||
| **As a MicroPython developer**, I want to send sensor data with minimal memory usage | P1 | Direct transport works for payloads <100KB on memory-constrained devices |
|
||||
|
||||
### Multi-Payload Support
|
||||
@@ -83,8 +83,8 @@ NATSBridge is a cross-platform, bi-directional data bridge that enables seamless
|
||||
| Message serialization overhead | <50ms for 10KB payload | Benchmark tests |
|
||||
| Message deserialization overhead | <50ms for 10KB payload | Benchmark tests |
|
||||
| NATS connection establishment | <100ms | Connection pool benchmarks |
|
||||
| File upload latency | <1s for 1MB file | Integration tests |
|
||||
| File download latency | <1s for 1MB file | Integration tests |
|
||||
| File upload latency | <1s for 0.5MB file | Integration tests |
|
||||
| File download latency | <1s for 0.5MB file | Integration tests |
|
||||
|
||||
### Scalability Requirements
|
||||
|
||||
@@ -206,7 +206,7 @@ NATSBridge is a cross-platform, bi-directional data bridge that enables seamless
|
||||
|
||||
| Platform | Threshold | Notes |
|
||||
|----------|-----------|-------|
|
||||
| Desktop (Julia/JS/Python) | 1MB (1,048,576 bytes) | Default size threshold |
|
||||
| Desktop (Julia/JS/Python) | 0.5MB (1,048,576 bytes) | Default size threshold |
|
||||
| MicroPython | 100KB (102,400 bytes) | Lower threshold for memory constraints |
|
||||
|
||||
### Maximum Payload Size
|
||||
|
||||
Reference in New Issue
Block a user