TAO::CompressorFactory Class Reference

#include <Compressor_Factory.h>

Inheritance diagram for TAO::CompressorFactory:

Inheritance graph
[legend]
Collaboration diagram for TAO::CompressorFactory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CompressorFactory (::Compression::CompressorId compressor_id)
virtual::Compression::CompressorId compressor_id (void)
virtual::CORBA::ULongLong compressed_bytes (void)
virtual::CORBA::ULongLong uncompressed_bytes (void)
virtual::CORBA::Double average_compression (void)
virtual::Compression::Compressor_ptr get_compressor (::Compression::CompressionLevel compression_level)=0
virtual void add_sample (::CORBA::ULongLong compressed_bytes,::CORBA::ULongLong uncompressed_bytes)

Private Attributes

TAO_SYNCH_MUTEX mutex_
::Compression::CompressorId
const  
compressor_id_
::CORBA::ULongLong compressed_bytes_
::CORBA::ULongLong uncompressed_bytes_

Constructor & Destructor Documentation

TAO::CompressorFactory::CompressorFactory ::Compression::CompressorId  compressor_id  ) 
 

Definition at line 11 of file Compressor_Factory.cpp.

References Compression::CompressorId.

00012                                                        :
00013     compressor_id_ (compressor_id),
00014     compressed_bytes_ (0),
00015     uncompressed_bytes_ (0)
00016   {
00017   }


Member Function Documentation

void TAO::CompressorFactory::add_sample ::CORBA::ULongLong  compressed_bytes,
::CORBA::ULongLong  uncompressed_bytes
[virtual]
 

Definition at line 64 of file Compressor_Factory.cpp.

References ACE_GUARD, compressed_bytes_, TAO_SYNCH_MUTEX, and uncompressed_bytes_.

00066   {
00067     ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
00068     this->compressed_bytes_ += compressed_bytes;
00069     this->uncompressed_bytes_ += uncompressed_bytes;
00070   }

CORBA::Double TAO::CompressorFactory::average_compression void   ) 
 

Definition at line 48 of file Compressor_Factory.cpp.

References ACE_GUARD_RETURN, compressed_bytes_, TAO_SYNCH_MUTEX, and uncompressed_bytes_.

00049   {
00050     ::CORBA::Double return_value = 0.0;
00051     {
00052       ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00053       if (this->uncompressed_bytes_ > 0)
00054         {
00055           return_value = static_cast < ::CORBA::Double>(
00056             (this->uncompressed_bytes_ - this->compressed_bytes_) /
00057             this->uncompressed_bytes_);
00058         }
00059     }
00060     return return_value;
00061   }

CORBA::ULongLong TAO::CompressorFactory::compressed_bytes void   ) 
 

Definition at line 26 of file Compressor_Factory.cpp.

References ACE_GUARD_RETURN, compressed_bytes_, and TAO_SYNCH_MUTEX.

00027   {
00028     ::CORBA::ULongLong return_value;
00029     {
00030       ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00031       return_value = compressed_bytes_;
00032     }
00033     return return_value;
00034   }

Compression::CompressorId TAO::CompressorFactory::compressor_id void   ) 
 

Definition at line 20 of file Compressor_Factory.cpp.

References compressor_id_.

00021   {
00022     return compressor_id_;
00023   }

virtual ::Compression::Compressor_ptr TAO::CompressorFactory::get_compressor ::Compression::CompressionLevel  compression_level  )  [pure virtual]
 

CORBA::ULongLong TAO::CompressorFactory::uncompressed_bytes void   ) 
 

Definition at line 37 of file Compressor_Factory.cpp.

References ACE_GUARD_RETURN, TAO_SYNCH_MUTEX, and uncompressed_bytes_.

00038   {
00039     ::CORBA::ULongLong return_value;
00040     {
00041       ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00042       return_value = uncompressed_bytes_;
00043     }
00044     return return_value;
00045   }


Member Data Documentation

::CORBA::ULongLong TAO::CompressorFactory::compressed_bytes_ [private]
 

Definition at line 56 of file Compressor_Factory.h.

Referenced by add_sample(), average_compression(), and compressed_bytes().

::Compression::CompressorId const TAO::CompressorFactory::compressor_id_ [private]
 

Definition at line 55 of file Compressor_Factory.h.

Referenced by compressor_id().

TAO_SYNCH_MUTEX TAO::CompressorFactory::mutex_ [private]
 

Definition at line 54 of file Compressor_Factory.h.

::CORBA::ULongLong TAO::CompressorFactory::uncompressed_bytes_ [private]
 

Definition at line 57 of file Compressor_Factory.h.

Referenced by add_sample(), average_compression(), and uncompressed_bytes().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:31:52 2008 for TAO_Compression by doxygen 1.3.6