Package org.jcsp.net

# Class NetSharedAltingConnectionClient

java.lang.Object
org.jcsp.lang.Guard
org.jcsp.lang.AltingConnectionClient
org.jcsp.lang.AltingConnectionClientImpl
org.jcsp.lang.SharedAltingConnectionClient
org.jcsp.net.NetSharedAltingConnectionClient

All Implemented Interfaces:
  `ConnectionClient`, `SharedConnectionClient`, `NetSharedConnectionClient`, `Networked`

public class NetSharedAltingConnectionClient extends SharedAltingConnectionClient implements NetSharedConnectionClient

Defines a class whose instances should be ``SharedAltingConnectionClient`` that connect to a `ConnectionServer` over a JCSP.NET network.

Individual instances may not be used by multiple processes but duplicate clients can be obtained by invoking ``duplicate()``. These duplicates work over the same connection and each one may be used by a different process.

Author:
  Quickstone Technologies Limited

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`NetSharedAltingConnectionClient(Any2OneChannel synchChan, NetAltingChannelInput fromServer, NetChannelOutput openToServer, NetChannelOutput reqToServer, NetChannelOutput backToClient)`
Constructor for NetSharedAltingConnectionClient.

## Method Summary

Modifier and Type
Method
Description
`void`
`destroyClient()`
Destroys this networked client object.
`SharedConnectionClient`
`duplicate()`
Produces a duplicate `NetSharedAltingConnectionClient` object which may be used by another process.
`NetChannelLocation`
`getChannelLocation()`
Returns the address location of the connection server.

### Methods inherited from class org.jcsp.lang.SharedAltingConnectionClient

`claim, release`

### Methods inherited from class org.jcsp.lang.AltingConnectionClientImpl

`isOpen, reply, request`

### Methods inherited from class org.jcsp.lang.AltingConnectionClient

`getAltingChannel, pending, setAltingChannel`

### Methods inherited from class org.jcsp.lang.Guard

`schedule`

### 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.ConnectionClient

`isOpen, reply, request`

## Constructor Details

### NetSharedAltingConnectionClient

protected NetSharedAltingConnectionClient(Any2OneChannel synchChan, NetAltingChannelInput fromServer, NetChannelOutput openToServer, NetChannelOutput reqToServer, NetChannelOutput backToClient)

Constructor for NetSharedAltingConnectionClient.

Parameters:
  `fromServer` -
  `backToClient` -
  `synchIn` -
  `toServer` -
  `synchOut` -
  `parent` -

## Method Details

### getChannelLocation

public NetChannelLocation getChannelLocation()
Returns the address location of the connection server.

Specified by:
  `getChannelLocation` in interface `Networked`
Returns:
  the `NetChannelLocation` object.
See Also:
  - `Networked.getChannelLocation()`

### duplicate

public SharedConnectionClient duplicate()

Produces a duplicate `NetSharedAltingConnectionClient` object which may be used by another process.

Specified by:
  `duplicate` in interface `SharedConnectionClient`
Overrides:
  `duplicate` in class `SharedAltingConnectionClient`
Returns:
  a new duplicate `SharedConnectionClient` object.

### destroyClient

public void destroyClient()

Destroys this networked client object.

This frees any resources used within the JCSP.NET infrastructure.