mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2024-12-26 07:05:56 -05:00
d6fa470713
* separate these out into a new file, writer.rs, as dir.rs was getting unwieldy. * extract traits for the parts of SampleFileDir and std::fs::File they needed; set up mock implementations. * move clock.rs to a new base crate to be accessible from the db crate. * add tests that exercise all the retry paths. * bugfix: account for the new recording's bytes when calculating how much to delete. * bugfix: when retrying an unlink failure in collect_garbage, we shouldn't warn about all the recordings no longer existing. Do this by retrying each step rather than the whole procedure again. * avoid double-panic scenarios, which I hit while tweaking the mocks. These are quite annoying to debug as Rust doesn't print information about either panic. I ended up using lldb to get a backtrace. Better to be cautious about what we're doing when already panicking. * give more context on raw::insert_recording errors, which I hit as well while tweaking the new tests.
71 lines
1.7 KiB
TOML
71 lines
1.7 KiB
TOML
[package]
|
|
name = "moonfire-nvr"
|
|
version = "0.1.0"
|
|
authors = ["Scott Lamb <slamb@slamb.org>"]
|
|
|
|
[features]
|
|
|
|
# The nightly feature is used within moonfire-nvr itself to gate the
|
|
# benchmarks. Also pass it along to crates that can benefit from it.
|
|
nightly = ["moonfire-db/nightly", "parking_lot/nightly"]
|
|
|
|
# The bundled feature includes bundled (aka statically linked) versions of
|
|
# native libraries where possible.
|
|
bundled = ["rusqlite/bundled"]
|
|
|
|
[workspace]
|
|
members = ["base", "db", "ffmpeg"]
|
|
|
|
[dependencies]
|
|
byteorder = "1.0"
|
|
docopt = "0.8"
|
|
failure = "0.1.1"
|
|
futures = "0.1"
|
|
futures-cpupool = "0.1"
|
|
fnv = "1.0"
|
|
http-serve = { git = "https://github.com/scottlamb/http-serve" }
|
|
hyper = "0.11.16"
|
|
lazy_static = "1.0"
|
|
libc = "0.2"
|
|
log = { version = "0.4", features = ["release_max_level_info"] }
|
|
memmap = "0.6"
|
|
mime = "0.3"
|
|
moonfire-base = { path = "base" }
|
|
moonfire-db = { path = "db" }
|
|
moonfire-ffmpeg = { path = "ffmpeg" }
|
|
mylog = { git = "https://github.com/scottlamb/mylog" }
|
|
openssl = "0.10"
|
|
parking_lot = { version = "0.5", features = [] }
|
|
reffers = { git = "https://github.com/diwic/reffers-rs" }
|
|
regex = "0.2"
|
|
rusqlite = "0.13"
|
|
serde = "1.0"
|
|
serde_derive = "1.0"
|
|
serde_json = "1.0"
|
|
smallvec = "0.6"
|
|
time = "0.1"
|
|
tokio-core = "0.1"
|
|
tokio-signal = "0.1"
|
|
url = "1.4"
|
|
uuid = { version = "0.6", features = ["serde", "std", "v4"] }
|
|
|
|
[dev-dependencies]
|
|
reqwest = "0.8"
|
|
tempdir = "0.3"
|
|
|
|
[dependencies.cursive]
|
|
version = "0.7"
|
|
#default-features = false
|
|
#features = ["termion-backend"]
|
|
|
|
[profile.release]
|
|
debug = true
|
|
|
|
[profile.bench]
|
|
debug = true
|
|
|
|
[replace]
|
|
|
|
# This hyper fork has a patch to disable Nagle's algorithm.
|
|
"hyper:0.11.16" = { git = "https://github.com/scottlamb/hyper", branch = "moonfire-on-0.11.x" }
|