예제 #1
0
        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();
        }
예제 #2
0
        //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);
        }
예제 #3
0
        //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
            });
        }
예제 #4
0
 //Displays recieved suggestions to the client.
 private static void HandleSuggestion(SuggestionMessage suggestion)
 {
     Console.WriteLine("Suggestion recieved: " + suggestion.Word);
 }