solana/src/bin/testnode.rs

26 lines
817 B
Rust
Raw Normal View History

2018-03-03 23:13:40 -08:00
extern crate serde_json;
2018-03-27 15:24:05 -07:00
extern crate solana;
2018-02-28 17:04:35 -08:00
2018-03-27 15:24:05 -07:00
use solana::accountant::Accountant;
use solana::accountant_skel::AccountantSkel;
2018-03-26 11:17:19 -07:00
use std::io::{self, stdout, BufRead};
2018-03-22 13:05:23 -07:00
use std::sync::atomic::AtomicBool;
use std::sync::{Arc, Mutex};
2018-02-28 17:04:35 -08:00
fn main() {
let addr = "127.0.0.1:8000";
let stdin = io::stdin();
let entries = stdin
.lock()
.lines()
.map(|line| serde_json::from_str(&line.unwrap()).unwrap());
2018-04-02 08:30:10 -07:00
let (acc, last_id) = Accountant::new_from_entries(entries, Some(1000));
2018-03-22 13:05:23 -07:00
let exit = Arc::new(AtomicBool::new(false));
2018-04-02 08:30:10 -07:00
let skel = Arc::new(Mutex::new(AccountantSkel::new(acc, last_id, stdout())));
eprintln!("Listening on {}", addr);
2018-03-23 20:49:28 -07:00
let threads = AccountantSkel::serve(skel, addr, exit.clone()).unwrap();
for t in threads {
t.join().expect("join");
}
2018-02-28 17:04:35 -08:00
}