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:

| 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:
- /home/pub/open/dev/fennel/exec/SegBufferReader.h
- /home/pub/open/dev/fennel/exec/SegBufferReader.cpp
