private void SendElectionTimeoutMessage(int delayInSeconds) { var becomeCandidate = new BecomeCandidate(_lastAppendEntriesMessageId); var sendToSelf = new SendToSelf(becomeCandidate, delayInSeconds); _messageBus.Publish(sendToSelf); }
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); } }
public void Publish(SendToSelf message) { SendToSelfMessages.Add(message); }