feat: implement asynchronous channel support with tokio integration

This commit is contained in:
Callum Leslie 2026-03-04 20:51:20 +00:00
parent 56d0889b37
commit 863ca61215
13 changed files with 385 additions and 33 deletions

View file

@ -18,20 +18,24 @@ thiserror = "2.0"
flume = { version = "0.12", optional = true }
crossbeam-channel = { version = "0.5", optional = true }
arc-swap = "1.7.1"
tokio = { version = "1.48", features = ["sync", "macros", "rt-multi-thread"], optional = true }
async-trait = { version = "0.1", optional = true }
[features]
default = ["all"]
sync = []
async = []
async = ["dep:async-trait"]
sync-std = ["sync"]
sync-flume = ["sync", "dep:flume"]
sync-crossbeam = ["sync", "dep:crossbeam-channel"]
async-tokio = ["async", "dep:tokio"]
all-sync = ["sync-std", "sync-flume", "sync-crossbeam"]
all-async = ["async-tokio"]
all = ["all-sync"]
all = ["all-sync", "all-async"]
[lib]