|
||||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||
java.lang.Object | +--org.javagroups.stack.Configurator
The task if this class is to setup and configure the protocol stack. A string describing the desired setup, which is both the layering and the configuration of each layer, is given to the configurator which creates and configures the protocol stack and returns a reference to the top layer (Protocol).
Future functionality will include the capability to dynamically modify the layering of the protocol stack and the properties of each layer.
| Nested Class Summary | |
|---|---|
class |
Configurator.ProtocolConfiguration
Parses and encapsulates the specification for 1 protocol of the protocol stack, e.g. |
| Constructor Summary | |
|---|---|
Configurator()
|
|
| Method Summary | |
|---|---|
Protocol |
createProtocol(java.lang.String prot_spec,
ProtocolStack stack)
Creates a new protocol given the protocol specification. |
Protocol |
findProtocol(Protocol prot_stack,
java.lang.String name)
|
Protocol |
getBottommostProtocol(Protocol prot_stack)
|
void |
insertProtocol(Protocol prot,
int position,
java.lang.String neighbor_prot,
ProtocolStack stack)
Inserts an already created (and initialized) protocol into the protocol list. |
static void |
main(java.lang.String[] args)
|
java.util.Vector |
parseComponentStrings(java.lang.String config_str,
java.lang.String delimiter)
Get a string of the form "P1(config_str1):P2:P3(config_str3)" and return ProtocolConfigurations for it. |
java.util.Vector |
parseConfigurations(java.lang.String configuration)
Return a number of ProtocolConfigurations in a vector |
void |
removeProtocol(java.lang.String prot_name)
Removes a protocol from the stack. |
void |
sanityCheck(java.util.Vector protocols)
Throws an exception if sanity check fails. |
Protocol |
setupProtocolStack(java.lang.String configuration,
ProtocolStack st)
The configuration string has a number of entries, separated by a ':' (colon). |
void |
startProtocolStack(Protocol bottom_prot)
|
void |
stopProtocolStack(Protocol start_prot)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public Configurator()
| Method Detail |
public Protocol setupProtocolStack(java.lang.String configuration,
ProtocolStack st)
throws java.lang.Exception
UDP(in_port=5555;out_port=4445):FRAG(frag_size=1024)
The first entry defines the bottommost layer, the string is parsed left to right and the protocol stack constructed bottom up. Example: the string "UDP(in_port=5555):FRAG(frag_size=32000):DEBUG" results is the following stack:
----------------------- | DEBUG | |-----------------------| | FRAG frag_size=32000 | |-----------------------| | UDP in_port=32000 | -----------------------
java.lang.Exceptionpublic void startProtocolStack(Protocol bottom_prot)
public void stopProtocolStack(Protocol start_prot)
public Protocol findProtocol(Protocol prot_stack,
java.lang.String name)
public Protocol getBottommostProtocol(Protocol prot_stack)
throws java.lang.Exception
java.lang.Exception
public Protocol createProtocol(java.lang.String prot_spec,
ProtocolStack stack)
throws java.lang.Exception
prot_spec - The specification of the protocol. Same convention as for specifying a protocol stack.
An exception will be thrown if the class cannot be created. Example:
"VERIFY_SUSPECT(timeout=1500)"Note that no colons (:) have to be specified
stack - The protocol stack
java.lang.Exception - Will be thrown when the new protocol cannot be created
public void insertProtocol(Protocol prot,
int position,
java.lang.String neighbor_prot,
ProtocolStack stack)
throws java.lang.Exception
prot - The protocol to be inserted. Before insertion, a sanity check will ensure that none
of the existing protocols have the same name as the new protocol.position - Where to place the protocol with respect to the neighbor_prot (ABOVE, BELOW)neighbor_prot - The name of the neighbor protocol. An exception will be thrown if this name
is not foundstack - The protocol stack
java.lang.Exception - Will be thrown when the new protocol cannot be created, or inserted.
public void removeProtocol(java.lang.String prot_name)
throws java.lang.Exception
prot_name - The name of the protocol. Since all protocol names in a stack have to be unique
(otherwise the stack won't be created), the name refers to just 1 protocol.
java.lang.Exception - Thrown if the protocol cannot be stopped correctly.
public java.util.Vector parseComponentStrings(java.lang.String config_str,
java.lang.String delimiter)
config_str - Configuration string
public java.util.Vector parseConfigurations(java.lang.String configuration)
throws java.lang.Exception
configuration - protocol-stack configuration string
java.lang.Exception
public void sanityCheck(java.util.Vector protocols)
throws java.lang.Exception
java.lang.Exceptionpublic static void main(java.lang.String[] args)
|
||||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||