# Copyright 2024 RustFS Team # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. [package] name = "rustfs-lock" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true homepage.workspace = true description = "Distributed locking mechanism for RustFS, providing synchronization and coordination across distributed systems." keywords = ["locking", "asynchronous", "distributed", "rustfs", "Minio"] categories = ["web-programming", "development-tools", "asynchronous"] documentation = "https://docs.rs/rustfs-lock/latest/rustfs_lock/" [lints] workspace = true [dependencies] rustfs-io-metrics = { workspace = true } rustfs-utils = { workspace = true } async-trait.workspace = true futures.workspace = true serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, features = ["raw_value"] } tokio = { workspace = true, features = ["fs", "rt-multi-thread"] } tonic = { workspace = true, features = ["gzip", "deflate"] } tracing.workspace = true uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] } thiserror.workspace = true parking_lot.workspace = true rand.workspace = true smallvec = { workspace = true, features = ["serde"] } smartstring.workspace = true crossbeam-queue = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } [lib] doctest = false