начало реализации модулей фронтенда
This commit is contained in:
@@ -1,50 +0,0 @@
|
|||||||
// using System.Diagnostics;
|
|
||||||
// using System.Reflection;
|
|
||||||
// using mROA.Implementation;
|
|
||||||
// using mROA.Test;
|
|
||||||
//
|
|
||||||
// namespace mROA.Performance;
|
|
||||||
//
|
|
||||||
// class Program
|
|
||||||
// {
|
|
||||||
// private static ProgramlyInteractionChanel _interactionModule;
|
|
||||||
// private static ISerialisationModule _serialisationModule;
|
|
||||||
// private static IExecuteModule _executeModule;
|
|
||||||
// private static IMethodRepository _methodRepository;
|
|
||||||
// private static IContextRepository _contextRepository;
|
|
||||||
//
|
|
||||||
// static void Main(string[] args)
|
|
||||||
// {
|
|
||||||
// _interactionModule = new ProgramlyInteractionChanel();
|
|
||||||
// _serialisationModule = new JsonSerialisationModule(_interactionModule);
|
|
||||||
// var repo = new MethodRepository();
|
|
||||||
// repo.CollectForAssembly(Assembly.GetAssembly(typeof(ITestController)));
|
|
||||||
// _methodRepository = repo;
|
|
||||||
// var repo2 = new ContextRepository();
|
|
||||||
// repo2.FillSingletons(Assembly.GetAssembly(typeof(ITestController)));
|
|
||||||
// _contextRepository = repo2;
|
|
||||||
//
|
|
||||||
// _executeModule = new PrepairedExecutionModule(_methodRepository, _serialisationModule, _contextRepository);
|
|
||||||
// var sw = Stopwatch.StartNew();
|
|
||||||
//
|
|
||||||
// _interactionModule.PassCommand(132, """
|
|
||||||
// {
|
|
||||||
// "RequestTypeId": 0,
|
|
||||||
// "CommandId": 3
|
|
||||||
// }
|
|
||||||
// """);
|
|
||||||
// while (_interactionModule.OutputBuffer.Count != 2) ;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// // _interactionModule.PassCommand(132, """
|
|
||||||
// // {
|
|
||||||
// // "RequestTypeId": 0,
|
|
||||||
// // "CommandId": 3
|
|
||||||
// // }
|
|
||||||
// // """);
|
|
||||||
// // while (_interactionModule.OutputBuffer.Count() != 4) ;
|
|
||||||
//
|
|
||||||
// var time = sw.Elapsed;
|
|
||||||
// Console.WriteLine(time.TotalMilliseconds.ToString());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>net9.0</TargetFramework>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\mROA.Test\mROA.Test.csproj" />
|
|
||||||
<ProjectReference Include="..\mROA\mROA.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// Этот код создан программой.
|
|
||||||
// Исполняемая версия:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
|
||||||
// повторной генерации кода.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
|
|
||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("mROA.Performance")]
|
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9128f3f6ee0d3c89e7e0538ac244a133c746e4df")]
|
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("mROA.Performance")]
|
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("mROA.Performance")]
|
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
|
||||||
|
|
||||||
// Создано классом WriteCodeFragment MSBuild.
|
|
||||||
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
is_global = true
|
|
||||||
build_property.TargetFramework = net9.0
|
|
||||||
build_property.TargetPlatformMinVersion =
|
|
||||||
build_property.UsingMicrosoftNETSdkWeb =
|
|
||||||
build_property.ProjectTypeGuids =
|
|
||||||
build_property.InvariantGlobalization =
|
|
||||||
build_property.PlatformNeutralAssembly =
|
|
||||||
build_property.EnforceExtendedAnalyzerRules =
|
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
|
||||||
build_property.RootNamespace = mROA.Performance
|
|
||||||
build_property.ProjectDir = C:\Users\Mimm\Projects\VisualStudioProjects\mROA\mROA.Performance\
|
|
||||||
build_property.EnableComHosting =
|
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
|
||||||
build_property.EffectiveAnalysisLevelStyle = 9.0
|
|
||||||
build_property.EnableCodeStyleSeverity =
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
// <auto-generated/>
|
|
||||||
global using global::System;
|
|
||||||
global using global::System.Collections.Generic;
|
|
||||||
global using global::System.IO;
|
|
||||||
global using global::System.Linq;
|
|
||||||
global using global::System.Net.Http;
|
|
||||||
global using global::System.Threading;
|
|
||||||
global using global::System.Threading.Tasks;
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
|
||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mikhail\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
|
||||||
<SourceRoot Include="C:\Users\Mikhail\.nuget\packages\" />
|
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
|
||||||
@@ -5,12 +5,12 @@
|
|||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mikhail\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mimm\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.1</NuGetToolVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<SourceRoot Include="C:\Users\Mikhail\.nuget\packages\" />
|
<SourceRoot Include="C:\Users\Mimm\.nuget\packages\" />
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
@@ -21,6 +21,6 @@
|
|||||||
<Import Project="$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.props')" />
|
<Import Project="$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.test.sdk\17.12.0\build\netcoreapp3.1\Microsoft.NET.Test.Sdk.props')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<PkgNUnit_Analyzers Condition=" '$(PkgNUnit_Analyzers)' == '' ">C:\Users\Mikhail\.nuget\packages\nunit.analyzers\4.6.0</PkgNUnit_Analyzers>
|
<PkgNUnit_Analyzers Condition=" '$(PkgNUnit_Analyzers)' == '' ">C:\Users\Mimm\.nuget\packages\nunit.analyzers\4.6.0</PkgNUnit_Analyzers>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -4,8 +4,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mROA", "mROA\mROA.csproj",
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mROA.Test", "mROA.Test\mROA.Test.csproj", "{D0E5760B-BB6E-453A-B396-A972CD94F133}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mROA.Test", "mROA.Test\mROA.Test.csproj", "{D0E5760B-BB6E-453A-B396-A972CD94F133}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mROA.Performance", "mROA.Performance\mROA.Performance.csproj", "{F17AC915-A299-4D81-BEA0-E540E1918857}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -20,9 +18,5 @@ Global
|
|||||||
{D0E5760B-BB6E-453A-B396-A972CD94F133}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{D0E5760B-BB6E-453A-B396-A972CD94F133}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D0E5760B-BB6E-453A-B396-A972CD94F133}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{D0E5760B-BB6E-453A-B396-A972CD94F133}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{D0E5760B-BB6E-453A-B396-A972CD94F133}.Release|Any CPU.Build.0 = Release|Any CPU
|
{D0E5760B-BB6E-453A-B396-A972CD94F133}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{F17AC915-A299-4D81-BEA0-E540E1918857}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{F17AC915-A299-4D81-BEA0-E540E1918857}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{F17AC915-A299-4D81-BEA0-E540E1918857}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{F17AC915-A299-4D81-BEA0-E540E1918857}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ namespace mROA;
|
|||||||
public interface ICommandExecution
|
public interface ICommandExecution
|
||||||
{
|
{
|
||||||
Guid CallRequestId { get; init; }
|
Guid CallRequestId { get; init; }
|
||||||
int ClientId { get; set; }
|
int ClientId { get; }
|
||||||
int CommandId { get; set; }
|
int CommandId { get; }
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@ public interface ISerialisationModule
|
|||||||
void SetExecuteModule(IExecuteModule executeModule);
|
void SetExecuteModule(IExecuteModule executeModule);
|
||||||
public interface IFrontendSerialisationModule
|
public interface IFrontendSerialisationModule
|
||||||
{
|
{
|
||||||
ICommandExecution GetNextCommandExecution(Guid requestId);
|
ICommandExecution GetNextCommandExecution<T>(Guid requestId) where T : ICommandExecution;
|
||||||
void PostCallRequest(ICallRequest callRequest);
|
void PostCallRequest(ICallRequest callRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -17,28 +17,3 @@ public class JsonCallRequest : ICallRequest
|
|||||||
public int ObjectId { get; set; } = -1;
|
public int ObjectId { get; set; } = -1;
|
||||||
public object? Parameter { get; set; }
|
public object? Parameter { get; set; }
|
||||||
}
|
}
|
||||||
// public struct HardCallRequest : ICallRequest
|
|
||||||
// {
|
|
||||||
// public Guid CallRequestId { get; } = Guid.NewGuid();
|
|
||||||
// public int CommandId => Command;
|
|
||||||
// public int ClientId => Client;
|
|
||||||
// public int ObjectId => Object;
|
|
||||||
//
|
|
||||||
// public int Command;
|
|
||||||
// public int Client;
|
|
||||||
// public int Object;
|
|
||||||
// public object Parameter { get; set; }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// public class CallRequest : SingletonCallRequest
|
|
||||||
// {
|
|
||||||
// public override int RequestTypeId => (int)RequestType.NonParametrized;
|
|
||||||
// public int ObjectId { get; set; }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public class ParametrizedCallRequest : CallRequest
|
|
||||||
// {
|
|
||||||
// public override int RequestTypeId => (int)RequestType.Parametrized;
|
|
||||||
// public object Parameter { get; set; }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,22 @@
|
|||||||
|
using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
namespace mROA.Implementation;
|
namespace mROA.Implementation;
|
||||||
|
|
||||||
public class JsonFrontendSerialisationModule : ISerialisationModule.IFrontendSerialisationModule
|
public class JsonFrontendSerialisationModule(IInteractionModule.IFrontendInteractionModule interactionModule)
|
||||||
|
: ISerialisationModule.IFrontendSerialisationModule
|
||||||
{
|
{
|
||||||
public ICommandExecution GetNextCommandExecution(Guid requestId)
|
public ICommandExecution GetNextCommandExecution<T>(Guid requestId) where T : ICommandExecution
|
||||||
{
|
{
|
||||||
return null;
|
var receiveMessage = interactionModule.ReceiveMessage();
|
||||||
|
var parsed = JsonSerializer.Deserialize<T>(receiveMessage);
|
||||||
|
return parsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostCallRequest(ICallRequest callRequest)
|
public void PostCallRequest(ICallRequest callRequest)
|
||||||
{
|
{
|
||||||
|
var post = JsonSerializer.Serialize(callRequest, callRequest.GetType());
|
||||||
|
interactionModule.PostMessage(Encoding.UTF8.GetBytes(post));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace mROA.Implementation;
|
||||||
|
|
||||||
|
public class ConsoleFrontendInteractionModule : IInteractionModule.IFrontendInteractionModule
|
||||||
|
{
|
||||||
|
public byte[] ReceiveMessage()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PostMessage(byte[] message)
|
||||||
|
{
|
||||||
|
Console.WriteLine(Encoding.UTF8.GetString(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,12 +5,12 @@
|
|||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mikhail\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Mimm\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.10.1</NuGetToolVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<SourceRoot Include="C:\Users\Mikhail\.nuget\packages\" />
|
<SourceRoot Include="C:\Users\Mimm\.nuget\packages\" />
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
Reference in New Issue
Block a user