virtual-net 0.14.0

Wasmer Virtual Networking
[package]
name = "virtual-net"
version = "0.14.0"
description = "Wasmer Virtual Networking"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
base64.workspace = true
hyper = { workspace = true, optional = true }
rkyv = { workspace = true, optional = true }

ipnet = "2.10.1"
iprange = "0.6.7"
thiserror = "1"
bytes = "1.1"
async-trait = { version = "^0.1" }
tracing = "0.1"
tokio = { workspace = true, default-features = false, features = ["io-util"] }
libc = { workspace = true, optional = true }
mio = { workspace = true, optional = true }
socket2 = { workspace = true, optional = true }
derive_more.workspace = true
virtual-mio = { path = "../virtual-io", version = "0.7.0", default-features = false }
bincode = { version = "1.3" }
serde = { version = "1.0", default-features = false, features = ["derive"] }
pin-project-lite = "0.2.9"
futures-util = { workspace = true }
anyhow = "1.0"
tokio-serde = { version = "0.9", features = ["bincode"], optional = true }
tokio-util = { version = "0.7.8", features = ["codec"], optional = true }
hyper-tungstenite = { version = "0.13", optional = true }
tokio-tungstenite = { version = "0.21", optional = true }
bytecheck = { version = "0.6.8", optional = true }
hyper-util = { version = "0.1.5", features = ["tokio"], optional = true }

[dependencies.smoltcp]
version = "0.8"
default-features = false
features = ["proto-ipv4", "std", "alloc"]

[dev-dependencies]
tokio = { workspace = true, default-features = false, features = [
	"macros",
	"rt-multi-thread",
] }
tracing-test = { version = "0.2" }
serial_test = "2.0.0"

[features]
default = [
	"host-net",
	"remote",
	"json",
	"messagepack",
	"cbor",
	"hyper",
	"tokio-tungstenite",
]
host-net = [
	"libc",
	"tokio/io-util",
	"virtual-mio/sys",
	"tokio/net",
	"tokio/rt",
	"socket2",
	"mio",
]
remote = ["libc", "tokio/io-util", "tokio/sync", "tokio-serde", "tokio-util"]
json = ["tokio-serde/json"]
messagepack = ["tokio-serde/messagepack"]
cbor = ["tokio-serde/cbor"]
hyper = ["hyper-tungstenite", "hyper-util", "dep:hyper"]
tokio-tungstenite = ["dep:tokio-tungstenite"]
tokio = []
rkyv = ["dep:rkyv", "dep:bytecheck"]

[package.metadata.docs.rs]
features = ["host-net", "remote"]
rustc-args = ["--cfg", "docsrs"]