nn::nex::PromotionReferee Class

Syntax

class PromotionReferee : public nn::nex::DuplicatedObject

Description

Controls where to migrate fault-tolerant objects after a fault has occurred on a station.

This class controls where to migrate duplicated objects after some fault occurs on the station where the duplicated objects exist. PromotionReferee determines which station will become the new duplication master based on the level of affinity. When the station where the fault-tolerant duplication master resides leaves the session because of a fault, the stations that have duplicas corresponding to that duplication master all call PromotionReferee via ComputeAffinityCallback and specify their level of affinity with the object and their wait time, and based on this the decision is made as to which station will become the new duplication master. By default, the station with the highest level of affinity becomes the new duplication master. The default levels of affinity for various processes are: 100 for server processes, 50 for client processes, and 0 for tool processes. The session master gets additional 10 points as a bonus. Unknown processes are treated as client processes by default. Accordingly, server processes have precedence over client processes and tool processes as the location where objects will be migrated. If PromotionReferee is called by a number of processes that have the same level of affinity, the station that called PromotionReferee first gets selected as the new duplication master. For details about the decision process executed by PromotionReferee, see ComputeAffinityCallback.

typedef Definitions

ComputeAffinityCallback The typedef for ComputeAffinityCallback.
ValidateAffinityCallback The typedef for ValidateAffinityCallback.
Ref The typedef for safely referencing duplicated objects. (Inherits DuplicatedObject.)
SelectionIterator The typedef of the iterator for enumerating duplicated objects. (Inherits DuplicatedObject

Member Constants

S DEFAULT_CREATE_TIMEOUT The default timeout value specified by the DuplicatedObject::Create function. The unit is milliseconds. (Inherits DuplicatedObject.)
S DEFAULT_PUBLISH_TIMEOUT The default timeout value specified by the DuplicatedObject::Publish function. The unit is milliseconds. (Inherits DuplicatedObject.)

Member Functions

GetHandle Gets the duplicated object handle of this duplicated object. (Inherits DuplicatedObject.)
GetHandleValue Gets a qUnsignedInt32-type value that represents an instance of this duplicated object. (Inherits DuplicatedObject.)
IsGlobal Gets whether this instance is a global duplicated object. (Inherits DuplicatedObject.)
GetClassNameString Gets the class name string of a duplicated object. (Inherits DuplicatedObject.)
GetDatasetNameString Gets the name of a dataset associated with this duplicated object. (Inherits DuplicatedObject.)
GetDOClassID Gets the class ID of this duplicated object. (Inherits DuplicatedObject.)
IsA Checks whether this duplicated object instance is of the specified duplicated object class. (Inherits DuplicatedObject.)
IsAKindOf Checks whether this duplicated object instance is of the specified duplicated object class or one of its derived classes. (Inherits DuplicatedObject.)
Update Notifies duplicas in the session that the content of all datasets has been updated. (Inherits DuplicatedObject.)
Refresh Transfers duplica dataset information from the buffer. (Inherits DuplicatedObject.)
V ApproveFaultRecovery Returns whether to use fault recovery for duplicated objects.
V ApproveEmigration Returns whether the duplicated object migrates.
V InitDO This function is called by the system when a duplicated object has been initialized.
V ComputeDistance Calculates the distance used to calculate a distance-based extrapolation error for dead reckoning.
V OperationBegin Called every time a duplicated object system operation is started.
V OperationEnd Called every time a duplicated object system operation ends.
V Trace Traces the state of this duplicated object. (Used in debugging.)
CreateDuplica Creates a duplica of this duplicated object. (Inherits DuplicatedObject.)
Emigrate Causes this duplicated object to emigrate to the specified station. (Inherits DuplicatedObject.)
MigrationInProgress Gets whether this duplicated object is currently migrating. (Inherits DuplicatedObject.)
AttemptEmigration Causes this duplicated object to emigrate to the specified station. (Inherits DuplicatedObject.)
GetMasterStation Gets the duplicated object handle of the Station object serving as the duplication master of this duplicated object. (Inherits DuplicatedObject.)
GetMasterID Gets the StationID for this duplicated object master station. (Inherits DuplicatedObject.)
IsADuplica Gets whether this duplicated object is a duplica. (Inherits DuplicatedObject.)
IsADuplicationMaster Gets whether this duplicated object is a duplication master. (Inherits DuplicatedObject.)
HasAuthority Gets whether this duplicated object has authority. (Inherits DuplicatedObject.)
IsAWellKnownDO Gets whether this duplicated object is an instance of a well-known object class. (Inherits DuplicatedObject.)
V IsACoreDO Gets whether this duplicated object is a CoreDO.
IsAUserDO Gets whether this duplicated object is a UserDO. (Inherits DuplicatedObject.)
DeleteMainRef Instructs the system to delete the main reference to the duplicated object. (Inherits DuplicatedObject.)
MainRefIsDeleted Gets whether the DeleteMainRef function has been called on this object. (Inherits DuplicatedObject.)
Publish Publishes an instance of this duplicated object to the stations in the session. (Inherits DuplicatedObject.)
IsPublished Gets whether this object has been published. (Inherits DuplicatedObject.)
S RegisterAffinityCallback Registers a callback for reporting the station's level of affinity.
S RegisterAffinityValidationCallback Registers a callback for validating the station's level of affinity.
S GetCurrentOperation Gets a pointer to the operation object currently executing on this duplicated object. (Inherits DuplicatedObject.)
S FetchDuplica Fetches a duplica of a duplicated object. (Inherits DuplicatedObject.)
S GetOperationManager Gets a pointer to an OperationManager object. (Inherits DuplicatedObject.)
S Create Creates a local instance of a duplicated object. (Inherits DuplicatedObject.)
S CreateWellKnown Creates the specified well-known object. (Inherits DuplicatedObject.)
S DynamicCast Dynamically casts a pointer to a duplicated object. (Inherits DuplicatedObject.)

Class Hierarchy

nn::nex::DuplicatedObject
  nn::nex::PromotionReferee

Revision History

2011/06/01
Initial version.

CONFIDENTIAL