Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ RequestBuffer() [2/2]

static byte[] Terraria.Net.LegacyNetBufferPool.RequestBuffer ( int size)
inlinestatic

Definition at line 30 of file LegacyNetBufferPool.cs.

31 {
33 {
34 if (size <= 256)
35 {
36 if (_smallBufferQueue.Count == 0)
37 {
39 return new byte[256];
40 }
41 return _smallBufferQueue.Dequeue();
42 }
43 if (size <= 1024)
44 {
45 if (_mediumBufferQueue.Count == 0)
46 {
48 return new byte[1024];
49 }
50 return _mediumBufferQueue.Dequeue();
51 }
52 if (size <= 16384)
53 {
54 if (_largeBufferQueue.Count == 0)
55 {
57 return new byte[16384];
58 }
59 return _largeBufferQueue.Dequeue();
60 }
62 return new byte[size];
63 }
64 }
static Queue< byte[]> _mediumBufferQueue
static Queue< byte[]> _smallBufferQueue
static Queue< byte[]> _largeBufferQueue

References Terraria.Net.LegacyNetBufferPool._customBufferCount, Terraria.Net.LegacyNetBufferPool._largeBufferCount, Terraria.Net.LegacyNetBufferPool._largeBufferQueue, Terraria.Net.LegacyNetBufferPool._mediumBufferCount, Terraria.Net.LegacyNetBufferPool._mediumBufferQueue, Terraria.Net.LegacyNetBufferPool._smallBufferCount, Terraria.Net.LegacyNetBufferPool._smallBufferQueue, and Terraria.Net.LegacyNetBufferPool.bufferLock.

Referenced by Terraria.Net.Sockets.TcpSocket.AsyncSend(), and Terraria.Net.LegacyNetBufferPool.RequestBuffer().