summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2009-06-03 12:21:49 +0000
committermsmit <msmit@remedy.nl>2009-06-03 12:21:49 +0000
commit239174ef30139d86ef5d0c548d0646e72422c9c4 (patch)
treef999c2f15e33f3d313e73f3a8e29c5a87d6e130c
parent53273507c35311911d51217551c8d6fe89b53f52 (diff)
downloadATCD-239174ef30139d86ef5d0c548d0646e72422c9c4.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.
-rw-r--r--TAO/tao/Compression/Base_Compressor.cpp7
-rw-r--r--TAO/tao/Compression/Compression.pidl4
-rw-r--r--TAO/tao/ZIOP/ZIOP.cpp46
-rw-r--r--TAO/tao/ZIOP/ZIOP.h18
-rw-r--r--TAO/tao/ZIOP/ZIOP.pidl4
-rw-r--r--TAO/tests/ZIOP/client.cpp10
-rw-r--r--TAO/tests/ZIOP/server.cpp2
7 files changed, 44 insertions, 47 deletions
diff --git a/TAO/tao/Compression/Base_Compressor.cpp b/TAO/tao/Compression/Base_Compressor.cpp
index d949a3c9b49..1f05c21713a 100644
--- a/TAO/tao/Compression/Base_Compressor.cpp
+++ b/TAO/tao/Compression/Base_Compressor.cpp
@@ -63,10 +63,9 @@ namespace TAO
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
if (this->uncompressed_bytes_ > 0)
{
- return_value =
- static_cast < ::Compression::CompressionRatio>(100 -
- (((CORBA::Double)this->uncompressed_bytes_ / this->compressed_bytes_) *
- (CORBA::Double)100));
+ return_value =
+ static_cast <::Compression::CompressionRatio>
+ ((::Compression::CompressionRatio) this->compressed_bytes_ / this->uncompressed_bytes_);
}
}
return return_value;
diff --git a/TAO/tao/Compression/Compression.pidl b/TAO/tao/Compression/Compression.pidl
index 0fed028ce7c..3608abfea37 100644
--- a/TAO/tao/Compression/Compression.pidl
+++ b/TAO/tao/Compression/Compression.pidl
@@ -21,7 +21,7 @@ module Compression
*/
exception CompressionException
{
- unsigned long reason;
+ long reason;
string description;
};
@@ -63,7 +63,7 @@ module Compression
/**
* CompressionRatio type.
*/
- typedef long CompressionRatio;
+ typedef float CompressionRatio;
/**
* CompressionLevelId struc.
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;
};
diff --git a/TAO/tests/ZIOP/client.cpp b/TAO/tests/ZIOP/client.cpp
index 0f4304527a1..15e2b51cc37 100644
--- a/TAO/tests/ZIOP/client.cpp
+++ b/TAO/tests/ZIOP/client.cpp
@@ -151,7 +151,7 @@ CORBA::Policy_ptr
create_min_ratio_policy (CORBA::ORB_ptr orb)
{
CORBA::Any min_compression_ratio_any;
- CORBA::Long min_compression_ratio = 50;
+ Compression::CompressionRatio min_compression_ratio = 0.50;
min_compression_ratio_any <<= min_compression_ratio;
return orb->create_policy (ZIOP::COMPRESSION_MIN_RATIO_POLICY_ID, min_compression_ratio_any);
@@ -286,7 +286,7 @@ check_results (CORBA::ORB_ptr orb)
#endif
}
-int
+int
run_string_test (Test::Hello_ptr hello)
{
ACE_DEBUG((LM_DEBUG,
@@ -313,7 +313,7 @@ run_string_test (Test::Hello_ptr hello)
return 0;
}
-int
+int
run_big_reply_test (Test::Hello_ptr hello)
{
ACE_DEBUG((LM_DEBUG,
@@ -337,7 +337,7 @@ run_big_reply_test (Test::Hello_ptr hello)
return 0;
}
-int
+int
run_big_request_test (Test::Hello_ptr hello)
{
int length = 40000;
@@ -351,7 +351,7 @@ run_big_request_test (Test::Hello_ptr hello)
return 0;
}
-int
+int
start_tests (Test::Hello_ptr hello, CORBA::ORB_ptr orb)
{
int result = 0;
diff --git a/TAO/tests/ZIOP/server.cpp b/TAO/tests/ZIOP/server.cpp
index 66ced845c6e..5fdd724b921 100644
--- a/TAO/tests/ZIOP/server.cpp
+++ b/TAO/tests/ZIOP/server.cpp
@@ -135,7 +135,7 @@ CORBA::Policy_ptr
create_min_ratio_policy (CORBA::ORB_ptr orb)
{
CORBA::Any min_compression_ratio_any;
- CORBA::Long min_compression_ratio = 75;
+ Compression::CompressionRatio min_compression_ratio = 0.75;
min_compression_ratio_any <<= min_compression_ratio;
return orb->create_policy (ZIOP::COMPRESSION_MIN_RATIO_POLICY_ID, min_compression_ratio_any);