brec 0.6.0

A flexible binary format for storing and streaming structured data as packets with CRC protection and recoverability from corruption. Built for extensibility and robustness.
Documentation
# 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 = "brec"
version = "0.6.0"
authors = ["d.astafyev@outlook.com"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A flexible binary format for storing and streaming structured data as packets with CRC protection and recoverability from corruption. Built for extensibility and robustness."
homepage = "https://github.com/icsmw/brec"
readme = "README.md"
keywords = [
    "binary",
    "packet",
    "storage",
    "logging",
    "streaming",
]
categories = [
    "encoding",
    "data-structures",
    "filesystem",
    "development-tools",
    "parser-implementations",
]
license = "Apache-2.0"
repository = "https://github.com/icsmw/brec.git"
resolver = "2"

[features]
bincode = ["dep:bincode"]
crypt = [
    "dep:bincode",
    "dep:serde",
    "dep:chacha20poly1305",
    "dep:rsa",
    "dep:secrecy",
    "dep:zeroize",
    "dep:x509-parser",
    "dep:pem",
]
csharp = [
    "dep:brec_csharp_lib",
    "brec_macros/csharp",
]
java = [
    "dep:brec_java_lib",
    "dep:brec_java_gen_macro",
    "brec_macros/java",
]
locked_storage = [
    "fs4",
    "brec_macros/locked_storage",
]
napi = [
    "dep:brec_node_gen_macro",
    "dep:brec_node_lib",
    "brec_macros/napi",
]
observer = [
    "dep:notify",
    "dep:tokio",
    "dep:tokio-util",
    "dep:tokio-stream",
    "dep:tracing",
    "brec_macros/observer",
]
resilient = ["brec_macros/resilient"]
wasm = [
    "dep:brec_wasm_lib",
    "dep:brec_wasm_gen_macro",
    "brec_macros/wasm",
]

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

[dependencies.bincode]
version = "2.0"
features = ["serde"]
optional = true

[dependencies.brec_consts]
version = "0.5.0"

[dependencies.brec_csharp_lib]
version = "0.1.0"
optional = true

[dependencies.brec_java_gen_macro]
version = "0.1.0"
optional = true

[dependencies.brec_java_lib]
version = "0.1.0"
optional = true

[dependencies.brec_macros]
version = "0.6.0"

[dependencies.brec_node_gen_macro]
version = "0.1.0"
optional = true

[dependencies.brec_node_lib]
version = "0.1.0"
optional = true

[dependencies.brec_wasm_gen_macro]
version = "0.1.0"
optional = true

[dependencies.brec_wasm_lib]
version = "0.1.0"
optional = true

[dependencies.chacha20poly1305]
version = "0.10"
optional = true

[dependencies.crc32fast]
version = "1.4"

[dependencies.enum_ids]
version = "0.7"

[dependencies.fs4]
version = "1.1"
features = ["sync"]
optional = true

[dependencies.notify]
version = "8.2"
optional = true

[dependencies.pem]
version = "3.0"
optional = true

[dependencies.rsa]
version = "0.9"
features = [
    "pem",
    "sha2",
]
optional = true

[dependencies.secrecy]
version = "0.10"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.51"
features = ["full"]
optional = true

[dependencies.tokio-stream]
version = "0.1"
optional = true

[dependencies.tokio-util]
version = "0.7"
optional = true

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.x509-parser]
version = "0.18"
optional = true

[dependencies.zeroize]
version = "1.8"
optional = true

[dev-dependencies.tempfile]
version = "3.27"