update various deps

This brings most things reasonably up-to-date. libpasta's deps are
dragging a bit, keeping us on an older ring to avoid duplication,
and causing us to use three versions of base64. And I need to update
a few of my companion crates' parking_lot dep to match tokio.
This commit is contained in:
Scott Lamb
2020-11-23 00:23:03 -08:00
parent 8512199d85
commit 269db57a53
18 changed files with 913 additions and 599 deletions

View File

@@ -13,10 +13,10 @@ path = "lib.rs"
[dependencies]
base = { package = "moonfire-base", path = "../base" }
base64 = "0.11.0"
blake3 = "0.2.2"
base64 = "0.13.0"
blake3 = "0.3.7"
byteorder = "1.0"
cstr = "0.1.7"
cstr = "0.2.5"
failure = "0.1.1"
fnv = "1.0"
h264-reader = { git = "https://github.com/dholroyd/h264-reader" }
@@ -26,7 +26,7 @@ libc = "0.2"
libpasta = "0.1.0-rc2"
log = "0.4"
mylog = { git = "https://github.com/scottlamb/mylog" }
nix = "0.17.0"
nix = "0.19.0"
odds = { version = "0.4.0", features = ["std-vec"] }
parking_lot = { version = "0.10", features = [] }
prettydiff = "0.3.1"

View File

