Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ACE_Locked_Data_Block< ACE_LOCK > Class Template Reference

A Data_Block with a concrete locking strategy. More...

#include <Message_Block_T.h>

Inheritance diagram for ACE_Locked_Data_Block< ACE_LOCK >:

Inheritance graph
[legend]
Collaboration diagram for ACE_Locked_Data_Block< ACE_LOCK >:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Locked_Data_Block (void)
 Default "do-nothing" constructor.

 ACE_Locked_Data_Block (size_t size, ACE_Message_Block::ACE_Message_Type msg_type, const char *msg_data, ACE_Allocator *allocator_strategy, ACE_Message_Block::Message_Flags flags, ACE_Allocator *data_block_allocator)
 Initialize.

virtual ~ACE_Locked_Data_Block (void)
 Delete all the resources held in the message.

virtual ACE_Data_Blockclone_nocopy (ACE_Message_Block::Message_Flags mask=0) const

Private Methods

ACE_Locked_Data_Block< ACE_LOCK > & operator= (const ACE_Locked_Data_Block< ACE_LOCK > &)
 ACE_Locked_Data_Block (const ACE_Locked_Data_Block< ACE_LOCK > &)

Private Attributes

ACE_LOCK lock_
 The lock.


Detailed Description

template<class ACE_LOCK>
class ACE_Locked_Data_Block< ACE_LOCK >

A Data_Block with a concrete locking strategy.

Data_Blocks can be parametric on the kind of lock they use; in many cases the lifetime of the lock is tied to the lifetime of the Data_Block itself. But since Data_Blocks are reference counted it is hard for users to control the lock lifetime. This class is parametric over the kind of lock used.


Constructor & Destructor Documentation

template<class ACE_LOCK>
ACE_INLINE ACE_Locked_Data_Block< ACE_LOCK >::ACE_Locked_Data_Block void   
 

Default "do-nothing" constructor.

template<class ACE_LOCK>
ACE_INLINE ACE_Locked_Data_Block< ACE_LOCK >::ACE_Locked_Data_Block size_t    size,
ACE_Message_Block::ACE_Message_Type    msg_type,
const char *    msg_data,
ACE_Allocator   allocator_strategy,
ACE_Message_Block::Message_Flags    flags,
ACE_Allocator   data_block_allocator
 

Initialize.

template<class L>
ACE_Locked_Data_Block< L >::~ACE_Locked_Data_Block void    [virtual]
 

Delete all the resources held in the message.

template<class ACE_LOCK>
ACE_Locked_Data_Block< ACE_LOCK >::ACE_Locked_Data_Block const ACE_Locked_Data_Block< ACE_LOCK > &    [private]
 


Member Function Documentation

template<class ACE_LOCK>
ACE_Data_Block * ACE_Locked_Data_Block< ACE_LOCK >::clone_nocopy ACE_Message_Block::Message_Flags    mask = 0 const [virtual]
 

Return an exact "deep copy" of the message, the dynamic type is ACE_Locked_Data_Block<> See the documentation in Message_Block.h for details.

Reimplemented from ACE_Data_Block.

template<class ACE_LOCK>
ACE_Locked_Data_Block<ACE_LOCK>& ACE_Locked_Data_Block< ACE_LOCK >::operator= const ACE_Locked_Data_Block< ACE_LOCK > &    [private]
 


Member Data Documentation

template<class ACE_LOCK>
ACE_LOCK ACE_Locked_Data_Block< ACE_LOCK >::lock_ [private]
 

The lock.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 16:49:35 2004 for ACE by doxygen1.2.18