org.jcsp.lang
Class AltingConnectionServer<T>
java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingConnectionServer<T>
- All Implemented Interfaces:
- ConnectionServer<T>
- Direct Known Subclasses:
- AltingConnectionServerImpl, NetAltingConnectionServer
public abstract class AltingConnectionServer<T>
- extends Guard
- implements ConnectionServer<T>
An interface to connection. This is used by servers which wish to
ALT
over a connection. Note that you cannot have
more than one server serving an AltingConnectionServer.
- Author:
- Quickstone Technologies Limited
- See Also:
ConnectionServer
,
ConnectionClient
,
Connection
Method Summary |
protected AltingChannelInput<org.jcsp.lang.ConnectionMessage<T>> |
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<org.jcsp.lang.ConnectionMessage<T>> 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 |
AltingConnectionServer
protected AltingConnectionServer(AltingChannelInput<org.jcsp.lang.ConnectionMessage<T>> 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
getAltingChannel
protected AltingChannelInput<org.jcsp.lang.ConnectionMessage<T>> 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<org.jcsp.lang.ConnectionMessage<T>> 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.
Copyright © 1996-2012. All Rights Reserved.