Public Member Functions | Protected Attributes

dbBlobIterator Class Reference

#include <blob.h>

Inheritance diagram for dbBlobIterator:
dbBlobReadIterator

List of all members.

Public Member Functions

virtual size_t getAvailableSize ()=0
size_t getAvailableBufferSize ()
virtual void * mapBuffer ()=0
virtual void unmapBuffer (size_t proceeded)
virtual void close ()
 dbBlobIterator (dbDatabase &db, oid_t oid)
virtual ~dbBlobIterator ()

Protected Attributes

size_t size
offs_t pos
dbDatabasedb
oid_t oid
oid_t next
void * buf
bool closed

Detailed Description

Large binary object iterator. BLOB consist of several linked BLOB segments. BLOB iterator performs traversal through all thoses segments.


Constructor & Destructor Documentation

dbBlobIterator::dbBlobIterator ( dbDatabase db,
oid_t  oid 
)

BLOB iterator constructor

Parameters:
db reference to the database
oid object identifier of BLOB
virtual dbBlobIterator::~dbBlobIterator (  )  [virtual]

BLOB destructor


Member Function Documentation

virtual void dbBlobIterator::close (  )  [virtual]

Close BLOB iterator

Reimplemented in dbBlobReadIterator.

size_t dbBlobIterator::getAvailableBufferSize (  )  [inline]

Get size of available BLOB buffer. This method should be invoked after mapBuffer().

Returns:
number of bytes which can be directly written to the BLOB.
virtual size_t dbBlobIterator::getAvailableSize (  )  [pure virtual]

Get size of sequential BLOB segment

Returns:
number of bytes which is available to read/write in current BLOB segment. If this method return 0, it means that end of BLOB is reached.

Implemented in dbBlobReadIterator.

virtual void* dbBlobIterator::mapBuffer (  )  [pure virtual]

Map current BLOB buffer to the memory, allowing direct access (read or write) to the buffer

Returns:
pointer to the buffer

Implemented in dbBlobReadIterator.

virtual void dbBlobIterator::unmapBuffer ( size_t  proceeded  )  [virtual]

Release BLOB buffer

Parameters:
proceeded number of proceeded (read or write) bytes

The documentation for this class was generated from the following file: