org.jcsp.net2
Class NetAltingConnectionClient

java.lang.Object
  extended by org.jcsp.lang.Guard
      extended by org.jcsp.lang.AltingConnectionClient
          extended by org.jcsp.net2.NetAltingConnectionClient
All Implemented Interfaces:
ConnectionClient, NetConnectionClient, Networked

public final class NetAltingConnectionClient
extends AltingConnectionClient
implements NetConnectionClient


Method Summary
 void destroy()
          Destroys the Networked construct
 NetLocation getLocation()
          Gets the networked location of the Networked construct
 boolean isOpen()
          Returns whether the server has kept its end of the Connection open.
 Object reply()
          Receives some data back from the server after request(Object) has been called.
 void request(Object obj)
          This method is used to send data to a ConnectionServer in a client/server conversation.
 
Methods inherited from class org.jcsp.lang.AltingConnectionClient
getAltingChannel, pending, setAltingChannel
 
Methods inherited from class org.jcsp.lang.Guard
schedule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isOpen

public boolean isOpen()
               throws IllegalStateException,
                      JCSPNetworkException
Description copied from interface: ConnectionClient

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.

Specified by:
isOpen in interface ConnectionClient
Returns:
true iff the server has kept the connection open.
Throws:
IllegalStateException
JCSPNetworkException

reply

public Object reply()
             throws IllegalStateException,
                    JCSPNetworkException
Description copied from interface: ConnectionClient

Receives some data back from the server after request(Object) has been called.

After calling this method, isOpen() may be called to establish whether the server dropped the connection after replying.

Implementations may make this operation ALTable.

Specified by:
reply in interface ConnectionClient
Returns:
the Object sent from the server.
Throws:
IllegalStateException - if the method is called when it is not meant to be.
JCSPNetworkException

request

public void request(Object obj)
             throws IllegalStateException,
                    JCSPNetworkException
Description copied from interface: ConnectionClient

This method is used to send data to a ConnectionServer in a client/server conversation. If a connection has not yet been established, then this method will open the connection as necessary.

Once this method has returned, the client may do some computation but must then guarantee to call reply(). This will obtain a server's response to the request. In between calling this method and reply(), doing pure computation is safe. Performing synchronization with other process is potentially hazardous.

Once a server replies, if the connection has been kept open, then this method should be called again to make a further request.

Programs using Connections need to adopt a protocol so that the server knows when a conversation with a client has finished and will then drop the connection.

Specified by:
request in interface ConnectionClient
Parameters:
obj - the Object to send to the server.
Throws:
IllegalStateException - if the method is called when it is not meant to be.
JCSPNetworkException

destroy

public void destroy()
Description copied from interface: Networked
Destroys the Networked construct

Specified by:
destroy in interface Networked

getLocation

public NetLocation getLocation()
Description copied from interface: Networked
Gets the networked location of the Networked construct

Specified by:
getLocation in interface Networked
Returns:
The location of the construct


Copyright © 1996-2012. All Rights Reserved.