org.objectweb.dream.protocol.rpc
Class ProtocolImpl

java.lang.Object
  extended by org.objectweb.dream.AbstractComponent
      extended by org.objectweb.dream.protocol.rpc.ProtocolImpl
All Implemented Interfaces:
ContextualBindingController, NeedAsyncStartController, PrepareStopLifeCycleController, Loggable, Protocol, RPCProtocol, BindingController, LifeCycleController

public class ProtocolImpl
extends AbstractComponent
implements RPCProtocol


Nested Class Summary
protected  class ProtocolImpl.SkeletonChannel
           
protected  class ProtocolImpl.StubSession
           
 
Field Summary
 
Fields inherited from class org.objectweb.dream.AbstractComponent
bindingLogger, fcNeedAsyncStart, fcState, lifeCycleLogger, logger, weaveableC
 
Fields inherited from interface org.objectweb.dream.protocol.Protocol
ITF_NAME, LOWER_PROTOCOL_ITF_NAME
 
Fields inherited from interface org.objectweb.fractal.api.control.LifeCycleController
STARTED, STOPPED
 
Constructor Summary
ProtocolImpl()
           
 
Method Summary
 Stub bind(ExportIdentifier exportId, Map<String,Object> hints)
          Binds to a previously exported Skeleton interface designated by the given export identifier.
 void bindFc(String clientItfName, Object serverItf)
           
 ExportIdentifier createExportIdentifier(Map<String,Object> info, ExportIdentifier[] next)
          Creates a new export identifier with the provided info
 ExportIdentifier export(Skeleton skeleton, Map<String,Object> hints)
          Exports a Skeleton interface using this protocol graph.
 String[] listFc()
           
 
Methods inherited from class org.objectweb.dream.AbstractComponent
beforeFirstStart, bindFc, getFcNeedAsyncStart, getFcState, initComponent, lookupFc, prepareStopFc, setLogger, startFc, stopFc, unbindFc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProtocolImpl

public ProtocolImpl()
Method Detail

export

public ExportIdentifier export(Skeleton skeleton,
                               Map<String,Object> hints)
                        throws ExportException
Description copied from interface: RPCProtocol
Exports a Skeleton interface using this protocol graph. This method informs the protocol that the provided Skeleton is willing to accept connection. The returned export identifier is a specific name for the exported channel.

Specified by:
export in interface RPCProtocol
Parameters:
skeleton - a Skeleton interface to export.
hints - additional parameters, can be null.
Returns:
an identifier for the exported interface.
Throws:
ExportException - if the export process fails.
See Also:
RPCProtocol.export(Skeleton, Map)

bind

public Stub bind(ExportIdentifier exportId,
                 Map<String,Object> hints)
          throws InvalidExportIdentifierException,
                 BindException
Description copied from interface: RPCProtocol
Binds to a previously exported Skeleton interface designated by the given export identifier. This methods instantiate a new communication channel and returns a stub interface on which remote method invocations can be performed.

Specified by:
bind in interface RPCProtocol
Parameters:
exportId - the identifier of the exported interface.
hints - additional parameters, can be null.
Returns:
a stub interface on which remote invocation can be performed.
Throws:
InvalidExportIdentifierException - if the given export identifier is incorrect.
BindException - if the binding process fails.
See Also:
RPCProtocol.bind(ExportIdentifier, Map)

createExportIdentifier

public ExportIdentifier createExportIdentifier(Map<String,Object> info,
                                               ExportIdentifier[] next)
                                        throws InvalidExportIdentifierException
Description copied from interface: Protocol
Creates a new export identifier with the provided info

Specified by:
createExportIdentifier in interface Protocol
Parameters:
info - the info used to create the export identifier.
next - the export identifier of the lower level protocols.
Returns:
a new export identifier.
Throws:
InvalidExportIdentifierException - if the export identifier can't be created.
See Also:
Protocol.createExportIdentifier(Map, ExportIdentifier[])

listFc

public String[] listFc()
Specified by:
listFc in interface BindingController
See Also:
BindingController.listFc()

bindFc

public void bindFc(String clientItfName,
                   Object serverItf)
            throws NoSuchInterfaceException,
                   IllegalBindingException,
                   IllegalLifeCycleException
Specified by:
bindFc in interface BindingController
Overrides:
bindFc in class AbstractComponent
Throws:
NoSuchInterfaceException
IllegalBindingException
IllegalLifeCycleException
See Also:
BindingController.bindFc(String, Object)


Copyright © 2003, 2005 - INRIA Rhone-Alpes - All Rights Reserved.