A service can indicate to the RPC Manager that server status is to "stick" with the PC that currently has server status for that service, rather than migrating server status to the highest ranking available server PC. This feature is of use where an unacceptable penalty might occur during change-over to another PC. For example, a service that communicates with some external equipment may have to drive signals or issue protocol to perform a physical change-over of communication routing equipment. The system designer may wish this to only happen infrequently.
A service is configured to be sticky by specifying a "Sticky" setting in the appropriate configuration file. If the service has its own configuration file (i.e. the RPCExternalConfig Config.ini variable is undefined, or set to 1), the sticky setting is specified in the Variables section in the service's configuration file:
[Variables]
Sticky = 1
If the service does not have its own configuration file (RPCExternalConfig settings of 0 or 2), then a section bearing the name of the service is used within the Config.ini or workstation.ini files. For example, to configure a service called "Sample" to be sticky, in the Config.ini or <workstation>.ini files, use:
[Sample]
Sticky = 1
(Where [Sample] is the name of the service).
If these sections set Sticky to other than its default of zero, the service becomes a "sticky" service. If a sticky service instance that is the current server wishes to yield server status, it should set alternate status (see Alternate Status). This will cause immediate migration of server status to the highest available server. The rules by which server status is determined are described in the Server Evaluation Rules.