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(). |
1.3.5