Reduce cyclomatic complexity

This commit is contained in:
Greg Fitzgerald
2018-04-06 16:12:13 -06:00
parent 912a5f951e
commit 7bd3a8e004

View File

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