diff --git a/coffer-client/src/main.rs b/coffer-client/src/main.rs index 6d215bd..cf70e73 100644 --- a/coffer-client/src/main.rs +++ b/coffer-client/src/main.rs @@ -5,7 +5,7 @@ use env_logger; use structopt::StructOpt; use std:: { - net::{SocketAddr, TcpStream}, + net::TcpStream, error::Error, path::PathBuf, io::{Write, Read}, diff --git a/coffer-common/src/keyring.rs b/coffer-common/src/keyring.rs index ec00547..87e50dd 100644 --- a/coffer-common/src/keyring.rs +++ b/coffer-common/src/keyring.rs @@ -44,7 +44,7 @@ pub struct Keyring { impl Keyring { pub fn new(certificate: Certificate) -> Keyring { Keyring { - certificate: certificate, + certificate, known_keys: HashMap::new() } } diff --git a/coffer-companion/src/certificate.rs b/coffer-companion/src/certificate.rs index 32f4826..f9a28ce 100644 --- a/coffer-companion/src/certificate.rs +++ b/coffer-companion/src/certificate.rs @@ -10,7 +10,7 @@ pub fn generate_key(out: PathBuf) { let cert = certificate.to_cbor().unwrap(); let mut writer = File::create(&out) - .expect(&format!{"Could not create out file {}", &out.display()}); + .unwrap_or_else(|_| panic!{"Could not create out file {}", &out.display()}); writer.write_all(&cert).unwrap(); } diff --git a/coffer-server/src/coffer_map.rs b/coffer-server/src/coffer_map.rs index 46acd8a..3941c71 100644 --- a/coffer-server/src/coffer_map.rs +++ b/coffer-server/src/coffer_map.rs @@ -7,7 +7,7 @@ use std::sync::RwLock; use std::sync::RwLockReadGuard; use std::sync::RwLockWriteGuard; -use std::collections::HashMap; +use std::collections::hash_map::{HashMap, Entry}; use coffer_common::coffer::*; @@ -34,8 +34,10 @@ impl Coffer for CofferMap { match lock.get_mut(&key.shard) { Some(shard) => { - if shard.contains_key(&key.key) { Err(CofferError::Msg("Key exists")) } - else { shard.insert(key.key, value); Ok(()) } + match shard.entry(key.key) { + Entry::Occupied(_) => Err(CofferError::Msg("Key exists")), + Entry::Vacant(v) => { v.insert(value); Ok(()) } + } } None => { lock.insert(key.shard.clone(), HashMap::new()); diff --git a/coffer-server/src/server.rs b/coffer-server/src/server.rs index 3139bcb..74dd5ef 100644 --- a/coffer-server/src/server.rs +++ b/coffer-server/src/server.rs @@ -59,7 +59,7 @@ where C: Coffer + Send + Sync + 'static debug!{"Binding to socket {:?}", socket} let mut listener = TcpListener::bind(socket).await - .expect(format!{"Could not bind to socket {}", socket}.as_str()); + .expect("Could not bind to socket"); let server = async move { let mut incoming = listener.incoming();