Package org.jcsp.lang

Class AltingConnectionClientImpl

All Implemented Interfaces:
ConnectionClient
Direct Known Subclasses:
NetAltingConnectionClient, 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 Details

    • 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 Details

    • request

      public void request(Object data) throws 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:
      IllegalStateException - if the method is called when it is not meant to be.
    • reply

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

      public boolean isOpen() throws 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:
      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.