// updateKeyIndex updates a key index by writing the new struct with an increased counter func updateKeyIndex(tx fileback.Tx, msgStruct *structs.MessageStruct, msgStructEncoded structs.MessageStructEncoded) error { // Ignore errors prev := tx.GetLast() if prev == nil { log.Errors("messagestore, globalindex getLast: NIL") err := tx.Append(msgStructEncoded) return err } prevStr := structs.MessageStructDecode(prev) if prevStr == nil { log.Errors("messagestore, globalindex decode: NIL") err := tx.Append(msgStructEncoded) return err } msgStruct.Counter = prevStr.Counter + 1 // Increase counter msgStructEncoded = msgStruct.Encode().Fill() err := tx.Append(msgStructEncoded) return err }