util.graph
Class SignalGraph

java.lang.Object
  |
  +--util.graph.Graph
        |
        +--util.graph.SignalGraph
All Implemented Interfaces:
Cloneable, Serializable
Direct Known Subclasses:
PermGraph

public class SignalGraph
extends Graph

A signal graph is a graph carrying signals from point a to point b. Each node in the midde is some sort of mux, and can map inputs to outputs. As long as the signal is agreed upon, multiple people can use a given edge. Used by the resource manager stuff WARNING: an object can only own ONE path at a time.

See Also:
Serialized Form

Fields inherited from class util.graph.Graph
edges, nodes
 
Constructor Summary
SignalGraph()
          Construct!
 
Method Summary
protected  void commitEdge(SignalEdge e, Object signal, Object owner, int cost)
          Commit that owner owner is using edge e with cost cost
 void commitPath(Path p, Object owner, int cost)
          Commit a path to the graph, with the given cost and owner.
 Vector getDisplaced(Path path)
          Get list of owners who will get knocked out by a given connection.
 Edge makeEdge(Object from, String outPort, Object to, String inPort)
          Override this if you want fancy-style edges.
protected  Path makePath(util.graph.Node start)
          Override this if you want fancy-style paths.
 void removeOwner(Object owner)
          Remove owner from graph edges.
 
Methods inherited from class util.graph.Graph
addEdge, addEdge, findNode, getEdges, getEdgesFrom, getNodes, getNonSources, getPath, getSinkNodes, getSinks, getSourceNodes, getSources, removeEdge, removeEdges, removeNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SignalGraph

public SignalGraph()
Construct!
Method Detail

removeOwner

public void removeOwner(Object owner)
Remove owner from graph edges.

makePath

protected Path makePath(util.graph.Node start)
Description copied from class: Graph
Override this if you want fancy-style paths.
Overrides:
makePath in class Graph

makeEdge

public Edge makeEdge(Object from,
                     String outPort,
                     Object to,
                     String inPort)
Description copied from class: Graph
Override this if you want fancy-style edges.
Overrides:
makeEdge in class Graph

getDisplaced

public Vector getDisplaced(Path path)
Get list of owners who will get knocked out by a given connection.

commitPath

public void commitPath(Path p,
                       Object owner,
                       int cost)
Commit a path to the graph, with the given cost and owner.

commitEdge

protected void commitEdge(SignalEdge e,
                          Object signal,
                          Object owner,
                          int cost)
Commit that owner owner is using edge e with cost cost