Class SharedConnectionServerImpl
- java.lang.Object
-
- org.jcsp.lang.SharedConnectionServerImpl
-
- All Implemented Interfaces:
ConnectionServer
,SharedConnectionServer
public class SharedConnectionServerImpl extends java.lang.Object implements SharedConnectionServer
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
-
-
Field Summary
-
Fields inherited from interface org.jcsp.lang.ConnectionServer
FACTORY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SharedConnectionServerImpl(AltingChannelInput openIn, AltingChannelInput requestIn, ChannelInput synchIn, SharedChannelOutput synchOut, org.jcsp.lang.ConnectionWithSharedAltingServer parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SharedConnectionServer
duplicate()
Creates a duplicate copy of the connection end.void
reply(java.lang.Object data)
Sends some data back to the client after a request has been received but keeps the connection open.void
reply(java.lang.Object data, boolean close)
Sends some data back to the client after a request has been received.void
replyAndClose(java.lang.Object data)
Sends some data back to the client and closes the connection.java.lang.Object
request()
Receives a request from a client.
-
-
-
Constructor Detail
-
SharedConnectionServerImpl
protected SharedConnectionServerImpl(AltingChannelInput openIn, AltingChannelInput requestIn, ChannelInput synchIn, SharedChannelOutput synchOut, org.jcsp.lang.ConnectionWithSharedAltingServer parent)
-
-
Method Detail
-
request
public java.lang.Object request()
Description copied from interface:ConnectionServer
Receives a request from a client. This will block until the client calls its
request(Object)
method. Implementations may make this ALTable.After this method has returned, the server should call one of the reply methods. Performing any external process synchronization between these method calls could be potentially hazardous and could lead to deadlock.
- Specified by:
request
in interfaceConnectionServer
- Returns:
- the
Object
sent by the client.
-
reply
public void reply(java.lang.Object data)
Description copied from interface:ConnectionServer
Sends some data back to the client after a request has been received but keeps the connection open. After calling this method, the server should call
recieve()
to receive a further request.A call to this method is equivalent to a call to
reply(Object, boolean)
with the boolean set tofalse
.- Specified by:
reply
in interfaceConnectionServer
- Parameters:
data
- the data to send to the client.
-
reply
public void reply(java.lang.Object data, boolean close)
Description copied from interface:ConnectionServer
Sends some data back to the client after a request has been received. The
boolean
close parameter indicates whether the connection should be closed after this reply has been sent.This method should not block.
- Specified by:
reply
in interfaceConnectionServer
- Parameters:
data
- the data to send back to client.close
-boolean
that should betrue
iff the connection should be dropped after the reply has been sent.
-
replyAndClose
public void replyAndClose(java.lang.Object data)
Description copied from interface:ConnectionServer
Sends some data back to the client and closes the connection.
A call to this method is equivalent to a call to
reply(Object, boolean)
with the boolean set totrue
.- Specified by:
replyAndClose
in interfaceConnectionServer
- Parameters:
data
- the data to send back to client.
-
duplicate
public SharedConnectionServer duplicate()
Description copied from interface:SharedConnectionServer
Creates a duplicate copy of the connection end.
- Specified by:
duplicate
in interfaceSharedConnectionServer
- Returns:
- the duplicate
SharedConnectionServer
object.
-
-