INNER CODE UNIT · Go

err

Edgio/vflow · ipfix/decoder.go:183

	for err == nil && setHeader.Length > uint16(d.reader.ReadCount()-startCount) && d.reader.Len() > 4 && setHeader.Length-uint16(d.reader.ReadCount()-startCount) > 4 {
		if setID := setHeader.SetID; setID == 2 || setID == 3 {
			// Template record or template option record

			// Check if only padding is left in this set. A template id of zero indicates padding bytes, which MUST be zero.
			if templateID, err := d.reader.PeekUint16(); err == nil && templateID == 0 {
				break
			}

			tr := TemplateRecord{}
			if setID == 2 {
				err = tr.unmarshal(d.reader)
			} else {
				err = tr.unmarshalOpts(d.reader)
			}
			if err == nil {
				mem.insert(tr.TemplateID, d.raddr, tr)
			}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…