[#114] pool: Fix linter errors

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2023-07-14 12:24:49 +03:00
parent 518fb79bc0
commit cae215534f
2 changed files with 9 additions and 4 deletions

View file

@ -24,7 +24,13 @@ func NewPartBufferPool(limit uint64, maxObjectSize uint64) *PartsBufferPool {
limit: limit, limit: limit,
maxObjectSize: maxObjectSize, maxObjectSize: maxObjectSize,
available: limit, available: limit,
syncPool: &sync.Pool{New: func() any { return make([]byte, maxObjectSize) }}, syncPool: &sync.Pool{New: func() any {
// We have to use pointer (even for slices), see https://staticcheck.dev/docs/checks/#SA6002
// It's based on interfaces implementation in 2016, so maybe something has changed since then.
// We can use no pointer for multi-kilobyte slices though https://github.com/golang/go/issues/16323#issuecomment-254401036
buff := make([]byte, maxObjectSize)
return &buff
}},
} }
} }
@ -43,7 +49,7 @@ func (p *PartsBufferPool) GetBuffer() (*PartBuffer, error) {
p.available -= p.maxObjectSize p.available -= p.maxObjectSize
return &PartBuffer{ return &PartBuffer{
Buffer: p.syncPool.Get().([]byte), Buffer: *p.syncPool.Get().(*[]byte),
len: p.maxObjectSize, len: p.maxObjectSize,
}, nil }, nil
} }
@ -58,7 +64,7 @@ func (p *PartsBufferPool) FreeBuffer(buff *PartBuffer) error {
} }
p.available += buff.len p.available += buff.len
p.syncPool.Put(buff.Buffer) p.syncPool.Put(&buff.Buffer)
return nil return nil
} }

View file

@ -2129,7 +2129,6 @@ func initSessionForDuration(ctx context.Context, dst *session.Object, c client,
if clientCut { if clientCut {
id = uuid.New() id = uuid.New()
key = frostfsecdsa.PublicKey(ownerKey.PublicKey) key = frostfsecdsa.PublicKey(ownerKey.PublicKey)
} else { } else {
res, err := c.sessionCreate(ctx, prm) res, err := c.sessionCreate(ctx, prm)
if err != nil { if err != nil {