# 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 = "mio"
version = "0.7.11"
authors = ["Carl Lerche <me@carllerche.com>", "Thomas de Zeeuw <thomasdezeeuw@gmail.com>", "Tokio Contributors <team@tokio.rs>"]
include = ["Cargo.toml", "LICENSE", "README.md", "CHANGELOG.md", "src/**/*.rs", "examples/**/*.rs"]
description = "Lightweight non-blocking IO"
homepage = "https://github.com/tokio-rs/mio"
documentation = "https://docs.rs/mio/0.7.7"
readme = "README.md"
keywords = ["io", "async", "non-blocking"]
categories = ["asynchronous"]
license = "MIT"
repository = "https://github.com/tokio-rs/mio"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = ["aarch64-apple-ios", "aarch64-linux-android", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-sun-solaris", "x86_64-unknown-dragonfly", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu", "x86_64-unknown-netbsd", "x86_64-unknown-openbsd"]

[package.metadata.playground]
features = ["os-poll", "os-ext", "net"]

[[example]]
name = "tcp_server"
required-features = ["os-poll", "net"]

[[example]]
name = "udp_server"
required-features = ["os-poll", "net"]
[dependencies.log]
version = "0.4.8"
[dev-dependencies.env_logger]
version = "0.6.2"
default-features = false

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

[features]
default = []
extra-docs = []
net = []
os-ext = ["os-poll"]
os-poll = []
os-util = ["os-ext"]
pipe = ["os-ext"]
tcp = ["net"]
udp = ["net"]
uds = ["net"]
[target."cfg(unix)".dependencies.libc]
version = "0.2.86"
[target."cfg(windows)".dependencies.miow]
version = "0.3.6"

[target."cfg(windows)".dependencies.ntapi]
version = "0.3"

[target."cfg(windows)".dependencies.winapi]
version = "0.3"
features = ["winsock2", "mswsock", "mstcpip"]
