public final class GIOPProtocol extends Object implements org.objectweb.jonathan.protocols.api.Protocol
Modifier and Type | Field and Description |
---|---|
static String |
corba_prefix
Constant used for IDL repository ids.
|
boolean |
verbose
Indicates whether warning messages should be printed to stderr.
|
Constructor and Description |
---|
GIOPProtocol(org.objectweb.jonathan.resources.api.Scheduler scheduler,
org.objectweb.jonathan.presentation.api.MarshallerFactory marshaller_factory,
org.objectweb.jonathan.resources.api.ChunkFactory chunk_factory,
ServicesHandler services_handler,
org.objectweb.jonathan.apis.kernel.ClassPathFinder finder,
boolean verbose,
org.objectweb.jonathan.apis.kernel.ContextFactory context_factory)
Creates a new GIOP Protocol instance.
|
Modifier and Type | Method and Description |
---|---|
org.objectweb.jonathan.protocols.api.ProtocolGraph |
createProtocolGraph(org.objectweb.jonathan.protocols.api.ProtocolGraph[] subgraphs,
org.objectweb.jonathan.apis.kernel.Context hints)
Creates a GIOP Protocol graph.
|
org.objectweb.jonathan.protocols.api.SessionIdentifier |
createSessionIdentifier(Properties info,
org.objectweb.jonathan.protocols.api.SessionIdentifier[] next)
Creates a GIOP Session Identifier
|
boolean |
isAnInvocationProtocol()
Returns true: GIOP handles invocations.
|
public static final String corba_prefix
public boolean verbose
/jeremie/giop/verbose
in the bootstrap context
.public GIOPProtocol(org.objectweb.jonathan.resources.api.Scheduler scheduler, org.objectweb.jonathan.presentation.api.MarshallerFactory marshaller_factory, org.objectweb.jonathan.resources.api.ChunkFactory chunk_factory, ServicesHandler services_handler, org.objectweb.jonathan.apis.kernel.ClassPathFinder finder, boolean verbose, org.objectweb.jonathan.apis.kernel.ContextFactory context_factory) throws org.objectweb.jonathan.apis.kernel.JonathanException
The adapter
parameter represents a naming context that will
be used to forward requests to their recipient: when GIOP decodes requests,
the recipient is encoded as an array of bytes (the object key), that must be
the encoding of an identifier for adapter
. GIOP will thus ask
adapter
to decode this identifier. The
isValid
and
resolve
operations on the
returned identifier may be used respectively to test the existence of the
target object, and its presence locally. If the
resolve
doesn't return
null, it should return a CORBA object reference, that may be returned in
a forward reply (or in case a locate request has been issued). Else, the
identifier is
bound
.
The returned object must be of type
RequestSession
.
The services_handler
parameter will be
called each time a message is sent or received, so that the appropriate
services are provided.
scheduler
- the scheduler corresponding to the kernel;marshaller_factory
- a marshaller factory;chunk_factory
- a chunk factory;services_handler
- a services handler (may be null);finder
- a classpath finder (class loader)verbose
- should we display messages on the log?context_factory
- a context factoryorg.objectweb.jonathan.apis.kernel.JonathanException
- if something goes wrong.public boolean isAnInvocationProtocol()
isAnInvocationProtocol
in interface org.objectweb.jonathan.protocols.api.Protocol
public org.objectweb.jonathan.protocols.api.ProtocolGraph createProtocolGraph(org.objectweb.jonathan.protocols.api.ProtocolGraph[] subgraphs, org.objectweb.jonathan.apis.kernel.Context hints) throws org.objectweb.jonathan.apis.kernel.JonathanException
createProtocolGraph
in interface org.objectweb.jonathan.protocols.api.Protocol
subgraphs
- lower level protocol graphs. There should be exactly one!hints
- should have a key named "adapter" with an object
adapter as value.org.objectweb.jonathan.apis.kernel.JonathanException
- if the arguments are invalid.public org.objectweb.jonathan.protocols.api.SessionIdentifier createSessionIdentifier(Properties info, org.objectweb.jonathan.protocols.api.SessionIdentifier[] next) throws org.objectweb.jonathan.apis.kernel.JonathanException
createSessionIdentifier
in interface org.objectweb.jonathan.protocols.api.Protocol
info
- ignorednext
- the lower level session ids. There should be exactly one.org.objectweb.jonathan.apis.kernel.JonathanException
- if something is awry.