summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2005-06-06 14:30:05 +0000
committerMark Spruiell <mes@zeroc.com>2005-06-06 14:30:05 +0000
commitc1d6e119a653d262abfb8b041019497328ca0c4b (patch)
tree505f2395e21d21ccdeb2891cbacdb69f9fba80d7 /cpp/src
parentfix for bug 307 (diff)
downloadice-c1d6e119a653d262abfb8b041019497328ca0c4b.tar.bz2
ice-c1d6e119a653d262abfb8b041019497328ca0c4b.tar.xz
ice-c1d6e119a653d262abfb8b041019497328ca0c4b.zip
adding Ice.Compression.Level
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/ConnectionI.cpp13
-rw-r--r--cpp/src/Ice/ConnectionI.h6
-rw-r--r--cpp/src/Ice/PropertyNames.cpp3
-rw-r--r--cpp/src/Ice/PropertyNames.h2
4 files changed, 19 insertions, 5 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index be7edbba586..b7aff1a400d 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.cpp
@@ -1452,6 +1452,17 @@ Ice::ConnectionI::ConnectionI(const InstancePtr& instance,
replyHdr[8] = replyMsg;
replyHdr[9] = 0;
+ int& compressionLevel = const_cast<int&>(_compressionLevel);
+ compressionLevel = _instance->properties()->getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
+ if(compressionLevel < 1)
+ {
+ compressionLevel = 1;
+ }
+ else if(compressionLevel > 9)
+ {
+ compressionLevel = 9;
+ }
+
ObjectAdapterI* adapterImpl = _adapter ? dynamic_cast<ObjectAdapterI*>(_adapter.get()) : 0;
if(adapterImpl)
{
@@ -1904,7 +1915,7 @@ Ice::ConnectionI::doCompress(BasicStream& uncompressed, BasicStream& compressed)
&compressedLen,
reinterpret_cast<char*>(&uncompressed.b[0]) + headerSize,
uncompressedLen,
- 1, 0, 0);
+ _compressionLevel, 0, 0);
if(bzError != BZ_OK)
{
CompressionException ex(__FILE__, __LINE__);
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index d1ccae74f8f..58092d36d5d 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -118,8 +118,8 @@ private:
void registerWithPool();
void unregisterWithPool();
- static void doCompress(IceInternal::BasicStream&, IceInternal::BasicStream&);
- static void doUncompress(IceInternal::BasicStream&, IceInternal::BasicStream&);
+ void doCompress(IceInternal::BasicStream&, IceInternal::BasicStream&);
+ void doUncompress(IceInternal::BasicStream&, IceInternal::BasicStream&);
void parseMessage(IceInternal::BasicStream&, Int&, Int&, Byte&,
IceInternal::ServantManagerPtr&, ObjectAdapterPtr&, IceInternal::OutgoingAsyncPtr&);
@@ -166,6 +166,8 @@ private:
const std::vector<Byte> _requestBatchHdr;
const std::vector<Byte> _replyHdr;
+ const int _compressionLevel;
+
Int _nextRequestId;
std::map<Int, IceInternal::Outgoing*> _requests;
diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index 3067ceab9ed..97ac8cc7b62 100644
--- a/cpp/src/Ice/PropertyNames.cpp
+++ b/cpp/src/Ice/PropertyNames.cpp
@@ -7,7 +7,7 @@
//
// **********************************************************************
-// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Jun 2 17:48:18 2005
+// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Jun 2 15:14:44 2005
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
@@ -18,6 +18,7 @@ const char* IceInternal::PropertyNames::IceProps[] =
"Ice.ACM.Client",
"Ice.ACM.Server",
"Ice.ChangeUser",
+ "Ice.Compression.Level",
"Ice.Config",
"Ice.ConnectionIdleTime",
"Ice.Default.Host",
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index a62522681eb..68cae66c143 100644
--- a/cpp/src/Ice/PropertyNames.h
+++ b/cpp/src/Ice/PropertyNames.h
@@ -7,7 +7,7 @@
//
// **********************************************************************
-// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Jun 2 17:48:18 2005
+// Generated by makeprops.py from file `../config/PropertyNames.def', Thu Jun 2 15:14:44 2005
// IMPORTANT: Do not edit this file -- any edits made here will be lost!