removed unused projects
9367c0f9
Labyrinth Apps
committed
succeeded
23 changed files
actors.proto
/LabApps.Actors.Client.gRPC/actors.proto-26
/LabApps.Actors.Client.gRPC/actors.proto
Add comment 1 Minus  syntax = "proto3";
Add comment 2 Minus  
Add comment 3 Minus  option csharp_namespace = "LabApps.Actors.Client.gRPC";
Add comment 4 Minus  
Add comment 5 Minus  package actors_grpc;
Add comment 6 Minus  
Add comment 7 Minus  service ActorIO {
Add comment 8 Minus   rpc UnaryPump(PumpRequest) returns (PumpResponse);
Add comment 9 Minus  }
Add comment 10 Minus  
Add comment 11 Minus  message FaultDetail {
Add comment 12 Minus   string FaultText = 1;
Add comment 13 Minus   string FaultType = 2;
Add comment 14 Minus  }
Add comment 15 Minus  
Add comment 16 Minus  message PumpRequest {
Add comment 17 Minus   string SessionId = 1;
Add comment 18 Minus   bytes Buffer = 2;
Add comment 19 Minus  }
Add comment 20 Minus  
Add comment 21 Minus  message PumpResponse {
Add comment 22 Minus   string SessionId = 1;
Add comment 23 Minus   bytes Buffer = 2;
Add comment 24 Minus   FaultDetail Fault = 3;
Add comment 25 Minus  }
Add comment 26 Minus  
GrpcClient.cs
/LabApps.Actors.Client.gRPC/GrpcClient.cs-66
/LabApps.Actors.Client.gRPC/GrpcClient.cs
Add comment 1 Minus  using Datafac;
Add comment 2 Minus  using Google.Protobuf;
Add comment 3 Minus  using Grpc.Net.Client;
Add comment 4 Minus  using LabApps.Actors.Events.MsgPack;
Add comment 5 Minus  using LabApps.Types.Memory;
Add comment 6 Minus  using System;
Add comment 7 Minus  using System.Text;
Add comment 8 Minus  using System.Threading.Tasks;
Add comment 9 Minus  
Add comment 10 Minus  namespace LabApps.Actors.Client.gRPC
Add comment 11 Minus  {
Add comment 12 Minus   public interface IActorClient : IDisposable
Add comment 13 Minus   {
Add comment 14 Minus   ValueTask<SerializedEvent?> Pump(Guid sessionId, SerializedEvent? outgoing);
Add comment 15 Minus   }
Add comment 16 Minus   public sealed class GrpcClient : IActorClient
Add comment 17 Minus   {
Add comment 18 Minus   private readonly GrpcChannel _channel;
Add comment 19 Minus   private readonly ActorIO.ActorIOClient _client;
Add comment 20 Minus   private readonly IDataFactories _factories;
Add comment 21 Minus  
Add comment 22 Minus   public GrpcClient(string address, IDataFactories factories)
Add comment 23 Minus   {
Add comment 24 Minus   _channel = GrpcChannel.ForAddress(address);
Add comment 25 Minus   _client = new ActorIO.ActorIOClient(_channel);
Add comment 26 Minus   _factories = factories;
Add comment 27 Minus   }
Add comment 28 Minus  
Add comment 29 Minus   private volatile bool _disposed = false;
Add comment 30 Minus   public void Dispose()
Add comment 31 Minus   {
Add comment 32 Minus   if (_disposed) return;
Add comment 33 Minus   _disposed = true;
Add comment 34 Minus   _channel.Dispose();
Add comment 35 Minus   }
Add comment 36 Minus  
Add comment 37 Minus   private static void ThrowIfFaulted(FaultDetail fault)
Add comment 38 Minus   {
Add comment 39 Minus   if (!(fault is null))
Add comment 40 Minus   {
Add comment 41 Minus   var message = new StringBuilder();
Add comment 42 Minus   message.AppendLine("An unhandled exception occurred on the server:");
Add comment 43 Minus   message.AppendLine(" Exception type: "); message.AppendLine(fault.FaultType);
Add comment 44 Minus   message.AppendLine(" Exception text: "); message.AppendLine(fault.FaultText);
Add comment 45 Minus   throw new Exception(message.ToString());
Add comment 46 Minus   }
Add comment 47 Minus   }
Add comment 48 Minus  
Add comment 49 Minus   public async ValueTask<SerializedEvent?> Pump(Guid sessionId, SerializedEvent? outgoing)
Add comment 50 Minus   {
Add comment 51 Minus   var pumpRequest = new PumpRequest()
Add comment 52 Minus   {
Add comment 53 Minus   SessionId = sessionId.ToString("N"),
Add comment 54 Minus   Buffer = outgoing is null ? null : ByteString.CopyFrom(MsgPackHelper<SerializedEvent>.Serialize(outgoing)),
Add comment 55 Minus   };
Add comment 56 Minus   var pumpResponse = await _client.UnaryPumpAsync(pumpRequest);
Add comment 57 Minus   ThrowIfFaulted(pumpResponse.Fault);
Add comment 58 Minus   var buffer = pumpResponse.Buffer;
Add comment 59 Minus   return buffer is null
Add comment 60 Minus   ? null
Add comment 61 Minus   : buffer.IsEmpty
Add comment 62 Minus   ? null
Add comment 63 Minus   : MsgPackHelper<SerializedEvent>.Deserialize(Block.Wrap(buffer.Memory));
Add comment 64 Minus   }
Add comment 65 Minus   }
Add comment 66 Minus  }
LabApps.Actors.Client.gRPC.csproj
/LabApps.Actors.Client.gRPC/LabApps.Actors.Client.gRPC.csproj-58
/LabApps.Actors.Client.gRPC/LabApps.Actors.Client.gRPC.csproj
Add comment 1 Minus  <Project Sdk="Microsoft.NET.Sdk">
Add comment 2 Minus  
Add comment 3 Minus   <PropertyGroup>
Add comment 4 Minus   <Description>gRPC client for actors.</Description>
Add comment 5 Minus   <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
Add comment 6 Minus   <Nullable>enable</Nullable>
Add comment 7 Minus   <WarningsAsErrors>nullable</WarningsAsErrors>
Add comment 8 Minus   <LangVersion>latest</LangVersion>
Add comment 9 Minus   <Company>MetaFac</Company>
Add comment 10 Minus   <Product>Actors</Product>
Add comment 11 Minus   <PackageLicenseUrl></PackageLicenseUrl>
Add comment 12 Minus   <Copyright>Copyright (c) 2022 MetaFac</Copyright>
Add comment 13 Minus   <Authors>MetaFac Contributors</Authors>
Add comment 14 Minus   <PackageProjectUrl>https://dev.azure.com/labapps21/LAP</PackageProjectUrl>
Add comment 15 Minus   <RepositoryUrl>https://dev.azure.com/labapps21/LAP/_git/Actors</RepositoryUrl>
Add comment 16 Minus   <RepositoryType>Git</RepositoryType>
Add comment 17 Minus   <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
Add comment 18 Minus   <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
Add comment 19 Minus   <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
Add comment 20 Minus   <SignAssembly>true</SignAssembly>
Add comment 21 Minus   <AssemblyOriginatorKeyFile>..\SigningKey.snk</AssemblyOriginatorKeyFile>
Add comment 22 Minus   <PackageTags>actors thread concurrency labapps</PackageTags>
Add comment 23 Minus   <PackageReadmeFile>README.md</PackageReadmeFile>
Add comment 24 Minus   <IncludeSymbols>true</IncludeSymbols>
Add comment 25 Minus   <SymbolPackageFormat>snupkg</SymbolPackageFormat>
Add comment 26 Minus   </PropertyGroup>
Add comment 27 Minus  
Add comment 28 Minus   <ItemGroup>
Add comment 29 Minus   <None Include="..\README.md">
Add comment 30 Minus   <Pack>True</Pack>
Add comment 31 Minus   <PackagePath>\</PackagePath>
Add comment 32 Minus   </None>
Add comment 33 Minus   </ItemGroup>
Add comment 34 Minus  
Add comment 35 Minus   <ItemGroup>
Add comment 36 Minus   <PackageReference Include="Google.Protobuf" Version="3.20.1" />
Add comment 37 Minus   <PackageReference Include="Grpc.Net.Client" Version="2.46.0" />
Add comment 38 Minus   <PackageReference Include="Grpc.Tools" Version="2.46.1">
Add comment 39 Minus   <PrivateAssets>all</PrivateAssets>
Add comment 40 Minus   <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Add comment 41 Minus   </PackageReference>
Add comment 42 Minus   <PackageReference Include="Nerdbank.GitVersioning" Version="3.5.107">
Add comment 43 Minus   <PrivateAssets>all</PrivateAssets>
Add comment 44 Minus   <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Add comment 45 Minus   </PackageReference>
Add comment 46 Minus   </ItemGroup>
Add comment 47 Minus  
Add comment 48 Minus   <ItemGroup>
Add comment 49 Minus   <ProjectReference Include="..\LabApps.Actors.Core\LabApps.Actors.Core.csproj" />
Add comment 50 Minus   <ProjectReference Include="..\LabApps.Actors.Events\LabApps.Actors.Events.csproj" />
Add comment 51 Minus   </ItemGroup>
Add comment 52 Minus  
Add comment 53 Minus   <ItemGroup>
Add comment 54 Minus   <Protobuf Include="actors.proto" GrpcServices="Client" />
Add comment 55 Minus   </ItemGroup>
Add comment 56 Minus  
Add comment 57 Minus  </Project>
Add comment 58 Minus  
Constants.cs
/LabApps.Actors.Common.AzFn/Constants.cs-10
/LabApps.Actors.Common.AzFn/Constants.cs
Add comment 1 Minus  namespace LabApps.Actors.Common.AzFn
Add comment 2 Minus  {
Add comment 3 Minus   public static class Constants
Add comment 4 Minus   {
Add comment 5 Minus   public static class Functions
Add comment 6 Minus   {
Add comment 7 Minus   public const string UnaryPump = nameof(UnaryPump);
Add comment 8 Minus   }
Add comment 9 Minus   }
Add comment 10 Minus  }
LabApps.Actors.Common.AzFn.csproj
/LabApps.Actors.Common.AzFn/LabApps.Actors.Common.AzFn.csproj-43
/LabApps.Actors.Common.AzFn/LabApps.Actors.Common.AzFn.csproj
Add comment 1 Minus  <Project Sdk="Microsoft.NET.Sdk">
Add comment 2 Minus  
Add comment 3 Minus   <PropertyGroup>
Add comment 4 Minus   <Description>Common types for Azure Functions actors</Description>
Add comment 5 Minus   <TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
Add comment 6 Minus   <Nullable>enable</Nullable>
Add comment 7 Minus   <WarningsAsErrors>nullable</WarningsAsErrors>
Add comment 8 Minus   <LangVersion>latest</LangVersion>
Add comment 9 Minus   <Company>MetaFac</Company>
Add comment 10 Minus   <Product>Actors</Product>
Add comment 11 Minus   <PackageLicenseUrl></PackageLicenseUrl>
Add comment 12 Minus   <Copyright>Copyright (c) 2022 MetaFac</Copyright>
Add comment 13 Minus   <Authors>MetaFac Contributors</Authors>
Add comment 14 Minus   <PackageProjectUrl>https://dev.azure.com/labapps21/LAP</PackageProjectUrl>
Add comment 15 Minus   <RepositoryUrl>https://dev.azure.com/labapps21/LAP/_git/Actors</RepositoryUrl>
Add comment 16 Minus   <RepositoryType>Git</RepositoryType>
Add comment 17 Minus   <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
Add comment 18 Minus   <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
Add comment 19 Minus   <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
Add comment 20 Minus   <SignAssembly>true</SignAssembly>
Add comment 21 Minus   <AssemblyOriginatorKeyFile>..\SigningKey.snk</AssemblyOriginatorKeyFile>
Add comment 22 Minus   <PackageTags>actors thread concurrency labapps</PackageTags>
Add comment 23 Minus   <PackageReadmeFile>README.md</PackageReadmeFile>
Add comment 24 Minus   <IncludeSymbols>true</IncludeSymbols>
Add comment 25 Minus   <SymbolPackageFormat>snupkg</SymbolPackageFormat>
Add comment 26 Minus   </PropertyGroup>
Add comment 27 Minus  
Add comment 28 Minus   <ItemGroup>
Add comment 29 Minus   <None Include="..\README.md">
Add comment 30 Minus   <Pack>True</Pack>
Add comment 31 Minus   <PackagePath>\</PackagePath>
Add comment 32 Minus   </None>
Add comment 33 Minus   </ItemGroup>
Add comment 34 Minus  
Add comment 35 Minus   <ItemGroup>
Add comment 36 Minus   <PackageReference Include="Nerdbank.GitVersioning" Version="3.5.107">
Add comment 37 Minus   <PrivateAssets>all</PrivateAssets>
Add comment 38 Minus   <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Add comment 39 Minus   </PackageReference>
Add comment 40 Minus   </ItemGroup>
Add comment 41 Minus  
Add comment 42 Minus  </Project>
Add comment 43 Minus  
DomainEntityBase.cs
/LabApps.Actors.Runtime.AzureFn/DomainEntityBase.cs-68
/LabApps.Actors.Runtime.AzureFn/DomainEntityBase.cs
Add comment 1 Minus  using Datafac;
Add comment 2 Minus  using LabApps.Actors.Core;
Add comment 3 Minus  using LabApps.Platform.Abstractions;
Add comment 4 Minus  using LabApps.Types.Memory;
Add comment 5 Minus  using Microsoft.Extensions.Logging;
Add comment 6 Minus  using Newtonsoft.Json;
Add comment 7 Minus  using System;
Add comment 8 Minus  
Add comment 9 Minus  namespace LabApps.Actors.Runtime.AzureFn
Add comment 10 Minus  {
Add comment 11 Minus   [JsonObject(MemberSerialization.OptIn)]
Add comment 12 Minus   public abstract class DomainEntityBase : IEntityActor
Add comment 13 Minus   {
Add comment 14 Minus   protected static IActorFactories? _actorFactories;
Add comment 15 Minus   protected static IDataFactories? _dataFactories;
Add comment 16 Minus   protected static ITimeOfDayClock? _timeOfDayClock;
Add comment 17 Minus  
Add comment 18 Minus   [JsonIgnore]
Add comment 19 Minus   private readonly ILogger _logger;
Add comment 20 Minus  
Add comment 21 Minus   [JsonProperty("stateType")]
Add comment 22 Minus   public string? StateTypeName { get; set; } = null;
Add comment 23 Minus  
Add comment 24 Minus   [JsonProperty("state")]
Add comment 25 Minus   public byte[]? StateBytes { get; set; } = null;
Add comment 26 Minus  
Add comment 27 Minus   [JsonIgnore]
Add comment 28 Minus   private IActor? _actor = null;
Add comment 29 Minus  
Add comment 30 Minus   protected DomainEntityBase(ILogger logger)
Add comment 31 Minus   {
Add comment 32 Minus   _logger = logger;
Add comment 33 Minus   }
Add comment 34 Minus  
Add comment 35 Minus   public void Submit(ActorAddress address, object message, IActorRef sender)
Add comment 36 Minus   {
Add comment 37 Minus   try
Add comment 38 Minus   {
Add comment 39 Minus   if (_actorFactories is null)
Add comment 40 Minus   throw new ArgumentNullException(nameof(_actorFactories), "Is your static constructor correct?");
Add comment 41 Minus   if (_dataFactories is null)
Add comment 42 Minus   throw new ArgumentNullException(nameof(_dataFactories), "Is your static constructor correct?");
Add comment 43 Minus   if (_timeOfDayClock is null)
Add comment 44 Minus   throw new ArgumentNullException(nameof(_timeOfDayClock), "Is your static constructor correct?");
Add comment 45 Minus  
Add comment 46 Minus   if (_actor is null)
Add comment 47 Minus   {
Add comment 48 Minus   var runtime = new EntityRuntime(_logger, _actorFactories, _dataFactories, _timeOfDayClock);
Add comment 49 Minus   _actor = runtime.GetOrAdd(address);
Add comment 50 Minus   if (_actor.HasState)
Add comment 51 Minus   {
Add comment 52 Minus   _actor.LoadState(StateTypeName, new Block(StateBytes));
Add comment 53 Minus   }
Add comment 54 Minus   }
Add comment 55 Minus   _actor.ReceiveAsync(message, sender, false, 0).ConfigureAwait(false).GetAwaiter().GetResult();
Add comment 56 Minus   if (_actor.HasState)
Add comment 57 Minus   {
Add comment 58 Minus   StateBytes = _actor.SaveState().Memory.ToArray();
Add comment 59 Minus   }
Add comment 60 Minus   }
Add comment 61 Minus   catch (Exception e)
Add comment 62 Minus   {
Add comment 63 Minus   _logger.LogError(e, $"Actor ({address}) failed to process event ({message.GetType().FullName}) from ({sender.Address})");
Add comment 64 Minus   }
Add comment 65 Minus   }
Add comment 66 Minus  
Add comment 67 Minus   }
Add comment 68 Minus  }
EntityActorRef.cs
/LabApps.Actors.Runtime.AzureFn/EntityActorRef.cs
/LabApps.Actors.Runtime.AzureFn/EntityActorRef.cs
EntityRuntime.cs
/LabApps.Actors.Runtime.AzureFn/EntityRuntime.cs
/LabApps.Actors.Runtime.AzureFn/EntityRuntime.cs
IEntityActor.cs
/LabApps.Actors.Runtime.AzureFn/IEntityActor.cs
/LabApps.Actors.Runtime.AzureFn/IEntityActor.cs
LabApps.Actors.Runtime.AzureFn.csproj
/LabApps.Actors.Runtime.AzureFn/LabApps.Actors.Runtime.AzureFn.csproj
/LabApps.Actors.Runtime.AzureFn/LabApps.Actors.Runtime.AzureFn.csproj
TypedEntityActorRef.cs
/LabApps.Actors.Runtime.AzureFn/TypedEntityActorRef.cs
/LabApps.Actors.Runtime.AzureFn/TypedEntityActorRef.cs
actors.proto
/LabApps.Actors.Server.gRPC/actors.proto
/LabApps.Actors.Server.gRPC/actors.proto
ActorService.cs
/LabApps.Actors.Server.gRPC/ActorService.cs
/LabApps.Actors.Server.gRPC/ActorService.cs
LabApps.Actors.Server.gRPC.csproj
/LabApps.Actors.Server.gRPC/LabApps.Actors.Server.gRPC.csproj
/LabApps.Actors.Server.gRPC/LabApps.Actors.Server.gRPC.csproj
AzFnClient.cs
/LabApps.Actors.Testing2.gRPCCli/AzFnClient.cs
/LabApps.Actors.Testing2.gRPCCli/AzFnClient.cs
LabApps.Actors.Testing2.gRPCCli.csproj
/LabApps.Actors.Testing2.gRPCCli/LabApps.Actors.Testing2.gRPCCli.csproj
/LabApps.Actors.Testing2.gRPCCli/LabApps.Actors.Testing2.gRPCCli.csproj
Program.cs
/LabApps.Actors.Testing2.gRPCCli/Program.cs
/LabApps.Actors.Testing2.gRPCCli/Program.cs
appsettings.Development.json
/LabApps.Actors.Testing2.gRPCServer/appsettings.Development.json
/LabApps.Actors.Testing2.gRPCServer/appsettings.Development.json
appsettings.json
/LabApps.Actors.Testing2.gRPCServer/appsettings.json
/LabApps.Actors.Testing2.gRPCServer/appsettings.json
LabApps.Actors.Testing2.gRPCServer.csproj
/LabApps.Actors.Testing2.gRPCServer/LabApps.Actors.Testing2.gRPCServer.csproj
/LabApps.Actors.Testing2.gRPCServer/LabApps.Actors.Testing2.gRPCServer.csproj
Program.cs
/LabApps.Actors.Testing2.gRPCServer/Program.cs
/LabApps.Actors.Testing2.gRPCServer/Program.cs
Startup.cs
/LabApps.Actors.Testing2.gRPCServer/Startup.cs
/LabApps.Actors.Testing2.gRPCServer/Startup.cs
Actors.sln
/Actors.sln
/Actors.sln