dotnet-cqrs/Svrnty.CQRS.Events.Abstractions/Streaming/StreamScope.cs

30 lines
1.0 KiB
C#

namespace Svrnty.CQRS.Events.Abstractions.Streaming;
/// <summary>
/// Defines the visibility scope of an event stream.
/// </summary>
/// <remarks>
/// <para>
/// <strong>Internal</strong>: Events stay within the same service (default).
/// Uses fast in-process or gRPC delivery. Secure by default - no external exposure.
/// </para>
/// <para>
/// <strong>CrossService</strong>: Events are published to external services via message broker.
/// Requires explicit configuration with RabbitMQ, Kafka, etc. Enables microservice communication.
/// </para>
/// </remarks>
public enum StreamScope
{
/// <summary>
/// Internal scope: Events are only available within the same service (default).
/// Fast delivery via in-memory or gRPC. Secure - no external exposure.
/// </summary>
Internal = 0,
/// <summary>
/// Cross-service scope: Events are published externally via message broker.
/// Enables communication between different services. Requires message broker configuration.
/// </summary>
CrossService = 1
}