1use node::Node;
2
3#[derive(Clone, Debug)]
4pub struct System {
5 nodes: Vec<Node>,
6}
7
8impl System {
9 pub fn new() -> Result<System, &'static str> {
10 let system: System = Default::default();
11 system.init()
12 }
13
14 fn init(mut self) -> Result<Self, &'static str> {
15 for i in 0..4096 {
17 match Node::new(i) {
18 Ok(n) => {
19 self.nodes.push(n);
20 }
21 Err(_) => {
22 break;
23 }
24 }
25 }
26
27 Ok(self)
28 }
29
30 pub fn nodes(&self) -> Vec<Node> {
31 self.nodes.clone()
32 }
33}
34
35impl Default for System {
36 fn default() -> System {
37 System { nodes: Vec::new() }
38 }
39}