mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2024-12-26 23:25:55 -05:00
23d77693de
Reading from the mmap()ed region in the tokio threads could cause them to stall: * That could affect UI serving when there were concurrent UI requests (i.e., not just requests that needed the reads in question anyway). * If there's a faulty disk, it could cause the UI to totally hang. Better to not mix disks between threads. * Soon, I want to handle RTSP from the tokio threads (#37). Similarly, we don't want RTSP streaming to block on operations from unrelated disks. I went with just one thread per disk which I think is sufficient. But it'd be possible to do a fixed-size pool instead which might improve latency when some pages are already cached. I also dropped the memmap dependency. I had to compute the page alignment anyway to get mremap to work, and Moonfire NVR already is Unix-specific, so there wasn't much value from the memmap or memmap2 crates. Fixes #88
48 lines
1.3 KiB
TOML
48 lines
1.3 KiB
TOML
[package]
|
|
name = "moonfire-db"
|
|
version = "0.6.3"
|
|
authors = ["Scott Lamb <slamb@slamb.org>"]
|
|
readme = "../README.md"
|
|
edition = "2018"
|
|
license-file = "../../LICENSE.txt"
|
|
|
|
[features]
|
|
nightly = []
|
|
|
|
[lib]
|
|
path = "lib.rs"
|
|
|
|
[dependencies]
|
|
base = { package = "moonfire-base", path = "../base" }
|
|
base64 = "0.13.0"
|
|
blake3 = "0.3.7"
|
|
byteorder = "1.0"
|
|
cstr = "0.2.5"
|
|
failure = "0.1.1"
|
|
fnv = "1.0"
|
|
futures = "0.3"
|
|
h264-reader = { git = "https://github.com/dholroyd/h264-reader" }
|
|
hashlink = "0.7.0"
|
|
lazy_static = "1.0"
|
|
libc = "0.2"
|
|
libpasta = { git = "https://github.com/scottlamb/libpasta", branch = "pr-deps" }
|
|
log = "0.4"
|
|
mylog = { git = "https://github.com/scottlamb/mylog" }
|
|
nix = "0.20.0"
|
|
odds = { version = "0.4.0", features = ["std-vec"] }
|
|
parking_lot = { version = "0.11.1", features = [] }
|
|
pretty-hex = "0.2.1"
|
|
prettydiff = { git = "https://github.com/scottlamb/prettydiff", branch = "pr-update-deps" }
|
|
protobuf = { git = "https://github.com/stepancheg/rust-protobuf" }
|
|
ring = "0.16.2"
|
|
rusqlite = "0.25.3"
|
|
smallvec = "1.0"
|
|
tempfile = "3.2.0"
|
|
time = "0.1"
|
|
tokio = { version = "1.0", features = ["macros", "parking_lot", "rt-multi-thread", "sync"] }
|
|
uuid = { version = "0.8", features = ["std", "v4"] }
|
|
itertools = "0.10.0"
|
|
|
|
[build-dependencies]
|
|
protobuf-codegen-pure = { git = "https://github.com/stepancheg/rust-protobuf" }
|