update_docs #10

Merged
ton merged 29 commits from update_docs into main 2026-03-14 00:53:03 +00:00
Showing only changes of commit ba567f21fc - Show all commits

View File

@@ -9,7 +9,7 @@
## Executive Summary ## 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. 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: 2. **Efficient Large Payload Handling**: Implement intelligent transport selection based on payload size:
- **Direct Transport**: Small payloads (<1MB) sent directly via NATS - **Direct Transport**: Small payloads (<0.5MB) sent directly via NATS
- **Link Transport**: Large payloads (≥1MB) uploaded to HTTP file server, URL sent 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. 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 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 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 | | **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 ### 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 serialization overhead | <50ms for 10KB payload | Benchmark tests |
| Message deserialization overhead | <50ms for 10KB payload | Benchmark tests | | Message deserialization overhead | <50ms for 10KB payload | Benchmark tests |
| NATS connection establishment | <100ms | Connection pool benchmarks | | NATS connection establishment | <100ms | Connection pool benchmarks |
| File upload latency | <1s for 1MB file | Integration tests | | File upload latency | <1s for 0.5MB file | Integration tests |
| File download latency | <1s for 1MB file | Integration tests | | File download latency | <1s for 0.5MB file | Integration tests |
### Scalability Requirements ### Scalability Requirements
@@ -206,7 +206,7 @@ NATSBridge is a cross-platform, bi-directional data bridge that enables seamless
| Platform | Threshold | Notes | | 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 | | MicroPython | 100KB (102,400 bytes) | Lower threshold for memory constraints |
### Maximum Payload Size ### Maximum Payload Size