@@ -39,7 +39,6 @@ use failure::Error;
use fnv::FnvHashMap;
use log::error;
use nix::fcntl::AtFlags;
use protobuf::prelude::MessageField;
use rusqlite::params;
use crate::schema;
use std::os::unix::io::AsRawFd;
@@ -80,7 +79,7 @@ pub fn run(conn: &rusqlite::Connection, opts: &Options) -> Result<(), Error> {
meta.db_uuid.extend_from_slice(&db_uuid.as_bytes()[..]);
meta.dir_uuid.extend_from_slice(&dir_uuid.0.as_bytes()[..]);
{
let o = meta.last_complete_open.mut_message();
let o = meta.last_complete_open.set_default();
o.id = open_id;
o.uuid.extend_from_slice(&open_uuid.0.as_bytes()[..]);
}

View File

@@ -66,7 +66,6 @@ use hashlink::LinkedHashMap;
use itertools::Itertools;
use log::{error, info, trace};
use parking_lot::{Mutex,MutexGuard};
use protobuf::prelude::MessageField;
use rusqlite::{named_params, params};
use smallvec::SmallVec;
use std::cell::RefCell;
@@ -379,7 +378,7 @@ impl SampleFileDir {
meta.db_uuid.extend_from_slice(&db_uuid.as_bytes()[..]);
meta.dir_uuid.extend_from_slice(&self.uuid.as_bytes()[..]);
if let Some(o) = self.last_complete_open {
let open = meta.last_complete_open.mut_message();
let open = meta.last_complete_open.set_default();
open.id = o.id;
open.uuid.extend_from_slice(&o.uuid.as_bytes()[..]);
}
@@ -1210,7 +1209,7 @@ impl LockedDatabase {
if dir.dir.is_some() { continue }
let mut meta = dir.meta(&self.uuid);
if let Some(o) = self.open.as_ref() {
let open = meta.in_progress_open.mut_message();
let open = meta.in_progress_open.set_default();
open.id = o.id;
open.uuid.extend_from_slice(&o.uuid.as_bytes()[..]);
}
@@ -1703,7 +1702,7 @@ impl LockedDatabase {
{
meta.db_uuid.extend_from_slice(&self.uuid.as_bytes()[..]);
meta.dir_uuid.extend_from_slice(uuid_bytes);
let open = meta.in_progress_open.mut_message();
let open = meta.in_progress_open.set_default();
open.id = o.id;
open.uuid.extend_from_slice(&o.uuid.as_bytes()[..]);
}
@@ -1761,8 +1760,7 @@ impl LockedDatabase {
bail!("Can't delete sample file directory {} which still has files", &d.get().path);
}
let mut meta = d.get().meta(&self.uuid);
meta.in_progress_open = mem::replace(&mut meta.last_complete_open,
::protobuf::SingularPtrField::none());
meta.in_progress_open = meta.last_complete_open.take().into();
dir.write_meta(&meta)?;
if self.conn.execute("delete from sample_file_dir where id = ?", params![dir_id])? != 1 {
bail!("missing database row for dir {}", dir_id);

View File

@@ -35,7 +35,7 @@
use crate::coding;
use crate::db::CompositeId;
use crate::schema;
use cstr::*;
use cstr::cstr;
use failure::{Error, Fail, bail, format_err};
use log::warn;
use protobuf::Message;
@@ -322,7 +322,6 @@ pub(crate) fn parse_id(id: &[u8]) -> Result<CompositeId, ()> {
#[cfg(test)]
mod tests {
use protobuf::prelude::MessageField;
use super::*;
#[test]
@@ -343,10 +342,16 @@ mod tests {
let fake_uuid = &[0u8; 16][..];
meta.db_uuid.extend_from_slice(fake_uuid);
meta.dir_uuid.extend_from_slice(fake_uuid);
meta.last_complete_open.mut_message().id = u32::max_value();
meta.last_complete_open.mut_message().id = u32::max_value();
meta.in_progress_open.mut_message().uuid.extend_from_slice(fake_uuid);
meta.in_progress_open.mut_message().uuid.extend_from_slice(fake_uuid);
{
let o = meta.last_complete_open.set_default();
o.id = u32::max_value();
o.uuid.extend_from_slice(fake_uuid);
}
{
let o = meta.in_progress_open.set_default();
o.id = u32::max_value();
o.uuid.extend_from_slice(fake_uuid);
}
let data = meta.write_length_delimited_to_bytes().expect("proto3->vec is infallible");
assert!(data.len() <= FIXED_DIR_META_LEN, "{} vs {}", data.len(), FIXED_DIR_META_LEN);
}

View File

@@ -34,7 +34,6 @@ use crate::dir;
use failure::{Error, bail, format_err};
use nix::fcntl::{FlockArg, OFlag};
use nix::sys::stat::Mode;
use protobuf::prelude::MessageField;
use rusqlite::params;
use crate::schema::DirMeta;
use std::os::unix::io::AsRawFd;
@@ -116,7 +115,7 @@ pub fn run(args: &super::Args, tx: &rusqlite::Transaction) -> Result<(), Error>
{
meta.db_uuid.extend_from_slice(db_uuid_bytes);
meta.dir_uuid.extend_from_slice(dir_uuid_bytes);
let open = meta.last_complete_open.mut_message();
let open = meta.last_complete_open.set_default();
open.id = open_id;
open.uuid.extend_from_slice(&open_uuid_bytes);
}

View File

@@ -36,7 +36,6 @@ use crate::db::{self, FromSqlUuid};
use crate::dir;
use failure::Error;
use crate::schema;
use protobuf::prelude::MessageField;
use rusqlite::params;
use std::os::unix::io::AsRawFd;
use std::sync::Arc;
@@ -66,7 +65,7 @@ fn open_sample_file_dir(tx: &rusqlite::Transaction) -> Result<Arc<dir::SampleFil
meta.db_uuid.extend_from_slice(&db_uuid.0.as_bytes()[..]);
meta.dir_uuid.extend_from_slice(&s_uuid.0.as_bytes()[..]);
{
let open = meta.last_complete_open.mut_message();
let open = meta.last_complete_open.set_default();
open.id = o_id as u32;
open.uuid.extend_from_slice(&o_uuid.0.as_bytes()[..]);
}

View File

@@ -35,12 +35,12 @@
use crate::db::FromSqlUuid;
use crate::{dir, schema};
use cstr::*;
use cstr::cstr;
use failure::{Error, Fail, bail};
use log::info;
use nix::fcntl::{FlockArg, OFlag};
use nix::sys::stat::Mode;
use protobuf::{Message, prelude::MessageField};
use protobuf::Message;
use rusqlite::params;
use std::io::{Read, Write};
use std::os::unix::io::AsRawFd;
@@ -137,7 +137,7 @@ pub fn run(_args: &super::Args, tx: &rusqlite::Transaction) -> Result<(), Error>
db_meta.dir_uuid.extend_from_slice(&dir_uuid.0.as_bytes()[..]);
match (open_id, open_uuid) {
(Some(id), Some(uuid)) => {
let mut o = db_meta.last_complete_open.mut_message();
let mut o = db_meta.last_complete_open.set_default();
o.id = id;
o.uuid.extend_from_slice(&uuid.0.as_bytes()[..]);
},