public static void Tickle(Guid mailboxGuid, Guid requestQueueMdbGuid, MoveRequestNotification operation) { MrsTracer.Service.Debug("Processing tickled mailbox: {0}, requestQueueMdbGuid: {1}, operation: {2}", new object[] { mailboxGuid, requestQueueMdbGuid, operation }); if (MailboxSyncerJobs.ProcessJob(mailboxGuid, false, delegate(BaseJob job) { job.NeedToRefreshRequest = true; })) { return; } MRSQueue mrsqueue = MRSQueue.Get(requestQueueMdbGuid); switch (operation) { case MoveRequestNotification.Created: case MoveRequestNotification.Canceled: mrsqueue.Tickle(MRSQueue.ScanType.Heavy); return; case MoveRequestNotification.Updated: case MoveRequestNotification.SuspendResume: mrsqueue.Tickle(MRSQueue.ScanType.Light); mrsqueue.Tickle(MRSQueue.ScanType.Heavy); return; default: return; } }
MoveRequestInfo IMailboxReplicationService.GetMoveRequestInfo(Guid requestGuid) { MoveRequestInfo result = new MoveRequestInfo(); this.ForwardKnownExceptions(delegate { if (!MailboxSyncerJobs.ProcessJob(requestGuid, false, delegate(BaseJob job) { result = job.GetMoveRequestInfo(); })) { MrsTracer.Service.Debug("Request {0} is not active.", new object[] { requestGuid }); result.Message = MRSQueue.GetJobPickupFailureMessageForRequest(requestGuid); } }, null); return(result); }