MCPcopy Create free account
hub / github.com/GoMudEngine/GoMud / writeChecksum

Method writeChecksum

internal/users/index.go:267–291  ·  view source on GitHub ↗

writeChecksum persists a new checksum value into the index header on disk and updates the in-memory metadata.

(checksum uint64)

Source from the content-addressed store, hash-verified

265// writeChecksum persists a new checksum value into the index header on disk
266// and updates the in-memory metadata.
267func (idx *UserIndex) writeChecksum(checksum uint64) error {
268 idx.mu.Lock()
269 defer idx.mu.Unlock()
270
271 idx.metaData.Checksum = checksum
272
273 headerBytes, err := idx.metaData.Format()
274 if err != nil {
275 return err
276 }
277
278 f, err := os.OpenFile(idx.Filename, os.O_RDWR, 0644)
279 if err != nil {
280 return err
281 }
282 defer f.Close()
283
284 if _, err := f.Seek(0, io.SeekStart); err != nil {
285 return err
286 }
287 if _, err := f.Write(headerBytes); err != nil {
288 return err
289 }
290 return f.Sync()
291}
292
293func (idx *UserIndex) GetMetaData() IndexMetaData {
294 idx.mu.RLock()

Callers 1

RebuildMethod · 0.95

Calls 5

LockMethod · 0.80
UnlockMethod · 0.80
FormatMethod · 0.80
CloseMethod · 0.65
WriteMethod · 0.65

Tested by

no test coverage detected