MCPcopy Index your code
hub / github.com/Edgio/vflow / getDataLength

Method getDataLength

ipfix/decoder.go:482–506  ·  view source on GitHub ↗
(fieldSpecifierLen uint16, t FieldType)

Source from the content-addressed store, hash-verified

480}
481
482func (d *Decoder) getDataLength(fieldSpecifierLen uint16, t FieldType) (uint16, error) {
483 var (
484 err error
485 readLength uint16
486 )
487
488 r := d.reader
489
490 if (t == String || t == OctetArray) && (fieldSpecifierLen == 65535) {
491 var len8 uint8
492 if len8, err = r.Uint8(); err != nil {
493 return 0, err
494 } else if len8 == 255 {
495 if readLength, err = r.Uint16(); err != nil {
496 return 0, err
497 }
498 } else {
499 readLength = uint16(len8)
500 }
501 } else {
502 readLength = fieldSpecifierLen
503 }
504
505 return readLength, nil
506}
507
508func (d *Decoder) decodeData(tr TemplateRecord) ([]DecodedField, error) {
509 var (

Callers 1

decodeDataMethod · 0.95

Calls 2

Uint8Method · 0.80
Uint16Method · 0.80

Tested by

no test coverage detected