summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Instance.java
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2003-07-02 00:53:13 +0000
committerMichi Henning <michi@zeroc.com>2003-07-02 00:53:13 +0000
commit05ecde31cd6bde0ce1eebb7a7b123d4b3a23712d (patch)
tree104c46e23c2621f45f17fcf017569818ee795332 /java/src/IceInternal/Instance.java
parentcomments (diff)
downloadice-05ecde31cd6bde0ce1eebb7a7b123d4b3a23712d.tar.bz2
ice-05ecde31cd6bde0ce1eebb7a7b123d4b3a23712d.tar.xz
ice-05ecde31cd6bde0ce1eebb7a7b123d4b3a23712d.zip
Changed implementation of Ice.MessageSizeMax property: no longer a static
value now and initialized in Instance.
Diffstat (limited to 'java/src/IceInternal/Instance.java')
-rw-r--r--java/src/IceInternal/Instance.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java
index e6ab5414695..b6475e650ff 100644
--- a/java/src/IceInternal/Instance.java
+++ b/java/src/IceInternal/Instance.java
@@ -251,6 +251,13 @@ public class Instance
return _pluginManager;
}
+ public int
+ messageSizeMax()
+ {
+ // No mutex lock, immutable.
+ return _messageSizeMax;
+ }
+
public BufferManager
bufferManager()
{
@@ -290,6 +297,21 @@ public class Instance
_defaultsAndOverrides = new DefaultsAndOverrides(_properties);
+ final int defaultMessageSizeMax = 1024;
+ final int num = _properties.getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
+ if(num < 1)
+ {
+ _messageSizeMax = defaultMessageSizeMax; // Ignore stupid values.
+ }
+ else if(num > 0x7fffffff / 1024)
+ {
+ _messageSizeMax = 0x7fffffff;
+ }
+ else
+ {
+ _messageSizeMax = num * 1024; // Property is in kilobytes, _messageSizeMax in bytes
+ }
+
_routerManager = new RouterManager();
_locatorManager = new LocatorManager();
@@ -479,6 +501,7 @@ public class Instance
private Ice.Stats _stats; // Not reset by destroy().
private final TraceLevels _traceLevels; // Immutable, not reset by destroy().
private final DefaultsAndOverrides _defaultsAndOverrides; // Immutable, not reset by destroy().
+ private final int _messageSizeMax; // Immutable, not reset by destroy().
private RouterManager _routerManager;
private LocatorManager _locatorManager;
private ReferenceFactory _referenceFactory;