Upload operation replay records asynchronously.
When an application calls SubmitPending on an MBO on which a create, update, or delete operation is performed, an operation replay record is created on the device local database.
When Synchronize is called, the operation replay records are uploaded to the server. The method returns without waiting for the backend to replay those records. The Synchronize method downloads all the latest data changes and the results of the previously uploaded operation replay records that the backend has finished replaying. If you choose to disable asynchronous operation replay, each Synchronize call will wait for the backend to finish replaying all the current uploaded operation replay records.
For DOE-based application, the operation replay record is sent to server via message channel when submitPending is called. When operation replay is done on server, one of the callback methods onReplaySuccess and onReplayFailure will be invoked depends on the result of the replay.
SUP101DB.GetSynchronizationProfile().AsyncReplay = false;
public virtual SynchronizationAction OnSynchronize( Sybase.Collections.GenericList<ISynchronizationGroup> groups, SynchronizationContext context) { switch(context.Status) { case SynchronizationStatus.ASYNC_REPLAY_UPLOADED: LogMessage("AsyncReplay uploaded"); break; case SynchronizationStatus.ASYNC_REPLAY_COMPLETED: // operation replay finished if (busy) { // if busy, don't do synchronize now return SynchronizationAction.CANCEL; } break; default: break; } return SynchronizationAction.CONTINUE; }