From 168262f61afec02599a22302eb57fed57840cc04 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 26 Nov 2017 20:15:35 +0100 Subject: [PATCH] Actor => Grain --- .../EventConsumerGrain.cs} | 8 ++++---- .../EventConsumerGrainManager.cs} | 12 ++++++------ .../{Actors => Grains}/EventConsumerState.cs | 2 +- .../Messages/GetStatesRequest.cs | 2 +- .../Messages/GetStatesResponse.cs | 2 +- .../Messages/ResetConsumerMessage.cs | 2 +- .../Messages/StartConsumerMessage.cs | 2 +- .../Messages/StopConsumerMessage.cs | 2 +- .../EventConsumers/EventConsumersController.cs | 2 +- src/Squidex/Config/Domain/ReadServices.cs | 6 +++--- tests/Benchmarks/Tests/HandleEvents.cs | 10 +++++----- .../Tests/HandleEventsWithManyWriters.cs | 10 +++++----- ...rActorTests.cs => EventConsumerGrainTests.cs} | 16 ++++++++-------- .../Events/Actors/EventConsumerManagerTests.cs | 16 ++++++++-------- .../CQRS/Events/RetrySubscriptionTests.cs | 2 +- 15 files changed, 47 insertions(+), 47 deletions(-) rename src/Squidex.Infrastructure/CQRS/Events/{Actors/EventConsumerActor.cs => Grains/EventConsumerGrain.cs} (98%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors/EventConsumerActorManager.cs => Grains/EventConsumerGrainManager.cs} (88%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors => Grains}/EventConsumerState.cs (96%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors => Grains}/Messages/GetStatesRequest.cs (86%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors => Grains}/Messages/GetStatesResponse.cs (88%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors => Grains}/Messages/ResetConsumerMessage.cs (88%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors => Grains}/Messages/StartConsumerMessage.cs (88%) rename src/Squidex.Infrastructure/CQRS/Events/{Actors => Grains}/Messages/StopConsumerMessage.cs (88%) rename tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/{EventConsumerActorTests.cs => EventConsumerGrainTests.cs} (96%) diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActor.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerGrain.cs similarity index 98% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActor.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerGrain.cs index c8f722b6f..b45a5a416 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActor.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerGrain.cs @@ -1,5 +1,5 @@ // ========================================================================== -// EventConsumerActor.cs +// EventConsumerGrain.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group @@ -12,9 +12,9 @@ using Squidex.Infrastructure.Log; using Squidex.Infrastructure.States; using Squidex.Infrastructure.Tasks; -namespace Squidex.Infrastructure.CQRS.Events.Actors +namespace Squidex.Infrastructure.CQRS.Events.Grains { - public class EventConsumerActor : StatefulObject, IEventSubscriber + public class EventConsumerGrain : StatefulObject, IEventSubscriber { private readonly EventDataFormatter formatter; private readonly IEventStore eventStore; @@ -23,7 +23,7 @@ namespace Squidex.Infrastructure.CQRS.Events.Actors private IEventSubscription currentSubscription; private IEventConsumer eventConsumer; - public EventConsumerActor( + public EventConsumerGrain( EventDataFormatter formatter, IEventStore eventStore, ISemanticLog log) diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActorManager.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerGrainManager.cs similarity index 88% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActorManager.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerGrainManager.cs index 864e25a50..074aa4052 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActorManager.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerGrainManager.cs @@ -10,19 +10,19 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Squidex.Infrastructure.CQRS.Events.Actors.Messages; +using Squidex.Infrastructure.CQRS.Events.Grains.Messages; using Squidex.Infrastructure.States; -namespace Squidex.Infrastructure.CQRS.Events.Actors +namespace Squidex.Infrastructure.CQRS.Events.Grains { - public sealed class EventConsumerActorManager : DisposableObjectBase, IExternalSystem + public sealed class EventConsumerGrainManager : DisposableObjectBase, IExternalSystem { private readonly IStateFactory factory; private readonly IPubSub pubSub; private readonly List consumers; private readonly List subscriptions = new List(); - public EventConsumerActorManager(IEnumerable consumers, IPubSub pubSub, IStateFactory factory) + public EventConsumerGrainManager(IEnumerable consumers, IPubSub pubSub, IStateFactory factory) { Guard.NotNull(pubSub, nameof(pubSub)); Guard.NotNull(factory, nameof(factory)); @@ -35,11 +35,11 @@ namespace Squidex.Infrastructure.CQRS.Events.Actors public void Connect() { - var actors = new Dictionary(); + var actors = new Dictionary(); foreach (var consumer in consumers) { - var actor = factory.GetDetachedAsync(consumer.Name).Result; + var actor = factory.GetDetachedAsync(consumer.Name).Result; actors[consumer.Name] = actor; actor.Activate(consumer); diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerState.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerState.cs similarity index 96% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerState.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerState.cs index 9e456e10b..094aab180 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerState.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/EventConsumerState.cs @@ -9,7 +9,7 @@ using System; using Squidex.Infrastructure.Reflection; -namespace Squidex.Infrastructure.CQRS.Events.Actors +namespace Squidex.Infrastructure.CQRS.Events.Grains { public sealed class EventConsumerState { diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/GetStatesRequest.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/GetStatesRequest.cs similarity index 86% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/GetStatesRequest.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/GetStatesRequest.cs index 9e67dbcb7..d998a075f 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/GetStatesRequest.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/GetStatesRequest.cs @@ -6,7 +6,7 @@ // All rights reserved. // ========================================================================== -namespace Squidex.Infrastructure.CQRS.Events.Actors.Messages +namespace Squidex.Infrastructure.CQRS.Events.Grains.Messages { public sealed class GetStatesRequest { diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/GetStatesResponse.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/GetStatesResponse.cs similarity index 88% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/GetStatesResponse.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/GetStatesResponse.cs index 95d23de57..22c04dbac 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/GetStatesResponse.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/GetStatesResponse.cs @@ -6,7 +6,7 @@ // All rights reserved. // ========================================================================== -namespace Squidex.Infrastructure.CQRS.Events.Actors.Messages +namespace Squidex.Infrastructure.CQRS.Events.Grains.Messages { public sealed class GetStatesResponse { diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/ResetConsumerMessage.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/ResetConsumerMessage.cs similarity index 88% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/ResetConsumerMessage.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/ResetConsumerMessage.cs index f2e09aca2..c99430b20 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/ResetConsumerMessage.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/ResetConsumerMessage.cs @@ -6,7 +6,7 @@ // All rights reserved. // ========================================================================== -namespace Squidex.Infrastructure.CQRS.Events.Actors.Messages +namespace Squidex.Infrastructure.CQRS.Events.Grains.Messages { public sealed class ResetConsumerMessage { diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/StartConsumerMessage.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/StartConsumerMessage.cs similarity index 88% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/StartConsumerMessage.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/StartConsumerMessage.cs index 29fa49e1b..af96e8ba5 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/StartConsumerMessage.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/StartConsumerMessage.cs @@ -6,7 +6,7 @@ // All rights reserved. // ========================================================================== -namespace Squidex.Infrastructure.CQRS.Events.Actors.Messages +namespace Squidex.Infrastructure.CQRS.Events.Grains.Messages { public sealed class StartConsumerMessage { diff --git a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/StopConsumerMessage.cs b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/StopConsumerMessage.cs similarity index 88% rename from src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/StopConsumerMessage.cs rename to src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/StopConsumerMessage.cs index ea32b4b17..d04cae113 100644 --- a/src/Squidex.Infrastructure/CQRS/Events/Actors/Messages/StopConsumerMessage.cs +++ b/src/Squidex.Infrastructure/CQRS/Events/Grains/Messages/StopConsumerMessage.cs @@ -6,7 +6,7 @@ // All rights reserved. // ========================================================================== -namespace Squidex.Infrastructure.CQRS.Events.Actors.Messages +namespace Squidex.Infrastructure.CQRS.Events.Grains.Messages { public sealed class StopConsumerMessage { diff --git a/src/Squidex/Areas/Api/Controllers/EventConsumers/EventConsumersController.cs b/src/Squidex/Areas/Api/Controllers/EventConsumers/EventConsumersController.cs index 6a042222e..de8a17946 100644 --- a/src/Squidex/Areas/Api/Controllers/EventConsumers/EventConsumersController.cs +++ b/src/Squidex/Areas/Api/Controllers/EventConsumers/EventConsumersController.cs @@ -14,7 +14,7 @@ using NSwag.Annotations; using Squidex.Areas.Api.Controllers.EventConsumers.Models; using Squidex.Infrastructure; using Squidex.Infrastructure.CQRS.Commands; -using Squidex.Infrastructure.CQRS.Events.Actors.Messages; +using Squidex.Infrastructure.CQRS.Events.Grains.Messages; using Squidex.Infrastructure.Reflection; using Squidex.Pipeline; diff --git a/src/Squidex/Config/Domain/ReadServices.cs b/src/Squidex/Config/Domain/ReadServices.cs index 61e1c62bb..3f7c70164 100644 --- a/src/Squidex/Config/Domain/ReadServices.cs +++ b/src/Squidex/Config/Domain/ReadServices.cs @@ -30,7 +30,7 @@ using Squidex.Domain.Users; using Squidex.Infrastructure; using Squidex.Infrastructure.Assets; using Squidex.Infrastructure.CQRS.Events; -using Squidex.Infrastructure.CQRS.Events.Actors; +using Squidex.Infrastructure.CQRS.Events.Grains; using Squidex.Infrastructure.States; using Squidex.Pipeline; @@ -44,9 +44,9 @@ namespace Squidex.Config.Domain if (consumeEvents) { - services.AddTransient(); + services.AddTransient(); - services.AddSingletonAs() + services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); diff --git a/tests/Benchmarks/Tests/HandleEvents.cs b/tests/Benchmarks/Tests/HandleEvents.cs index a9c060ce3..f42dd9bb5 100644 --- a/tests/Benchmarks/Tests/HandleEvents.cs +++ b/tests/Benchmarks/Tests/HandleEvents.cs @@ -10,7 +10,7 @@ using System; using Benchmarks.Tests.TestData; using Microsoft.Extensions.DependencyInjection; using Squidex.Infrastructure.CQRS.Events; -using Squidex.Infrastructure.CQRS.Events.Actors; +using Squidex.Infrastructure.CQRS.Events.Grains; using Squidex.Infrastructure.States; namespace Benchmarks.Tests @@ -20,7 +20,7 @@ namespace Benchmarks.Tests private const int NumEvents = 5000; private IServiceProvider services; private IEventStore eventStore; - private EventConsumerActor eventConsumerActor; + private EventConsumerGrain eventConsumerGrain; private EventDataFormatter eventDataFormatter; private MyEventConsumer eventConsumer; @@ -33,10 +33,10 @@ namespace Benchmarks.Tests eventStore = services.GetRequiredService(); eventDataFormatter = services.GetRequiredService(); - eventConsumerActor = services.GetRequiredService(); + eventConsumerGrain = services.GetRequiredService(); - eventConsumerActor.ActivateAsync(services.GetRequiredService>()).Wait(); - eventConsumerActor.Activate(eventConsumer); + eventConsumerGrain.ActivateAsync(services.GetRequiredService>()).Wait(); + eventConsumerGrain.Activate(eventConsumer); } public override long Run() diff --git a/tests/Benchmarks/Tests/HandleEventsWithManyWriters.cs b/tests/Benchmarks/Tests/HandleEventsWithManyWriters.cs index b76640717..c2c916e37 100644 --- a/tests/Benchmarks/Tests/HandleEventsWithManyWriters.cs +++ b/tests/Benchmarks/Tests/HandleEventsWithManyWriters.cs @@ -11,7 +11,7 @@ using System.Threading.Tasks; using Benchmarks.Tests.TestData; using Microsoft.Extensions.DependencyInjection; using Squidex.Infrastructure.CQRS.Events; -using Squidex.Infrastructure.CQRS.Events.Actors; +using Squidex.Infrastructure.CQRS.Events.Grains; using Squidex.Infrastructure.States; namespace Benchmarks.Tests @@ -22,7 +22,7 @@ namespace Benchmarks.Tests private const int NumStreams = 10; private IServiceProvider services; private IEventStore eventStore; - private EventConsumerActor eventConsumerActor; + private EventConsumerGrain eventConsumerGrain; private EventDataFormatter eventDataFormatter; private MyEventConsumer eventConsumer; @@ -35,10 +35,10 @@ namespace Benchmarks.Tests eventStore = services.GetRequiredService(); eventDataFormatter = services.GetRequiredService(); - eventConsumerActor = services.GetRequiredService(); + eventConsumerGrain = services.GetRequiredService(); - eventConsumerActor.ActivateAsync(services.GetRequiredService>()).Wait(); - eventConsumerActor.Activate(eventConsumer); + eventConsumerGrain.ActivateAsync(services.GetRequiredService>()).Wait(); + eventConsumerGrain.Activate(eventConsumer); } public override long Run() diff --git a/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerActorTests.cs b/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerGrainTests.cs similarity index 96% rename from tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerActorTests.cs rename to tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerGrainTests.cs index 1e86fba58..e4b4068cb 100644 --- a/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerActorTests.cs +++ b/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerGrainTests.cs @@ -1,5 +1,5 @@ // ========================================================================== -// EventConsumerActorTests.cs +// EventConsumerGrainTests.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group @@ -14,17 +14,17 @@ using Squidex.Infrastructure.Log; using Squidex.Infrastructure.States; using Xunit; -namespace Squidex.Infrastructure.CQRS.Events.Actors +namespace Squidex.Infrastructure.CQRS.Events.Grains { - public class EventConsumerActorTests + public class EventConsumerGrainTests { public sealed class MyEvent : IEvent { } - public sealed class MyEventConsumerActor : EventConsumerActor + public sealed class MyEventConsumerGrain : EventConsumerGrain { - public MyEventConsumerActor(EventDataFormatter formatter, IEventStore eventStore, ISemanticLog log) + public MyEventConsumerGrain(EventDataFormatter formatter, IEventStore eventStore, ISemanticLog log) : base(formatter, eventStore, log) { } @@ -44,12 +44,12 @@ namespace Squidex.Infrastructure.CQRS.Events.Actors private readonly EventDataFormatter formatter = A.Fake(); private readonly EventData eventData = new EventData(); private readonly Envelope envelope = new Envelope(new MyEvent()); - private readonly EventConsumerActor sut; + private readonly EventConsumerGrain sut; private readonly string consumerName; private readonly string initialPosition = Guid.NewGuid().ToString(); private EventConsumerState state = new EventConsumerState(); - public EventConsumerActorTests() + public EventConsumerGrainTests() { state.Position = initialPosition; @@ -69,7 +69,7 @@ namespace Squidex.Infrastructure.CQRS.Events.Actors A.CallTo(() => formatter.Parse(eventData, true)).Returns(envelope); - sut = new MyEventConsumerActor(formatter, eventStore, log); + sut = new MyEventConsumerGrain(formatter, eventStore, log); sutSubscriber = sut; sut.ActivateAsync(stateHolder).Wait(); diff --git a/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerManagerTests.cs b/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerManagerTests.cs index d57cbf030..0bf8de942 100644 --- a/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerManagerTests.cs +++ b/tests/Squidex.Infrastructure.Tests/CQRS/Events/Actors/EventConsumerManagerTests.cs @@ -10,33 +10,33 @@ using System; using System.Threading.Tasks; using FakeItEasy; using FluentAssertions; -using Squidex.Infrastructure.CQRS.Events.Actors.Messages; +using Squidex.Infrastructure.CQRS.Events.Grains.Messages; using Squidex.Infrastructure.States; using Xunit; -namespace Squidex.Infrastructure.CQRS.Events.Actors +namespace Squidex.Infrastructure.CQRS.Events.Grains { public class EventConsumerManagerTests { - private readonly EventConsumerActor actor1 = A.Fake(); - private readonly EventConsumerActor actor2 = A.Fake(); + private readonly EventConsumerGrain actor1 = A.Fake(); + private readonly EventConsumerGrain actor2 = A.Fake(); private readonly IStateFactory factory = A.Fake(); private readonly IEventConsumer consumer1 = A.Fake(); private readonly IEventConsumer consumer2 = A.Fake(); private readonly IPubSub pubSub = new InMemoryPubSub(); private readonly string consumerName1 = "Consumer1"; private readonly string consumerName2 = "Consumer2"; - private readonly EventConsumerActorManager sut; + private readonly EventConsumerGrainManager sut; public EventConsumerManagerTests() { A.CallTo(() => consumer1.Name).Returns(consumerName1); A.CallTo(() => consumer2.Name).Returns(consumerName2); - A.CallTo(() => factory.GetDetachedAsync(consumerName1)).Returns(actor1); - A.CallTo(() => factory.GetDetachedAsync(consumerName2)).Returns(actor2); + A.CallTo(() => factory.GetDetachedAsync(consumerName1)).Returns(actor1); + A.CallTo(() => factory.GetDetachedAsync(consumerName2)).Returns(actor2); - sut = new EventConsumerActorManager(new IEventConsumer[] { consumer1, consumer2 }, pubSub, factory); + sut = new EventConsumerGrainManager(new IEventConsumer[] { consumer1, consumer2 }, pubSub, factory); } [Fact] diff --git a/tests/Squidex.Infrastructure.Tests/CQRS/Events/RetrySubscriptionTests.cs b/tests/Squidex.Infrastructure.Tests/CQRS/Events/RetrySubscriptionTests.cs index f68d22ae1..2a619ac4e 100644 --- a/tests/Squidex.Infrastructure.Tests/CQRS/Events/RetrySubscriptionTests.cs +++ b/tests/Squidex.Infrastructure.Tests/CQRS/Events/RetrySubscriptionTests.cs @@ -1,5 +1,5 @@ // ========================================================================== -// EventConsumerActorTests.cs +// RetrySubscriptionTests.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group