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

Method Read

cmd/super/dev/csup/command.go:99–124  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

97}
98
99func (r *reader) Read() (*super.Value, error) {
100 for {
101 if r.meta == nil {
102 hdr, err := r.readHeader()
103 if err != nil {
104 if err == io.EOF {
105 err = nil
106 }
107 return nil, err
108 }
109 r.meta = bsupio.NewReader(r.sctx, io.LimitReader(r.reader, int64(hdr.MetaSize)))
110 r.dataSize = int(hdr.DataSize) + int(hdr.TypeSize) //XXX should read types
111 val, err := r.marshaler.Marshal(hdr)
112 return val.Ptr(), err
113 }
114 val, err := r.meta.Read()
115 if val != nil || err != nil {
116 return val, err
117 }
118 if err := r.meta.Close(); err != nil {
119 return nil, err
120 }
121 r.meta = nil
122 r.skip(r.dataSize)
123 }
124}
125
126func (r *reader) readHeader() (csup.Header, error) {
127 var bytes [csup.HeaderSize]byte

Callers

nothing calls this directly

Calls 7

readHeaderMethod · 0.95
skipMethod · 0.95
NewReaderFunction · 0.92
PtrMethod · 0.80
ReadMethod · 0.65
CloseMethod · 0.65
MarshalMethod · 0.45

Tested by

no test coverage detected