From 50034dd5af43782947feebd6e098738f138436d3 Mon Sep 17 00:00:00 2001 From: Matthew Endsley Date: Thu, 17 Dec 2020 10:00:50 -0800 Subject: [PATCH] Allow TL connection listener to override incoming message processing --- Hazel/FewerThreads/ThreadLimitedUdpConnectionListener.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Hazel/FewerThreads/ThreadLimitedUdpConnectionListener.cs b/Hazel/FewerThreads/ThreadLimitedUdpConnectionListener.cs index 7eabfac..4ebff2e 100644 --- a/Hazel/FewerThreads/ThreadLimitedUdpConnectionListener.cs +++ b/Hazel/FewerThreads/ThreadLimitedUdpConnectionListener.cs @@ -171,11 +171,10 @@ namespace Hazel.Udp.FewerThreads return; } - this.receiveQueue.Add(new ReceiveMessageInfo() { Message = message, Sender = remoteEP }); + this.ProcessIncomingMessageFromOtherThread(message, remoteEP); } } } - private void ProcessingLoop() { while (this.isActive) @@ -192,6 +191,10 @@ namespace Hazel.Udp.FewerThreads } } } + protected virtual void ProcessIncomingMessageFromOtherThread(MessageReader message, EndPoint peerAddress) + { + this.receiveQueue.Add(new ReceiveMessageInfo() { Message = message, Sender = peerAddress }); + } private void SendLoop() { @@ -286,7 +289,7 @@ namespace Hazel.Udp.FewerThreads QueueRawData(response, remoteEndPoint); } - protected void QueueRawData(ByteSpan span, EndPoint remoteEndPoint) + protected virtual void QueueRawData(ByteSpan span, EndPoint remoteEndPoint) { this.sendQueue.TryAdd(new SendMessageInfo() { Span = span, Recipient = remoteEndPoint }); } -- 2.39.5