Skip to content

Package: ByteBufferArray

ByteBufferArray

nameinstructionbranchcomplexitylinemethod
ByteBufferArray()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
create()
M: 12 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
getLimit(ByteBuffer)
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getPosition(ByteBuffer)
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
recycle()
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
setPositionLimit(ByteBuffer, int, int)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
static {...}
M: 10 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
3: *
4: * This program and the accompanying materials are made available under the
5: * terms of the Eclipse Public License v. 2.0, which is available at
6: * http://www.eclipse.org/legal/epl-2.0.
7: *
8: * This Source Code may also be made available under the following Secondary
9: * Licenses when the conditions for such availability set forth in the
10: * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11: * version 2 with the GNU Classpath Exception, which is available at
12: * https://www.gnu.org/software/classpath/license.html.
13: *
14: * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15: */
16:
17: package org.glassfish.grizzly.memory;
18:
19: import java.nio.ByteBuffer;
20:
21: import org.glassfish.grizzly.ThreadCache;
22:
23: /**
24: *
25: * @author oleksiys
26: */
27: public final class ByteBufferArray extends AbstractBufferArray<ByteBuffer> {
28:
29: private static final ThreadCache.CachedTypeIndex<ByteBufferArray> CACHE_IDX = ThreadCache.obtainIndex(ByteBufferArray.class,
30: Integer.getInteger(ByteBufferArray.class.getName() + "bba-cache-size", 4));
31:
32: public static ByteBufferArray create() {
33: final ByteBufferArray array = ThreadCache.takeFromCache(CACHE_IDX);
34:• if (array != null) {
35: return array;
36: }
37:
38: return new ByteBufferArray();
39: }
40:
41: private ByteBufferArray() {
42: super(ByteBuffer.class);
43: }
44:
45: @Override
46: public void recycle() {
47: super.recycle();
48:
49: ThreadCache.putToCache(CACHE_IDX, this);
50: }
51:
52: @Override
53: protected void setPositionLimit(final ByteBuffer buffer, final int position, final int limit) {
54: Buffers.setPositionLimit(buffer, position, limit);
55: }
56:
57: @Override
58: protected int getPosition(final ByteBuffer buffer) {
59: return buffer.position();
60: }
61:
62: @Override
63: protected int getLimit(final ByteBuffer buffer) {
64: return buffer.limit();
65: }
66: }