More object-oriented
This commit is contained in:
@ -130,8 +130,7 @@ fn main() {
|
|||||||
serve_sock.local_addr().unwrap(),
|
serve_sock.local_addr().unwrap(),
|
||||||
);
|
);
|
||||||
eprintln!("starting server...");
|
eprintln!("starting server...");
|
||||||
let threads = Tpu::serve(
|
let threads = tpu.serve(
|
||||||
&tpu,
|
|
||||||
d,
|
d,
|
||||||
serve_sock,
|
serve_sock,
|
||||||
events_sock,
|
events_sock,
|
||||||
|
@ -191,8 +191,8 @@ mod tests {
|
|||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let accounting_stage = AccountingStage::new(accountant, &alice.last_id(), Some(30));
|
let accounting_stage = AccountingStage::new(accountant, &alice.last_id(), Some(30));
|
||||||
let tpu = Arc::new(Tpu::new(accounting_stage));
|
let tpu = Arc::new(Tpu::new(accounting_stage));
|
||||||
let threads =
|
let threads = tpu.serve(d, serve, events_socket, gossip, exit.clone(), sink())
|
||||||
Tpu::serve(&tpu, d, serve, events_socket, gossip, exit.clone(), sink()).unwrap();
|
.unwrap();
|
||||||
sleep(Duration::from_millis(300));
|
sleep(Duration::from_millis(300));
|
||||||
|
|
||||||
let requests_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
|
let requests_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
|
||||||
|
10
src/tpu.rs
10
src/tpu.rs
@ -74,7 +74,7 @@ impl Tpu {
|
|||||||
/// This service is the network leader
|
/// This service is the network leader
|
||||||
/// Set `exit` to shutdown its threads.
|
/// Set `exit` to shutdown its threads.
|
||||||
pub fn serve<W: Write + Send + 'static>(
|
pub fn serve<W: Write + Send + 'static>(
|
||||||
obj: &SharedTpu,
|
&self,
|
||||||
me: ReplicatedData,
|
me: ReplicatedData,
|
||||||
requests_socket: UdpSocket,
|
requests_socket: UdpSocket,
|
||||||
_events_socket: UdpSocket,
|
_events_socket: UdpSocket,
|
||||||
@ -103,8 +103,8 @@ impl Tpu {
|
|||||||
|
|
||||||
let blob_recycler = packet::BlobRecycler::default();
|
let blob_recycler = packet::BlobRecycler::default();
|
||||||
let thin_client_service = ThinClientService::new(
|
let thin_client_service = ThinClientService::new(
|
||||||
obj.request_processor.clone(),
|
self.request_processor.clone(),
|
||||||
obj.accounting_stage.clone(),
|
self.accounting_stage.clone(),
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
sig_verify_stage.output,
|
sig_verify_stage.output,
|
||||||
packet_recycler.clone(),
|
packet_recycler.clone(),
|
||||||
@ -113,8 +113,8 @@ impl Tpu {
|
|||||||
|
|
||||||
let (broadcast_sender, broadcast_receiver) = channel();
|
let (broadcast_sender, broadcast_receiver) = channel();
|
||||||
let t_write = Self::write_service(
|
let t_write = Self::write_service(
|
||||||
obj.accounting_stage.clone(),
|
self.accounting_stage.clone(),
|
||||||
obj.request_processor.clone(),
|
self.request_processor.clone(),
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
broadcast_sender,
|
broadcast_sender,
|
||||||
blob_recycler.clone(),
|
blob_recycler.clone(),
|
||||||
|
Reference in New Issue
Block a user