re_log_encoding 0.34.0

Encode/decode and serialize/deserialize RRD streams
Documentation
[package]
name = "re_log_encoding"
authors.workspace = true
description = "Encode/decode and serialize/deserialize RRD streams"
edition.workspace = true
homepage.workspace = true
include.workspace = true
license.workspace = true
publish = true
readme = "README.md"
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[lints]
workspace = true

[package.metadata.docs.rs]
all-features = true


[features]
default = []

## Enable loading data from an .rrd file.
decoder = ["dep:bytes", "dep:tokio", "dep:tokio-stream"]

## Enable encoding of log messages to an .rrd file/stream.
encoder = []

## Enable streaming of .rrd files from HTTP.
stream_from_http = [
  "decoder",
  "dep:ehttp",
  "dep:js-sys",
  "dep:wasm-bindgen-futures",
  "dep:wasm-bindgen",
  "dep:web-sys",
  "dep:web-time",
]

[dependencies]

# Rerun:
re_arrow_util.workspace = true
re_build_info.workspace = true
re_byte_size.workspace = true
re_chunk.workspace = true
re_log_types.workspace = true
re_log.workspace = true
re_protos.workspace = true
re_quota_channel.workspace = true
re_sorbet.workspace = true
re_span.workspace = true
re_tracing.workspace = true
re_types_core.workspace = true

# External:
arrow = { workspace = true, features = ["ipc"] }
crossbeam.workspace = true
itertools.workspace = true
lz4_flex = { workspace = true }
parking_lot.workspace = true
sha2.workspace = true
thiserror.workspace = true
tracing.workspace = true
xxhash-rust.workspace = true

# Optional external dependencies:
bytes = { workspace = true, optional = true }
ehttp = { workspace = true, optional = true, features = ["streaming"] }
tokio = { workspace = true, optional = true, features = ["io-util"] }
tokio-stream = { workspace = true, optional = true }
web-time = { workspace = true, optional = true }

# Web dependencies:
[target.'cfg(target_arch = "wasm32")'.dependencies]
js-sys = { workspace = true, optional = true }
wasm-bindgen = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
web-sys = { workspace = true, optional = true, features = ["Window", "MessageEvent"] }

[dev-dependencies]
re_arrow_util = { workspace = true, features = ["test"] }
re_sdk_types.workspace = true

tempfile.workspace = true
criterion.workspace = true
insta.workspace = true
mimalloc.workspace = true
similar-asserts.workspace = true

[lib]
bench = false

[[bench]]
name = "msg_encode_benchmark"
harness = false