[package]
edition = "2024"
name = "SEDSnet"
version = "4.0.0"
authors = ["Rylan Meilutis <rylan@rylanswebsite.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A memory safe, no_std-capable networking stack with routing, discovery, reliability, and Rust/C/Python bindings."
documentation = "https://docs.rs/SEDSnet"
readme = "README.md"
keywords = [
"telemetry",
"networking",
"no_std",
"embedded",
"pyo3",
]
categories = [
"embedded",
"no-std",
]
license = "GPL-2.0-only"
repository = "https://github.com/rylan-meilutis/SEDSnet"
[package.metadata.maturin]
bindings = "pyo3"
[package.metadata.docs.rs]
features = [
"std",
"compression",
"timesync",
"discovery",
"cryptography",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
compression = ["zstd-safe"]
cryptography = []
default = [
"std",
"compression",
"timesync",
"discovery",
"cryptography",
]
discovery = []
embedded = [
"compression",
"timesync",
"discovery",
"cryptography",
"serde",
"serde_json",
"serde_json/alloc",
]
python = [
"std",
"pyo3/extension-module",
"compression",
"timesync",
"discovery",
"cryptography",
]
std = [
"serde",
"serde/std",
"serde_json",
"serde_json/std",
]
timesync = []
[lib]
name = "sedsnet"
crate-type = [
"rlib",
"staticlib",
]
path = "src/lib.rs"
[[test]]
name = "c-system-test"
path = "tests/c-system-test/c_system_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[test]]
name = "compression_memory_pool_test"
path = "tests/rust-system-test/compression_memory_pool_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[test]]
name = "full_system_test"
path = "tests/rust-system-test/full_system_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[test]]
name = "reliable_drop_test"
path = "tests/rust-system-test/reliable_drop_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[test]]
name = "rust-system-test"
path = "tests/rust-system-test/rust_system_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[test]]
name = "rust_single_threaded_test"
path = "tests/rust-system-test/single_threaded_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[test]]
name = "timesync_system_test"
path = "tests/rust-system-test/timesync_system_test.rs"
required-features = [
"std",
"compression",
"timesync",
]
[[bench]]
name = "packet_paths"
path = "benches/packet_paths.rs"
harness = false
[[bench]]
name = "route_selection_paths"
path = "benches/route_selection_paths.rs"
harness = false
[[bench]]
name = "router_system_paths"
path = "benches/router_system_paths.rs"
harness = false
[dependencies.crc32fast]
version = "1.5.0"
default-features = false
[dependencies.pyo3]
version = "0.28.3"
features = [
"auto-initialize",
"extension-module",
"multiple-pymethods",
]
optional = true
[dependencies.sedsnet_macros]
version = "2.0.0"
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0.149"
optional = true
default-features = false
[dependencies.zstd-safe]
version = "7.2.4"
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.8.2"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
panic = "unwind"
overflow-checks = false
incremental = false
strip = "symbols"
[profile.release.package."*"]
opt-level = 3
codegen-units = 1
debug = 0
overflow-checks = false
incremental = false
strip = "symbols"
[profile.release-embedded]
opt-level = "z"
lto = "fat"
codegen-units = 1
debug = 0
panic = "abort"
overflow-checks = false
incremental = false
inherits = "release"
strip = "symbols"
[profile.release-embedded.package."*"]
opt-level = "z"
codegen-units = 1
debug = 0
overflow-checks = false
incremental = false
strip = "symbols"