diff --git a/mROA/Implementation/Frontend/RequestExtractor.cs b/mROA/Implementation/Frontend/RequestExtractor.cs index f794595..fbe9539 100644 --- a/mROA/Implementation/Frontend/RequestExtractor.cs +++ b/mROA/Implementation/Frontend/RequestExtractor.cs @@ -80,7 +80,10 @@ namespace mROA.Implementation.Frontend var eventRequest = _representationModule!.GetMessageAsync( messageType: EMessageType.EventRequest, token: token); - Task.WaitAny(defaultRequest, cancelRequest, eventRequest); + var disconnectRequest = + _representationModule!.GetMessageAsync( + messageType: EMessageType.ClientDisconnect, token:token); + Task.WaitAny(defaultRequest, cancelRequest, eventRequest, disconnectRequest); #if TRACE Console.WriteLine("Request received"); sw.Restart(); @@ -96,9 +99,12 @@ namespace mROA.Implementation.Frontend { HandleCallRequest(tokenSource, defaultRequest.Result); } - else + else if(eventRequest.IsCompleted) { HandleEventRequest(tokenSource, eventRequest.Result); + }else if (disconnectRequest.IsCompleted) + { + break; } } } diff --git a/mROA/Implementation/RepresentationModule.cs b/mROA/Implementation/RepresentationModule.cs index 8b72ccf..6ea6fcd 100644 --- a/mROA/Implementation/RepresentationModule.cs +++ b/mROA/Implementation/RepresentationModule.cs @@ -92,9 +92,6 @@ namespace mROA.Implementation throw new NullReferenceException("Interaction toolkit is not initialized"); if (_serialization == null) throw new NullReferenceException("Serialization toolkit is not initialized"); -#if TRACE - Console.WriteLine($"{DateTime.Now.TimeOfDay} Posting message: {id} - {messageType} to {Id}"); -#endif var serialized = _serialization.Serialize(payload, payloadType); await _interaction.PostMessageAsync(new NetworkMessageHeader