# 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 = "2024"
name = "mcrx-core"
version = "0.2.5"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Runtime-agnostic and portable multicast receiver library for IPv4 and IPv6 ASM/SSM."
homepage = "https://github.com/QUICast/mcrx-core"
documentation = "https://docs.rs/mcrx-core"
readme = "README.md"
keywords = [
    "multicast",
    "udp",
    "asm",
    "ssm",
    "networking",
]
categories = ["network-programming"]
license = "BSD-2-Clause"
repository = "https://github.com/QUICast/mcrx-core"

[features]
default = []
metrics = ["dep:serde_json"]
raw-packets = []
tokio = ["dep:tokio"]

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

[[bin]]
name = "mcrx_raw_recv"
path = "src/bin/mcrx_raw_recv.rs"
required-features = ["raw-packets"]

[[bin]]
name = "mcrx_recv"
path = "src/bin/mcrx_recv.rs"

[[bin]]
name = "mcrx_recv_meta"
path = "src/bin/mcrx_recv_meta.rs"

[[bin]]
name = "mcrx_tokio_recv"
path = "src/bin/mcrx_tokio_recv.rs"
required-features = ["tokio"]

[dependencies.bytes]
version = "1"

[dependencies.libc]
version = "0.2"

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.socket2]
version = "0.6.3"
features = ["all"]

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "net",
    "time",
    "signal",
]
optional = true

[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
    "Win32_Foundation",
    "Win32_NetworkManagement_IpHelper",
    "Win32_NetworkManagement_Ndis",
    "Win32_Networking_WinSock",
    "Win32_System_IO",
]
