23
vendor/github.com/anacrolix/missinggo/section_writer.go
generated
vendored
Normal file
23
vendor/github.com/anacrolix/missinggo/section_writer.go
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
package missinggo
|
||||
|
||||
import "io"
|
||||
|
||||
type SectionWriter struct {
|
||||
w io.WriterAt
|
||||
off, len int64
|
||||
}
|
||||
|
||||
func NewSectionWriter(w io.WriterAt, off, len int64) *SectionWriter {
|
||||
return &SectionWriter{w, off, len}
|
||||
}
|
||||
|
||||
func (me *SectionWriter) WriteAt(b []byte, off int64) (n int, err error) {
|
||||
if off >= me.len {
|
||||
err = io.EOF
|
||||
return
|
||||
}
|
||||
if off+int64(len(b)) > me.len {
|
||||
b = b[:me.len-off]
|
||||
}
|
||||
return me.w.WriteAt(b, me.off+off)
|
||||
}
|
||||
Reference in New Issue
Block a user