public void Handle(BackupClientMessage <SolvePartialProblems> notification) { var nodeId = notification.Message.PartialProblems[0].NodeID; var tasks = notification.Message.PartialProblems.Select(t => t.TaskId); manager.MarkAsDuringPartialProblemSolving(notification.Message.Id, nodeId, tasks); }
public void Handle(BackupClientMessage <RegisterMessage> notification) { if (!notification.Message.Deregister) { logger.Debug($"New node {notification.Message.Id} registered in primary CS, adding it here."); mediator.Publish(new NodeRegistered(notification.Message, notification.MessageSource)); } }
public void Handle(BackupClientMessage <RegisterMessage> notification) { if (notification.Message.Deregister) { logger.Debug($"Node {notification.Message.Id} deregistered in primary CS, marking as dead."); mediator.Publish(new NodeDead(notification.Message.Id)); } }
public void Handle(BackupClientMessage <RegisterMessage> notification) { long org, newValue; do { org = counter; newValue = Math.Max(org, (long)notification.Message.Id + 1); } while (newValue != org && Interlocked.CompareExchange(ref counter, newValue, org) == newValue); }
public void When_RegisterMessage_is_received_The_internal_counter_accomodates_newly_assigned_id() { const ulong Id = 789; var msg = new BackupClientMessage <RegisterMessage>(new RegisterMessage { Id = Id }, new IPEndPoint(IPAddress.Loopback, 78)); generator.Handle(msg); var id = generator.Next(); id.ShouldBeGreaterThan(Id); }
public void Handle(BackupClientMessage <TMessage> notification) { HandleBackup(notification.Message); }
public void Handle(BackupClientMessage <ProblemSync> notification) { manager.AddProblem(notification.Message); }
public void Handle(BackupClientMessage <DivideProblem> notification) { manager.MarkAsDuringDivide(notification.Message.Id, notification.Message.NodeID); }