Package org.jcsp.lang

Class AltingConnectionClientImpl

  • All Implemented Interfaces:
    ConnectionClient
    Direct Known Subclasses:
    SharedAltingConnectionClient

    public class AltingConnectionClientImpl
    extends AltingConnectionClient
    This class does not need to be used by standard JCSP users. It is exposed so that the connection mechanism can be extended for custom connections.
    Author:
    Quickstone Technologies Limited
    • Constructor Detail

      • AltingConnectionClientImpl

        protected AltingConnectionClientImpl​(AltingChannelInput fromServer,
                                             ChannelOutput openToServer,
                                             ChannelOutput reqToServer,
                                             ChannelOutput backToClient)
        Constructs a new instance. This constructor must be called by a subclass which is responsible for creating the channels used by the connection and must pass them into this constructor.
    • Method Detail

      • request

        public void request​(java.lang.Object data)
                     throws java.lang.IllegalStateException
        Sends some data over the connection to server once the connection has been opened.
        Parameters:
        data - the Object to send to the server.
        Throws:
        java.lang.IllegalStateException - if the method is called when it is not meant to be.
      • reply

        public java.lang.Object reply()
                               throws java.lang.IllegalStateException
        Receives some data back from the server after request(Object) has been called.
        Returns:
        the Object sent from the server.
        Throws:
        java.lang.IllegalStateException - if the method is called when it is not meant to be.
      • isOpen

        public boolean isOpen()
                       throws java.lang.IllegalStateException
        Returns whether the server has kept its end of the Connection open. This should only be called after a call to reply() and before any other Connection method is called.
        Returns:
        true iff the server has kept the connection open.
        Throws:
        java.lang.IllegalStateException
      • claim

        protected void claim()
        This claims a lock on the client. This implementation does nothing as instances of this class are only meant to be used with One2?Connection objects.
      • release

        protected void release()
        This releases a lock on the client. This implementation does nothing as instances of this class are only meant to be used with One2?Connection objects.