org.jgroups.stack
public class Configurator extends Object
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.
|
Field Summary | |
---|---|
protected Log | log |
Method Summary | |
---|---|
Protocol | createProtocol(String prot_spec, ProtocolStack stack)
Creates a new protocol given the protocol specification. |
Protocol | findProtocol(Protocol prot_stack, String name) |
Protocol | getBottommostProtocol(Protocol prot_stack) |
void | insertProtocol(Protocol prot, int position, String neighbor_prot, ProtocolStack stack)
Inserts an already created (and initialized) protocol into the protocol list. |
static void | main(String[] args) |
Vector | parseComponentStrings(String config_str, String delimiter)
Get a string of the form "P1(config_str1):P2:P3(config_str3)" and return
ProtocolConfigurations for it. |
Vector | parseConfigurations(String configuration)
Return a number of ProtocolConfigurations in a vector |
void | removeProtocol(String prot_name)
Removes a protocol from the stack. |
void | sanityCheck(Vector protocols)
Throws an exception if sanity check fails. |
Protocol | setupProtocolStack(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) |
Parameters: 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
Returns: Protocol The newly created protocol
Throws: Exception Will be thrown when the new protocol cannot be created
Parameters: 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 found stack The protocol stack
Throws: Exception Will be thrown when the new protocol cannot be created, or inserted.
Parameters: config_str Configuration string
Returns: Vector of ProtocolConfigurations
Parameters: configuration protocol-stack configuration string
Returns: Vector of ProtocolConfigurations
Parameters: 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.
Throws: Exception Thrown if the protocol cannot be stopped correctly.
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 | -----------------------