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

Method readFrame

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

Source from the content-addressed store, hash-verified

156}
157
158func (p *parser) readFrame(code byte) ([]byte, error) {
159 size, err := p.decodeLength(code)
160 if err != nil {
161 return nil, err
162 }
163 if size < 1 {
164 return nil, fmt.Errorf("bsupio: frame length (%d) too small", size)
165 }
166 if size > p.maxSize {
167 return nil, fmt.Errorf("bsupio: frame length (%d) exceeds maximum allowed (%d)", size, p.maxSize)
168 }
169 b, err := p.peeker.Read(size)
170 if err == peeker.ErrBufferOverflow {
171 return nil, fmt.Errorf("large value of %d bytes exceeds maximum read buffer", size)
172 }
173 return b, err
174}
175
176// readCompressedFrame parses the compression header and reads the compressed
177// payload from the peaker into a buffer. This allows the peaker to move on

Callers 3

decodeTypesMethod · 0.95
decodeValuesMethod · 0.95
decodeControlMethod · 0.95

Calls 2

decodeLengthMethod · 0.95
ReadMethod · 0.65

Tested by

no test coverage detected