summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/ConnectionI.java4
-rw-r--r--java/src/IceInternal/BasicStream.java4
-rw-r--r--java/src/IceInternal/ConnectRequestHandler.java3
-rw-r--r--java/src/IceInternal/Ex.java5
-rw-r--r--java/src/IceInternal/TcpTransceiver.java2
-rw-r--r--java/src/IceInternal/ThreadPool.java2
-rw-r--r--java/src/IceInternal/UdpTransceiver.java2
-rw-r--r--java/src/IceSSL/TransceiverI.java2
8 files changed, 16 insertions, 8 deletions
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index 269e7c4ae98..7b83d46bf1e 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -588,7 +588,9 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
//
if(IceInternal.Protocol.requestBatchHdr.length + lastRequest.length > _instance.messageSizeMax())
{
- throw new MemoryLimitException();
+ IceInternal.Ex.throwMemoryLimitException(
+ IceInternal.Protocol.requestBatchHdr.length + lastRequest.length,
+ _instance.messageSizeMax());
}
//
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 5c52413df4a..39b2c547e37 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -150,7 +150,7 @@ public class BasicStream
//
if(!_unlimited && sz > _messageSizeMax)
{
- throw new Ice.MemoryLimitException();
+ Ex.throwMemoryLimitException(sz, _messageSizeMax);
}
_buf.resize(sz, reading);
@@ -2136,7 +2136,7 @@ public class BasicStream
{
if(!_unlimited && _buf.b != null && _buf.b.position() + n > _messageSizeMax)
{
- throw new Ice.MemoryLimitException();
+ Ex.throwMemoryLimitException(_buf.b.position() + n, _messageSizeMax);
}
_buf.expand(n);
}
diff --git a/java/src/IceInternal/ConnectRequestHandler.java b/java/src/IceInternal/ConnectRequestHandler.java
index 45295eb9158..c130a6955bb 100644
--- a/java/src/IceInternal/ConnectRequestHandler.java
+++ b/java/src/IceInternal/ConnectRequestHandler.java
@@ -98,7 +98,8 @@ public class ConnectRequestHandler
if(!_batchAutoFlush &&
_batchStream.size() + _batchRequestsSize > _reference.getInstance().messageSizeMax())
{
- throw new Ice.MemoryLimitException();
+ Ex.throwMemoryLimitException(_batchStream.size() + _batchRequestsSize,
+ _reference.getInstance().messageSizeMax());
}
_requests.add(new Request(_batchStream));
diff --git a/java/src/IceInternal/Ex.java b/java/src/IceInternal/Ex.java
index aee311909f5..07ec004ff12 100644
--- a/java/src/IceInternal/Ex.java
+++ b/java/src/IceInternal/Ex.java
@@ -18,4 +18,9 @@ public class Ex
actualType, expectedType);
}
+ public static void throwMemoryLimitException(int requested, int maximum)
+ {
+ throw new Ice.MemoryLimitException("requested " + requested + " bytes, maximum allowed is " + maximum +
+ " bytes (see Ice.MessageSizeMax)");
+ }
}
diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java
index 3a12a0a9154..d322169a719 100644
--- a/java/src/IceInternal/TcpTransceiver.java
+++ b/java/src/IceInternal/TcpTransceiver.java
@@ -224,7 +224,7 @@ final class TcpTransceiver implements Transceiver
{
if(buf.size() > messageSizeMax)
{
- throw new Ice.MemoryLimitException();
+ Ex.throwMemoryLimitException(buf.size(), messageSizeMax);
}
}
diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java
index 1d6b645845c..63fc26e09eb 100644
--- a/java/src/IceInternal/ThreadPool.java
+++ b/java/src/IceInternal/ThreadPool.java
@@ -807,7 +807,7 @@ public final class ThreadPool
}
if(size > _instance.messageSizeMax())
{
- throw new Ice.MemoryLimitException();
+ Ex.throwMemoryLimitException(size, _instance.messageSizeMax());
}
if(size > stream.size())
{
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 14349800477..b982a1b5ea1 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -234,7 +234,7 @@ final class UdpTransceiver implements Transceiver
{
if(buf.size() > messageSizeMax)
{
- throw new Ice.MemoryLimitException();
+ Ex.throwMemoryLimitException(buf.size(), messageSizeMax);
}
final int packetSize = java.lang.Math.min(_maxPacketSize, _sndSize - _udpOverhead);
if(packetSize < buf.size())
diff --git a/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java
index b3e166826c8..e1e7e099cc3 100644
--- a/java/src/IceSSL/TransceiverI.java
+++ b/java/src/IceSSL/TransceiverI.java
@@ -279,7 +279,7 @@ final class TransceiverI implements IceInternal.Transceiver
{
if(buf.size() > messageSizeMax)
{
- throw new Ice.MemoryLimitException();
+ IceInternal.Ex.throwMemoryLimitException(buf.size(), messageSizeMax);
}
}