mirror of
https://github.com/AlexMacocian/MTSC.git
synced 2026-07-24 03:56:32 +00:00
Implemented sequential scheduler
This commit is contained in:
+3
-3
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user