Class ClientSOContainer

    • Method Detail

      • getConnectLock

        protected org.eclipse.ecf.provider.generic.ClientSOContainer.Lock getConnectLock()
      • dispose

        public void dispose()
        Description copied from interface: IContainer
        Dispose this IContainer instance. The container instance will be made inactive after the completion of this method and will be unavailable for subsequent usage.
        Specified by:
        dispose in interface IContainer
        Overrides:
        dispose in class SOContainer
      • getConnectedID

        public ID getConnectedID()
        Description copied from interface: IContainer
        Get the target ID that this container instance has connected to. Returns null if not connected.
        Specified by:
        getConnectedID in interface IContainer
        Specified by:
        getConnectedID in class SOContainer
        Returns:
        ID of the target we are connected to. Returns null if container not connected.
      • connect

        public void connect​(ID targetID,
                            IConnectContext joinContext)
                     throws ContainerConnectException
        Description copied from interface: IContainer
        Connect to a target remote process or process group. The target identified by the first parameter (targetID) is connected the implementation class. If authentication information is required, the required information is given via via the second parameter (connectContext). Callers note that depending upon the provider implementation this method may block. It is suggested that callers use a separate thread to call this method. This method provides an implementation independent way for container implementations to connect, authenticate, and communicate with a remote service or group of services. Providers are responsible for implementing this operation in a way appropriate to the given remote service (or group) via expected protocol.
        Specified by:
        connect in interface IContainer
        Specified by:
        connect in class SOContainer
        Parameters:
        targetID - the ID of the remote server or group to connect to. See IContainer.getConnectNamespace() for a explanation of the constraints upon this parameter.
        joinContext - any required context to allow this container to authenticate. May be null if underlying provider does not have any authentication requirements for connection.
        Throws:
        ContainerConnectException - thrown if communication cannot be established with remote service. Causes can include network connection failure, authentication failure, server error, or if container is already connected.
      • createAuthorizationCallbacks

        protected Callback[] createAuthorizationCallbacks()
      • getConnectTimeout

        protected int getConnectTimeout()
      • forwardExcluding

        protected void forwardExcluding​(ID from,
                                        ID excluding,
                                        ContainerMessage data)
                                 throws java.io.IOException
        Specified by:
        forwardExcluding in class SOContainer
        Parameters:
        from - from
        excluding - excluding
        data - data
        Throws:
        java.io.IOException - not thrown by this implementation.
      • getLeaveData

        protected java.io.Serializable getLeaveData​(ID target)
      • disconnect

        public void disconnect()
        Description copied from interface: IContainer
        Disconnect. This operation will disconnect the local container instance from any previously joined target or group. Subsequent calls to getConnectedID() will return null.
        Specified by:
        disconnect in interface IContainer
        Specified by:
        disconnect in class SOContainer
      • forwardExcluding

        protected void forwardExcluding​(ID from,
                                        ID excluding,
                                        byte msg,
                                        java.io.Serializable data)
                                 throws java.io.IOException
        Parameters:
        from - from
        excluding - excluding
        msg - msg
        data - data
        Throws:
        java.io.IOException - not thrown by this implementation.
      • forwardToRemote

        protected void forwardToRemote​(ID from,
                                       ID to,
                                       ContainerMessage message)
                                throws java.io.IOException
        Specified by:
        forwardToRemote in class SOContainer
        Parameters:
        from - from
        to - to
        message - message
        Throws:
        java.io.IOException - not thrown by this implementation.
      • sendCreateMsg

        protected ID[] sendCreateMsg​(ID toID,
                                     SharedObjectDescription createInfo)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • sendCreateResponse

        protected void sendCreateResponse​(ID homeId,
                                          ID sharedObjectId,
                                          java.lang.Throwable t,
                                          long identifier)
                                   throws java.io.IOException
        Overrides:
        sendCreateResponse in class SOContainer
        Throws:
        java.io.IOException
      • sendCreateResponseSharedObjectMessage

        protected void sendCreateResponseSharedObjectMessage​(ID toContainerId,
                                                             ID fromSharedObject,
                                                             java.lang.Throwable t,
                                                             long ident)
                                                      throws java.io.IOException
        Overrides:
        sendCreateResponseSharedObjectMessage in class SOContainer
        Throws:
        java.io.IOException
      • sendDispose

        protected void sendDispose​(ID toContainerId,
                                   ID sharedObjectId)
                            throws java.io.IOException
        Overrides:
        sendDispose in class SOContainer
        Throws:
        java.io.IOException
      • sendDisposeSharedObjectMessage

        protected void sendDisposeSharedObjectMessage​(ID toContainerId,
                                                      ID fromSharedObject)
                                               throws java.io.IOException
        Overrides:
        sendDisposeSharedObjectMessage in class SOContainer
        Throws:
        java.io.IOException
      • sendMessage

        protected void sendMessage​(ID toContainerId,
                                   ID sharedObjectId,
                                   java.lang.Object message)
                            throws java.io.IOException
        Overrides:
        sendMessage in class SOContainer
        Throws:
        java.io.IOException
      • sendSharedObjectMessage

        protected void sendSharedObjectMessage​(ID toContainerId,
                                               ID fromSharedObject,
                                               java.io.Serializable data)
                                        throws java.io.IOException
        Overrides:
        sendSharedObjectMessage in class SOContainer
        Throws:
        java.io.IOException
      • disconnect

        protected void disconnect​(java.lang.Throwable exception)
      • processAsynch

        protected void processAsynch​(AsynchEvent evt)
                              throws java.io.IOException
        Overrides:
        processAsynch in class SOContainer
        Parameters:
        evt - event
        Throws:
        java.io.IOException - not thrown by this implementation.
      • processSynch

        protected java.io.Serializable processSynch​(SynchEvent evt)
                                             throws java.io.IOException
        Overrides:
        processSynch in class SOContainer
        Throws:
        java.io.IOException
      • isConnected

        protected boolean isConnected()
      • isConnecting

        protected boolean isConnecting()
      • handleConnectResponse

        protected ID handleConnectResponse​(ID orginalTarget,
                                           java.lang.Object serverData)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception