oasys::ScratchBuffer< _memory_t, _static_size > Class Template Reference

#include <ScratchBuffer.h>

Inheritance diagram for oasys::ScratchBuffer< _memory_t, _static_size >:

oasys::ExpandableBuffer

List of all members.


Detailed Description

template<typename _memory_t, size_t _static_size>
class oasys::ScratchBuffer< _memory_t, _static_size >

ScratchBuffer class that uses a static stack allocated to begin with.

Definition at line 70 of file ScratchBuffer.h.


Public Member Functions

 ScratchBuffer (size_t size=0)
 Standard default constructor.
 ScratchBuffer (const ScratchBuffer &other)
 We need to implement our own copy constructor to make sure to call the right reserve() call.
virtual ~ScratchBuffer ()
 The destructor clears the buf_ pointer if pointing at the static segment so ExpandableBuffer doesn't try to delete it.
_memory_t buf (size_t size=0)
 
Returns:
Pointer of buffer of size, otherwise 0

const _memory_t buf () const
 
Returns:
Read-only pointer to buffer

virtual void reserve (size_t size=0)
 virtual from ExpandableBuffer

Private Member Functions

bool using_malloc () const

Private Attributes

char static_buf_ [_static_size]

Constructor & Destructor Documentation

template<typename _memory_t, size_t _static_size>
oasys::ScratchBuffer< _memory_t, _static_size >::ScratchBuffer ( size_t  size = 0  )  [inline]

Standard default constructor.

Definition at line 73 of file ScratchBuffer.h.

template<typename _memory_t, size_t _static_size>
oasys::ScratchBuffer< _memory_t, _static_size >::ScratchBuffer ( const ScratchBuffer< _memory_t, _static_size > &  other  )  [inline]

We need to implement our own copy constructor to make sure to call the right reserve() call.

Definition at line 86 of file ScratchBuffer.h.

template<typename _memory_t, size_t _static_size>
virtual oasys::ScratchBuffer< _memory_t, _static_size >::~ScratchBuffer (  )  [inline, virtual]

The destructor clears the buf_ pointer if pointing at the static segment so ExpandableBuffer doesn't try to delete it.

Definition at line 101 of file ScratchBuffer.h.


Member Function Documentation

template<typename _memory_t, size_t _static_size>
_memory_t oasys::ScratchBuffer< _memory_t, _static_size >::buf ( size_t  size = 0  )  [inline]

Returns:
Pointer of buffer of size, otherwise 0

Definition at line 108 of file ScratchBuffer.h.

Referenced by dtn::BlockProcessor::consume_preamble(), dtn::ProphetTLV::create_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::BlockInfo::data(), oasys::FileSystemTable::del(), dtn::AdminRegistration::deliver_bundle(), dtn::ProphetTLV::deserialize(), dtn::BlockInfo::flags(), dtn::PreviousHopBlockProcessor::generate(), oasys::MemoryTable::get(), oasys::FileSystemTable::get(), oasys::BerkeleyDBTable::get(), oasys::MemoryIterator::get_key(), dtntunnel::UDPTunnel::handle_bundle(), dtntunnel::TCPTunnel::Connection::handle_bundle(), dtntunnel::TCPTunnel::handle_bundle(), dtntunnel::DTNTunnel::handle_bundle(), dtn::APIClient::handle_recv(), dtn::AnnounceBundle::parse_announce_bundle(), dtn::TclRegistration::parse_bundle_data(), dtn::BundleStatusReport::parse_status_report(), oasys::TextUnmarshal::process(), oasys::FileSystemTable::put(), oasys::BerkeleyDBTable::put(), dtntunnel::UDPTunnel::Listener::run(), dtntunnel::TCPTunnel::Connection::run(), dtn::IPDiscovery::run(), dtntunnel::DTNTunnel::send_bundle(), dtn::BlockInfo::serialize(), dtn::BlockInfo::set_flag(), and dtn::BlockInfo::type().

template<typename _memory_t, size_t _static_size>
const _memory_t oasys::ScratchBuffer< _memory_t, _static_size >::buf (  )  const [inline]

Returns:
Read-only pointer to buffer

Definition at line 116 of file ScratchBuffer.h.

template<typename _memory_t, size_t _static_size>
virtual void oasys::ScratchBuffer< _memory_t, _static_size >::reserve ( size_t  size = 0  )  [inline, virtual]

virtual from ExpandableBuffer

Reimplemented from oasys::ExpandableBuffer.

Definition at line 121 of file ScratchBuffer.h.

Referenced by oasys::ScratchBuffer< u_char * >::buf(), oasys::ScratchBuffer< _memory_t, 0 >::buf(), dtn::PreviousHopBlockProcessor::generate(), dtn::APIClient::handle_recv(), dtn::BundleStatusReport::parse_status_report(), dtntunnel::TCPTunnel::Connection::run(), oasys::ScratchBuffer< u_char * >::ScratchBuffer(), and dtn::BlockInfo::serialize().

template<typename _memory_t, size_t _static_size>
bool oasys::ScratchBuffer< _memory_t, _static_size >::using_malloc (  )  const [inline, private]

Definition at line 147 of file ScratchBuffer.h.

Referenced by oasys::ScratchBuffer< u_char * >::reserve(), oasys::ScratchBuffer< u_char * >::ScratchBuffer(), and oasys::ScratchBuffer< u_char * >::~ScratchBuffer().


Member Data Documentation

template<typename _memory_t, size_t _static_size>
char oasys::ScratchBuffer< _memory_t, _static_size >::static_buf_[_static_size] [private]

Definition at line 146 of file ScratchBuffer.h.

Referenced by oasys::ScratchBuffer< u_char * >::reserve(), oasys::ScratchBuffer< u_char * >::ScratchBuffer(), and oasys::ScratchBuffer< u_char * >::using_malloc().


The documentation for this class was generated from the following file:
Generated on Sat Sep 8 08:43:56 2007 for DTN Reference Implementation by  doxygen 1.5.3