summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2010-05-26 17:50:23 -0700
committerMark Spruiell <mes@zeroc.com>2010-05-26 17:50:23 -0700
commit66c178bc1dfb4a53aa56c4b90d305f72bcc3c553 (patch)
treeb22ec2452d6f5ca61345dcafe2c92ad3cb5afef6 /java/src
parentMerge branch 'master' of ssh://git/home/git/ice (diff)
downloadice-66c178bc1dfb4a53aa56c4b90d305f72bcc3c553.tar.bz2
ice-66c178bc1dfb4a53aa56c4b90d305f72bcc3c553.tar.xz
ice-66c178bc1dfb4a53aa56c4b90d305f72bcc3c553.zip
bug 4515 - OutOfMemoryError in dbmap test
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Freeze/ObjectStore.java12
-rw-r--r--java/src/Ice/AsyncResult.java4
-rw-r--r--java/src/Ice/ConnectionI.java2
-rw-r--r--java/src/Ice/InputStreamI.java2
-rw-r--r--java/src/Ice/OutputStreamI.java2
-rw-r--r--java/src/IceInternal/BasicStream.java14
-rw-r--r--java/src/IceInternal/EndpointFactoryManager.java4
7 files changed, 25 insertions, 15 deletions
diff --git a/java/src/Freeze/ObjectStore.java b/java/src/Freeze/ObjectStore.java
index 8be40d468d0..b0ba17e66d7 100644
--- a/java/src/Freeze/ObjectStore.java
+++ b/java/src/Freeze/ObjectStore.java
@@ -304,7 +304,8 @@ class ObjectStore implements IceUtil.Store
static byte[]
marshalKey(Ice.Identity v, Ice.Communicator communicator)
{
- IceInternal.BasicStream os = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator));
+ IceInternal.BasicStream os =
+ new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false);
v.__write(os);
IceInternal.Buffer buf = os.prepareWrite();
byte[] r = new byte[buf.size()];
@@ -315,7 +316,8 @@ class ObjectStore implements IceUtil.Store
static Ice.Identity
unmarshalKey(byte[] b, Ice.Communicator communicator)
{
- IceInternal.BasicStream is = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator));
+ IceInternal.BasicStream is =
+ new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false);
is.resize(b.length, true);
IceInternal.Buffer buf = is.getBuffer();
buf.b.position(0);
@@ -329,7 +331,8 @@ class ObjectStore implements IceUtil.Store
static byte[]
marshalValue(ObjectRecord v, Ice.Communicator communicator)
{
- IceInternal.BasicStream os = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator));
+ IceInternal.BasicStream os =
+ new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false);
os.startWriteEncaps();
v.__write(os);
os.writePendingObjects();
@@ -343,7 +346,8 @@ class ObjectStore implements IceUtil.Store
static ObjectRecord
unmarshalValue(byte[] b, Ice.Communicator communicator)
{
- IceInternal.BasicStream is = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator));
+ IceInternal.BasicStream is =
+ new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false);
is.sliceObjects(false);
is.resize(b.length, true);
IceInternal.Buffer buf = is.getBuffer();
diff --git a/java/src/Ice/AsyncResult.java b/java/src/Ice/AsyncResult.java
index 6655b51b977..2bf8cddd24a 100644
--- a/java/src/Ice/AsyncResult.java
+++ b/java/src/Ice/AsyncResult.java
@@ -20,8 +20,8 @@ public class AsyncResult
{
_instance = instance;
_operation = op;
- _is = new IceInternal.BasicStream(instance);
- _os = new IceInternal.BasicStream(instance);
+ _is = new IceInternal.BasicStream(instance, false, false);
+ _os = new IceInternal.BasicStream(instance, false, false);
_state = 0;
_exception = null;
_callback = del;
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index 1827f86a20a..c5495894892 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -1748,7 +1748,7 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
// Before we shut down, we send a close connection
// message.
//
- IceInternal.BasicStream os = new IceInternal.BasicStream(_instance);
+ IceInternal.BasicStream os = new IceInternal.BasicStream(_instance, false, false);
os.writeBlob(IceInternal.Protocol.magic);
os.writeByte(IceInternal.Protocol.protocolMajor);
os.writeByte(IceInternal.Protocol.protocolMinor);
diff --git a/java/src/Ice/InputStreamI.java b/java/src/Ice/InputStreamI.java
index b044020423d..3a57c6347c7 100644
--- a/java/src/Ice/InputStreamI.java
+++ b/java/src/Ice/InputStreamI.java
@@ -16,7 +16,7 @@ public class InputStreamI implements InputStream
{
_communicator = communicator;
- _is = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator));
+ _is = new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false);
_is.closure(this);
_is.resize(data.length, true);
IceInternal.Buffer buf = _is.getBuffer();
diff --git a/java/src/Ice/OutputStreamI.java b/java/src/Ice/OutputStreamI.java
index 49eaa19d746..053710191a8 100644
--- a/java/src/Ice/OutputStreamI.java
+++ b/java/src/Ice/OutputStreamI.java
@@ -14,7 +14,7 @@ public class OutputStreamI implements OutputStream
public
OutputStreamI(Communicator communicator)
{
- this(communicator, new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator)));
+ this(communicator, new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), false, false));
}
public
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 67c5fefc3f1..e07585bbdd7 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -14,20 +14,26 @@ public class BasicStream
public
BasicStream(Instance instance)
{
- initialize(instance, false);
+ this(instance, false);
}
public
BasicStream(Instance instance, boolean unlimited)
{
- initialize(instance, unlimited);
+ initialize(instance, unlimited, instance.cacheMessageBuffers() > 1);
+ }
+
+ public
+ BasicStream(Instance instance, boolean unlimited, boolean direct)
+ {
+ initialize(instance, unlimited, direct);
}
private void
- initialize(Instance instance, boolean unlimited)
+ initialize(Instance instance, boolean unlimited, boolean direct)
{
_instance = instance;
- _buf = new Buffer(_instance.messageSizeMax(), _instance.cacheMessageBuffers() > 1);
+ _buf = new Buffer(_instance.messageSizeMax(), direct);
_closure = null;
_unlimited = unlimited;
diff --git a/java/src/IceInternal/EndpointFactoryManager.java b/java/src/IceInternal/EndpointFactoryManager.java
index 30cd6d55fd9..c3c0922eceb 100644
--- a/java/src/IceInternal/EndpointFactoryManager.java
+++ b/java/src/IceInternal/EndpointFactoryManager.java
@@ -78,7 +78,7 @@ public final class EndpointFactoryManager
/*
EndpointI e = f.create(s.substring(m.end()), oaEndpoint);
- BasicStream bs = new BasicStream(_instance, true);
+ BasicStream bs = new BasicStream(_instance, true, false);
e.streamWrite(bs);
java.nio.ByteBuffer buf = bs.getBuffer();
buf.position(0);
@@ -108,7 +108,7 @@ public final class EndpointFactoryManager
// and ask the factory to read the endpoint data from that stream to create
// the actual endpoint.
//
- BasicStream bs = new BasicStream(_instance, true);
+ BasicStream bs = new BasicStream(_instance, true, false);
ue.streamWrite(bs);
Buffer buf = bs.getBuffer();
buf.b.position(0);