diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2009-04-21 11:03:19 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2009-04-21 11:03:19 -0230 |
commit | d6bbb689749d7eb25728feb2426fe4d9bcaaee69 (patch) | |
tree | df16c64ea4c2f728b435982660deea43f0252433 /java/src | |
parent | Bug 3957 - ensure python that starts scripts is same as one it uses internally (diff) | |
download | ice-d6bbb689749d7eb25728feb2426fe4d9bcaaee69.tar.bz2 ice-d6bbb689749d7eb25728feb2426fe4d9bcaaee69.tar.xz ice-d6bbb689749d7eb25728feb2426fe4d9bcaaee69.zip |
Bug 2798 - add reason information to MemoryLimitException
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ConnectionI.java | 4 | ||||
-rw-r--r-- | java/src/IceInternal/BasicStream.java | 4 | ||||
-rw-r--r-- | java/src/IceInternal/ConnectRequestHandler.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/Ex.java | 5 | ||||
-rw-r--r-- | java/src/IceInternal/TcpTransceiver.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/UdpTransceiver.java | 2 | ||||
-rw-r--r-- | java/src/IceSSL/TransceiverI.java | 2 |
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); } } |