f05124d6db
The BATCH feature is a form of a server-suggested message processing delays. To implement this, we can record all inflight batches, handle start/end in handle_batch and collect all pending messages in the entrypoint of the message handler as long as they have a correct batch id. Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
93 lines
2.7 KiB
TOML
93 lines
2.7 KiB
TOML
[package]
|
||
name = "irc"
|
||
version = "1.0.0"
|
||
authors = ["Aaron Weiss <aweiss@hey.com>"]
|
||
edition = "2018"
|
||
rust-version = "1.71"
|
||
description = "the irc crate – usable, async IRC for Rust"
|
||
documentation = "https://docs.rs/irc/"
|
||
readme = "README.md"
|
||
repository = "https://github.com/aatxe/irc"
|
||
license = "MPL-2.0"
|
||
keywords = ["irc", "client", "thread-safe", "async", "tokio"]
|
||
categories = ["asynchronous", "network-programming"]
|
||
|
||
|
||
[badges]
|
||
travis-ci = { repository = "aatxe/irc" }
|
||
is-it-maintained-issue-resolution = { repository = "aatxe/irc" }
|
||
is-it-maintained-open-issues = { repository = "aatxe/irc" }
|
||
|
||
|
||
[workspace]
|
||
members = [ "./", "irc-proto/" ]
|
||
|
||
|
||
[features]
|
||
default = ["ctcp", "tls-native", "channel-lists", "batch", "toml_config"]
|
||
ctcp = []
|
||
channel-lists = []
|
||
batch = []
|
||
|
||
json_config = ["serde", "serde/derive", "serde_derive", "serde_json"]
|
||
toml_config = ["serde", "serde/derive", "serde_derive", "toml"]
|
||
yaml_config = ["serde", "serde/derive", "serde_derive", "serde_yaml"]
|
||
# Temporary transitionary features
|
||
json = ["json_config"]
|
||
yaml = ["yaml_config"]
|
||
|
||
proxy = ["tokio-socks"]
|
||
|
||
tls-native = ["native-tls", "tokio-native-tls"]
|
||
tls-rust = ["tokio-rustls", "webpki-roots", "rustls-pemfile"]
|
||
|
||
|
||
[dependencies]
|
||
chrono = { version = "0.4.24", default-features = false, features = ["clock", "std"] }
|
||
encoding = "0.2.33"
|
||
futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "sink"] }
|
||
irc-proto = { version = "1.0.0", path = "irc-proto" }
|
||
log = "0.4.21"
|
||
parking_lot = "0.12.1"
|
||
thiserror = "1.0.58"
|
||
pin-project = "1.0.12"
|
||
tokio = { version = "1.27.0", features = ["net", "time", "sync"] }
|
||
tokio-stream = "0.1.12"
|
||
tokio-util = { version = "0.7.7", features = ["codec"] }
|
||
|
||
# Feature - Config
|
||
serde = { version = "1.0.160", optional = true }
|
||
serde_derive = { version = "1.0.160", optional = true }
|
||
serde_json = { version = "1.0.95", optional = true }
|
||
serde_yaml = { version = "0.9.21", optional = true }
|
||
toml = { version = "0.7.3", optional = true }
|
||
|
||
# Feature - Proxy
|
||
tokio-socks = { version = "0.5.1", optional = true }
|
||
|
||
# Feature - TLS
|
||
native-tls = { version = "0.2.11", optional = true }
|
||
tokio-rustls = { version = "0.24.0", features = ["dangerous_configuration"], optional = true }
|
||
rustls-pemfile = { version = "1.0.2", optional = true }
|
||
tokio-native-tls = { version = "0.3.1", optional = true }
|
||
webpki-roots = { version = "0.23.0", optional = true }
|
||
|
||
|
||
[dev-dependencies]
|
||
anyhow = "1.0.81"
|
||
args = "2.2.0"
|
||
env_logger = "0.11.0"
|
||
futures = "0.3.30"
|
||
getopts = "0.2.21"
|
||
tokio = { version = "1.27.0", features = ["rt", "rt-multi-thread", "macros", "net", "time"] }
|
||
|
||
|
||
[[example]]
|
||
name = "simple_proxy"
|
||
path = "examples/simple_proxy.rs"
|
||
required-features = ["proxy"]
|
||
|
||
[[example]]
|
||
name = "simple_plaintext"
|
||
path = "examples/simple_plaintext.rs"
|
||
required-features = ["tls-native"]
|