rust-irc/Cargo.toml
Raito Bezarius 97c9efb151
Some checks failed
CI / test (1.71) (pull_request) Has been cancelled
CI / test (stable) (pull_request) Has been cancelled
CI / rustfmt (pull_request) Has been cancelled
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-11 12:29:26 +02:00

93 lines
2.7 KiB
TOML
Raw 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"]