Class NetAltingConnectionClient
- All Implemented Interfaces:
ConnectionClient, NetConnectionClient, Networked
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConnectionDataprivate final AltingChannelInputprivate final NetworkMessageFilter.FilterRxprivate final booleanprivate final Linkprivate final ConnectionDataprivate final NetConnectionLocationprivate final NetworkMessageFilter.FilterTxprivate final NetConnectionLocationprivate final ChannelOutput -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateNetAltingConnectionClient(AltingChannelInput input, ChannelOutput toLink, Link link, ConnectionData connData, NetConnectionLocation loc, NetworkMessageFilter.FilterTx filterTX, NetworkMessageFilter.FilterRx filterRX) -
Method Summary
Modifier and TypeMethodDescription(package private) static NetAltingConnectionClientcreate(NetConnectionLocation loc, NetworkMessageFilter.FilterTx filterTX, NetworkMessageFilter.FilterRx filterRX) voiddestroy()Destroys the Networked construct(package private) final ConnectionData(package private) NetConnectionLocationGets the networked location of the Networked constructbooleanisOpen()Returns whether the server has kept its end of the Connection open.reply()Receives some data back from the server afterrequest(Object)has been called.voidThis method is used to send data to aConnectionServerin a client/server conversation.Methods inherited from class AltingConnectionClient
getAltingChannel, pending, setAltingChannel
-
Field Details
-
in
-
toLinkTX
-
linkConnectedTo
-
serverLocation
-
localLocation
-
localConnection
-
isLocal
private final boolean isLocal -
outputFilter
-
inputFilter
-
data
-
-
Constructor Details
-
NetAltingConnectionClient
private NetAltingConnectionClient(AltingChannelInput input, ChannelOutput toLink, Link link, ConnectionData connData, NetConnectionLocation loc, NetworkMessageFilter.FilterTx filterTX, NetworkMessageFilter.FilterRx filterRX)
-
-
Method Details
-
create
static NetAltingConnectionClient create(NetConnectionLocation loc, NetworkMessageFilter.FilterTx filterTX, NetworkMessageFilter.FilterRx filterRX) throws JCSPNetworkException - Throws:
JCSPNetworkException
-
isOpen
Description copied from interface:ConnectionClientReturns whether the server has kept its end of the Connection open. This should only be called after a call to
reply()and before any other Connection method is called.- Specified by:
isOpenin interfaceConnectionClient- Returns:
trueiff the server has kept the connection open.- Throws:
IllegalStateExceptionJCSPNetworkException
-
reply
Description copied from interface:ConnectionClientReceives some data back from the server after
request(Object)has been called.After calling this method,
isOpen()may be called to establish whether the server dropped the connection after replying.Implementations may make this operation ALTable.
- Specified by:
replyin interfaceConnectionClient- Returns:
- the
Objectsent from the server. - Throws:
IllegalStateException- if the method is called when it is not meant to be.JCSPNetworkException
-
request
Description copied from interface:ConnectionClientThis method is used to send data to a
ConnectionServerin a client/server conversation. If a connection has not yet been established, then this method will open the connection as necessary.Once this method has returned, the client may do some computation but must then guarantee to call
reply(). This will obtain a server's response to the request. In between calling this method andreply(), doing pure computation is safe. Performing synchronization with other process is potentially hazardous.Once a server replies, if the connection has been kept open, then this method should be called again to make a further request.
Programs using
Connections need to adopt a protocol so that the server knows when a conversation with a client has finished and will then drop the connection.- Specified by:
requestin interfaceConnectionClient- Parameters:
obj- theObjectto send to the server.- Throws:
IllegalStateException- if the method is called when it is not meant to be.JCSPNetworkException
-
destroy
-
getLocation
Description copied from interface:NetworkedGets the networked location of the Networked construct- Specified by:
getLocationin interfaceNetworked- Returns:
- The location of the construct
-
getLocalLocation
NetConnectionLocation getLocalLocation() -
getConnectionData
-