Package org.jcsp.net2
Class ChannelManager
- java.lang.Object
-
- org.jcsp.net2.ChannelManager
-
final class ChannelManager extends java.lang.ObjectA class used to manage the networked channels on the Node. This is an internal object to JCSP networking. For a description of networked channels, see the relevant documentation.- See Also:
NetChannelInput,NetChannelOutput
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashtablechannelsThe table containing the channels.private static intindexThe index for the next channel to be created.private static ChannelManagerinstanceSingleton instance of the ChannelManager
-
Constructor Summary
Constructors Modifier Constructor Description privateChannelManager()Private default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidcreate(int idx, ChannelData cd)Stores a channel in the given index in the table.(package private) voidcreate(ChannelData cd)Allocates a new number to the channel, and stores it in the table.(package private) ChannelDatagetChannel(int idx)Retrieves a channel from the table(package private) static ChannelManagergetInstance()Allows getting of the singleton instance.(package private) voidremoveChannel(ChannelData data)Removes a channel from the table.
-
-
-
Field Detail
-
index
private static int index
The index for the next channel to be created. We start at 50 as it allows us to have up to 50 default channels, for example for use to connect to a Channel Name Server.
-
channels
private final java.util.Hashtable channels
The table containing the channels. An Integer (object wrapped int) is used as the key, and the ChannelData as the value.
-
instance
private static ChannelManager instance
Singleton instance of the ChannelManager
-
-
Method Detail
-
getInstance
static ChannelManager getInstance()
Allows getting of the singleton instance.- Returns:
- The singleton instance of the ChannelManager
-
create
void create(ChannelData cd)
Allocates a new number to the channel, and stores it in the table.- Parameters:
cd- The ChannelData for the channel
-
create
void create(int idx, ChannelData cd) throws java.lang.IllegalArgumentExceptionStores a channel in the given index in the table.- Parameters:
idx- The index to use for the channelcd- The ChannelData for the channel- Throws:
java.lang.IllegalArgumentException- If a channel of the given index already exists.
-
getChannel
ChannelData getChannel(int idx)
Retrieves a channel from the table- Parameters:
idx- Index in the table to retrieve the channel from.- Returns:
- The ChannelData object for the channel.
-
removeChannel
void removeChannel(ChannelData data)
Removes a channel from the table.- Parameters:
data- ChannelData for channel to remove
-
-