nn::nex::CallMethodOperation::PostponeOperation Member Function

Syntax

void PostponeOperation(
     TimeInterval tiPostponeDelay
);

Parameters

Name Description
in tiPostponeDelay Specifies the time to delay before execution.

Return Values

None.

Description

Postpones an operation.

To avoid deadlocking of embedded RMCs (Remote Method Calls), you can postpone RMCs when they are not yet ready to execute and call them again a short time later. If messages accumulated in the original RMC are relayed while that RMC is postponed, no other messages will be processed until these messages are processed and the RMC call completes.

Even if the TargetObjectMustBeMaster or TargetObjectMustHaveAuthority flag is set in DOCallContext::Flags, these flags are only guaranteed to represent the correct state the initial time that a method is called. Thus, the flags and the state of the Duplicated Object might diverge if execution is postponed by this function, because the flags are not rechecked. For example, although the TargetObjectMustBeMaster flag is set, the object may have become a duplica (DuplicatedObject::IsADuplica) in the meantime.

Revision History

2011/01/28
Initial version.

CONFIDENTIAL