feat(mux/rust): make cargo-publish ready for v0.1.0
- Add version to donglora-client dependency for crates.io - Set TCP_NODELAY on accepted TCP connections for low-latency framing - Add CHANGELOG.md
This commit is contained in:
3 files changed
+23
-1
No files matched your search
@@ -0,0 +1,20 @@
|
||||
# Changelog
|
||||
|
||||
## 0.1.0 — 2026-04-06
|
||||
|
||||
Initial release.
|
||||
|
||||
### Features
|
||||
|
||||
- USB multiplexer daemon: share one DongLoRa dongle with multiple applications
|
||||
- Unix domain socket and optional TCP listeners (same COBS-framed protocol)
|
||||
- RxPacket broadcast to all connected clients
|
||||
- Reference-counted StartRx/StopRx across clients
|
||||
- Config locking: first client sets radio config, others must match or fail
|
||||
- Auto-reconnect on USB hot-plug with ping verification
|
||||
- Bounded per-client send queues (256 frames) with backpressure isolation
|
||||
- Smart interception: redundant commands get synthetic responses without
|
||||
hitting the dongle
|
||||
- Graceful shutdown on SIGINT/SIGTERM with socket cleanup
|
||||
- TCP_NODELAY on accepted connections for low-latency frame delivery
|
||||
- CLI: `--port`, `--socket`, `--tcp`, `--verbose` options
|
||||
+1
-1
@@ -10,7 +10,7 @@ keywords = ["lora", "radio", "usb", "multiplexer"]
|
||||
categories = ["hardware-support"]
|
||||
|
||||
[dependencies]
|
||||
donglora-client = { path = "../../clients/rust" }
|
||||
donglora-client = { version = "0.1.0", path = "../../clients/rust" }
|
||||
anyhow = "1"
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
||||
@@ -495,6 +495,8 @@ async fn accept_tcp_clients(
|
||||
match accept_result {
|
||||
Ok((stream, addr)) => {
|
||||
debug!("TCP connection from {addr}");
|
||||
// Low-latency: disable Nagle (COBS frames are small)
|
||||
let _ = stream.set_nodelay(true);
|
||||
let (read_half, write_half) = stream.into_split();
|
||||
spawn_client(read_half, write_half, state.clone(), cmd_tx.clone(), shutdown.clone());
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user