async fn process_connection(
    socket: TcpStream,
    peer_addr: SocketAddr,
    shred_version: Option<u16>
) -> Result<()>