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,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…