MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / Get

Method Get

internal/compressions/reader_pool.go:27–51  ·  view source on GitHub ↗
(parentReader io.Reader)

Source from the content-addressed store, hash-verified

25}
26
27func (this *ReaderPool) Get(parentReader io.Reader) (Reader, error) {
28 select {
29 case reader := <-this.c:
30 err := reader.Reset(parentReader)
31 if err != nil {
32 // create new
33 reader, err = this.newFunc(parentReader)
34 if err != nil {
35 return nil, err
36 }
37 reader.SetPool(this)
38 return reader, nil
39 }
40 reader.ResetFinish()
41 return reader, nil
42 default:
43 // create new
44 reader, err := this.newFunc(parentReader)
45 if err != nil {
46 return nil, err
47 }
48 reader.SetPool(this)
49 return reader, nil
50 }
51}
52
53func (this *ReaderPool) Put(reader Reader) {
54 if reader.IncreaseHit() > maxReadHits {

Callers

nothing calls this directly

Calls 3

ResetMethod · 0.65
SetPoolMethod · 0.65
ResetFinishMethod · 0.65

Tested by

no test coverage detected