Reduce cyclomatic complexity

This commit is contained in:
Greg Fitzgerald 2018-04-06 16:12:13 -06:00
parent 912a5f951e
commit 7bd3a8e004
1 changed files with 31 additions and 23 deletions

View File

@ -149,19 +149,13 @@ impl<W: Write + Send + 'static> AccountantSkel<W> {
.collect()
}
fn process(
fn process_packets(
obj: &Arc<Mutex<AccountantSkel<W>>>,
verified_receiver: &Receiver<(Vec<SharedPackets>, Vec<Vec<u8>>)>,
blob_sender: &streamer::BlobSender,
packet_recycler: &packet::PacketRecycler,
reqs: Vec<Option<(Request, SocketAddr)>>,
vers: Vec<u8>,
blob_recycler: &packet::BlobRecycler,
) -> Result<()> {
let timer = Duration::new(1, 0);
let (mms, vvs) = verified_receiver.recv_timeout(timer)?;
for (msgs, vers) in mms.into_iter().zip(vvs.into_iter()) {
) -> Result<VecDeque<packet::SharedBlob>> {
let mut rsps = VecDeque::new();
{
let reqs = Self::deserialize_packets(&((*msgs).read().unwrap()));
for (data, v) in reqs.into_iter().zip(vers.into_iter()) {
if let Some((req, rsp_addr)) = data {
if !req.verify() {
@ -181,7 +175,21 @@ impl<W: Write + Send + 'static> AccountantSkel<W> {
}
}
}
Ok(rsps)
}
fn process(
obj: &Arc<Mutex<AccountantSkel<W>>>,
verified_receiver: &Receiver<(Vec<SharedPackets>, Vec<Vec<u8>>)>,
blob_sender: &streamer::BlobSender,
packet_recycler: &packet::PacketRecycler,
blob_recycler: &packet::BlobRecycler,
) -> Result<()> {
let timer = Duration::new(1, 0);
let (mms, vvs) = verified_receiver.recv_timeout(timer)?;
for (msgs, vers) in mms.into_iter().zip(vvs.into_iter()) {
let reqs = Self::deserialize_packets(&msgs.read().unwrap());
let rsps = Self::process_packets(obj, reqs, vers, blob_recycler)?;
if !rsps.is_empty() {
//don't wake up the other side if there is nothing
blob_sender.send(rsps)?;