Reversed order of handlers on sending to maintain consistency

This commit is contained in:
2019-07-19 11:56:06 +03:00
parent 7cf668e3c1
commit a11237db5e
3 changed files with 9 additions and 7 deletions
+2 -1
View File
@@ -182,8 +182,9 @@ namespace MTSC.Client
{
byte[] messagebytes = messageQueue.Dequeue();
Message sendMessage = CommunicationPrimitives.BuildMessage(messagebytes);
foreach(IHandler handler in handlers)
for(int i = handlers.Count - 1; i >= 0; i--)
{
IHandler handler = handlers[i];
handler.HandleSendMessage(tcpClient, ref sendMessage);
}
CommunicationPrimitives.SendMessage(tcpClient, sendMessage);
+4 -4
View File
@@ -1,16 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<ApplicationIcon />
<StartupObject />
<Version>0.5</Version>
<Version>0.8</Version>
<Authors>Alexandru-Victor Macocian</Authors>
<Product>MTSC</Product>
<Description>Modular TCP Server and Client</Description>
<AssemblyVersion>0.0.5.0</AssemblyVersion>
<FileVersion>0.0.5.0</FileVersion>
<AssemblyVersion>0.0.8.0</AssemblyVersion>
<FileVersion>0.0.8.0</FileVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>
+3 -2
View File
@@ -137,8 +137,9 @@ namespace MTSC.Server
{
Tuple<ClientStruct, byte[]> queuedOrder = messageQueue.Dequeue();
Message sendMessage = CommunicationPrimitives.BuildMessage(queuedOrder.Item2);
foreach(IHandler handler in handlers)
for(int i = handlers.Count - 1; i >= 0; i--)
{
IHandler handler = handlers[i];
handler.HandleSendMessage(queuedOrder.Item1, ref sendMessage);
}
CommunicationPrimitives.SendMessage(queuedOrder.Item1.TcpClient, sendMessage);
@@ -173,7 +174,7 @@ namespace MTSC.Server
{
Message message = CommunicationPrimitives.GetMessage(client.TcpClient);
Log("Received message from " + client.TcpClient.Client.RemoteEndPoint.ToString() +
" Message length: " + message.MessageLength);
"\nMessage length: " + message.MessageLength);
foreach (IHandler handler in handlers)
{
if (handler.PreHandleReceivedMessage(client, ref message))