CSP for Java
(JCSP) 1.1-rc4

org.jcsp.lang
Class SharedAltingConnectionClient

java.lang.Object
  extended by org.jcsp.lang.Guard
      extended by org.jcsp.lang.AltingConnectionClient
          extended by org.jcsp.lang.AltingConnectionClientImpl
              extended by org.jcsp.lang.SharedAltingConnectionClient
All Implemented Interfaces:
ConnectionClient, SharedConnectionClient
Direct Known Subclasses:
NetSharedAltingConnectionClient

public class SharedAltingConnectionClient
extends AltingConnectionClientImpl
implements SharedConnectionClient

Implements a client end of a Connection which can have multiple client processes.

This object cannot itself be shared between concurrent processes but duplicate objects can be generated that can be used by multiple concurrent processes. This can be achieved using the duplicate() method.

The reply from the server can be ALTed over.

Author:
Quickstone Technologies Limited

Constructor Summary
protected SharedAltingConnectionClient(AltingChannelInput fromServer, ChannelInput synchIn, ChannelOutput openToServer, ChannelOutput reqToServer, SharedChannelOutput synchOut, ChannelOutput backToClient, org.jcsp.lang.ConnectionWithSharedAltingClient parent)
           
 
Method Summary
protected  void claim()
          This claims a lock on the client.
 SharedConnectionClient duplicate()
           Returns a SharedConnectionClient object that is a duplicate of the object on which this method is called.
protected  void release()
          This releases a lock on the client.
 
Methods inherited from class org.jcsp.lang.AltingConnectionClientImpl
isOpen, reply, request
 
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
 
Methods inherited from interface org.jcsp.lang.ConnectionClient
isOpen, reply, request
 

Constructor Detail

SharedAltingConnectionClient

protected SharedAltingConnectionClient(AltingChannelInput fromServer,
                                       ChannelInput synchIn,
                                       ChannelOutput openToServer,
                                       ChannelOutput reqToServer,
                                       SharedChannelOutput synchOut,
                                       ChannelOutput backToClient,
                                       org.jcsp.lang.ConnectionWithSharedAltingClient parent)
Method Detail

claim

protected final void claim()
Description copied from class: AltingConnectionClientImpl
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.

Overrides:
claim in class AltingConnectionClientImpl

release

protected final void release()
Description copied from class: AltingConnectionClientImpl
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.

Overrides:
release in class AltingConnectionClientImpl

duplicate

public SharedConnectionClient duplicate()

Returns a SharedConnectionClient object that is a duplicate of the object on which this method is called.

This allows a process using a SharedAltingConnectionClient object to pass references to the connection client to multiple processes.

The object returned can be cast into a SharedConnectionClient object.

Specified by:
duplicate in interface SharedConnectionClient
Returns:
a duplicate SharedAltingConnectionClient object.

CSP for Java
(JCSP) 1.1-rc4

Submit a bug or feature to jcsp-team@kent.ac.uk
Version 1.1-rc4 of the JCSP API Specification (Copyright 1997-2008 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.