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; } }
public void RefreshMoveRequest(Guid requestGuid, Guid mdbGuid, MoveRequestNotification op) { this.CallService(delegate() { this.Channel.RefreshMoveRequest(requestGuid, mdbGuid, op); }); }
public static void TickleMRS(TransactionalRequestJob requestJob, MoveRequestNotification notification, Guid mdbGuid, ITopologyConfigurationSession configSession, List <string> unreachableServers) { using (MailboxReplicationServiceClient mailboxReplicationServiceClient = requestJob.CreateMRSClient(configSession, mdbGuid, unreachableServers)) { if (notification == MoveRequestNotification.Canceled && mailboxReplicationServiceClient.ServerVersion[3]) { mailboxReplicationServiceClient.RefreshMoveRequest2(requestJob.RequestGuid, mdbGuid, (int)requestJob.Flags, notification); } else { mailboxReplicationServiceClient.RefreshMoveRequest(requestJob.RequestGuid, mdbGuid, notification); } } }
void IMailboxReplicationService.RefreshMoveRequest2(Guid requestGuid, Guid mdbGuid, int requestFlags, MoveRequestNotification op) { this.RefreshMoveRequest(requestGuid, mdbGuid, requestFlags, op); }
void IMailboxReplicationService.RefreshMoveRequest(Guid requestGuid, Guid mdbGuid, MoveRequestNotification op) { this.RefreshMoveRequest(requestGuid, mdbGuid, 0, op); }
private void RefreshMoveRequest(Guid mailboxGuid, Guid mdbGuid, int requestFlags, MoveRequestNotification op) { this.ForwardKnownExceptions(delegate { Guid empty = Guid.Empty; switch (op) { case MoveRequestNotification.Created: MRSService.ProcessMoveRequestCreatedNotification(mailboxGuid, mdbGuid); MRSService.Tickle(mailboxGuid, mdbGuid, op); return; case MoveRequestNotification.Updated: MRSService.Tickle(mailboxGuid, mdbGuid, op); return; case MoveRequestNotification.Canceled: MRSService.Tickle(mailboxGuid, mdbGuid, op); return; case MoveRequestNotification.SuspendResume: MRSService.Tickle(mailboxGuid, mdbGuid, op); return; default: return; } }, null); }