private void MockData() { _messages = new List <SuggestionMessage> { new SuggestionMessage() { Id = 1, Summary = "Error", Text = "Some text", State = MessageState.Read, }, new SuggestionMessage() { Id = 2, Summary = "Suggest", Text = "Some text 2", State = MessageState.Unread, }, }; _messagesDto = _messages.Select(message => new SuggestionMessageDto { Id = message.Id, Summary = message.Summary, Text = message.Text, State = message.State }); _messagesQueryableMock = _messages.AsQueryable().BuildMock(); _message = _messages.FirstOrDefault(); _messageDto = _messagesDto.FirstOrDefault(); }
//Handles requests from the client and sends requests to the least loaded service. private static void HandleSuggestionRequest(SuggestionMessage suggestion) { int bestAvailableService = 0; foreach (var service in serviceLoadMap) { if (service.Value < serviceLoadMap[bestAvailableService]) { bestAvailableService = service.Key; } } iBus.Send <SuggestionMessage>("service.request" + bestAvailableService, suggestion); activeServices.Add(bestAvailableService); Console.WriteLine("Suggestion request sent to service " + bestAvailableService); }
//Handles messages recieved from the loadbalancer. Serverload is increased by 10 for each request recieved. private void HandleSuggestionRequest(SuggestionMessage request) { serverLoad += 10; Console.WriteLine("Service " + id + " recieved request with word:"); Console.WriteLine(request.Word); String result = ServiceProgram.CheckForSuggestions(request.Word); if (result != null) { Console.WriteLine("Suggested word returned to client: " + result); } else { Console.WriteLine("No result or perfect match found."); } iBus.Send <SuggestionReplyMessage>("suggestion.reply", new SuggestionReplyMessage() { Word = result, ServerLoad = serverLoad, ServiceID = id }); }
//Displays recieved suggestions to the client. private static void HandleSuggestion(SuggestionMessage suggestion) { Console.WriteLine("Suggestion recieved: " + suggestion.Word); }