Move FullNode::new_window into window module
This commit is contained in:
parent
2727067b94
commit
dc2a840985
|
@ -4,13 +4,12 @@ use bank::Bank;
|
||||||
use broadcaster;
|
use broadcaster;
|
||||||
use crdt::{Crdt, NodeInfo, TestNode};
|
use crdt::{Crdt, NodeInfo, TestNode};
|
||||||
use entry::Entry;
|
use entry::Entry;
|
||||||
use ledger::{read_ledger, Block};
|
use ledger::read_ledger;
|
||||||
use ncp::Ncp;
|
use ncp::Ncp;
|
||||||
use packet::BlobRecycler;
|
use packet::BlobRecycler;
|
||||||
use rpu::Rpu;
|
use rpu::Rpu;
|
||||||
use service::Service;
|
use service::Service;
|
||||||
use signature::{Keypair, KeypairUtil};
|
use signature::{Keypair, KeypairUtil};
|
||||||
use std::collections::VecDeque;
|
|
||||||
use std::net::SocketAddr;
|
use std::net::SocketAddr;
|
||||||
use std::sync::atomic::{AtomicBool, Ordering};
|
use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use std::sync::{Arc, RwLock};
|
use std::sync::{Arc, RwLock};
|
||||||
|
@ -19,7 +18,7 @@ use std::time::Duration;
|
||||||
use tpu::Tpu;
|
use tpu::Tpu;
|
||||||
use tvu::Tvu;
|
use tvu::Tvu;
|
||||||
use untrusted::Input;
|
use untrusted::Input;
|
||||||
use window::{self, SharedWindow};
|
use window;
|
||||||
|
|
||||||
//use std::time::Duration;
|
//use std::time::Duration;
|
||||||
pub struct FullNode {
|
pub struct FullNode {
|
||||||
|
@ -158,21 +157,6 @@ impl FullNode {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn new_window(
|
|
||||||
ledger_tail: &[Entry],
|
|
||||||
entry_height: u64,
|
|
||||||
node_info: &NodeInfo,
|
|
||||||
blob_recycler: &BlobRecycler,
|
|
||||||
) -> SharedWindow {
|
|
||||||
// convert to blobs
|
|
||||||
let mut blobs = VecDeque::new();
|
|
||||||
ledger_tail.to_blobs(&blob_recycler, &mut blobs);
|
|
||||||
|
|
||||||
// flatten deque to vec
|
|
||||||
let blobs: Vec<_> = blobs.into_iter().collect();
|
|
||||||
window::initialized_window(&node_info, blobs, entry_height)
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Create a server instance acting as a leader.
|
/// Create a server instance acting as a leader.
|
||||||
///
|
///
|
||||||
/// ```text
|
/// ```text
|
||||||
|
@ -219,7 +203,8 @@ impl FullNode {
|
||||||
thread_hdls.extend(rpu.thread_hdls());
|
thread_hdls.extend(rpu.thread_hdls());
|
||||||
|
|
||||||
let blob_recycler = BlobRecycler::default();
|
let blob_recycler = BlobRecycler::default();
|
||||||
let window = FullNode::new_window(ledger_tail, entry_height, &node.data, &blob_recycler);
|
let window =
|
||||||
|
window::new_window_from_entries(ledger_tail, entry_height, &node.data, &blob_recycler);
|
||||||
|
|
||||||
let crdt = Arc::new(RwLock::new(Crdt::new(node.data).expect("Crdt::new")));
|
let crdt = Arc::new(RwLock::new(Crdt::new(node.data).expect("Crdt::new")));
|
||||||
|
|
||||||
|
@ -309,7 +294,8 @@ impl FullNode {
|
||||||
thread_hdls.extend(rpu.thread_hdls());
|
thread_hdls.extend(rpu.thread_hdls());
|
||||||
|
|
||||||
let blob_recycler = BlobRecycler::default();
|
let blob_recycler = BlobRecycler::default();
|
||||||
let window = FullNode::new_window(ledger_tail, entry_height, &node.data, &blob_recycler);
|
let window =
|
||||||
|
window::new_window_from_entries(ledger_tail, entry_height, &node.data, &blob_recycler);
|
||||||
|
|
||||||
let crdt = Arc::new(RwLock::new(Crdt::new(node.data).expect("Crdt::new")));
|
let crdt = Arc::new(RwLock::new(Crdt::new(node.data).expect("Crdt::new")));
|
||||||
crdt.write()
|
crdt.write()
|
||||||
|
|
|
@ -2,8 +2,10 @@
|
||||||
//!
|
//!
|
||||||
use counter::Counter;
|
use counter::Counter;
|
||||||
use crdt::{Crdt, NodeInfo};
|
use crdt::{Crdt, NodeInfo};
|
||||||
|
use entry::Entry;
|
||||||
#[cfg(feature = "erasure")]
|
#[cfg(feature = "erasure")]
|
||||||
use erasure;
|
use erasure;
|
||||||
|
use ledger::Block;
|
||||||
use log::Level;
|
use log::Level;
|
||||||
use packet::{BlobRecycler, SharedBlob, SharedBlobs, BLOB_SIZE};
|
use packet::{BlobRecycler, SharedBlob, SharedBlobs, BLOB_SIZE};
|
||||||
use result::{Error, Result};
|
use result::{Error, Result};
|
||||||
|
@ -554,6 +556,21 @@ pub fn initialized_window(
|
||||||
window
|
window
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn new_window_from_entries(
|
||||||
|
ledger_tail: &[Entry],
|
||||||
|
entry_height: u64,
|
||||||
|
node_info: &NodeInfo,
|
||||||
|
blob_recycler: &BlobRecycler,
|
||||||
|
) -> SharedWindow {
|
||||||
|
// convert to blobs
|
||||||
|
let mut blobs = VecDeque::new();
|
||||||
|
ledger_tail.to_blobs(&blob_recycler, &mut blobs);
|
||||||
|
|
||||||
|
// flatten deque to vec
|
||||||
|
let blobs: Vec<_> = blobs.into_iter().collect();
|
||||||
|
initialized_window(&node_info, blobs, entry_height)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn window(
|
pub fn window(
|
||||||
crdt: Arc<RwLock<Crdt>>,
|
crdt: Arc<RwLock<Crdt>>,
|
||||||
window: SharedWindow,
|
window: SharedWindow,
|
||||||
|
|
Loading…
Reference in New Issue