// Gossip public List <string> suggestClientsForGossip(MeetingProposal meeting) { List <string> result = new List <string>(); List <string> invitees = meeting.getInvitees(); if (invitees != null) { foreach (string client in this.clients) { foreach (string invitee in invitees) { if (client.StartsWith(invitee)) { result.Add(client); } } } } else { foreach (string client in this.clients) { char[] delimiter = { '-' }; string[] clientInfo = client.Split(delimiter, StringSplitOptions.RemoveEmptyEntries); result.Add(clientInfo[0]); } } return(result); }
public int pull(MeetingProposal meeting) { if (this.gossipedMeetings.Contains(meeting.getTopic())) { // Console.WriteLine(this.url + " stopped " + command.commandId()); return(0); } List <string> invitees = meeting.getInvitees(); if (invitees != null) { if (invitees.Contains(this.username)) { Console.WriteLine("You are invited to the meeting " + meeting.getTopic()); } } else { Console.WriteLine("A meeting " + meeting.getTopic() + " was created"); } this.gossipedMeetings.Add(meeting.getTopic()); List <string> clients = this.getClientsForGossip(); this.gossip(meeting, clients); return(1); }