INNER CODE UNIT · Go
func
cshum/imagor · blob.go:297
func (b *Blob) init() {
b.once.Do(b.doInit)
}
func (b *Blob) installFanoutLocked(reader io.ReadCloser, size int64) {
fanout := fanoutreader.New(reader, int(size))
b.fanoutInstance = fanout
b.newReader = func() (io.ReadCloser, int64, error) {
return fanout.NewReader(), size, nil
}
if b.newReadSeeker != nil {
// Keep fanout for shared forward reads and only reopen the dedicated
// seekable reader if a consumer actually calls Seek.
newReadSeeker := b.newReadSeeker
b.newReadSeeker = func() (rs io.ReadSeekCloser, _ int64, err error) {
return &hybridReadSeeker{
reader: fanout.NewReader(),
newReadSeeker: newReadSeeker,