# SEDSnet Documentation
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](Changelogs) for release highlights and the
[full changelog](https://github.com/Rylan-Meilutis/SEDSnet/blob/main/CHANGELOG.md)
for version history. Transport integration is covered in [Usage-C-Cpp](Usage-C-Cpp),
including temporary backpressure and ownership of accepted frames. See
[Technical-Queues-and-Memory](Technical-Queues-and-Memory) for allocation admission,
queue budgets, and memory-pressure recovery.
## Start here (easy overview)
These pages are written for readers who want a clear mental model before digging into code.
- [Overview](Overview)
- [Concepts](Concepts)
- [Examples](Examples)
- [Glossary-and-Abbreviations](Glossary-and-Abbreviations)
- [Changelogs](Changelogs)
## How-to guides (practical steps)
Step-by-step setup and usage by language.
- [Build-and-Configure](Build-and-Configure)
- [Release-Checklist](Release-Checklist)
- [Time-Sync](Time-Sync)
- [Usage-Rust](Usage-Rust)
- [Usage-C-Cpp](Usage-C-Cpp)
- [Usage-Python](Usage-Python)
- [Troubleshooting](Troubleshooting)
## Technical reference (deep dive)
Detailed pages that describe internals, data structures, and formats.
- [Technical-Index](Technical-Index)
- [Technical-Architecture](Technical-Architecture)
- [Technical-Telemetry-Schema](Technical-Telemetry-Schema)
- [Technical-Wire-Format](Technical-Wire-Format)
- [Technical-Discovery-and-Internal-Formats](Technical-Discovery-and-Internal-Formats)
- [Technical-Router-Details](Technical-Router-Details)
- [Technical-Queues-and-Memory](Technical-Queues-and-Memory)
- [Technical-Packet-Details](Technical-Packet-Details)
- [Technical-Bindings-and-FFI](Technical-Bindings-and-FFI)
## Repo layout (high level)
- [src/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/src): core Rust library (schema,
packet types, packing, router/relay).
- [sedsnet_macros/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/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](https://github.com/Rylan-Meilutis/sedsnet/blob/main/build.rs): tracks build metadata and
optional embedded schema bytes; user schemas are not compiled into normal crate builds.
- [C-Headers/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/C-Headers): C ABI header
(`sedsnet.h`).
- [python-files/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/python-files): Python package
assets and type hints.
- [c-example-code/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/c-example-code),
[python-example/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/python-example),
[rust-example-code/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/rust-example-code), and
[rtos-example-code/](https://github.com/Rylan-Meilutis/sedsnet/tree/main/rtos-example-code):
integration examples.
## Data flow at a glance
```
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](Technical-Architecture).