MCPcopy Create free account
hub / github.com/blobcache/blobcache / ReadFrom

Method ReadFrom

src/bcp/message.go:197–210  ·  view source on GitHub ↗
(r io.Reader)

Source from the content-addressed store, hash-verified

195}
196
197func (m *Message) ReadFrom(r io.Reader) (int64, error) {
198 m.buf = m.buf[:0]
199 var header MessageHeader
200 if _, err := io.ReadFull(r, header[:]); err != nil {
201 return 0, err
202 }
203 m.buf = append(m.buf, header[:]...)
204 bodyLen := header.BodyLen()
205 m.buf = extendToLen(m.buf, len(m.buf)+bodyLen)
206 if _, err := io.ReadFull(r, m.buf[HeaderLen:]); err != nil {
207 return 0, err
208 }
209 return int64(len(m.buf)), nil
210}
211
212func (m *Message) ReadDatagramFrom(r io.Reader, alloc int) error {
213 if len(m.buf) < alloc {

Callers 5

handleUniStreamMethod · 0.95
TestMessageReadWriteFunction · 0.95
ServeStreamFunction · 0.95
AskMethod · 0.80
AskMethod · 0.80

Calls 2

BodyLenMethod · 0.95
extendToLenFunction · 0.85

Tested by 1

TestMessageReadWriteFunction · 0.76