[package]
name = "bgpkit-parser"
version = "0.17.0"
authors = ["Mingwei Zhang <mingwei@bgpkit.com>"]
edition = "2021"
license = "MIT"
repository = "https://github.com/bgpkit/bgpkit-parser"
documentation = "https://docs.rs/bgpkit-parser"
description = "MRT/BGP/BMP data processing library"
keywords = ["bgp", "bgpkit", "mrt"]
categories = ["network-programming"]
default-run = "bgpkit-parser"
readme = "README.md"
rust-version = "1.87.0"
[[bin]]
name = "bgpkit-parser"
path = "src/bin/main.rs"
required-features = ["cli"]
[lib]
path = "src/lib.rs"
crate-type = ["cdylib", "rlib"]
[dependencies]
ipnet = "2.10"
itertools = "0.14"
log = "0.4"
num_enum = { version = "0.7", features = ["complex-expressions"] }
bitflags = { version = "2.6", features = ["serde"] }
serde = { version = "1.0", features = ["derive"], optional = true }
bytes = { version = "1.7", optional = true }
zerocopy = { version = "0.8", features = ["derive"], optional = true }
hex = { version = "0.4.3", optional = true }
oneio = { version = "0.23", default-features = false, features = ["http", "gz", "bz"], optional = true }
regex = { version = "1", optional = true }
chrono = { version = "0.4.38", optional = true }
serde_json = { version = "1.0", optional = true }
wasm-bindgen = { version = "0.2", optional = true }
smallvec = { version = "1.13", features = ["serde"] }
env_logger = { version = "0.11", optional = true }
clap = { version = "4.5", features = ["derive"], optional = true }
[features]
default = ["parser", "rustls"]
local = ["parser", "oneio"]
parser = [
"bytes",
"chrono",
"regex",
"zerocopy",
]
cli = [
"clap",
"parser",
"env_logger",
"serde",
"serde_json"
]
rislive = [
"parser",
"serde",
"serde_json",
"hex",
]
wasm = [
"parser",
"serde",
"serde_json",
"dep:wasm-bindgen",
]
serde = [
"dep:serde",
"ipnet/serde",
"serde/rc",
]
native-tls = [
"oneio/native-tls",
]
rustls = [
"oneio/rustls",
]
xz = [
"oneio/xz"
]
lz = [
"oneio/lz"
]
[[bench]]
name = "internals"
harness = false
[[bench]]
name = "bench_main"
harness = false
[dev-dependencies]
regex = "1"
anyhow = "1"
bgpkit-broker = "0.11"
env_logger = "0.11"
kafka = "0.10.0"
tungstenite = "0.29.0"
tokio-tungstenite = "0.29"
tokio = { version = "1", features = ["full"] }
futures-util = "0.3.30"
criterion = { version = "0.8", features = ["html_reports"] }
rayon = "1.10"
bzip2 = "0.6"
flate2 = "1.1"
md5 = "0.8.0"
which = "8"
serde_json = "1.0"
hex = "0.4.3"
tempfile = "3"
ctrlc = "3.4"
tracing = "0.1"
tracing-subscriber = "0.3"
crossbeam-channel = "0.5"
[[example]]
name = "real_time_ris_live_websocket"
required-features = ["rislive"]
[[example]]
name = "real_time_ris_live_websocket_async"
required-features = ["rislive"]
[[example]]
name = "peer_index_table"
required-features = ["serde"]
[[example]]
name = "deprecated_attributes"
required-features = ["serde"]
[[example]]
name = "scan_mrt"
required-features = ["cli"]
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.gz"
pkg-fmt = "tgz"
[lints.clippy]
uninlined_format_args = "allow"