MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / DecodeFieldKey

Method DecodeFieldKey

internal/utils/kvstore/table.go:320–335  ·  view source on GitHub ↗
(fieldName string, fieldKey []byte)

Source from the content-addressed store, hash-verified

318}
319
320func (this *Table[T]) DecodeFieldKey(fieldName string, fieldKey []byte) (fieldValue []byte, key []byte, err error) {
321 var l = len(fieldKey)
322 var baseLen = len(this.FieldKey(fieldName)) + 1 /** $ **/ + 2 /** separator length **/ + 2 /** field length **/
323 if l < baseLen {
324 err = errors.New("invalid field key")
325 return
326 }
327
328 var fieldValueLen = binary.BigEndian.Uint16(fieldKey[l-2:])
329 var data = fieldKey[baseLen-4 : l-2]
330
331 fieldValue = data[:fieldValueLen]
332 key = data[fieldValueLen+2: /** separator length **/]
333
334 return
335}
336
337func (this *Table[T]) Close() error {
338 this.isClosed = true

Callers 2

iterateFieldsMethod · 0.80

Calls 1

FieldKeyMethod · 0.95

Tested by 1