namespace Svrnty.CQRS.Events.Abstractions.Streaming;
///
/// Defines the storage semantics for an event stream.
///
///
///
/// Ephemeral: Message queue semantics where events are deleted after consumption.
/// Suitable for notifications, real-time updates, and transient data that doesn't need to be replayed.
///
///
/// Persistent: Event log semantics where events are retained for future replay.
/// Suitable for audit logs, event sourcing, analytics, and any scenario requiring event history.
///
///
public enum StreamType
{
///
/// Ephemeral stream: Events are deleted after consumption (message queue semantics).
/// Fast and memory-efficient, but no replay capability.
///
Ephemeral = 0,
///
/// Persistent stream: Events are retained in an append-only log (event sourcing semantics).
/// Enables replay, audit trails, and time-travel queries, but requires more storage.
///
Persistent = 1
}