Generalize serialize_responses

This commit is contained in:
Greg Fitzgerald 2018-05-25 17:06:10 -06:00
parent 122db85727
commit 4f377e6710
1 changed files with 6 additions and 5 deletions

View File

@ -4,9 +4,10 @@ use bincode::{deserialize, serialize};
use packet; use packet;
use packet::SharedPackets; use packet::SharedPackets;
use rayon::prelude::*; use rayon::prelude::*;
use request::{Request, Response}; use request::Request;
use request_processor::RequestProcessor; use request_processor::RequestProcessor;
use result::Result; use result::Result;
use serde::Serialize;
use std::collections::VecDeque; use std::collections::VecDeque;
use std::net::SocketAddr; use std::net::SocketAddr;
use std::sync::Arc; use std::sync::Arc;
@ -36,8 +37,8 @@ impl RequestStage {
} }
/// Split Request list into verified transactions and the rest /// Split Request list into verified transactions and the rest
fn serialize_response( fn serialize_response<T: Serialize>(
resp: Response, resp: T,
rsp_addr: SocketAddr, rsp_addr: SocketAddr,
blob_recycler: &packet::BlobRecycler, blob_recycler: &packet::BlobRecycler,
) -> Result<packet::SharedBlob> { ) -> Result<packet::SharedBlob> {
@ -53,8 +54,8 @@ impl RequestStage {
Ok(blob) Ok(blob)
} }
fn serialize_responses( fn serialize_responses<T: Serialize>(
rsps: Vec<(Response, SocketAddr)>, rsps: Vec<(T, SocketAddr)>,
blob_recycler: &packet::BlobRecycler, blob_recycler: &packet::BlobRecycler,
) -> Result<VecDeque<packet::SharedBlob>> { ) -> Result<VecDeque<packet::SharedBlob>> {
let mut blobs = VecDeque::new(); let mut blobs = VecDeque::new();