Classes | |
class | Auto_Seg |
std::auto_ptr like functionality with CSeg pointers. More... | |
class | CCoContext |
Encapsulate a co-routine context. More... | |
class | CError |
Base class to all segments, handles backwards error propagation etc. More... | |
class | CFilter |
A buffering filter enabling a pull programming-model. More... | |
class | CFilterBlock |
A buffering filter class returning chunks of requested size. More... | |
class | CFilterByte |
A byte-wise filter class, enabling the caller to retrieve one byte at a time. More... | |
class | CGlobalInit |
Global initialization for the AxPipe framework. More... | |
class | CJoin |
A Y join, taking any number of streams and joining them. More... | |
class | CJoin::CTSinkJoin |
A helper class for the merge, each in stream gets a CSinkJoin like this. More... | |
class | CNoThread |
Dummy non-threaded base-class for all CSource, CSink and CPipe derived classes. More... | |
class | CPipe |
The generic pipe-segment as an abstract class. More... | |
class | CPipeBlock |
Accept pushed segments n blocks of m bytes at a time (except last). More... | |
class | CSeg |
Reference counted memory buffer objects. More... | |
class | CSegMap |
A special purpose version of CSeg, to work with Memory Mapped segments. More... | |
class | CSink |
The base class of all CSink and CPipe derived pipe sections. More... | |
class | CSinkMemFile |
A CSink implemented with a memory mapped file as the destination. More... | |
class | CSinkNull |
/dev/null or NUL: in Windows parlance More... | |
class | CSource |
A generic source, as an abstract class. More... | |
class | CSourceMem |
A memory buffer based source. More... | |
class | CSourceMemFile |
A CSource providing data from a file system file, using memory mapping. More... | |
class | CSourceNull |
/dev/null or NUL: in Windows More... | |
class | CSplit |
A forward Y-split, divides a stream into two. More... | |
class | CSync |
Thread synchronization. More... | |
class | CThread |
Thread wrapper for AxPipe CSource, CPipe and CSink derived classes. More... | |
class | CThreadMain |
a Template class that will create a thread for a method virtual int Main() More... | |
class | CThreadNoRun |
Only used as a ThreadProc to get back into the class. Template to implement a pipe-section in a separate thread. More... | |
class | CThreadSource |
Start a CSource in a separate thread. A CSource derived class will be setup to Drain() in it's own thread. More... | |
class | CThreadSync |
A small collection of objects and methods for thread sync. More... | |
Typedefs | |
typedef __int64 | longlong |
Substitute for long long which is not always supported. | |
typedef unsigned __int64 | ulonglong |
Substitute for unsigned long long which is not always supported. | |
typedef CThread< CSourceMemFile > | CTSourceMemFile |
A Threaded version of CSourceMemFile for convenience. | |
typedef CThread< CSinkMemFile > | CTSinkMemFile |
A threaded version of CSinkMemFile for convenience. | |
typedef Auto_Seg< CSeg > | CAutoSeg |
Use pretty much as you would auto_ptr<CSeg> if you could have done that, which you can't. | |
Enumerations | |
enum | ERROR_CODE { ERROR_CODE_SUCCESS = 0, ERROR_CODE_GENERIC, ERROR_CODE_INTERNAL, ERROR_CODE_NOTOPEN, ERROR_CODE_STOCK, ERROR_CODE_DERIVED = 100 } |
AxPipe pre-defined error codes, gettable with GetErrorCode(). More... | |
enum | eSegType { eSegTypeOpen = 1, eSegTypeFlush, eSegTypeClose, eSegTypePlug, eSegTypeDerived = 100 } |
Special segment value types that have meaning in the data pump. More... | |
Functions | |
void * | MapUserView (HANDLE hMapping, longlong llOffset, size_t cbLen, void **ppvUserView, DWORD dwAccess) |
Map a view of a file to a given offset. | |
Variables | |
DWORD | dwTlsIndex |
Used to keep track of thread fiber-status for the pull-filter mode classes. | |
volatile long | nGlobalInit |
Keep track of how global initialization count. | |
const _TCHAR * | ERROR_MSG_GENERIC = _T("AxPipe:: %s") |
ERROR_CODE_GENERIC - for most errors, one string argument. | |
const _TCHAR * | ERROR_MSG_INTERNAL = _T("AxPipe:: Internal error %s") |
ERROR_CODE_INTERNAL - for fatal internal errors, one string argument. | |
const _TCHAR * | ERROR_MSG_NOTOPEN = _T("AxPipe:: Pipe not Open") |
ERROR_CODE_NOTOPEN - Sequence error in operations - need open first. |
Use using AxPipe; or AxPipe:: prefix for all references to identifiers except macros in the framework.
|
|
Special segment value types that have meaning in the data pump. CSeg's keep track of an opaque segment type meta-data value, which is an int. User-defined must be non-zero, because the default value is zero. These are used to mark the special in-band signals for Open, Close and Plug. When we send CSeg's down the line with a type from this list, the code does special things, such as calling OutOpen(), OutClose() and Plug() respectively. |
|
Map a view of a file to a given offset. Ensure that the view is correctly aligned, but give the caller a convenient pointer to the right place in the view.
Definition at line 48 of file CFileMap.cpp. References ASSAPI, and longlong. Referenced by AxPipe::CSinkMemFile::Out(), and AxPipe::CSinkMemFile::OutGetSeg(). |