[package]
edition = "2024"
rust-version = "1.88"
name = "simulacra"
version = "0.1.0"
authors = ["Julian Bravard <julian.bravard@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A deterministic discrete-event simulation engine for message flow across large computer networks"
homepage = "https://github.com/jbravar/simulacra"
documentation = "https://docs.rs/simulacra"
readme = "README.md"
keywords = [
"simulation",
"discrete-event",
"deterministic",
"network",
"async",
]
categories = [
"simulation",
"asynchronous",
"network-programming",
]
license = "MIT"
repository = "https://github.com/jbravar/simulacra"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
serde = [
"dep:serde",
"dep:serde_json",
]
[lib]
name = "simulacra"
path = "src/lib.rs"
[[example]]
name = "bandwidth_saturation"
path = "examples/bandwidth_saturation.rs"
[[example]]
name = "failure_injection"
path = "examples/failure_injection.rs"
[[example]]
name = "gossip"
path = "examples/gossip.rs"
[[example]]
name = "leader_election"
path = "examples/leader_election.rs"
[[example]]
name = "request_reply_retry"
path = "examples/request_reply_retry.rs"
[[example]]
name = "wan_bottleneck"
path = "examples/wan_bottleneck.rs"
[[test]]
name = "determinism"
path = "tests/determinism.rs"
[[bench]]
name = "event_queue"
path = "benches/event_queue.rs"
harness = false
[[bench]]
name = "network_broadcast"
path = "benches/network_broadcast.rs"
harness = false
[[bench]]
name = "task_gossip"
path = "benches/task_gossip.rs"
harness = false
[dependencies.rand]
version = "0.10"
[dependencies.rand_chacha]
version = "0.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]