# 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 = "2021"
name = "masaka"
version = "0.1.0"
authors = ["Sieluna <seele.peng@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A highly modular, no-std async MQTT client"
readme = "README.md"
license = "MIT"
repository = "https://github.com/akasamq/masaka"

[features]
default = [
    "embassy",
    "std",
]
embassy = [
    "dep:embassy-net",
    "dep:embassy-time",
]
std = [
    "dep:tokio",
    "bytes/std",
    "embassy-net?/std",
    "embassy-time?/std",
    "embedded-io/std",
    "embedded-io-async/std",
    "mqtt-proto/std",
]
tls = []
tokio = [
    "std",
    "dep:tokio",
]

[lib]
name = "masaka"
path = "src/lib.rs"

[[bin]]
name = "masaka"
path = "src/main.rs"

[[test]]
name = "v3_connect"
path = "tests/v3_connect.rs"

[[test]]
name = "v3_publish"
path = "tests/v3_publish.rs"

[[test]]
name = "v3_subscribe"
path = "tests/v3_subscribe.rs"

[[test]]
name = "v5_connect"
path = "tests/v5_connect.rs"

[[test]]
name = "v5_publish"
path = "tests/v5_publish.rs"

[dependencies.bytes]
version = "1"
default-features = false

[dependencies.embassy-net]
version = "0.9"
features = [
    "alloc",
    "dhcpv4",
    "proto-ipv4",
    "proto-ipv6",
    "tcp",
]
optional = true

[dependencies.embassy-time]
version = "0.5"
optional = true

[dependencies.embedded-io]
version = "0.7"
features = ["alloc"]
default-features = false

[dependencies.embedded-io-async]
version = "0.7"
features = ["alloc"]
default-features = false

[dependencies.hashbrown]
version = "0.17"
features = ["default-hasher"]
default-features = false

[dependencies.log]
version = "0.4"
default-features = false

[dependencies.mqtt-proto]
version = "0.4"
default-features = false

[dependencies.nb]
version = "1"
default-features = false

[dependencies.tokio]
version = "1"
features = [
    "net",
    "time",
    "io-util",
]
optional = true

[dev-dependencies.critical-section]
version = "1"
features = ["std"]

[dev-dependencies.embassy-executor]
version = "0.10"
features = [
    "executor-thread",
    "platform-std",
]

[dev-dependencies.embassy-time]
version = "0.5"
features = [
    "generic-queue-16",
    "std",
]

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "net",
]
