Package org.opensearch.common.util
Class BigArrays
java.lang.Object
org.opensearch.common.util.BigArrays
Utility class to work with arrays.
- Opensearch.api:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A double value binary searcher -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionBigArrays
(PageCacheRecycler recycler, org.opensearch.core.indices.breaker.CircuitBreakerService breakerService, String breakerName) protected
BigArrays
(PageCacheRecycler recycler, org.opensearch.core.indices.breaker.CircuitBreakerService breakerService, String breakerName, boolean checkBreaker) -
Method Summary
Modifier and TypeMethodDescriptionorg.opensearch.core.indices.breaker.CircuitBreakerService
boolean
equals
(org.opensearch.core.common.util.ByteArray array, org.opensearch.core.common.util.ByteArray other) grow
(DoubleArray array, long minSize) Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.grow
(FloatArray array, long minSize) Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.<T> ObjectArray
<T> grow
(ObjectArray<T> array, long minSize) Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.org.opensearch.core.common.util.ByteArray
grow
(org.opensearch.core.common.util.ByteArray array, long minSize) Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.int
hashCode
(org.opensearch.core.common.util.ByteArray array) org.opensearch.core.common.util.ByteArray
newByteArray
(long size) Allocate a newByteArray
initialized with zeros.org.opensearch.core.common.util.ByteArray
newByteArray
(long size, boolean clearOnResize) Allocate a newByteArray
.newDoubleArray
(long size) Allocate a newDoubleArray
of the given capacity.newDoubleArray
(long size, boolean clearOnResize) Allocate a newDoubleArray
.newFloatArray
(long size) Allocate a newFloatArray
of the given capacity.newFloatArray
(long size, boolean clearOnResize) Allocate a newFloatArray
.newIntArray
(long size) Allocate a newIntArray
.newIntArray
(long size, boolean clearOnResize) Allocate a newIntArray
.newLongArray
(long size) Allocate a newLongArray
.newLongArray
(long size, boolean clearOnResize) Allocate a newLongArray
.<T> ObjectArray
<T> newObjectArray
(long size) Allocate a newObjectArray
.static long
overSize
(long minTargetSize) Returns the next size to grow when working with parallel arrays that may have different page sizes or number of bytes per element.static long
overSize
(long minTargetSize, int pageSize, int bytesPerElement) Return the next size to grow to that is >=minTargetSize
.resize
(DoubleArray array, long size) Resize the array to the exact provided size.resize
(FloatArray array, long size) Resize the array to the exact provided size.Resize the array to the exact provided size.Resize the array to the exact provided size.<T> ObjectArray
<T> resize
(ObjectArray<T> array, long size) Resize the array to the exact provided size.org.opensearch.core.common.util.ByteArray
resize
(org.opensearch.core.common.util.ByteArray array, long size) Resize the array to the exact provided size.Return an instance of this BigArrays class with circuit breaking explicitly enabled, instead of only accounting enabled
-
Field Details
-
NON_RECYCLING_INSTANCE
-
-
Constructor Details
-
BigArrays
public BigArrays(PageCacheRecycler recycler, @Nullable org.opensearch.core.indices.breaker.CircuitBreakerService breakerService, String breakerName) -
BigArrays
protected BigArrays(PageCacheRecycler recycler, @Nullable org.opensearch.core.indices.breaker.CircuitBreakerService breakerService, String breakerName, boolean checkBreaker)
-
-
Method Details
-
overSize
public static long overSize(long minTargetSize) Returns the next size to grow when working with parallel arrays that may have different page sizes or number of bytes per element. -
overSize
public static long overSize(long minTargetSize, int pageSize, int bytesPerElement) Return the next size to grow to that is >=minTargetSize
. Inspired fromArrayUtil.oversize(int, int)
and adapted to play nicely with paging. -
withCircuitBreaking
Return an instance of this BigArrays class with circuit breaking explicitly enabled, instead of only accounting enabled -
breakerService
public org.opensearch.core.indices.breaker.CircuitBreakerService breakerService() -
newByteArray
public org.opensearch.core.common.util.ByteArray newByteArray(long size, boolean clearOnResize) Allocate a newByteArray
.- Parameters:
size
- the initial length of the arrayclearOnResize
- whether values should be set to 0 on initialization and resize
-
newByteArray
public org.opensearch.core.common.util.ByteArray newByteArray(long size) Allocate a newByteArray
initialized with zeros.- Parameters:
size
- the initial length of the array
-
resize
public org.opensearch.core.common.util.ByteArray resize(org.opensearch.core.common.util.ByteArray array, long size) Resize the array to the exact provided size. -
grow
public org.opensearch.core.common.util.ByteArray grow(org.opensearch.core.common.util.ByteArray array, long minSize) Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array. -
hashCode
public int hashCode(org.opensearch.core.common.util.ByteArray array) - See Also:
-
equals
public boolean equals(org.opensearch.core.common.util.ByteArray array, org.opensearch.core.common.util.ByteArray other) - See Also:
-
newIntArray
Allocate a newIntArray
.- Parameters:
size
- the initial length of the arrayclearOnResize
- whether values should be set to 0 on initialization and resize
-
newIntArray
Allocate a newIntArray
.- Parameters:
size
- the initial length of the array
-
resize
Resize the array to the exact provided size. -
grow
Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array. -
newLongArray
Allocate a newLongArray
.- Parameters:
size
- the initial length of the arrayclearOnResize
- whether values should be set to 0 on initialization and resize
-
newLongArray
Allocate a newLongArray
.- Parameters:
size
- the initial length of the array
-
resize
Resize the array to the exact provided size. -
grow
Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array. -
newDoubleArray
Allocate a newDoubleArray
.- Parameters:
size
- the initial length of the arrayclearOnResize
- whether values should be set to 0 on initialization and resize
-
newDoubleArray
Allocate a newDoubleArray
of the given capacity. -
resize
Resize the array to the exact provided size. -
grow
Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array. -
newFloatArray
Allocate a newFloatArray
.- Parameters:
size
- the initial length of the arrayclearOnResize
- whether values should be set to 0 on initialization and resize
-
newFloatArray
Allocate a newFloatArray
of the given capacity. -
resize
Resize the array to the exact provided size. -
grow
Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array. -
newObjectArray
Allocate a newObjectArray
.- Parameters:
size
- the initial length of the array
-
resize
Resize the array to the exact provided size. -
grow
Grow an array to a size that is larger thanminSize
, preserving content, and potentially reusing part of the provided array.
-