SEDSnet 4.0.1

A memory safe, no_std-capable networking stack with routing, discovery, reliability, and Rust/C/Python bindings.
Documentation
# 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 version highlights and release notes.

## 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/ ([source](https://github.com/Rylan-Meilutis/sedsnet/tree/main/src)):
core Rust library (schema, packet types, packing, router/relay).

-

sedsnet_macros/ ([source](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 ([source](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/ ([source](https://github.com/Rylan-Meilutis/sedsnet/tree/main/C-Headers)):
C ABI header (`sedsnet.h`).

-

python-files/ ([source](https://github.com/Rylan-Meilutis/sedsnet/tree/main/python-files)):
Python package assets and type hints.

-

c-example-code/ ([source](https://github.com/Rylan-Meilutis/sedsnet/tree/main/c-example-code))
and
python-example/ ([source](https://github.com/Rylan-Meilutis/sedsnet/tree/main/python-example)):
runnable 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).