[package] name = "upc" description = "USB packet channel (UPC): provides a reliable, packet-based transport over USB." categories = ["hardware-support", "asynchronous"] keywords = ["usb", "gadget", "packet", "channel"] license = "Apache-2.0" repository = "https://github.com/surban/upc" authors = ["Sebastian Urban "] version = "0.5.0" edition = "2021" rust-version = "1.73" autoexamples = false [features] default = [] host = ["rusb"] device = ["usb-gadget"] trace-packets = [] [dependencies] futures = "0.3" tokio = { version = "1.33", features = ["macros", "rt", "sync"] } rusb = { version = "0.9.3", optional = true } usb-gadget = { version = "0.7", features = ["tokio"], optional = true } tracing = "0.1" uuid = "1" bytes = "1.4" [dev-dependencies] tokio = { version = "1", features = ["time"] } tracing-subscriber = { version = "0.3", default-features = false, features = [ "env-filter", "fmt", ] } tracing-log = "0.2" rand_xoshiro = "0.6" rand = "0.8" [[example]] name = "host" required-features = ["host"] doc-scrape-examples = true [[example]] name = "device" required-features = ["device"] doc-scrape-examples = true [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]