Fennel: SegBufferReader Class Reference (original) (raw)

SegBufferReader is a helper class that reads data that has previously been buffered, and writes the data to its output stream. More...

#include <[SegBufferReader.h](SegBufferReader%5F8h-source.html)>

Inheritance diagram for SegBufferReader:

List of all members.

Public Member Functions
SegBufferReader (SharedExecStreamBufAccessor &pOutAccessorInit, SegmentAccessor const &bufferSegmentAccessorInit, PageId firstPageIdInit)
Creates a new SegBufferReader object.
void open (bool destroy)
Initiates reads of the buffered data, beginning at the first page.
ExecStreamResult read ()
Reads the buffered data.
virtual void closeImpl ()
Must be implemented by derived class to release any resources.
bool isClosed () const
**Returns:**whether the object has been closed
void close ()
Closes this object, releasing any unallocated resources.
Static Public Member Functions
static SharedSegBufferReader newSegBufferReader (SharedExecStreamBufAccessor &pOutAccessor, SegmentAccessor const &bufferSegmentAccessor, PageId firstPageId)
Creates a shared pointer to a new SegBufferReader object.
Protected Attributes
bool needsClose
Private Attributes
SharedExecStreamBufAccessor pOutAccessor
SegmentAccessor bufferSegmentAccessor
SharedSegInputStream pByteInputStream
PageId firstPageId
SegStreamPosition restartPos
uint cbLastRead

Detailed Description

SegBufferReader is a helper class that reads data that has previously been buffered, and writes the data to its output stream.

Version:

Id

//open/dev/fennel/exec/SegBufferReader.h#2

Definition at line 41 of file SegBufferReader.h.


Constructor & Destructor Documentation

Creates a new SegBufferReader object.

Parameters:

pOutAccessorInit the output stream that will be written
bufferSegmentAccessorInit the segment accessor that will be used to read the buffered data
firstPageIdInit the pageId of the first buffer page

Definition at line 41 of file SegBufferReader.cpp.

Referenced by newSegBufferReader().


Member Function Documentation

void SegBufferReader::open ( bool destroy )

| void SegBufferReader::closeImpl | ( | | ) | [virtual] | | ------------------------------- | - | | - | ----------- |

| bool ClosableObject::isClosed | ( | | ) | const [inline, inherited] | | ----------------------------- | - | | - | --------------------------- |

Returns:

whether the object has been closed

Definition at line 58 of file ClosableObject.h.

| void ClosableObject::close | ( | | ) | [inherited] | | -------------------------- | - | | - | ------------- |

Closes this object, releasing any unallocated resources.

Reimplemented in CollectExecStream, CorrelationJoinExecStream, LcsClusterAppendExecStream, and LcsClusterReplaceExecStream.

Definition at line 39 of file ClosableObject.cpp.

References ClosableObject::closeImpl(), and ClosableObject::needsClose.

Referenced by CacheImpl< PageT, VictimPolicyT >::allocatePages(), LcsRowScanBaseExecStream::closeImpl(), ExecStreamGraphImpl::closeImpl(), FlatFileBuffer::open(), ClosableObjectDestructor::operator()(), and Segment::~Segment().


Member Data Documentation


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


Generated on Mon Jun 22 04:00:45 2009 for Fennel by doxygen 1.5.1