[package] name = "fly-session" version.workspace = true edition = "2024" rust-version.workspace = true license.workspace = true publish = false description = "The lockstep session coordinator, its phase machine and a synthetic composition over flybus." [lib] name = "fly_session" path = "src/lib.rs" # One binary, one role per subcommand. `implementation.md` section 2 allows worker # executables to be subcommands of one binary rather than separate crates, and the launcher # starts this one with `agent` or `environment` for a participant in its own process. [[bin]] name = "fly-session" path = "src/bin/fly-session.rs" [dependencies] # The domain contract (scalars, payloads, canonical digests, the trace format) and the bus. # Everything else this crate needs is std or Tokio. fly-session-types = { path = "../fly-session-types" } flybus = { path = "../flybus" } serde_json = { workspace = true } # `rt-multi-thread` is not only for the tests: a worker process and a dedicated-thread # worker each build their own runtime sized to the launcher's thread allocation. tokio = { version = "1", features = ["rt", "rt-multi-thread", "sync", "time", "macros", "io-util"] } [dev-dependencies] tempfile = "3" tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] }