org.jcsp.lang
Class SharedAltingConnectionClient<T>

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

public class SharedAltingConnectionClient<T>
extends AltingConnectionClientImpl<T>
implements SharedConnectionClient<T>

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<T>

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<T>

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<T>
Returns:
a duplicate SharedAltingConnectionClient object.


Copyright © 1996-2012. All Rights Reserved.