twitchchat 0.14.7

interface to the irc-side of twitch's chat system
Documentation
[package]

name          = "twitchchat"

edition       = "2018"

version       = "0.14.7"

authors       = ["museun <museun@outlook.com>"]

keywords      = ["twitch", "irc", "async", "asynchronous", "tokio"]

license       = "MIT OR Apache-2.0"

readme        = "README.md"

description   = "interface to the irc-side of twitch's chat system"

documentation = "https://docs.rs/twitchchat/latest/twitchchat/"

repository    = "https://github.com/museun/twitchchat"

categories    = ["asynchronous", "network-programming", "parser-implementations"]



[package.metadata.docs.rs]

rustdoc-args = ["--cfg", "docsrs"]

all-features = true



[features]

default = []

testing = [

    "async",

    "async-mutex",    

]



async = [

    "async-channel",

    "async-dup",

    "fastrand",

    "futures-lite",

    "futures-timer",

    "log",

    "pin-project-lite",

]



[dependencies]

# logging support

log = { version = "0.4", optional = true, features = ["std"] }



# just the futures traits

futures-lite = { version = "1.11", optional = true }



# field pin projection

pin-project-lite = { version = "0.1", optional = true }



# cloneable async writes

async-dup = { version = "1.2", optional = true }



# message passing

async-channel = { version = "1.5", optional = true }



# for timing out futures

futures-timer = { version = "3.0", optional = true }



# for 'fairness' in the main loop

fastrand = { version = "1.4", optional = true }



# for optional serialization and deserialization

serde = { version = "1.0", features = ["derive"], optional = true }



# optional runtimes (for TcpStream)

# these use the futures AsyncWrite+AsyncRead

async-io  = { version = "1.1", optional = true }

smol      = { version = "1.2", optional = true }

async-tls = { version = "0.10", default-features = false, features = ["client"], optional = true }

# TODO look into what their features do. the ones they have enabled by default seem important

async-std = { version = "1.6", optional = true }



# tokio has its own AsyncWrite+AsyncRead

tokio            = { version = "0.3", features = ["net"], optional = true }

tokio-util       = { version = "0.4", features = ["compat"], optional = true }



# rustls

tokio-rustls     = { version = "0.20", optional = true }

webpki-roots     = { version = "0.20", optional = true }



# native-tls

tokio-native-tls = { version = "0.2", optional = true }

native-tls       = { version = "0.2", optional = true }



# openssl

tokio-openssl    = { version = "0.5", optional = true }

openssl          = { version = "0.10", optional = true, features = ["v111"] }



# for some test utilities

async-mutex = { version = "1.4", optional = true }





[dev-dependencies]

anyhow         = "1.0.33"

async-executor = { version = "1.3.0", default-features = false }

serde_json     = "1.0.59"

rmp-serde      = "0.14.4"



[[example]]

name = "message_parse"

required-features = ["async"]



[[example]]

name = "smol_demo"

required-features = ["smol", "async"]



[[example]]

name = "async_io_demo"

required-features = ["async-io", "async"]



[[example]]

name = "async_std_demo"

required-features = ["async-std", "async-std/attributes", "async"]



[[example]]

name = "tokio_demo"

required-features = ["tokio/full", "tokio-util", "async"]



[[example]]

name = "simple_bot"

required-features = ["smol", "async"]