org.objectweb.jonathan.protocols.multiplex.lib
Class MultiplexProtocol

java.lang.Object
  extended by org.objectweb.jonathan.protocols.multiplex.lib.MultiplexProtocol
All Implemented Interfaces:
Protocol

public class MultiplexProtocol
extends Object
implements Protocol

Simple protocol relaying messages between other protocol layers. Can actually have any number of lower level protocols, as such it may be seen as a crude MultiplexProtocol.


Constructor Summary
MultiplexProtocol(org.objectweb.jonathan.apis.kernel.ContextFactory context_factory, boolean verbose, MultiplexingPolicyFactory policy_factory)
           
 
Method Summary
 ProtocolGraph createProtocolGraph(ProtocolGraph[] subgraphs, org.objectweb.jonathan.apis.kernel.Context hints)
          Creates a new protocol graph with a number of given sub protocol graphs.
 SessionIdentifier createSessionIdentifier(Properties info, SessionIdentifier[] next)
          Creates a new session identifier with the provided info
 boolean isAnInvocationProtocol()
          Returns true if the target protocol is an invocation protocol.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiplexProtocol

public MultiplexProtocol(org.objectweb.jonathan.apis.kernel.ContextFactory context_factory,
                         boolean verbose,
                         MultiplexingPolicyFactory policy_factory)
Method Detail

isAnInvocationProtocol

public boolean isAnInvocationProtocol()
Description copied from interface: Protocol
Returns true if the target protocol is an invocation protocol.

An invocation protocol is a protocol able to handle invocations, i.e., requests expecting a reply. In practice, this means that calls to the prepareInvocation method on sessions obtained from the target protocol will not raise an InternalException, but perform the appropriate work.

Specified by:
isAnInvocationProtocol in interface Protocol
Returns:
true if the target protocol is an invocation protocol.

createProtocolGraph

public ProtocolGraph createProtocolGraph(ProtocolGraph[] subgraphs,
                                         org.objectweb.jonathan.apis.kernel.Context hints)
Description copied from interface: Protocol
Creates a new protocol graph with a number of given sub protocol graphs.

Specified by:
createProtocolGraph in interface Protocol
Parameters:
subgraphs - the lower-level graphs
hints - the information req'd to build the graph
Returns:
a new ProtocolGraph

createSessionIdentifier

public SessionIdentifier createSessionIdentifier(Properties info,
                                                 SessionIdentifier[] next)
Description copied from interface: Protocol
Creates a new session identifier with the provided info

Specified by:
createSessionIdentifier in interface Protocol