The ProtocolManager
class is a singleton class.
See the documentation for the Node
class
for information on how to obtain a reference to its instance.
A reference to a Node's ProtocolManager
allows the Nodes installed
protocols to be managed. Installing a protocol server creates a
LinkServer
that listens on a specified NodeAddressID
.
In order to connect to a Node's LinkServer
, a Node must have
a matching protocol client installed in its local ProtocolManager
.
When protocol clients and servers are installed, an array of
Specification
objects can be supplied. These are
specifications that the client or server meets. The specifications for
a given protocol can be obtained and then used to test whether a set of
specifications match a given Profile
.
Type | Name and description |
---|---|
Specification[] |
getAddressSpecifications(NodeAddressID addressID) Returns an array of Specification objects that are held for
a specified local address. |
Specification[] |
getProtocolSpecifications(ProtocolID protocolID) Returns an array of Specification objects that are held for
a specified protocol. |
boolean |
installProtocolClient(ProtocolID protocolID, Specification[] specifications, Hashtable settings) Installs a protocol client so that links can be established to Nodes with LinkServer processes listening on the specified protocol. |
boolean |
installProtocolServer(NodeAddressID addressID, Specification[] specifications) Installs a LinkServer listening on a specified
NodeAddressID and holds the specified set of
Specification objects against the address. |
boolean |
removeProtocolClient(ProtocolID protocolID) Removes the installed protocol client for a specified protocol. |
boolean |
stopProtocolServer(NodeAddressID addressID) Stops the LinkServer that is listening on the specified address. |
Returns an array of Specification
objects that are held for
a specified local address.
addressID
- a NodeAddressID
that should match an address on which a local
LinkServer
is listening. Returns an array of Specification
objects that are held for
a specified protocol.
protocolID
- the ProtocolID
of a protocol Installs a protocol client so that links can be established to Nodes with
LinkServer
processes listening on the specified protocol.
true
iff the protocol client is successfully installed or
has already been installed.protocolID
- The ProtocolID
of the protocol to install.specifications
- The specification of the protocol being installed.settings
- a HashTable
that can contain settings that are passed
to the protocol's Builder
. Installs a LinkServer
listening on a specified
NodeAddressID
and holds the specified set of
Specification
objects against the address.
true
iff the server is successfully installed.addressID
- the address on which the LinkServer
should be started.specifications
- the specifications to hold against the address.Removes the installed protocol client for a specified protocol.
true
iff a matching protocol client has been successfully removed.protocolID
- the ProtocolID
of the protocol client to remove. Stops the LinkServer
that is listening on the specified address.
true
if, after returning, no LinkServer
is listening
on the specified adddress.addressID
- the NodeAddressID
on which the LinkServer
to
stop is listening.