diff options
author | msmit <msmit@remedy.nl> | 2009-06-03 12:21:49 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2009-06-03 12:21:49 +0000 |
commit | e60716fe88fefa610692015c3517351c08b5d057 (patch) | |
tree | f999c2f15e33f3d313e73f3a8e29c5a87d6e130c /TAO/tao/ZIOP | |
parent | 8b0afaf41512d83b7a55bf9d51a737987b7a7ec0 (diff) | |
download | ATCD-e60716fe88fefa610692015c3517351c08b5d057.tar.gz |
Wed Jun 3 12:16:21 2009 Marcel Smit <msmit@remedy.nl>
* tao/ZIOP/ZIOP.cpp
* tao/ZIOP/ZIOP.h
Applied ZIOP beta 2 spec. Compression ratio is defined
as float and renamed struct CompressedData into
CompressionData
* tao/ZIOP/ZIOP.pidl
Renamed struct CompressedData into CompressionData
(according to ZIOP beta 2 spec).
* tao/Compression/Base_Compressor.cpp
* tao/Compression/Compression.pidl
* tests/ZIOP/client.cpp
* tests/ZIOP/server.cpp
Applied ZIOP beta 2 spec. Compression ratio is defined
as float.
Diffstat (limited to 'TAO/tao/ZIOP')
-rw-r--r-- | TAO/tao/ZIOP/ZIOP.cpp | 46 | ||||
-rw-r--r-- | TAO/tao/ZIOP/ZIOP.h | 18 | ||||
-rw-r--r-- | TAO/tao/ZIOP/ZIOP.pidl | 4 |
3 files changed, 33 insertions, 35 deletions
diff --git a/TAO/tao/ZIOP/ZIOP.cpp b/TAO/tao/ZIOP/ZIOP.cpp index ef689281ae5..1f7df58d073 100644 --- a/TAO/tao/ZIOP/ZIOP.cpp +++ b/TAO/tao/ZIOP/ZIOP.cpp @@ -124,8 +124,8 @@ TAO_ZIOP_Loader::ziop_compressorid_name (::Compression::CompressorId st) void TAO_ZIOP_Loader::dump_msg (const char *type, const u_char *ptr, - size_t len, size_t original_data_length, - ::Compression::CompressorId compressor_id, + size_t len, size_t original_data_length, + ::Compression::CompressorId compressor_id, ::Compression::CompressionLevel compression_level) { if (TAO_debug_level < 10) @@ -197,7 +197,7 @@ TAO_ZIOP_Loader::decompress (ACE_Data_Block **db, TAO_Queued_Data& qd, if (!CORBA::is_nil(manager.in ())) { - ZIOP::CompressedData data; + ZIOP::CompressionData data; // first set the read pointer after the header size_t begin = qd.msg_block ()-> rd_ptr() - qd.msg_block ()->base (); char * initial_rd_ptr = qd.msg_block ()-> rd_ptr(); @@ -216,7 +216,7 @@ TAO_ZIOP_Loader::decompress (ACE_Data_Block **db, TAO_Queued_Data& qd, return false; Compression::Compressor_var compressor = - manager->get_compressor (data.compressorid, 6); + manager->get_compressor (data.compressor, 6); CORBA::OctetSeq myout; myout.length (data.original_length); @@ -245,10 +245,10 @@ TAO_ZIOP_Loader::decompress (ACE_Data_Block **db, TAO_Queued_Data& qd, if (TAO_debug_level > 9) { // we're only logging ZIOP messages. Log datablock before it's // replaced by it's decompressed datablock - this->dump_msg ("before decompression", + this->dump_msg ("before decompression", reinterpret_cast <u_char *>(qd.msg_block ()->rd_ptr ()), qd.msg_block ()->length (), data.original_length, - data.compressorid, compressor->compression_level ()); + data.compressor, compressor->compression_level ()); } //replace data block *db = mb.data_block ()->duplicate (); @@ -308,20 +308,18 @@ TAO_ZIOP_Loader::compress (Compression::Compressor_ptr compressor, return true; } -CORBA::ULong +::Compression::CompressionRatio TAO_ZIOP_Loader::get_ratio (CORBA::OctetSeq& uncompressed, CORBA::OctetSeq& compressed) { - return CORBA::ULong (100 - ((CORBA::Double)compressed.length () / uncompressed.length () * - (CORBA::Double)100)); + return (::Compression::CompressionRatio)uncompressed.length () / compressed.length (); } bool -TAO_ZIOP_Loader::check_min_ratio (const CORBA::ULong& this_ratio, +TAO_ZIOP_Loader::check_min_ratio (const ::Compression::CompressionRatio& this_ratio, ::Compression::CompressionRatio overall_ratio, - CORBA::Long min_ratio) const + ::Compression::CompressionRatio min_ratio) const { - bool accepted = min_ratio == 0 || - static_cast < ::Compression::CompressionRatio>(this_ratio) > min_ratio; + bool accepted = min_ratio == 0 || (this_ratio * 10000) > (min_ratio * 10000); if (TAO_debug_level > 8) { ACE_ERROR ((LM_ERROR, @@ -420,7 +418,7 @@ TAO_ZIOP_Loader::get_compression_details( compressor_id, compression_level); } } - else + else { if (TAO_debug_level > 6) { @@ -441,7 +439,7 @@ TAO_ZIOP_Loader::complete_compression (Compression::Compressor_ptr compressor, ACE_Message_Block& mb, char *initial_rd_ptr, CORBA::ULong low_value, - CORBA::Long min_ratio, + Compression::CompressionRatio min_ratio, CORBA::ULong original_data_length, Compression::CompressorId compressor_id) { @@ -460,8 +458,8 @@ TAO_ZIOP_Loader::complete_compression (Compression::Compressor_ptr compressor, { mb.wr_ptr (mb.rd_ptr ()); cdr.current_alignment (mb.wr_ptr() - mb.base ()); - ZIOP::CompressedData data; - data.compressorid = compressor_id; + ZIOP::CompressionData data; + data.compressor = compressor_id; data.original_length = input.length(); data.data = output; cdr << data; @@ -475,7 +473,7 @@ TAO_ZIOP_Loader::complete_compression (Compression::Compressor_ptr compressor, { this->dump_msg ("after compression", reinterpret_cast <u_char *>(mb.rd_ptr ()), mb.length (), data.original_length, - data.compressorid, compressor->compression_level ()); + data.compressor, compressor->compression_level ()); } } @@ -497,12 +495,12 @@ bool TAO_ZIOP_Loader::compress_data (TAO_OutputCDR &cdr, CORBA::Object_ptr compression_manager, CORBA::ULong low_value, - CORBA::Long min_ratio, - Compression::CompressorId compressor_id, - Compression::CompressionLevel compression_level) + ::Compression::CompressionRatio min_ratio, + ::Compression::CompressorId compressor_id, + ::Compression::CompressionLevel compression_level) { bool compressed = true; - + cdr.consolidate (); ACE_Message_Block* current = const_cast <ACE_Message_Block*> (cdr.current ()); @@ -570,7 +568,7 @@ TAO_ZIOP_Loader::marshal_data (TAO_OutputCDR &cdr, TAO_Stub& stub) CORBA::ULong low_value = this->compression_policy_value (policy_low_value.in ()); - CORBA::Long min_ratio = + Compression::CompressionRatio min_ratio = this->compression_policy_value (policy_min_ratio.in ()); return compress_data(cdr, compression_manager.in (), @@ -620,7 +618,7 @@ TAO_ZIOP_Loader::marshal_data (TAO_OutputCDR& cdr, TAO_ORB_Core& orb_core) CORBA::ULong low_value = this->compression_policy_value (policy_low_value.in ()); - CORBA::Long min_ratio = + Compression::CompressionRatio min_ratio = this->compression_policy_value (policy_min_ratio.in ()); return compress_data(cdr, compression_manager.in (), diff --git a/TAO/tao/ZIOP/ZIOP.h b/TAO/tao/ZIOP/ZIOP.h index 1ce3ac690f7..fa458ff7064 100644 --- a/TAO/tao/ZIOP/ZIOP.h +++ b/TAO/tao/ZIOP/ZIOP.h @@ -60,7 +60,7 @@ public: /// Used to force the initialization of the ORB code. static int Initializer (void); - + /// Converts compressor ID to a compressor name. static const char * ziop_compressorid_name (::Compression::CompressorId st); @@ -72,8 +72,8 @@ private: /// dump a ZIOP datablock after (de)compression void dump_msg (const char *type, const u_char *ptr, - size_t len, size_t original_data_length, - ::Compression::CompressorId compressor_id, + size_t len, size_t original_data_length, + ::Compression::CompressorId compressor_id, ::Compression::CompressionLevel compression_level); /// Get the compression low value, returns 0 when it is not set @@ -94,14 +94,14 @@ private: ACE_Message_Block& mb, char *initial_rd_ptr, CORBA::ULong low_value, - CORBA::Long min_ratio, + Compression::CompressionRatio min_ratio, CORBA::ULong original_data_length, Compression::CompressorId compressor_id); bool compress_data (TAO_OutputCDR &cdr, CORBA::Object_ptr compression_manager, CORBA::ULong low_value, - CORBA::Long min_ratio, + ::Compression::CompressionRatio min_ratio, ::Compression::CompressorId compressor_id, ::Compression::CompressionLevel compression_level); @@ -112,13 +112,13 @@ private: bool decompress (Compression::Compressor_ptr compressor, const ::Compression::Buffer &source, ::Compression::Buffer &target); - - CORBA::ULong get_ratio (CORBA::OctetSeq& uncompressed, + + ::Compression::CompressionRatio get_ratio (CORBA::OctetSeq& uncompressed, CORBA::OctetSeq& compressed); - bool check_min_ratio (const CORBA::ULong& this_ratio, + bool check_min_ratio (const ::Compression::CompressionRatio& this_ratio, ::Compression::CompressionRatio overall_ratio, - CORBA::Long min_ratio) const; + ::Compression::CompressionRatio min_ratio) const; }; static int diff --git a/TAO/tao/ZIOP/ZIOP.pidl b/TAO/tao/ZIOP/ZIOP.pidl index d3b49079881..4c7ef2648bd 100644 --- a/TAO/tao/ZIOP/ZIOP.pidl +++ b/TAO/tao/ZIOP/ZIOP.pidl @@ -6,8 +6,8 @@ module ZIOP { - struct CompressedData { - Compression::CompressorId compressorid; + struct CompressionData { + Compression::CompressorId compressor; unsigned long original_length; Compression::Buffer data; }; |