Ejemplo n.º 1
0
        private void SendElectionTimeoutMessage(int delayInSeconds)
        {
            var becomeCandidate = new BecomeCandidate(_lastAppendEntriesMessageId);
            var sendToSelf      = new SendToSelf(becomeCandidate, delayInSeconds);

            _messageBus.Publish(sendToSelf);
        }
Ejemplo n.º 2
0
        public void Send(SendToSelf message)
        {
            if (_stopSendingMessages)
            {
                return;
            }

            try
            {
                _sleeping = true;
                Thread.Sleep(message.DelaySeconds * 1000);
                _sleeping = false;
                var typeOfMessage = message.Message.GetType();
                var handler       = _sendToSelfHandlers[typeOfMessage];
                handler(message.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 3
0
 public void Publish(SendToSelf message)
 {
     SendToSelfMessages.Add(message);
 }