MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / copyN

Method copyN

IceFireDB-SQLite/pkg/mysql/packet/conn.go:113–136  ·  view source on GitHub ↗
(dst io.Writer, src io.Reader, n int64)

Source from the content-addressed store, hash-verified

111}
112
113func (c *Conn) copyN(dst io.Writer, src io.Reader, n int64) (written int64, err error) {
114 for n > 0 {
115 bcap := cap(c.copyNBuf)
116 if int64(bcap) > n {
117 bcap = int(n)
118 }
119 buf := c.copyNBuf[:bcap]
120
121 rd, err := io.ReadAtLeast(src, buf, bcap)
122 n -= int64(rd)
123
124 if err != nil {
125 return written, errors.Trace(err)
126 }
127
128 wr, err := dst.Write(buf)
129 written += int64(wr)
130 if err != nil {
131 return written, errors.Trace(err)
132 }
133 }
134
135 return written, nil
136}
137
138func (c *Conn) ReadPacketTo(w io.Writer) error {
139 if _, err := io.ReadFull(c.reader, c.header[:4]); err != nil {

Callers 1

ReadPacketToMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected