updates to get some of the shutdown code to execute via Program
[fleet.git] / src / edu / berkeley / fleet / dataflow / DataFlowGraph.java
1 package edu.berkeley.fleet.dataflow;
2 import java.util.*;
3 import edu.berkeley.fleet.loops.*;
4 import edu.berkeley.fleet.api.*;
5 import java.util.*;
6 import java.net.*;
7
8 public class DataFlowGraph {
9
10     public final Fleet    fleet;
11     public final ShipPool pool;
12     private HashSet<Node> nodes = new HashSet<Node>();
13
14     public DataFlowGraph(Fleet fleet) { this(fleet, new ShipPool(fleet)); }
15     public DataFlowGraph(Fleet fleet, ShipPool pool) {
16         this.fleet = fleet;
17         this.pool  = pool;
18     }
19
20     public void addNode(Node node) { this.nodes.add(node); }
21
22     public void build(Context ctx) {
23         for(Node mod : nodes)
24             mod.build(ctx);
25     }
26     public int reset(Context ctx, int phase, Destination ackDestination, HashSet<Dock> sendTorpedoesTo) {
27         int ret = 0;
28         for(Node mod : nodes)
29             ret += mod.reset(ctx, phase, ackDestination, sendTorpedoesTo);
30         return ret;
31     }
32 }
33
34