# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "h2"
version = "0.2.5"
authors = ["Carl Lerche <me@carllerche.com>", "Sean McArthur <sean@seanmonstar.com>"]
exclude = ["fixtures/**", "ci/**"]
description = "An HTTP/2.0 client and server"
documentation = "https://docs.rs/h2/0.2.5/h2/"
readme = "README.md"
keywords = ["http", "async", "non-blocking"]
categories = ["asynchronous", "web-programming", "network-programming"]
license = "MIT"
repository = "https://github.com/hyperium/h2"
[dependencies.bytes]
version = "0.5.2"

[dependencies.fnv]
version = "1.0.5"

[dependencies.futures-core]
version = "0.3"
default-features = false

[dependencies.futures-sink]
version = "0.3"
default-features = false

[dependencies.futures-util]
version = "0.3"
default-features = false

[dependencies.http]
version = "0.2"

[dependencies.indexmap]
version = "1.0"

[dependencies.log]
version = "0.4.1"

[dependencies.slab]
version = "0.4.0"

[dependencies.tokio]
version = "0.2"
features = ["io-util"]

[dependencies.tokio-util]
version = "0.3.1"
features = ["codec"]
[dev-dependencies.env_logger]
version = "0.5.3"
default-features = false

[dev-dependencies.hex]
version = "0.2.0"

[dev-dependencies.quickcheck]
version = "0.4.1"
default-features = false

[dev-dependencies.rand]
version = "0.3.15"

[dev-dependencies.rustls]
version = "0.16"

[dev-dependencies.serde]
version = "1.0.0"

[dev-dependencies.serde_json]
version = "1.0.0"

[dev-dependencies.tokio]
version = "0.2"
features = ["dns", "macros", "rt-core", "sync", "tcp"]

[dev-dependencies.tokio-rustls]
version = "0.12.0"

[dev-dependencies.walkdir]
version = "1.0.0"

[dev-dependencies.webpki]
version = "0.21"

[dev-dependencies.webpki-roots]
version = "0.17"

[features]
stream = []
unstable = []
