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

Method Read

sio/csupio/reader.go:48–69  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

46}
47
48func (r *reader) Read() (*super.Value, error) {
49again:
50 if len(r.vals) == 0 {
51 hdr, off, err := r.stream.next()
52 if hdr == nil || err != nil {
53 return nil, err
54 }
55 o, err := csup.NewObjectFromHeader(io.NewSectionReader(r.readerAt, off, math.MaxInt64), *hdr)
56 if err != nil {
57 return nil, err
58 }
59 vec, err := vcache.NewObjectFromCSUP(o).Fetch(r.sctx, r.projection)
60 if err != nil {
61 return nil, err
62 }
63 r.materializeVector(vec)
64 goto again
65 }
66 val := r.vals[0]
67 r.vals = r.vals[1:]
68 return &val, nil
69}
70
71func (r *reader) materializeVector(vec vector.Any) {
72 r.vals = r.vals[:0]

Callers

nothing calls this directly

Calls 5

materializeVectorMethod · 0.95
NewObjectFromHeaderFunction · 0.92
NewObjectFromCSUPFunction · 0.92
nextMethod · 0.45
FetchMethod · 0.45

Tested by

no test coverage detected