module
Karma::Idempotency
Defined in:
idempotency.cridempotency/committed_stream.cr
idempotency/committed_streams.cr
idempotency/fingerprint.cr
idempotency/record.cr
idempotency/registry.cr
idempotency/store.cr
Constant Summary
-
SNAPSHOT_FILE_NAME =
"karma.idempotency.json"
Class Method Summary
- .commit_stream(stream, begin_fingerprint : String, chunk_fingerprints : Hash(UInt64, String)) : CommittedStream
- .committed_stream?(stream_id : String) : CommittedStream | Nil
- .committed_stream_count : Int32
- .committed_streams : Array(CommittedStream)
- .dump(dump_dir = Karma.config.dump_dir, last_lsn = snapshot_lsn) : SnapshotMetadata
- .eligible?(directive) : Bool
- .execute(directive, use_persisted_timestamp : Bool = false, &)
- .fetch_chunk(offset : UInt64 = 0_u64, limit : Int32 = Karma::Backup::SNAPSHOT_CHUNK_DEFAULT_BYTES, dump_dir = Karma.config.dump_dir)
- .fingerprint(directive) : String
- .info(dump_dir = Karma.config.dump_dir) : SnapshotMetadata | Nil
- .install_stream(metadata : SnapshotMetadata, dump_dir = Karma.config.dump_dir, &) : String
- .metadata_path(dump_dir = Karma.config.dump_dir) : String
- .metrics
- .prune(before_unix : Int64, limit : Int32 | Nil = nil)
- .records : Array(Record)
- .replace_committed_streams(records : Array(CommittedStream)) : Nil
- .replace_records(records : Array(Record)) : Nil
- .reset! : Nil
- .restore(dump_dir = Karma.config.dump_dir) : Nil
- .snapshot_path(dump_dir = Karma.config.dump_dir) : String
- .store(record : Record) : Nil
Class Method Detail
def self.commit_stream(stream, begin_fingerprint : String, chunk_fingerprints : Hash(UInt64, String)) : CommittedStream
#
def self.fetch_chunk(offset : UInt64 = 0_u64, limit : Int32 = Karma::Backup::SNAPSHOT_CHUNK_DEFAULT_BYTES, dump_dir = Karma.config.dump_dir)
#
def self.install_stream(metadata : SnapshotMetadata, dump_dir = Karma.config.dump_dir, &) : String
#