All Packages This Package Class Hierarchy Class Search Index
java.lang.Object | +----edu.utah.janos.antsr.core.Capsule | +----edu.utah.janos.antsr.route.DynamicRouteCapsule
Summary |
public class DynamicRouteCapsule extends edu.utah.janos.antsr.core.Capsule { // Fields 5 private static final byte[] MID; private static final byte[] PID; int nroutes; ByteArray routes; String srcPhysAddr; // Constructors 2 public DynamicRouteCapsule(); public DynamicRouteCapsule(int, String, Vector); // Methods 7 public Xdr decode(); public Xdr encode(); public boolean evaluate(Node); public int length(); protected byte[] mid(); protected byte[] pid(); public String toString(); }
Route update capsule.
Used to be a built-in capsule type. Now it is not.
XXX fix the PACKAGE-accessible fields. (Need to be accessible in DynamicRouteApp.)
Fields |
· MID | Summary | Top |
private static final byte[] MID
· PID | Summary | Top |
private static final byte[] PID
· srcPhysAddr | Summary | Top |
String srcPhysAddr
Physical address of the node this DynamicRouteCapsule originated at.
As a String because only the Core is allowed to parse these things. XXX not very safe for pushing thorugh the network, now is it?
· nroutes | Summary | Top |
int nroutes
Number of route updates this capsule contains. Controls the size of the
routes
array.XXX this need not be encoded/decoded. It can be inferred from the size of the byte array (which is already encoded for us by the Xdr routines).
· routes | Summary | Top |
ByteArray routes
The route updates. Each update consists of:
logical destination (INT) cost (byte)
Constructors |
· DynamicRouteCapsule | Summary | Top |
public DynamicRouteCapsule()
Construct an empty DynamicRouteCapsule. This is only invoked when a node receives a DynamicRouteCapsule.
· DynamicRouteCapsule | Summary | Top |
public DynamicRouteCapsule(int activeDest, String srcPhysAddr, Vector routeVec)
Create a DynamicRouteCapsule to send to a remote host. This capsule will be sent to the activeDest host.
It contains the *physical address* of the host that sends it. (Because, hey, that's what routing does.)
Lastly, it will contain a suite of DynamicRouteEntries for the destination host to store in its RouteTable.
Parameter Description activeDest the destination for this capsule. Must be 1 hop away. srcPhysAddr the physical address of the the sender. As a string. routeVec a list of updated route entries for the remote node
Methods |
· mid | Summary | Top |
protected byte[] mid()
- Overrides:
- mid in class Capsule
· pid | Summary | Top |
protected byte[] pid()
- Overrides:
- pid in class Capsule
· length | Summary | Top |
public int length()
The length of this capsule. Adds the length of the
physAddr
string, 4 bytes for thenroutes
word, and zero or more bytes for theroutes
array.
- Overrides:
- length in class Capsule
· encode | Summary | Top |
public Xdr encode()
- Overrides:
- encode in class Capsule
· decode | Summary | Top |
public Xdr decode()
- Overrides:
- decode in class Capsule
· evaluate | Summary | Top |
public boolean evaluate(Node node)
When an update capsule arrives at its destination Node, it gets delivered to the app that maintains the routing table.
- Overrides:
- evaluate in class Capsule
· toString | Summary | Top |
public String toString()
- Overrides:
- toString in class Capsule
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7