[workspace] resolver = "2" members = [ "derive", "examples/*/", "examples/*/client", "examples/*/server", "tests/*/", ] exclude = ["examples/tls_certificates"] [package] name = "lyanne" version = "0.6.2" edition = "2021" authors = ["Robsutar"] description = "Tick-based communication library for server-client architectures." keywords = ["networking", "low-latency", "tick-based", "cryptography"] categories = ["network-programming", "game-development"] readme = "README.md" repository = "https://github.com/Robsutar/lyanne/" documentation = "https://docs.rs/lyanne" license = "MIT OR Apache-2.0" [features] default = [] client = ["lyanne-derive/client"] server = ["lyanne-derive/server"] rt_async_executor = [ "dep:async-executor", "dep:async-net", "dep:async-lock", "dep:futures", "dep:futures-timer", ] rt_async_std = ["dep:async-std", "dep:futures", "dep:futures-timer"] rt_bevy = [ "dep:bevy_tasks", "dep:async-net", "dep:async-lock", "dep:futures", "dep:futures-timer", ] rt_smol = [ "dep:smol", "dep:async-executor", "dep:async-net", "dep:async-lock", "dep:futures", "dep:futures-timer", ] rt_tokio = ["dep:tokio"] sd_bincode = [ "dep:lyanne-derive", "lyanne-derive/sd_bincode", "dep:serde", "dep:bincode", "dep:bincode", ] auth_tcp = ["dep:chacha20poly1305"] auth_tls = [ "dep:chacha20poly1305", "dep:tokio-rustls", "dep:futures-rustls", "dep:rustls-pemfile", ] bevy_packet_schedules = ["lyanne-derive/bevy_packet_schedules", "dep:bevy_ecs"] deserialized_message_map = [] store_unexpected = [] no_panics = [] [dependencies] lyanne-derive = { path = "derive", version = "0.2.0", optional = true } rand = "^0.8.0" dashmap = "^6.0.0" x25519-dalek = "^2.0.0" chacha20poly1305 = { version = "^0.10.0", optional = true } async-channel = "^2.0.0" smol = { version = "^2.0.0", optional = true } async-std = { version = "^1.0.0", optional = true } tokio = { version = "^1.0.0", optional = true, features = ["net"] } bevy_tasks = { version = "^0.14.0", optional = true } bevy_ecs = { version = "^0.14.0", optional = true } async-executor = { version = "^1.13.0", optional = true } async-net = { version = "^2.0.0", optional = true } async-lock = { version = "^3.0.0", optional = true } futures = { version = "^0.3", optional = true, features = ["alloc"] } futures-timer = { version = "^3.0.0", optional = true } # sd_bincode serde = { version = "^1.0.0", features = ["derive"], optional = true } bincode = { version = "^1.0.0", optional = true } #auth_tls futures-rustls = { version = "^0.26.0", optional = true } tokio-rustls = { version = "^0.26.0", optional = true } rustls-pemfile = { version = "^2.0.0", optional = true } [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] features = ["rt_smol", "client", "server", "sd_bincode"] all-features = false