17 lines
800 B
C#
17 lines
800 B
C#
using NATS.Server.JetStream.Models;
|
|
|
|
namespace NATS.Server.JetStream.Storage;
|
|
|
|
public interface IStreamStore
|
|
{
|
|
ValueTask<ulong> AppendAsync(string subject, ReadOnlyMemory<byte> payload, CancellationToken ct);
|
|
ValueTask<StoredMessage?> LoadAsync(ulong sequence, CancellationToken ct);
|
|
ValueTask<StoredMessage?> LoadLastBySubjectAsync(string subject, CancellationToken ct);
|
|
ValueTask<IReadOnlyList<StoredMessage>> ListAsync(CancellationToken ct);
|
|
ValueTask<bool> RemoveAsync(ulong sequence, CancellationToken ct);
|
|
ValueTask PurgeAsync(CancellationToken ct);
|
|
ValueTask<byte[]> CreateSnapshotAsync(CancellationToken ct);
|
|
ValueTask RestoreSnapshotAsync(ReadOnlyMemory<byte> snapshot, CancellationToken ct);
|
|
ValueTask<StreamState> GetStateAsync(CancellationToken ct);
|
|
}
|