Package org.jcsp.lang
Class SharedAltingConnectionClient<T>
- java.lang.Object
-
- org.jcsp.lang.Guard
-
- org.jcsp.lang.AltingConnectionClient<T>
-
- org.jcsp.lang.AltingConnectionClientImpl<T>
-
- 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
method.duplicate()
The reply from the server can be ALTed over.
- Author:
- Quickstone Technologies Limited
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SharedAltingConnectionClient(AltingChannelInput fromServer, ChannelInput synchIn, ChannelOutput openToServer, ChannelOutput reqToServer, SharedChannelOutput synchOut, ChannelOutput backToClient, org.jcsp.lang.ConnectionWithSharedAltingClient parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
claim()
This claims a lock on the client.SharedConnectionClient
duplicate()
Returns aSharedConnectionClient
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 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 classAltingConnectionClientImpl<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 classAltingConnectionClientImpl<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 interfaceSharedConnectionClient<T>
- Returns:
- a duplicate
SharedAltingConnectionClient
object.
-
-