From 38fe921bd2d09734277828b638a4947e45a99bcd Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 25 Oct 2013 09:44:02 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-175: Decouple OpenDJ LDAP SDK from Grizzly
---
opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferWriter.java | 28 ++++++++++++----------------
1 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferWriter.java b/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferWriter.java
index 82fff73..18f652b 100644
--- a/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferWriter.java
+++ b/opendj3/opendj-grizzly/src/main/java/com/forgerock/opendj/grizzly/ASN1BufferWriter.java
@@ -40,7 +40,6 @@
import org.forgerock.opendj.ldap.ByteStringBuilder;
import org.glassfish.grizzly.Buffer;
import org.glassfish.grizzly.Cacheable;
-import org.glassfish.grizzly.ThreadCache;
import org.glassfish.grizzly.memory.ByteBufferWrapper;
import com.forgerock.opendj.util.StaticUtils;
@@ -48,7 +47,7 @@
/**
* Grizzly ASN1 writer implementation.
*/
-final class ASN1BufferWriter extends AbstractASN1Writer implements ASN1Writer, Cacheable {
+final class ASN1BufferWriter extends AbstractASN1Writer implements Cacheable {
private class ChildSequenceBuffer implements SequenceBuffer {
private SequenceBuffer parent;
@@ -162,21 +161,16 @@
}
private static final int BUFFER_INIT_SIZE = 1024;
- private final static ThreadCache.CachedTypeIndex<ASN1BufferWriter> WRITER_INDEX = ThreadCache
- .obtainIndex(ASN1BufferWriter.class, 1);
- static ASN1BufferWriter getWriter() {
- ASN1BufferWriter asn1Writer = ThreadCache.takeFromCache(WRITER_INDEX);
- if (asn1Writer == null) {
- asn1Writer = new ASN1BufferWriter();
- }
-
- if (!asn1Writer.outBuffer.usable) {
+ /**
+ * Reset the writer.
+ */
+ void reset() {
+ if (!outBuffer.usable) {
// If the output buffer is unusable, create a new one.
- asn1Writer.outBuffer = new RecyclableBuffer();
+ outBuffer = new RecyclableBuffer();
}
- asn1Writer.outBuffer.clear();
- return asn1Writer;
+ outBuffer.clear();
}
private SequenceBuffer sequenceBuffer;
@@ -187,7 +181,7 @@
/**
* Creates a new ASN.1 writer that writes to a StreamWriter.
*/
- private ASN1BufferWriter() {
+ ASN1BufferWriter() {
this.sequenceBuffer = this.rootBuffer = new RootSequenceBuffer();
this.outBuffer = new RecyclableBuffer();
}
@@ -213,10 +207,12 @@
// Do nothing
}
+ /**
+ * Recycle the writer to allow re-use.
+ */
public void recycle() {
sequenceBuffer = rootBuffer;
outBuffer.clear();
- ThreadCache.putToCache(WRITER_INDEX, this);
}
/**
--
Gitblit v1.10.0