dialectic 0.2.0

Transport-polymorphic, asynchronous session types for Rust
Documentation
[package]
name = "dialectic"
version = "0.2.0"
authors = ["Kenny Foner <kwf@boltlabs.io>"]
edition = "2018"
license = "MIT"
license-file = "LICENSE"
description = "Transport-polymorphic, asynchronous session types for Rust"
repository = "https://github.com/boltlabs-inc/dialectic"
homepage = "https://github.com/boltlabs-inc/dialectic"
keywords = ["session", "types", "async", "channel", "protocol"]
categories = ["asynchronous", "concurrency"]

[features]
default = ["mpsc", "serde"]
mpsc = ["tokio/sync"]
serde = ["futures", "tokio/io-util", "tokio-util/codec", "serde-crate"]
bincode = ["serde", "bincode-crate", "bytes"]
json = ["serde", "serde_json"]
json_arbitrary_precision = [ "json", "serde_json/arbitrary_precision" ]
json_float_roundtrip = [ "json", "serde_json/float_roundtrip" ]
json_preserve_order = [ "json", "serde_json/preserve_order" ]
json_raw_value = [ "json", "serde_json/raw_value" ]
json_unbounded_depth = [ "json", "serde_json/unbounded_depth" ]

[dependencies]
thiserror = "1"
call-by = "0.1"
tokio = { version = "1", optional = true }
tokio-util = { version = "0.6", optional = true }
bincode-crate = { package = "bincode", version = "1.3", optional = true }
serde_json = { version = "1", optional = true }
serde-crate = { package = "serde", version = "1", features = ["derive"], optional = true }
futures = { version = "0.3", optional = true }
bytes = { version = "1", optional = true }
derivative = "2.1"
pin-project = "1"
static_assertions = "1.1"

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
static_assertions = "1.1"
bincode-crate = { package = "bincode", version = "1.3" }
serde_json = "1"
serde-crate = { package = "serde", version = "1" }
futures = "0.3"
bytes = "1"

[[example]]
name = "tally-client"
path = "examples/tally/client.rs"
required-features = ["bincode"]

[[example]]
name = "tally-server"
path = "examples/tally/server.rs"
required-features = ["bincode"]

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