class PromotionReferee : public nn::nex::DuplicatedObject
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
.
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 |
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 .) |
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 .) |
nn::nex::DuplicatedObject
nn::nex::PromotionReferee
CONFIDENTIAL