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

Method getMetaDataFromFile

internal/users/index.go:346–367  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

344}
345
346func (idx *UserIndex) getMetaDataFromFile() IndexMetaData {
347 f, err := os.Open(idx.Filename)
348 if err != nil {
349 return IndexMetaData{}
350 }
351 defer f.Close()
352
353 header := make([]byte, FixedHeaderTotalLength)
354 if _, err := io.ReadFull(f, header); err != nil {
355 return IndexMetaData{}
356 }
357
358 var meta IndexMetaData
359 meta.MetaDataSize = uint64(len(header))
360 headerContent := strings.TrimSpace(string(header[:FixedHeaderTotalLength-1]))
361 n, _ := fmt.Sscanf(headerContent, "VERSION=%d,RECORDCOUNT=%d,RECORDSIZE=%d,CHECKSUM=%d", &meta.IndexVersion, &meta.RecordCount, &meta.RecordSize, &meta.Checksum)
362 if n < 3 {
363 return IndexMetaData{}
364 }
365
366 return meta
367}
368
369// AddUser appends a new record to the index file and updates the header.
370func (idx *UserIndex) AddUser(userId int, username string) error {

Callers 1

InitUserIndexFunction · 0.80

Calls 2

CloseMethod · 0.65
OpenMethod · 0.45

Tested by

no test coverage detected