MCPcopy
hub / github.com/txthinking/brook / Read

Method Read

streamserver.go:199–217  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

197}
198
199func (s *StreamServer) Read() (int, error) {
200 if _, err := io.ReadFull(s.Client, s.RB[:2+16]); err != nil {
201 return 0, err
202 }
203 if _, err := s.ca.Open(s.RB[:0], s.cn, s.RB[:2+16], nil); err != nil {
204 WaitReadErr(s.Client)
205 return 0, err
206 }
207 l := int(binary.BigEndian.Uint16(s.RB[:2]))
208 if _, err := io.ReadFull(s.Client, s.RB[2+16:2+16+l+16]); err != nil {
209 return 0, err
210 }
211 NextNonce(s.cn)
212 if _, err := s.ca.Open(s.RB[:2+16], s.cn, s.RB[2+16:2+16+l+16], nil); err != nil {
213 return 0, err
214 }
215 NextNonce(s.cn)
216 return l, nil
217}
218
219func (s *StreamServer) Clean() {
220 x.BP12.Put(s.cn)

Callers 2

NewStreamServerFunction · 0.95
ExchangeMethod · 0.95

Calls 2

WaitReadErrFunction · 0.85
NextNonceFunction · 0.85

Tested by

no test coverage detected