public Jankiel(int index, List <Location> listLocation) { numberRound = 0; statesMessage = StatesMessage.ChangeNumbers; indexJankiel = index; numberJankiel = indexJankiel; location = listLocation[indexJankiel]; SearchForNeighboursList(listLocation); thread = new Thread(() => Thread_DoWork()); }
private void DoAlgorithm() { SendMessageNumberToNeigbours(); ReceiveMessagesNumber(); while (!isLeader) { statesMessage = StatesMessage.SendingLeaders; wasLeaderMessage = false; countLeaderNeigbours = 0; isLeader = CheckIfIsLeader(); if (isLeader) { SendLeaderMessage(); ReceiveMessageToWaitForOthersToFinishRound(); } else { ReceiveMessages(); } if (isLeader) { statesMessage = StatesMessage.Playing; PlayConcert(); } else { statesMessage = StatesMessage.Listening; WaitForFinishRoundMessageFromLeaders(); } Console.WriteLine($"Jankiel {indexJankiel} isLeader = {isLeader} round = {numberRound}"); numberRound++; } Console.WriteLine($"Jankiel {indexJankiel} has Finished!"); }
public NotThreatenToBeLeaderMessage(string _message, int _indexNotThreaten, int _numberRound, StatesMessage _statesMessage) : base(_message, _numberRound, _statesMessage) { indexNotThreaten = _indexNotThreaten; }
public NullMessage(int _numberRound, StatesMessage _statesMessage) : base("", _numberRound, _statesMessage) { }
public ExchangeNumbersMessage(string _message, int _number, int _index, int _numberRound, StatesMessage _statesMessage) : base(_message, _numberRound, _statesMessage) { index = _index; number = _number; }
public Message(string _message, int _numberRound, StatesMessage _statesMessage) { statesMessage = _statesMessage; message = _message; numberRound = _numberRound; }
public LeaderMessage(string _message, int _indexLeader, int _numberRound, StatesMessage _statesMessage) : base(_message, _numberRound, _statesMessage) { indexLeader = _indexLeader; }