All Packages This Package Class Hierarchy Class Search Index
java.lang.Object | +----edu.utah.janos.antsr.core.Capsule | +----edu.utah.janos.antsr.core.DLResponseCapsule
Summary |
public class DLResponseCapsule extends edu.utah.janos.antsr.core.Capsule { // Fields 11 static final byte[] MID; private static final byte[] PID; public static final String VERSION; private int chunkMask; private int clen; private ByteArray code; private int coff; private TypeID groupID; private TypeID[] groups; private String name; private TypeID payloadID; // Constructors 2 DLResponseCapsule(); DLResponseCapsule(int, CapsuleClass, int, int, int); // Methods 7 public Xdr decode(); public Xdr encode(); public boolean evaluate(Node); public int length(); protected byte[] mid(); protected byte[] pid(); public String toString(); }
Demand Load Response capsule. DLResponseCapsules are only created by a DLRequestCapsule that has been delivered to a node that can satisfy the request. DLResponseCapsules contain a single "chunk" of a CodeGroup.
A DLResponseCapsule packet contains the following fields (on top of the base Capsule fields):
See Also: DLProtocol, DLRequestCapsule, CodeGroup
Fields |
· VERSION | Summary | Top |
public static final String VERSION
· MID | Summary | Top |
static final byte[] MID
· PID | Summary | Top |
private static final byte[] PID
· payloadID | Summary | Top |
private TypeID payloadID
The MID of the CapsuleClass owning the chunk this capsule contains.
· groupID | Summary | Top |
private TypeID groupID
The GID of the CodeGroup this chunk belongs to.
· groups | Summary | Top |
private TypeID[] groups
The GID of every other CodeGroup in the Protocol this CodeGroup is part of. This is the only way a CodeGroup can compute its ProtocolID.
XXX seems like it would be more efficient to just send the ProtocolID across the wire and double check it after the CodeGroup is loaded. XXX Probably a security concern.
· chunkMask | Summary | Top |
private int chunkMask
The mask containing only the index of the chunk (in the CodeGroup's chunkmask) contained in this Capsule.
· clen | Summary | Top |
private int clen
Length of the full bytecode for the Class.
· coff | Summary | Top |
private int coff
Offset of this chunk in the CapsuleClass's code block.
· name | Summary | Top |
private String name
Name of the CapsuleClass this chunk represents.
XXX Only needs to be in the first chunk for a class.
· code | Summary | Top |
private ByteArray code
The chunk.
Constructors |
· DLResponseCapsule | Summary | Top |
DLResponseCapsule()
Construct a blank DLResponseCapsule.
This is only invoked when a DLResponseCapsule capsule is received at a node and the node must construct a capsule before decoding the packet into it.
· DLResponseCapsule | Summary | Top |
DLResponseCapsule(int dst, CapsuleClass cc, int idx, int pos, int len)
Construct a DLResponseCapsule that will contain the given chunk of the given method. Only invoked by DLRequestCapsule.evaluate().
Parameter Description m The method which is being sent. idx the chunk id pos the position in the method's class file of the chunk start len the size of the chunk (<= CodeGroup.CHUNK_SIZE)
See Also: evaluate
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()
- 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)
Evalute a DLResponseCapsule at this node. Looks up the appropriate CapsuleClass and CodeGroup info, creating new ones if necessary.
XXX should deal with unanticipated DLResponseCapsules better.
- 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