diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/ConnectionI.cpp | 13 | ||||
-rw-r--r-- | cpp/src/Ice/ConnectionI.h | 6 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.cpp | 3 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.h | 2 |
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! |