# 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 are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "mio"
version = "0.7.14"
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.14"
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"]
