Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PooledBlobBuilder.cs
Go to the documentation of this file.
1
using
System.Reflection.Internal
;
2
3
namespace
System.Reflection.Metadata
;
4
5
internal
sealed
class
PooledBlobBuilder
:
BlobBuilder
6
{
7
private
static
readonly
ObjectPool<PooledBlobBuilder>
s_chunkPool
=
new
ObjectPool<PooledBlobBuilder>
(() =>
new
PooledBlobBuilder
(1024), 128);
8
9
private
PooledBlobBuilder
(
int
size)
10
: base(size)
11
{
12
}
13
14
public
static
PooledBlobBuilder
GetInstance
()
15
{
16
return
s_chunkPool
.Allocate();
17
}
18
19
protected
override
BlobBuilder
AllocateChunk
(
int
minimalSize)
20
{
21
if
(minimalSize <= 1024)
22
{
23
return
s_chunkPool
.Allocate();
24
}
25
return
new
BlobBuilder
(minimalSize);
26
}
27
28
protected
override
void
FreeChunk
()
29
{
30
s_chunkPool
.Free(
this
);
31
}
32
33
public
new
void
Free
()
34
{
35
base.Free();
36
}
37
}
System.Reflection.Internal.ObjectPool
Definition
ObjectPool.cs:6
System.Reflection.Metadata.BlobBuilder.BlobBuilder
BlobBuilder(int capacity=256)
Definition
BlobBuilder.cs:168
System.Reflection.Metadata.BlobBuilder
Definition
BlobBuilder.cs:14
System.Reflection.Metadata.PooledBlobBuilder.s_chunkPool
static readonly ObjectPool< PooledBlobBuilder > s_chunkPool
Definition
PooledBlobBuilder.cs:7
System.Reflection.Metadata.PooledBlobBuilder.PooledBlobBuilder
PooledBlobBuilder(int size)
Definition
PooledBlobBuilder.cs:9
System.Reflection.Metadata.PooledBlobBuilder.AllocateChunk
override BlobBuilder AllocateChunk(int minimalSize)
Definition
PooledBlobBuilder.cs:19
System.Reflection.Metadata.PooledBlobBuilder.Free
new void Free()
Definition
PooledBlobBuilder.cs:33
System.Reflection.Metadata.PooledBlobBuilder.FreeChunk
override void FreeChunk()
Definition
PooledBlobBuilder.cs:28
System.Reflection.Metadata.PooledBlobBuilder.GetInstance
static PooledBlobBuilder GetInstance()
Definition
PooledBlobBuilder.cs:14
System.Reflection.Metadata.PooledBlobBuilder
Definition
PooledBlobBuilder.cs:6
System.Reflection.Internal
Definition
AbstractMemoryBlock.cs:4
System.Reflection.Metadata
Definition
AssemblyExtensions.cs:4
source
System.Reflection.Metadata
System.Reflection.Metadata
PooledBlobBuilder.cs
Generated by
1.10.0