Добавлены файлы проектов
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Example.Events.Shared\Example.Events.Shared.csproj"/>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
using System.Net;
|
||||||
|
using mROA.Abstract;
|
||||||
|
using mROA.Cbor;
|
||||||
|
using mROA.Codegen;
|
||||||
|
using mROA.Implementation;
|
||||||
|
using mROA.Implementation.Backend;
|
||||||
|
using mROA.Implementation.Bootstrap;
|
||||||
|
using mROA.Implementation.Frontend;
|
||||||
|
|
||||||
|
namespace Example.Events.Backend;
|
||||||
|
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
var builder = new FullMixBuilder();
|
||||||
|
// builder.UseJsonSerialisation();
|
||||||
|
builder.Modules.Add(new CborSerializationToolkit());
|
||||||
|
builder.Modules.Add(new BackendIdentityGenerator());
|
||||||
|
builder.UseNetworkGateway(new IPEndPoint(IPAddress.Loopback, 4567), typeof(NextGenerationInteractionModule),
|
||||||
|
builder.GetModule<IIdentityGenerator>()!);
|
||||||
|
|
||||||
|
builder.Modules.Add(new ConnectionHub());
|
||||||
|
builder.Modules.Add(new HubRequestExtractor(typeof(RequestExtractor)));
|
||||||
|
|
||||||
|
builder.UseBasicExecution();
|
||||||
|
builder.Modules.Add(new CreativeRepresentationModuleProducer(
|
||||||
|
new IInjectableModule[] { builder.GetModule<ISerializationToolkit>()! },
|
||||||
|
typeof(RepresentationModule)));
|
||||||
|
builder.Modules.Add(new RemoteContextRepository());
|
||||||
|
// builder.UseCollectableContextRepository(typeof(PrinterFactory).Assembly);
|
||||||
|
builder.Modules.Add(new MultiClientContextRepository(i =>
|
||||||
|
{
|
||||||
|
var repo = new ContextRepository();
|
||||||
|
repo.FillSingletons(typeof(ChatFactory).Assembly);
|
||||||
|
repo.Inject(builder.Modules.OfType<CreativeRepresentationModuleProducer>().First());
|
||||||
|
return repo;
|
||||||
|
}));
|
||||||
|
builder.SetupMethodsRepository(new CoCodegenMethodRepository());
|
||||||
|
|
||||||
|
builder.Modules.Add(new CancellationRepository());
|
||||||
|
|
||||||
|
builder.Build();
|
||||||
|
new RemoteTypeBinder();
|
||||||
|
|
||||||
|
TransmissionConfig.RealContextRepository = builder.GetModule<MultiClientContextRepository>();
|
||||||
|
TransmissionConfig.RemoteEndpointContextRepository = builder.GetModule<RemoteContextRepository>();
|
||||||
|
TransmissionConfig.OwnershipRepository = new MultiClientOwnershipRepository();
|
||||||
|
|
||||||
|
var gateway = builder.GetModule<IGatewayModule>();
|
||||||
|
|
||||||
|
gateway.Run();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Example.Events.Shared\Example.Events.Shared.csproj"/>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
using System.Net;
|
||||||
|
using Example.Events.Shared;
|
||||||
|
using mROA.Cbor;
|
||||||
|
using mROA.Codegen;
|
||||||
|
using mROA.Implementation;
|
||||||
|
using mROA.Implementation.Backend;
|
||||||
|
using mROA.Implementation.Bootstrap;
|
||||||
|
using mROA.Implementation.Frontend;
|
||||||
|
|
||||||
|
namespace Example.Events.Client;
|
||||||
|
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
var builder = new FullMixBuilder();
|
||||||
|
new RemoteTypeBinder();
|
||||||
|
// builder.Modules.Add(new JsonSerializationToolkit());
|
||||||
|
builder.Modules.Add(new CborSerializationToolkit());
|
||||||
|
|
||||||
|
builder.Modules.Add(new RemoteContextRepository());
|
||||||
|
builder.Modules.Add(new NextGenerationInteractionModule());
|
||||||
|
builder.Modules.Add(new RepresentationModule());
|
||||||
|
builder.Modules.Add(new NetworkFrontendBridge(new IPEndPoint(IPAddress.Loopback, 4567)));
|
||||||
|
builder.Modules.Add(new StaticRepresentationModuleProducer());
|
||||||
|
builder.Modules.Add(new RequestExtractor());
|
||||||
|
builder.Modules.Add(new BasicExecutionModule());
|
||||||
|
builder.Modules.Add(new CoCodegenMethodRepository());
|
||||||
|
builder.UseCollectableContextRepository();
|
||||||
|
builder.Modules.Add(new CancellationRepository());
|
||||||
|
|
||||||
|
builder.Build();
|
||||||
|
|
||||||
|
|
||||||
|
TransmissionConfig.RealContextRepository = builder.GetModule<ContextRepository>();
|
||||||
|
TransmissionConfig.RemoteEndpointContextRepository = builder.GetModule<RemoteContextRepository>();
|
||||||
|
|
||||||
|
builder.GetModule<NetworkFrontendBridge>()!.Connect();
|
||||||
|
_ = builder.GetModule<RequestExtractor>()!.StartExtraction();
|
||||||
|
|
||||||
|
var chatFactory =
|
||||||
|
TransmissionConfig.RemoteEndpointContextRepository.GetSingleObject(typeof(IChatFactory), 0) as IChatFactory;
|
||||||
|
var chat = chatFactory.GetChat(Guid.Empty);
|
||||||
|
chat.OnCharPosted += (s, context) => { Console.Write(s); };
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
var input = Console.ReadKey(true);
|
||||||
|
if (input.Key == ConsoleKey.Escape)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var symb = "";
|
||||||
|
|
||||||
|
if (input.Key == ConsoleKey.Backspace)
|
||||||
|
{
|
||||||
|
symb = "\b \b";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
symb = input.KeyChar.ToString();
|
||||||
|
|
||||||
|
Console.Write(symb);
|
||||||
|
chat.PostSymbol(symb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<LangVersion>9</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\mROA.Cbor\mROA.Cbor.csproj"/>
|
||||||
|
<ProjectReference Include="..\mROA\mROA.csproj"/>
|
||||||
|
<ProjectReference Include="..\mROA.Codegen\mROA.Codegen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
|
||||||
|
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
Reference in New Issue
Block a user