Class TransientBlockAllocator<T>
java.lang.Object
com.mojang.blaze3d.util.TransientBlockAllocator<T>
- All Implemented Interfaces:
AutoCloseable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final TransientBlockAllocator.Allocator<T> private final longprivate longprivate final it.unimi.dsi.fastutil.objects.ReferenceArrayList<T> private final longprivate final it.unimi.dsi.fastutil.objects.ReferenceArrayList<T> private final it.unimi.dsi.fastutil.objects.ReferenceArrayList<T> -
Constructor Summary
ConstructorsConstructorDescriptionTransientBlockAllocator(long blockSize, long maxAlignment, TransientBlockAllocator.Allocator<T> allocator) TransientBlockAllocator(long blockSize, long maxAlignment, TransientBlockAllocator.Allocator<T> allocator, Consumer<T> onBlockUse) -
Method Summary
Modifier and TypeMethodDescriptionallocate(long size, long alignment, long minimumAllocation, long elementSize) private TlongbooleancanAllocateInBlock(long size, long alignment) booleancanAllocateInCurrentBlock(long size, long alignment) voidclose()rotate()
-
Field Details
-
blockSize
private final long blockSize -
maxAlignment
private final long maxAlignment -
allocator
-
onBlockUse
-
specialBlocks
-
freeBlocks
-
usedBlocks
-
currentBlock
-
currentOffset
private long currentOffset
-
-
Constructor Details
-
TransientBlockAllocator
public TransientBlockAllocator(long blockSize, long maxAlignment, TransientBlockAllocator.Allocator<T> allocator) -
TransientBlockAllocator
public TransientBlockAllocator(long blockSize, long maxAlignment, TransientBlockAllocator.Allocator<T> allocator, Consumer<T> onBlockUse)
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
blockSize
public long blockSize() -
rotate
-
canAllocateInBlock
-
canAllocateInCurrentBlock
-
allocateBlock
-
allocate
public TransientBlockAllocator.Allocation<T> allocate(long size, long alignment, long minimumAllocation, long elementSize)
-