Skip to content

Commit 2ea1466

Browse files
committed
Global refactoring
1 parent 6cf263c commit 2ea1466

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+5387
-4463
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
command: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | BINARY=golangci-lint sh -s -- -b $(go env GOPATH)/bin v1.18.0
9999
- run:
100100
name: Lint imgproxy
101-
command: golangci-lint run .
101+
command: golangci-lint run
102102

103103
build:
104104
executor: imgproxy
@@ -119,7 +119,7 @@ jobs:
119119
- go-modules-{{ checksum "go.sum" }}
120120
- run:
121121
name: Build imgproxy
122-
command: go test -v
122+
command: go test -v ./...
123123
- save_cache:
124124
key: go-modules-{{ checksum "go.sum" }}
125125
paths:

.golangci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ issues:
3535
# False positives on CGO generated code
3636
- linters: [staticcheck]
3737
text: "SA4000:"
38-
path: vips\.go
38+
path: vips/*
3939

4040
# False positives on CGO generated code
4141
- linters: [gocritic]
4242
text: "dupSubExpr"
43-
path: vips\.go
43+
path: vips/*
4444

4545
- linters: [stylecheck]
4646
text: "ST1005:"

bufpool.go bufpool/bufpool.go

+19-15
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
package main
1+
package bufpool
22

33
import (
44
"bytes"
55
"runtime"
66
"sort"
77
"sync"
8+
9+
"github.com/imgproxy/imgproxy/v2/config"
10+
"github.com/imgproxy/imgproxy/v2/imath"
11+
"github.com/imgproxy/imgproxy/v2/metrics/prometheus"
812
)
913

1014
type intSlice []int
@@ -13,7 +17,7 @@ func (p intSlice) Len() int { return len(p) }
1317
func (p intSlice) Less(i, j int) bool { return p[i] < p[j] }
1418
func (p intSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
1519

16-
type bufPool struct {
20+
type Pool struct {
1721
name string
1822
defaultSize int
1923
maxSize int
@@ -25,12 +29,12 @@ type bufPool struct {
2529
mutex sync.Mutex
2630
}
2731

28-
func newBufPool(name string, n int, defaultSize int) *bufPool {
29-
pool := bufPool{
32+
func New(name string, n int, defaultSize int) *Pool {
33+
pool := Pool{
3034
name: name,
3135
defaultSize: defaultSize,
3236
buffers: make([]*bytes.Buffer, n),
33-
calls: make(intSlice, conf.BufferPoolCalibrationThreshold),
37+
calls: make(intSlice, config.BufferPoolCalibrationThreshold),
3438
}
3539

3640
for i := range pool.buffers {
@@ -40,7 +44,7 @@ func newBufPool(name string, n int, defaultSize int) *bufPool {
4044
return &pool
4145
}
4246

43-
func (p *bufPool) calibrateAndClean() {
47+
func (p *Pool) calibrateAndClean() {
4448
sort.Sort(p.calls)
4549

4650
pos := int(float64(len(p.calls)) * 0.95)
@@ -49,8 +53,8 @@ func (p *bufPool) calibrateAndClean() {
4953
p.callInd = 0
5054
p.maxSize = p.normalizeSize(score)
5155

52-
p.defaultSize = maxInt(p.defaultSize, p.calls[0])
53-
p.maxSize = maxInt(p.defaultSize, p.maxSize)
56+
p.defaultSize = imath.Max(p.defaultSize, p.calls[0])
57+
p.maxSize = imath.Max(p.defaultSize, p.maxSize)
5458

5559
cleaned := false
5660

@@ -65,11 +69,11 @@ func (p *bufPool) calibrateAndClean() {
6569
runtime.GC()
6670
}
6771

68-
setPrometheusBufferDefaultSize(p.name, p.defaultSize)
69-
setPrometheusBufferMaxSize(p.name, p.maxSize)
72+
prometheus.SetBufferDefaultSize(p.name, p.defaultSize)
73+
prometheus.SetBufferMaxSize(p.name, p.maxSize)
7074
}
7175

72-
func (p *bufPool) Get(size int) *bytes.Buffer {
76+
func (p *Pool) Get(size int) *bytes.Buffer {
7377
p.mutex.Lock()
7478
defer p.mutex.Unlock()
7579

@@ -111,7 +115,7 @@ func (p *bufPool) Get(size int) *bytes.Buffer {
111115

112116
buf.Reset()
113117

114-
growSize := maxInt(size, p.defaultSize)
118+
growSize := imath.Max(size, p.defaultSize)
115119

116120
if growSize > buf.Cap() {
117121
buf.Grow(growSize)
@@ -120,7 +124,7 @@ func (p *bufPool) Get(size int) *bytes.Buffer {
120124
return buf
121125
}
122126

123-
func (p *bufPool) Put(buf *bytes.Buffer) {
127+
func (p *Pool) Put(buf *bytes.Buffer) {
124128
p.mutex.Lock()
125129
defer p.mutex.Unlock()
126130

@@ -142,14 +146,14 @@ func (p *bufPool) Put(buf *bytes.Buffer) {
142146
p.buffers[i] = buf
143147

144148
if buf.Cap() > 0 {
145-
observePrometheusBufferSize(p.name, buf.Cap())
149+
prometheus.ObserveBufferSize(p.name, buf.Cap())
146150
}
147151

148152
return
149153
}
150154
}
151155
}
152156

153-
func (p *bufPool) normalizeSize(n int) int {
157+
func (p *Pool) normalizeSize(n int) int {
154158
return (n/bytes.MinRead + 2) * bytes.MinRead
155159
}

buf_reader.go bufreader/bufreader.go

+14-12
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
1-
package main
1+
package bufreader
22

33
import (
44
"bufio"
55
"bytes"
66
"io"
7+
8+
"github.com/imgproxy/imgproxy/v2/imath"
79
)
810

9-
type bufReader struct {
11+
type Reader struct {
1012
r io.Reader
1113
buf *bytes.Buffer
1214
cur int
1315
}
1416

15-
func newBufReader(r io.Reader, buf *bytes.Buffer) *bufReader {
16-
br := bufReader{
17+
func New(r io.Reader, buf *bytes.Buffer) *Reader {
18+
br := Reader{
1719
r: r,
1820
buf: buf,
1921
}
2022
return &br
2123
}
2224

23-
func (br *bufReader) Read(p []byte) (int, error) {
25+
func (br *Reader) Read(p []byte) (int, error) {
2426
if err := br.fill(br.cur + len(p)); err != nil {
2527
return 0, err
2628
}
@@ -30,7 +32,7 @@ func (br *bufReader) Read(p []byte) (int, error) {
3032
return n, nil
3133
}
3234

33-
func (br *bufReader) ReadByte() (byte, error) {
35+
func (br *Reader) ReadByte() (byte, error) {
3436
if err := br.fill(br.cur + 1); err != nil {
3537
return 0, err
3638
}
@@ -40,7 +42,7 @@ func (br *bufReader) ReadByte() (byte, error) {
4042
return b, nil
4143
}
4244

43-
func (br *bufReader) Discard(n int) (int, error) {
45+
func (br *Reader) Discard(n int) (int, error) {
4446
if n < 0 {
4547
return 0, bufio.ErrNegativeCount
4648
}
@@ -52,12 +54,12 @@ func (br *bufReader) Discard(n int) (int, error) {
5254
return 0, err
5355
}
5456

55-
n = minInt(n, br.buf.Len()-br.cur)
57+
n = imath.Min(n, br.buf.Len()-br.cur)
5658
br.cur += n
5759
return n, nil
5860
}
5961

60-
func (br *bufReader) Peek(n int) ([]byte, error) {
62+
func (br *Reader) Peek(n int) ([]byte, error) {
6163
if n < 0 {
6264
return []byte{}, bufio.ErrNegativeCount
6365
}
@@ -76,18 +78,18 @@ func (br *bufReader) Peek(n int) ([]byte, error) {
7678
return br.buf.Bytes()[br.cur : br.cur+n], nil
7779
}
7880

79-
func (br *bufReader) Flush() error {
81+
func (br *Reader) Flush() error {
8082
_, err := br.buf.ReadFrom(br.r)
8183
return err
8284
}
8385

84-
func (br *bufReader) fill(need int) error {
86+
func (br *Reader) fill(need int) error {
8587
n := need - br.buf.Len()
8688
if n <= 0 {
8789
return nil
8890
}
8991

90-
n = maxInt(4096, n)
92+
n = imath.Max(4096, n)
9193

9294
if _, err := br.buf.ReadFrom(io.LimitReader(br.r, int64(n))); err != nil {
9395
return err

0 commit comments

Comments
 (0)