Skip to main content

Crate atomr_remote_serial

Crate atomr_remote_serial 

Source
Expand description

Serial / USB-attached transport for atomr-remoting.

atomr-remote-serial implements atomr_remote::transport::Transport over a serial endpoint exposed by a USB CDC-ACM device — typically /dev/ttyACM0 (Linux host), /dev/ttyGS0 (Linux gadget side), COMx (Windows), or /dev/cu.usbmodemXXXX (macOS). The use case is two hosts physically connected by a USB cable that want to exchange actor messages without going over the network.

use std::sync::Arc;
use atomr_remote::{RemoteSettings, RemoteSystem};
use atomr_remote_serial::SerialTransport;

let transport = Arc::new(SerialTransport::new("SystemA", "/dev/ttyACM0"));
let _remote = RemoteSystem::start_with_transport(system, transport, settings).await?;

See docs/remoting.md for the wiring on the gadget side and the zero-code “USB-Ethernet” alternative (CDC-NCM + existing TCP transport).

Structs§

ReconnectPolicy
How aggressively the transport retries a failed open() of the configured device path.
SerialTransport
Frame-oriented Transport over a USB-derived serial endpoint.