Repository navigation
Home
SEDSnet is a Rust telemetry transport and logging library with a shared schema, compact wire format, routing, and multi-language bindings (C/C++ and Python). It targets embedded and host environments and supports optional compression for senders and payloads.
See Changelogs for release highlights and the full changelog for version history. Transport integration is covered in Usage-C-Cpp, including temporary backpressure and ownership of accepted frames. See Technical-Queues-and-Memory for allocation admission, queue budgets, and memory-pressure recovery.
These pages are written for readers who want a clear mental model before digging into code.
Step-by-step setup and usage by language.
Detailed pages that describe internals, data structures, and formats.
- Technical-Index
- Technical-Architecture
- Technical-Telemetry-Schema
- Technical-Wire-Format
- Technical-Discovery-and-Internal-Formats
- Technical-Router-Details
- Technical-Queues-and-Memory
- Technical-Packet-Details
- Technical-Bindings-and-FFI
- src/: core Rust library (schema, packet types, packing, router/relay).
- sedsnet_macros/: support macros for Rust integrations.
- Application-owned schema JSON: optional runtime schema seed supplied through
SEDSNET_STATIC_SCHEMA_PATH,SEDSNET_STATIC_IPC_SCHEMA_PATH, or explicit registration APIs. The crate does not ship a default user schema. - build.rs: tracks build metadata and optional embedded schema bytes; user schemas are not compiled into normal crate builds.
-
C-Headers/: C ABI header
(
sedsnet.h). - python-files/: Python package assets and type hints.
- c-example-code/, python-example/, rust-example-code/, and rtos-example-code/: integration examples.
log(data) rx(bytes)
| |
v v
Router <---- unpack ---- wire ---- pack ----> Router
| \ | \
| \-- local endpoints | \-- local endpoints
| |
+-- tx(bytes) ------------------------------>+
Core ideas:
- Telemetry packets carry a runtime-schema-defined type, endpoints, sender name, and payload.
- Routers deliver packets to local endpoints and optionally relay them outward.
- User schema is registered at runtime by API, optional JSON seed, endpoint handler registration, or discovery sync.
If you want an implementation-level tour, go to Technical-Architecture.