rename to smartpack n smartunpack
This commit is contained in:
@@ -130,8 +130,8 @@ flowchart TD
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph "msghandler Module"
|
||||
SmartSend[smartsend Function]
|
||||
SmartReceive[smartreceive Function]
|
||||
smartpack[smartpack Function]
|
||||
smartunpack[smartunpack Function]
|
||||
|
||||
Serialize[_serialize_data]
|
||||
Deserialize[_deserialize_data]
|
||||
@@ -149,18 +149,18 @@ flowchart TD
|
||||
Envelope[msg_envelope_v1 Struct]
|
||||
end
|
||||
|
||||
SmartSend --> Serialize
|
||||
SmartSend --> EnvelopeToJson
|
||||
SmartSend --> FileServerUpload
|
||||
smartpack --> Serialize
|
||||
smartpack --> EnvelopeToJson
|
||||
smartpack --> FileServerUpload
|
||||
|
||||
SmartReceive --> Deserialize
|
||||
SmartReceive --> FileServerDownload
|
||||
smartunpack --> Deserialize
|
||||
smartunpack --> FileServerDownload
|
||||
|
||||
EnvelopeToJson --> Envelope
|
||||
Serialize --> Payload
|
||||
|
||||
style SmartSend fill:#d1fae5,stroke:#10b981
|
||||
style SmartReceive fill:#d1fae5,stroke:#10b981
|
||||
style smartpack fill:#d1fae5,stroke:#10b981
|
||||
style smartunpack fill:#d1fae5,stroke:#10b981
|
||||
style FileServerUpload fill:#fef3c7,stroke:#f59e0b
|
||||
style FileServerDownload fill:#fef3c7,stroke:#f59e0b
|
||||
```
|
||||
@@ -173,8 +173,8 @@ flowchart TD
|
||||
|
||||
| Component | Purpose | Platform Support |
|
||||
|-----------|---------|------------------|
|
||||
| **smartsend** | Send data with automatic transport selection, returns (envelope, json_string) for caller to publish via transport | All |
|
||||
| **smartreceive** | Receive and process messages from JSON string | All |
|
||||
| **smartpack** | Send data with automatic transport selection, returns (envelope, json_string) for caller to publish via transport | All |
|
||||
| **smartunpack** | Receive and process messages from JSON string | All |
|
||||
| **_serialize_data** | Serialize data according to payload type | All |
|
||||
| **_deserialize_data** | Deserialize bytes to native data types | All |
|
||||
| **envelope_to_json** | Convert msg_envelope_v1 struct to JSON string | All |
|
||||
@@ -187,7 +187,7 @@ flowchart TD
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[User calls smartsend subject data] --> B[Process each payload]
|
||||
A[User calls smartpack subject data] --> B[Process each payload]
|
||||
B --> C{Calculate serialized size}
|
||||
C -->|Size < Threshold| D[Direct Transport]
|
||||
C -->|Size >= Threshold| E[Link Transport]
|
||||
@@ -349,7 +349,7 @@ flowchart TD
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[smartsend called] --> B[Serialize payload]
|
||||
A[smartpack called] --> B[Serialize payload]
|
||||
B --> C[Calculate size]
|
||||
C --> D{Size < Threshold?}
|
||||
|
||||
@@ -560,7 +560,7 @@ pub enum Payload {
|
||||
}
|
||||
|
||||
// Configuration via builder pattern
|
||||
pub struct SmartsendOptions {
|
||||
pub struct smartpackOptions {
|
||||
pub broker_url: String,
|
||||
pub fileserver_url: String,
|
||||
pub fileserver_upload_handler: Option<Arc<dyn FileUploadHandler>>,
|
||||
@@ -577,7 +577,7 @@ let conn = transport_client::connect(DEFAULT_BROKER_URL).await?;
|
||||
// Subscribe and process messages
|
||||
let mut sub = conn.subscribe("/agent/wine/api/v1/analyze")?;
|
||||
for msg in sub.messages() {
|
||||
let envelope = smartreceive(&String::from_utf8_lossy(&msg.payload), &Default::default()).await?;
|
||||
let envelope = smartunpack(&String::from_utf8_lossy(&msg.payload), &Default::default()).await?;
|
||||
// Access deserialized payloads by type
|
||||
for payload in &envelope.payloads {
|
||||
match payload.payload_type.as_str() {
|
||||
@@ -840,11 +840,11 @@ flowchart TD
|
||||
| - | - | Updated diagrams to use generic "Message Broker" instead of "NATS Server" | All sections |
|
||||
| - | - | Updated code examples to use transport-agnostic patterns | All sections |
|
||||
| - | - | Removed NATS client packages from external dependencies | All sections |
|
||||
| 2026-05-14 | 1.4.0 | Updated Rust API to reflect `smartreceive` deserialization changes | All sections |
|
||||
| - | - | `smartreceive` now stores deserialized data in `MsgPayloadV1.data` | specification.md:8 |
|
||||
| 2026-05-14 | 1.4.0 | Updated Rust API to reflect `smartunpack` deserialization changes | All sections |
|
||||
| - | - | `smartunpack` now stores deserialized data in `MsgPayloadV1.data` | specification.md:8 |
|
||||
| - | - | Added `plik_upload_file` convenience function to component table | specification.md:13 |
|
||||
| - | - | Fixed Rust payload access pattern (data is String, not Payload enum) | All sections |
|
||||
| - | - | Fixed `SmartsendOptions.fileserver_upload_handler` type to `Arc<dyn FileUploadHandler>` | specification.md:13 |
|
||||
| - | - | Fixed `smartpackOptions.fileserver_upload_handler` type to `Arc<dyn FileUploadHandler>` | specification.md:13 |
|
||||
| - | - | Removed `metadata` from link transport examples (now `None`/omitted) | specification.md:3 |
|
||||
| - | - | Removed duplicate footer text | All sections |
|
||||
| 2026-05-13 | 1.3.0 | Added Rust support with tokio, serde, and arrow2 | All sections |
|
||||
@@ -854,9 +854,9 @@ flowchart TD
|
||||
| 2026-05-13 | 1.2.0 | Aligned with ground truth implementation (src/msghandler.jl) |
|
||||
| - | - | Removed publish_message component (commented out in source) |
|
||||
| - | - | Removed NATSClient and NATSConnectionPool classes (not in ground truth) |
|
||||
| - | - | Updated smartsend to return JSON for caller to publish via transport |
|
||||
| - | - | Updated smartpack to return JSON for caller to publish via transport |
|
||||
| - | - | Updated component diagram to match actual module structure |
|
||||
| - | - | Updated data flow to show smartsend returns JSON for caller to publish |
|
||||
| - | - | Updated data flow to show smartpack returns JSON for caller to publish |
|
||||
| - | - | Fixed SIZE_THRESHOLD default to 500,000 bytes |
|
||||
| 2026-03-15 | 1.1.0 | JavaScript connection management |
|
||||
| - | - | Added NATSClient with keepAlive support |
|
||||
|
||||
Reference in New Issue
Block a user