Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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));
     }
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 7
0
 public void Handle(BackupClientMessage <ProblemSync> notification)
 {
     manager.AddProblem(notification.Message);
 }
 public void Handle(BackupClientMessage <DivideProblem> notification)
 {
     manager.MarkAsDuringDivide(notification.Message.Id, notification.Message.NodeID);
 }