[package]
edition = "2024"
name = "brec"
version = "0.4.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.4.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.4.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"