Package: ByteBufferArray
ByteBufferArray
name | instruction | branch | complexity | line | method | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ByteBufferArray() |
|
|
|
|
|
||||||||||||||||||||
create() |
|
|
|
|
|
||||||||||||||||||||
getLimit(ByteBuffer) |
|
|
|
|
|
||||||||||||||||||||
getPosition(ByteBuffer) |
|
|
|
|
|
||||||||||||||||||||
recycle() |
|
|
|
|
|
||||||||||||||||||||
setPositionLimit(ByteBuffer, int, int) |
|
|
|
|
|
||||||||||||||||||||
static {...} |
|
|
|
|
|
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: }