Package org.jcsp.lang
Class AltingConnectionClientImpl
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingConnectionClient
org.jcsp.lang.AltingConnectionClientImpl
- All Implemented Interfaces:
ConnectionClient
- Direct Known Subclasses:
SharedAltingConnectionClient
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 Summary
ConstructorsModifierConstructorDescriptionprotected
AltingConnectionClientImpl
(AltingChannelInput fromServer, ChannelOutput openToServer, ChannelOutput reqToServer, ChannelOutput backToClient) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
claim()
This claims a lock on the client.boolean
isOpen()
Returns whether the server has kept its end of the Connection open.protected void
release()
This releases a lock on the client.reply()
Receives some data back from the server afterrequest(Object)
has been called.void
Sends some data over the connection to server once the connection has been opened.Methods inherited from class org.jcsp.lang.AltingConnectionClient
getAltingChannel, pending, setAltingChannel
-
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
Sends some data over the connection to server once the connection has been opened.- Parameters:
data
- theObject
to send to the server.- Throws:
IllegalStateException
- if the method is called when it is not meant to be.
-
reply
Receives some data back from the server afterrequest(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
Returns whether the server has kept its end of the Connection open. This should only be called after a call toreply()
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.
-