diff options
author | Mark Spruiell <mes@zeroc.com> | 2005-06-06 14:30:05 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2005-06-06 14:30:05 +0000 |
commit | c1d6e119a653d262abfb8b041019497328ca0c4b (patch) | |
tree | 505f2395e21d21ccdeb2891cbacdb69f9fba80d7 /cpp | |
parent | fix for bug 307 (diff) | |
download | ice-c1d6e119a653d262abfb8b041019497328ca0c4b.tar.bz2 ice-c1d6e119a653d262abfb8b041019497328ca0c4b.tar.xz ice-c1d6e119a653d262abfb8b041019497328ca0c4b.zip |
adding Ice.Compression.Level
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/CHANGES | 19 | ||||
-rw-r--r-- | cpp/config/PropertyNames.def | 1 | ||||
-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 |
6 files changed, 33 insertions, 11 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES index e29d7c93f54..ec7a020d60c 100644 --- a/cpp/CHANGES +++ b/cpp/CHANGES @@ -1,18 +1,25 @@ Changes since version 2.1.1 --------------------------- -- Fixed a bug in IcePack where stopping a server could hang - if the server didn't answer the Ice::Process::shutdown() call. +- Changed the C++ translator so that generated code no longer uses + static function data. -- Changed IceStorm subscriber reaping to release more quickly from - memory dead subscribers. +- Fixed a bug in IcePack where stopping a server could hang if the + server didn't answer the Ice::Process::shutdown() call. + +- Changed IceStorm subscriber reaping to release dead subscribers + more quickly from memory. - Fixed a bug in IceStorm where the mode (idempotent or nonmutating) - of the update wasn't correctly forwarded to the suscribers. + of the request wasn't correctly forwarded to the subscribers. - Added IcePack.Registry.AdminIdentity, IcePack.Registry.QueryIdentity and IcePack.Registry.LocatorIdentity properties to allow configuring - the identities of well known IcePack registry interfaces. + the identities of well-known IcePack registry interfaces. + +- Added the configuration property Ice.Compression.Level to provide + more control over the bzip2 algorithm used to compress Ice protocol + messages. - Fixed a bug in the Glacier2 router where buffered mode serialized twoway requests when it should not. diff --git a/cpp/config/PropertyNames.def b/cpp/config/PropertyNames.def index 41a1cdb485c..ab564f188e3 100644 --- a/cpp/config/PropertyNames.def +++ b/cpp/config/PropertyNames.def @@ -106,6 +106,7 @@ Ice: ACM.Client ACM.Server ChangeUser + Compression.Level Config ConnectionIdleTime Default.Host 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! |