MCPcopy Create free account
hub / github.com/brimdata/super / decodeTypes

Method decodeTypes

sio/bsupio/parser.go:75–104  ·  view source on GitHub ↗
(code byte)

Source from the content-addressed store, hash-verified

73}
74
75func (p *parser) decodeTypes(code byte) error {
76 if (code & 0x40) != 0 {
77 // Compressed
78 f, err := p.readCompressedFrame(code)
79 if err != nil {
80 return err
81 }
82 if err := f.decompress(); err != nil {
83 return err
84 }
85 if err := p.types.decode(f.ubuf); err != nil {
86 return err
87 }
88 f.free()
89 return nil
90 } else {
91 // Uncompressed.
92 // b points into the peaker buffer, but not a problem
93 // as we decode everything before the next read.
94 f, err := p.readFrame(code)
95 if err != nil {
96 return err
97 }
98 tmpBuf := buffer{data: f}
99 if err := p.types.decode(&tmpBuf); err != nil {
100 return err
101 }
102 return nil
103 }
104}
105
106func (p *parser) decodeValues(code byte) (frame, error) {
107 if (code & 0x40) != 0 {

Callers 1

readMethod · 0.95

Calls 5

readCompressedFrameMethod · 0.95
readFrameMethod · 0.95
decompressMethod · 0.80
decodeMethod · 0.80
freeMethod · 0.45

Tested by

no test coverage detected