mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2025-01-14 00:05:02 -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 |
||
---|---|---|
.. | ||
dir | ||
proto | ||
testdata | ||
upgrade | ||
auth.rs | ||
build.rs | ||
Cargo.toml | ||
check.rs | ||
coding.rs | ||
compare.rs | ||
days.rs | ||
db.rs | ||
fs.rs | ||
lib.rs | ||
raw.rs | ||
recording.rs | ||
schema.sql | ||
signal.rs | ||
testutil.rs | ||
writer.rs |