Implemented sequential scheduler

This commit is contained in:
Alexandru Macocian
2020-03-21 12:26:43 +01:00
parent 93b81060d3
commit 2b1bbec49d
3 changed files with 21 additions and 4 deletions
+3 -3
View File
@@ -5,12 +5,12 @@
<TargetFrameworks>netcoreapp2.1;net48;netstandard2.0;netcoreapp3.0</TargetFrameworks>
<ApplicationIcon />
<StartupObject />
<Version>2.1.1</Version>
<Version>2.1.2</Version>
<Authors>Alexandru-Victor Macocian</Authors>
<Product>MTSC</Product>
<Description>Modular TCP Server and Client</Description>
<AssemblyVersion>0.2.1.1</AssemblyVersion>
<FileVersion>0.2.1.1</FileVersion>
<AssemblyVersion>0.2.1.2</AssemblyVersion>
<FileVersion>0.2.1.2</FileVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Platforms>AnyCPU;x64</Platforms>
<PackageProjectUrl>https://github.com/AlexMacocian/MTSC</PackageProjectUrl>
@@ -0,0 +1,17 @@
using System;
using System.Collections.Concurrent;
namespace MTSC.ServerSide.Schedulers
{
public class SequentialProcessingScheduler : IScheduler
{
void IScheduler.ScheduleHandling(IProducerConsumerCollection<(ClientData, Message)> inQueue, Action<ClientData, Message> messageHandlingProcedure)
{
while (inQueue.TryTake(out var tuple))
{
(var client, var message) = tuple;
messageHandlingProcedure.Invoke(client, message);
}
}
}
}
@@ -5,7 +5,7 @@ using System.Threading.Tasks;
namespace MTSC.ServerSide.Schedulers
{
class TaskAwaiterScheduler : IScheduler
public class TaskAwaiterScheduler : IScheduler
{
void IScheduler.ScheduleHandling(IProducerConsumerCollection<(ClientData, Message)> inQueue, Action<ClientData, Message> messageHandlingProcedure)
{