CONFLICT_RESOLUTION_POLICY Enumeration

Represents the options for the concurrency conflict resolution policy to use for the synchronization session.

Syntax

typedef enum 
{
  CRP_NONE,
  CRP_DESTINATION_PROVIDER_WINS,
  CRP_SOURCE_PROVIDER_WINS,
  CRP_LAST,
} CONFLICT_RESOLUTION_POLICY;

Members

  • CRP_NONE
    The change applier notifies the synchronization application of each conflict as it occurs, by using the ISyncCallback::OnConflict method. The application examines the conflicting items and specifies the conflict resolution action by calling IChangeConflict::SetResolveActionForChange or IChangeConflict::SetResolveActionForChangeUnit.

  • CRP_DESTINATION_PROVIDER_WINS
    The change made on the destination replica always wins. This supports the case in which the destination replica does not consume changes that are made by remote clients. Sync Framework specifies a conflict resolution action of SRA_ACCEPT_DESTINATION_PROVIDER.

  • CRP_SOURCE_PROVIDER_WINS
    The change made on the source replica always wins. This supports a read-only synchronization solution in which the destination replica is not to be trusted. Sync Framework specifies a conflict resolution action of SRA_ACCEPT_SOURCE_PROVIDER.

  • CRP_LAST
    A placeholder for the last element in the enumeration. Do not use this value.

Remarks

The members of CONFLICT_RESOLUTION_POLICY are used by a synchronization application to specify the policy that the change applier uses to resolve concurrency conflicts that occur during synchronization. Concurrency conflicts occur when the same item or change unit is changed on two different replicas that are later synchronized. For more information on concurrency conflicts, see Detecting and Resolving Concurrency Conflicts.

Requirements

Header: Synchronization.h

See Also

Reference

ISyncSession::Start

ISynchronousNotifyingChangeApplier::ApplyChanges

IAsynchronousNotifyingChangeApplier::ApplyChanges

Concepts

Sync Framework Core Components