[package]
name = "fast-able"
version = "1.19.2"
edition = "2024"
authors = ["guoyumail@qq.com"]
license = "MIT/Apache-2.0"
repository = "https://gitee.com/guoyucode/sync-data.git"
description = "The world's martial arts are fast and unbreakable; 天下武功 唯快不破"
readme = "README.md"


[dependencies]
serde = { version = "1", features = ["derive"] }
flume = { version = "0.11", default-features = false }
parking_lot = "0.12"
log = "0.4"
core_affinity = "0.8"
num_cpus = "1"
spin = "0.10"
crossbeam = { version = "0.8" }
thingbuf = { version = "0.1.6", features = ["static"] }
kanal = { version = "0.1.1" }
arraystring = { version = "0.3.0" }
chrono = {version = "0.4"}
fs2 = "0.4.3"
scopeguard = "1.2.0"

[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"

[dev-dependencies]
tokio = { version = "1.0", features = ["full"] }
crossbeam = { version = "0.8" }
env_logger = "0.11.3"
once_cell = "1"
serde_json = "1"

[features]
default = ["std_lock", "crossbeam_channel"]
async = ["flume/async"]
std_lock = []
reentrant_lock = []
deal_physical_cpu = []  # 判断CPU是否有开启超线程技术, 如果有则隔一个cpu绑定一个核心
thread_dispatch = []    # 线程调度功能; 开启则有功能: 如果当前任务堆积小于5个, 则使用当前线程; 否则就去找最少任务数的线程
crossbeam_channel = []  # 使用 crossbeam channel 替代 std channel

# 有界channel 线程池
thread_task_bounded = []
