filament-core
Core abstractions, error types, runtime traits.
Runtime 01 — Transport stack
Eight crates that move signed payloads between peers. Noise-protocol-encrypted channels with strict forward secrecy, zero-copy packet handling at the link layer, constant-time cryptographic primitives, configurable routing tables, and first-class telemetry. The substrate everything above the wire depends on.
The transport layer connects peers and carries the bytes that make the fabric useful.
Core abstractions, error types, runtime traits.
Noise handshake, AEAD streams, constant-time primitives.
Network interface enumeration, addressing, NAT hints.
Link-layer framing, zero-copy buffers, MTU handling.
Wire packet format, header layout, fragmentation.
Pluggable transports (UDP, TCP, QUIC) over a common trait.
Shared protocol types — peer ids, session keys, channels.
Telemetry, instrumentation, tracing hooks.
use filament_transport::Transport;
use filament_crypto::Session;
let transport = Transport::udp("0.0.0.0:9912").await?;
let mut session = Session::handshake_xx(&transport, peer_pubkey).await?;
session.send(b"hello, peer").await?;
let reply = session.recv().await?;
println!("got: {}", String::from_utf8_lossy(&reply));Noise-protocol-encrypted channels — strict forward secrecy on every session.
Zero-copy packet handling — buffers are never moved between layers.
Constant-time crypto — no timing-side-channel leaks on session keys.
Configurable routing — per-peer policy without recompilation.
Built-in telemetry — every link reports loss, jitter, and handshake state.
Pluggable transports — same wire format over UDP, TCP, or QUIC.
Move bytes
with confidence.
Filament is the transport layer used by every higher-level Weave protocol. Start with the SDK, or read the source.