blob: 2f867054559b0d0f6dd2255b8d43e8a81b0ceefe [file]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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 = "consensus"
version = "0.1.0"
description = "Iggy consensus module"
edition = "2024"
license = "Apache-2.0"
keywords = ["iggy", "messaging", "streaming"]
homepage = "https://iggy.apache.org"
documentation = "https://iggy.apache.org/docs"
repository = "https://github.com/apache/iggy"
readme = "../../../README.md"
publish = false
[dependencies]
bit-set = { workspace = true }
bytemuck = { workspace = true }
bytes = { workspace = true }
clock = { workspace = true }
futures-core = { workspace = true }
iggy_binary_protocol = { workspace = true }
iggy_common = { workspace = true }
message_bus = { workspace = true }
rand = { workspace = true }
rand_xoshiro = { workspace = true }
serde = { workspace = true }
server_common = { workspace = true }
tracing = { workspace = true }
twox-hash = { workspace = true }
[dev-dependencies]
aligned-vec = { workspace = true }
futures = { workspace = true }
[lints.clippy]
enum_glob_use = "deny"
pedantic = { level = "deny", priority = -1 }
nursery = "warn"
# Sync impls of async traits are deliberate (non-blocking bus, in-memory storage, test doubles).
unused_async_trait_impl = "allow"
[lints.rust]
warnings = "deny"