Skip to content

Commit c68251b

Browse files
committed
Deprecate stack buffer
1 parent d852e9c commit c68251b

18 files changed

Lines changed: 28 additions & 399 deletions

File tree

common/buf/buffer.go

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -54,41 +54,19 @@ func NewSize(size int) *Buffer {
5454
}
5555
}
5656

57+
// Deprecated: use New instead.
5758
func StackNew() *Buffer {
58-
if common.UnsafeBuffer {
59-
return &Buffer{
60-
data: make([]byte, BufferSize),
61-
start: ReversedHeader,
62-
end: ReversedHeader,
63-
}
64-
} else {
65-
return New()
66-
}
59+
return New()
6760
}
6861

62+
// Deprecated: use NewPacket instead.
6963
func StackNewPacket() *Buffer {
70-
if common.UnsafeBuffer {
71-
return &Buffer{
72-
data: make([]byte, UDPBufferSize),
73-
start: ReversedHeader,
74-
end: ReversedHeader,
75-
}
76-
} else {
77-
return NewPacket()
78-
}
64+
return NewPacket()
7965
}
8066

67+
// Deprecated: use NewSize instead.
8168
func StackNewSize(size int) *Buffer {
82-
if size == 0 {
83-
return &Buffer{}
84-
}
85-
if common.UnsafeBuffer {
86-
return &Buffer{
87-
data: Make(size),
88-
}
89-
} else {
90-
return NewSize(size)
91-
}
69+
return NewSize(size)
9270
}
9371

9472
func As(data []byte) *Buffer {

common/buf/hex.go

Lines changed: 0 additions & 9 deletions
This file was deleted.

common/buf/pool.go

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -11,46 +11,7 @@ func Put(buf []byte) error {
1111
return DefaultAllocator.Put(buf)
1212
}
1313

14+
// Deprecated: use array instead.
1415
func Make(size int) []byte {
15-
if size == 0 {
16-
return nil
17-
}
18-
var buffer []byte
19-
switch {
20-
case size <= 2:
21-
buffer = make([]byte, 2)
22-
case size <= 4:
23-
buffer = make([]byte, 4)
24-
case size <= 8:
25-
buffer = make([]byte, 8)
26-
case size <= 16:
27-
buffer = make([]byte, 16)
28-
case size <= 32:
29-
buffer = make([]byte, 32)
30-
case size <= 64:
31-
buffer = make([]byte, 64)
32-
case size <= 128:
33-
buffer = make([]byte, 128)
34-
case size <= 256:
35-
buffer = make([]byte, 256)
36-
case size <= 512:
37-
buffer = make([]byte, 512)
38-
case size <= 1024:
39-
buffer = make([]byte, 1024)
40-
case size <= 2048:
41-
buffer = make([]byte, 2048)
42-
case size <= 4096:
43-
buffer = make([]byte, 4096)
44-
case size <= 8192:
45-
buffer = make([]byte, 8192)
46-
case size <= 16384:
47-
buffer = make([]byte, 16384)
48-
case size <= 32768:
49-
buffer = make([]byte, 32768)
50-
case size <= 65535:
51-
buffer = make([]byte, 65535)
52-
default:
53-
return make([]byte, size)
54-
}
55-
return buffer[:size]
16+
return make([]byte, size)
5617
}

common/buf/ptr.go

Lines changed: 0 additions & 34 deletions
This file was deleted.

common/buf/ptr_go120.go

Lines changed: 0 additions & 34 deletions
This file was deleted.

common/bufio/copy.go

Lines changed: 2 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -71,20 +71,7 @@ func CopyExtended(originDestination io.Writer, destination N.ExtendedWriter, sou
7171
return
7272
}
7373
}
74-
if !common.UnsafeBuffer || N.IsUnsafeWriter(destination) {
75-
return CopyExtendedWithPool(originDestination, destination, source, readCounters, writeCounters)
76-
}
77-
bufferSize := N.CalculateMTU(source, destination)
78-
if bufferSize > 0 {
79-
bufferSize += headroom
80-
} else {
81-
bufferSize = buf.BufferSize
82-
}
83-
_buffer := buf.StackNewSize(bufferSize)
84-
defer common.KeepAlive(_buffer)
85-
buffer := common.Dup(_buffer)
86-
defer buffer.Release()
87-
return CopyExtendedBuffer(originDestination, destination, source, buffer, readCounters, writeCounters)
74+
return CopyExtendedWithPool(originDestination, destination, source, readCounters, writeCounters)
8875
}
8976

9077
func CopyExtendedBuffer(originDestination io.Writer, destination N.ExtendedWriter, source N.ExtendedReader, buffer *buf.Buffer, readCounters []N.CountFunc, writeCounters []N.CountFunc) (n int64, err error) {
@@ -291,49 +278,7 @@ func CopyPacket(destinationConn N.PacketWriter, source N.PacketReader) (n int64,
291278
return
292279
}
293280
}
294-
if N.IsUnsafeWriter(destinationConn) {
295-
return CopyPacketWithPool(destinationConn, source, readCounters, writeCounters)
296-
}
297-
bufferSize := N.CalculateMTU(source, destinationConn)
298-
if bufferSize > 0 {
299-
bufferSize += headroom
300-
} else {
301-
bufferSize = buf.UDPBufferSize
302-
}
303-
_buffer := buf.StackNewSize(bufferSize)
304-
defer common.KeepAlive(_buffer)
305-
buffer := common.Dup(_buffer)
306-
defer buffer.Release()
307-
buffer.IncRef()
308-
defer buffer.DecRef()
309-
var destination M.Socksaddr
310-
var notFirstTime bool
311-
readBufferRaw := buffer.Slice()
312-
readBuffer := buf.With(readBufferRaw[:len(readBufferRaw)-rearHeadroom])
313-
for {
314-
readBuffer.Resize(frontHeadroom, 0)
315-
destination, err = source.ReadPacket(readBuffer)
316-
if err != nil {
317-
if !notFirstTime {
318-
err = N.HandshakeFailure(destinationConn, err)
319-
}
320-
return
321-
}
322-
dataLen := readBuffer.Len()
323-
buffer.Resize(readBuffer.Start(), dataLen)
324-
err = destinationConn.WritePacket(buffer, destination)
325-
if err != nil {
326-
return
327-
}
328-
n += int64(dataLen)
329-
for _, counter := range readCounters {
330-
counter(int64(dataLen))
331-
}
332-
for _, counter := range writeCounters {
333-
counter(int64(dataLen))
334-
}
335-
notFirstTime = true
336-
}
281+
return CopyPacketWithPool(destinationConn, source, readCounters, writeCounters)
337282
}
338283

339284
func CopyPacketWithSrcBuffer(destinationConn N.PacketWriter, source N.ThreadSafePacketReader, readCounters []N.CountFunc, writeCounters []N.CountFunc) (n int64, err error) {

common/bufio/once.go

Lines changed: 0 additions & 127 deletions
This file was deleted.

common/bufio/vectorised.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,7 @@ func (w *BufferedVectorisedWriter) WriteVectorised(buffers []*buf.Buffer) error
7474
if bufferLen > 65535 {
7575
bufferBytes = make([]byte, bufferLen)
7676
} else {
77-
_buffer := buf.StackNewSize(bufferLen)
78-
defer common.KeepAlive(_buffer)
79-
buffer := common.Dup(_buffer)
77+
buffer := buf.NewSize(bufferLen)
8078
defer buffer.Release()
8179
bufferBytes = buffer.FreeBytes()
8280
}

0 commit comments

Comments
 (0)