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

Method decode

sio/bsupio/types.go:241–274  ·  view source on GitHub ↗
(b *buffer)

Source from the content-addressed store, hash-verified

239}
240
241func (d *Decoder) decode(b *buffer) error {
242 for b.length() > 0 {
243 code, err := b.ReadByte()
244 if err != nil {
245 return err
246 }
247 switch code {
248 case TypeDefRecord:
249 err = d.readTypeRecord(b)
250 case TypeDefSet:
251 err = d.readTypeSet(b)
252 case TypeDefArray:
253 err = d.readTypeArray(b)
254 case TypeDefMap:
255 err = d.readTypeMap(b)
256 case TypeDefUnion:
257 err = d.readTypeUnion(b)
258 case TypeDefEnum:
259 err = d.readTypeEnum(b)
260 case TypeDefName:
261 err = d.readTypeName(b)
262 case TypeDefError:
263 err = d.readTypeError(b)
264 case TypeDefFusion:
265 err = d.readTypeFusion(b)
266 default:
267 return fmt.Errorf("unknown BSUP typedef code: %d", code)
268 }
269 if err != nil {
270 return err
271 }
272 }
273 return nil
274}
275
276func (d *Decoder) readTypeRecord(b *buffer) error {
277 nfields, err := readUvarintAsInt(b)

Callers 3

writeSyncFunction · 0.80
loadStringMethod · 0.80
decodeTypesMethod · 0.80

Calls 11

readTypeRecordMethod · 0.95
readTypeSetMethod · 0.95
readTypeArrayMethod · 0.95
readTypeMapMethod · 0.95
readTypeUnionMethod · 0.95
readTypeEnumMethod · 0.95
readTypeNameMethod · 0.95
readTypeErrorMethod · 0.95
readTypeFusionMethod · 0.95
lengthMethod · 0.65
ReadByteMethod · 0.45

Tested by

no test coverage detected