Package org.jcsp.lang
Class AltingConnectionServer
- java.lang.Object
-
- org.jcsp.lang.Guard
-
- org.jcsp.lang.AltingConnectionServer
-
- All Implemented Interfaces:
ConnectionServer
- Direct Known Subclasses:
AltingConnectionServerImpl
public abstract class AltingConnectionServer extends Guard implements ConnectionServer
An interface to connection. This is used by servers which wish toALT
over a connection. Note that you cannot have more than one server serving an AltingConnectionServer.- Author:
- Quickstone Technologies Limited
- See Also:
ConnectionServer
,ConnectionClient
,Connection
-
-
Field Summary
-
Fields inherited from interface org.jcsp.lang.ConnectionServer
FACTORY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AltingConnectionServer(AltingChannelInput altingChannel)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AltingChannelInput
getAltingChannel()
Returns the channel used to implement the Guard.boolean
pending()
Returns whether there is an open() pending on this connection.protected void
setAltingChannel(AltingChannelInput chan)
ConnectionServer
implementations are likely to be implemented over channels.-
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.ConnectionServer
reply, reply, replyAndClose, request
-
-
-
-
Constructor Detail
-
AltingConnectionServer
protected AltingConnectionServer(AltingChannelInput altingChannel)
Constructor. Note that this is only intended for use by JCSP, and should not be called by user processes. Users should use one of the subclasses.- Parameters:
altingChannel
- The channel used to implement the Guard
-
-
Method Detail
-
getAltingChannel
protected AltingChannelInput getAltingChannel()
Returns the channel used to implement the Guard. Note that this method is only intended for use by JCSP, and should not be called by user processes. Concrete subclasses should override this method to return null, to ensure that the alting channel is kept private.- Returns:
- The channel passed to the constructor.
-
setAltingChannel
protected void setAltingChannel(AltingChannelInput chan)
ConnectionServer
implementations are likely to be implemented over channels. Multiple channels from the client to server may be used; one could be used for the initial connection while another one could be used for data requests. This method allows sub-classes to specify which channel should be the next one to be alted over.- Parameters:
chan
- the channel to be ALTed over.
-
pending
public boolean pending()
Returns whether there is an open() pending on this connection.Note: if there is, it won't go away until you accept it. But if there isn't, there may be one by the time you check the result of this method.
- Returns:
- true only if open() will complete without blocking.
-
-