[package]
edition = "2021"
rust-version = "1.82"
name = "dtmrs"
version = "0.5.0"
authors = ["jackwangfeng"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Distributed transaction manager in Rust: SAGA / TCC / two-phase messaging / XA / workflow, over HTTP and gRPC, embeddable as a library"
homepage = "https://github.com/jackwangfeng/dtmrs"
readme = "README.md"
keywords = [
"distributed",
"transaction",
"saga",
"tcc",
"microservices",
]
categories = [
"database",
"asynchronous",
"network-programming",
]
license = "Apache-2.0"
repository = "https://github.com/jackwangfeng/dtmrs"
[package.metadata.docs.rs]
all-features = true
[features]
barrier = ["dep:dtmrs-barrier"]
barrier-redis = [
"barrier",
"dtmrs-barrier/redis",
]
default = ["server"]
full = [
"server",
"grpc",
"barrier",
"barrier-redis",
"xa",
"redis",
]
grpc = [
"server",
"dep:tonic",
"dtmrs-server/grpc",
]
redis = [
"server",
"dtmrs-server/redis",
]
server = [
"dep:dtmrs-server",
"dep:dtmrs-store",
"dep:tokio",
"dep:anyhow",
"dep:tracing",
"dep:tracing-subscriber",
"dep:axum",
"dep:serde",
"dep:serde_json",
]
xa = ["dep:dtmrs-xa"]
[lib]
name = "dtmrs"
path = "src/lib.rs"
[[bin]]
name = "dtmrs"
path = "src/main.rs"
required-features = ["server"]
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.dtmrs-barrier]
version = "0.5.0"
optional = true
[dependencies.dtmrs-core]
version = "0.5.0"
[dependencies.dtmrs-server]
version = "0.5.0"
optional = true
default-features = false
[dependencies.dtmrs-store]
version = "0.5.0"
optional = true
[dependencies.dtmrs-xa]
version = "0.5.0"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[dependencies.tonic]
version = "0.14"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true