rust-irc/Cargo.toml
Raito Bezarius f05124d6db
Some checks failed
CI / rustfmt (pull_request) Failing after 23s
CI / test (pull_request) Failing after 1m0s
feat(ircv3): add simple internal batch processing
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>
2024-10-14 11:19:43 +02:00

93 lines
2.7 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[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"]