Package org.jcsp.lang
Class Any2AnyConnectionImpl<T>
- java.lang.Object
-
- org.jcsp.lang.AbstractConnectionImpl
-
- org.jcsp.lang.Any2AnyConnectionImpl<T>
-
- All Implemented Interfaces:
Any2AnyConnection<T>
,ConnectionWithSharedAltingClient<T>
,ConnectionWithSharedAltingServer<T>
class Any2AnyConnectionImpl<T> extends AbstractConnectionImpl implements Any2AnyConnection<T>
This class is an implementation ofAny2AnyConnection
. Each end is safe to be used by one thread at a time.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jcsp.lang.AbstractConnectionImpl
AbstractConnectionImpl.NonSingleRequestOpenMsg
-
-
Field Summary
Fields Modifier and Type Field Description private Any2OneChannel<T>
chanClientSynch
private One2OneChannel<T>
chanFromServer
private Any2OneChannel<T>
chanServerSynch
private One2OneChannel<T>
chanToServer
-
Fields inherited from class org.jcsp.lang.AbstractConnectionImpl
CLIENT_STATE_CLOSED, CLIENT_STATE_MADE_REQ, CLIENT_STATE_OPEN, nonSingleRequestMsg, SERVER_STATE_CLOSED, SERVER_STATE_OPEN, SERVER_STATE_RECEIVED
-
-
Constructor Summary
Constructors Constructor Description Any2AnyConnectionImpl()
Initializes all the attributes to necessary values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SharedAltingConnectionClient
client()
Returns aSharedAltingConnectionClient
object for this connection.SharedConnectionServer
server()
Returns aSharedConnectionServer
object for this connection.
-
-
-
Field Detail
-
chanToServer
private One2OneChannel<T> chanToServer
-
chanFromServer
private One2OneChannel<T> chanFromServer
-
chanClientSynch
private Any2OneChannel<T> chanClientSynch
-
chanServerSynch
private Any2OneChannel<T> chanServerSynch
-
-
Method Detail
-
client
public SharedAltingConnectionClient client()
Returns aSharedAltingConnectionClient
object for this connection. This method can be called multiple times to return a newSharedAltingConnectionClient
object each time. Any object created can only be used by one process at a time but the set of objects constructed can be used concurrently.- Specified by:
client
in interfaceAny2AnyConnection<T>
- Specified by:
client
in interfaceConnectionWithSharedAltingClient<T>
- Returns:
- a new
SharedAltingConnectionClient
object.
-
server
public SharedConnectionServer server()
Returns aSharedConnectionServer
object for this connection. This method can be called multiple times to return a newSharedConnectionServer
object each time. Any object created can only be used by one process at a time but the set of objects constructed can be used concurrently.- Specified by:
server
in interfaceAny2AnyConnection<T>
- Specified by:
server
in interfaceConnectionWithSharedAltingServer<T>
- Returns:
- a new
SharedConnectionServer
object.
-
-