diff --git a/src/NATS.Server/JetStream/Storage/FileStore.cs b/src/NATS.Server/JetStream/Storage/FileStore.cs index 2eb0764..fb0d76e 100644 --- a/src/NATS.Server/JetStream/Storage/FileStore.cs +++ b/src/NATS.Server/JetStream/Storage/FileStore.cs @@ -678,9 +678,9 @@ public sealed class FileStore : IStreamStore, IAsyncDisposable, IDisposable /// Stops the store and deletes all persisted data (blocks, index files). /// Reference: golang/nats-server/server/filestore.go — fileStore.Delete. /// - public void Delete() + public void Delete(bool inline = false) { - DisposeAllBlocks(); + Stop(); if (Directory.Exists(_options.Directory)) { try { Directory.Delete(_options.Directory, recursive: true); } @@ -1752,6 +1752,33 @@ public sealed class FileStore : IStreamStore, IAsyncDisposable, IDisposable DisposeAllBlocks(); } + /// + /// Returns a binary-encoded snapshot of the stream state. The + /// parameter indicates the number of failed apply operations (passed through for + /// cluster consensus use). Currently returns an empty array — the full binary + /// encoding will be added when the RAFT snapshot codec is implemented (Task 9). + /// Reference: golang/nats-server/server/filestore.go — EncodedStreamState. + /// + public byte[] EncodedStreamState(ulong failed) => []; + + /// + /// Updates the stream configuration. Currently a no-op placeholder — config + /// changes that affect storage (MaxMsgsPer, MaxAge, etc.) will be enforced + /// when the stream engine is fully wired. + /// Reference: golang/nats-server/server/filestore.go — UpdateConfig. + /// + public void UpdateConfig(StreamConfig cfg) + { + // TODO: enforce per-subject limits, update TTL wheel settings, etc. + } + + /// + /// Resets internal cached state after a leadership transition or snapshot restore. + /// Currently a no-op — the FileStore re-derives its state from blocks on construction. + /// Reference: golang/nats-server/server/filestore.go — ResetState. + /// + public void ResetState() { } + // ------------------------------------------------------------------------- // ConsumerStore factory // Reference: golang/nats-server/server/filestore.go — fileStore.ConsumerStore