Skip to main content

Crate seyd_core

Crate seyd_core 

Source
Expand description

Seyd agent core — the whole robot side of Seyd, as a Rust API.

Bottom to top: channel bookkeeping (channels), turning encoded frames into wire chunks with FEC (packer), the control-stream vocabulary (control), the session engine that binds those to seyd-transport (engine), and the lifecycle that turns a configuration into a running, announced, self-maintaining robot (agent).

agent::Agent is the entry point every host uses — seydd, seyd-ffi and the SDKs above it (ADR 0004). A host supplies media and consumes agent::AgentEvent; it never reimplements discovery, signaling or certificate maintenance, which is what keeps the form factors from drifting.

Re-exports§

pub use agent::Agent;
pub use agent::AgentConfig;
pub use agent::AgentEvent;
pub use channels::ChannelKind;
pub use channels::ChannelSpec;
pub use engine::Role;
pub use engine::VideoFrame;

Modules§

agent
Agent lifecycle: everything between a configuration and a running robot — sockets, candidate discovery, certificate, QUIC endpoint, the session Engine, signaling, and the maintenance that keeps all of it alive (port-mapping lease renewal, certificate rotation, network-change re-gather).
channels
control
Control-stream vocabulary (docs/protocol/control-stream.md). NDJSON.
engine
Session engine: binds the packer and control vocabulary to seyd-transport sessions. Owns nothing network-discovery related and nothing vendor related; the host (seydd, or an SDK wrapper) feeds frames and messages in and consumes Events out.
packer
Frames → wire chunks (docs/protocol/chunks.md).