nn::nex::PromotionReferee Class

Syntax

class PromotionReferee : public nn::nex::DuplicatedObject

Description

Controls where to migrage 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 from DuplicatedObject.)
SelectionIterator The typedef of the iterator for enumerating duplicated objects. (Inherits from DuplicatedObject

Member Constants

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

Member Functions

GetHandle Gets the duplicated object handle of this duplicated object. (Inherits from DuplicatedObject.)
GetHandleValue Gets a qUnsignedInt32-type value that represents an instance of this duplicated object. (Inherits from DuplicatedObject.)
IsGlobal Gets whether this instance is a global duplicated object. (Inherits from DuplicatedObject.)
GetClassNameString Gets the class name string of a duplicated object. (Inherits from DuplicatedObject.)
GetDatasetNameString Gets the name of a dataset associated with this duplicated object. (Inherits from DuplicatedObject.)
GetDOClassID Gets the class ID of this duplicated object. (Inherits from DuplicatedObject.)
IsA Checks whether this duplicated object instance is of the specified duplicated object class. (Inherits from DuplicatedObject.)
IsAKindOf Checks whether this duplicated object instance is of the specified duplicated object class or one of its derived classes. (Inherits from DuplicatedObject.)
Update Notifies duplicas in the session that the content of all datasets has been updated. (Inherits from DuplicatedObject.)
Refresh Transfers duplica dataset information from the buffer. (Inherits from 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 from DuplicatedObject.)
Emigrate Causes this duplicated object to emigrate to the specified station. (Inherits from DuplicatedObject.)
MigrationInProgress Gets whether this duplicated object is currently migrating. (Inherits from DuplicatedObject.)
AttemptEmigration Causes this duplicated object to emigrate to the specified station. (Inherits from DuplicatedObject.)
GetMasterStation Gets the duplicated object handle of the Station object serving as the duplication master of this duplicated object. (Inherits from DuplicatedObject.)
GetMasterID Gets the StationID for this duplicated object master station. (Inherits from DuplicatedObject.)
IsADuplica Gets whether this duplicated object is a duplica. (Inherits from DuplicatedObject.)
IsADuplicationMaster Gets whether this duplicated object is a duplication master. (Inherits from DuplicatedObject.)
HasAuthority Gets whether this duplicated object has authority. (Inherits from DuplicatedObject.)
IsAWellKnownDO Gets whether this duplicated object is an instance of a well-known object class. (Inherits from DuplicatedObject.)
V IsACoreDO Gets whether this duplicated object is a CoreDO.
IsAUserDO Gets whether this duplicated object is a UserDO. (Inherits from DuplicatedObject.)
DeleteMainRef Instructs the system to delete the main reference to the duplicated object. (Inherits from DuplicatedObject.)
MainRefIsDeleted Gets whether the DeleteMainRef function has been called on this object. (Inherits from DuplicatedObject.)
Publish Publishes an instance of this duplicated object to the stations in the session. (Inherits from DuplicatedObject.)
IsPublished Gets whether this object has been published. (Inherits from 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 from DuplicatedObject.)
S FetchDuplica Fetches a duplica of a duplicated object. (Inherits from DuplicatedObject.)
S GetOperationManager Gets a pointer to an OperationManager object. (Inherits from DuplicatedObject.)
S Create Creates a local instance of a duplicated object. (Inherits from DuplicatedObject.)
S CreateWellKnown Creates the specified well-known object. (Inherits from DuplicatedObject.)
S DynamicCast Dynamically casts a pointer to a duplicated object. (Inherits from DuplicatedObject.)

Class Hierarchy

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

Revision History

2011/06/01
Initial version.

CONFIDENTIAL