ttrpc 0.5.0

A Rust version of ttrpc.
Documentation
[package]
name = "ttrpc"
version = "0.5.0"
authors = ["The AntFin Kata Team <kata@list.alibaba-inc.com>"]
edition = "2018"
license = "Apache-2.0"
keywords = ["ttrpc", "protobuf", "rpc"]
readme = "README.md"
repository = "https://github.com/containerd/ttrpc-rust"
homepage = "https://github.com/containerd/ttrpc-rust"
description = "A Rust version of ttrpc."

[dependencies]
protobuf = { version = "2.0", optional = true }
bytes = { version = "0.4.11", optional = true }
libc = { version = "0.2.59", features = [ "extra_traits" ] }
nix = "0.16.1"
log = "0.4"
byteorder = "1.3.2"
thiserror = "1.0"

async-trait = { version = "0.1.31", optional = true }
tokio = { version = "1", features = ["rt", "sync", "io-util", "macros", "time"], optional = true }
futures = { version = "0.3", optional = true }
tokio-vsock = { version = "0.3", optional = true }

[build-dependencies]
protobuf-codegen-pure = "2.14.0"

[features]
default = ["protobuf-codec", "sync"]
protobuf-codec = ["protobuf"]
async = ["async-trait", "tokio", "futures", "tokio-vsock"]
sync = []

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]