![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cMailslot.h>
Public Member Functions | |
cMailslotReader () | |
virtual | ~cMailslotReader () |
virtual HRESULT | Connect (const FILECHAR_t *pszSlotname, const FILECHAR_t *szServer=nullptr, _SECURITY_ATTRIBUTES *pSa=nullptr) override |
virtual HRESULT | ReadX (void *pbData, size_t nLengthMax) override |
HRESULT | ReadX (cHeapBlock &buffer, size_t nReasonableLengthMax=0x1000) |
UINT | GetMessageCount (size_t *pnNextMessageLength=nullptr) |
bool | put_ReadTimeout (TIMESYSD_t nReadTimeout) |
![]() | |
virtual void | Disconnect () |
cStringF | get_MailslotPath () const |
bool | isOpen () const |
UNITTEST2_PREDEF (cMailslot) | |
![]() | |
cStreamInput () noexcept | |
virtual | ~cStreamInput () |
virtual size_t | SetSeekSizeMin (size_t nSizeMin=k_FILE_BLOCK_SIZE) |
virtual HRESULT | ReadX (OUT void *pData, size_t nDataSize) |
HRESULT | ReadAll (OUT cHeapBlock &block, size_t nSizeExtra=0) |
virtual HRESULT | ReadStringLine (OUT char *pszBuffer, StrLen_t iSizeMax) |
virtual HRESULT | ReadStringLine (OUT wchar_t *pszBuffer, StrLen_t iSizeMax) |
HRESULT | ReadT (OUT void *pVal, size_t nSize) |
template<typename TYPE > | |
HRESULT | ReadT (OUT TYPE &val) |
template<typename TYPE > | |
HRESULT | ReadTN (OUT TYPE &val) |
HRESULT | ReadSize (OUT size_t &nSize) |
template<typename TYPE > | |
HRESULT | ReadSizeT (OUT TYPE &n) |
HRESULT | ReadHashCode (OUT UINT32 &nHashCode) |
HRESULT | ReadHashCode (OUT UINT64 &nHashCode) |
HRESULT | ReadN (OUT BYTE *pBuffer, size_t nSizeMax) |
template<typename _CH > | |
HRESULT | ReadStringN (OUT _CH *pszStr, StrLen_t iSizeMax) |
virtual HRESULT | ReadPeek (void *pData, size_t nDataSize) |
![]() | |
virtual | ~cStreamBase () |
virtual STREAM_SEEKRET_t | Seek (STREAM_OFFSET_t iOffset, SEEK_ORIGIN_TYPE eSeekOrigin=SEEK_Set) |
void | SeekToBegin () |
STREAM_POS_t | SeekToEnd () |
virtual STREAM_POS_t | GetPosition () const |
virtual STREAM_POS_t | GetLength () const |
Public Attributes | |
size_t | m_nMaxMessageSize |
0 = any size More... | |
TIMESYSD_t | m_nReadTimeout |
cTimeSys::k_INF = MAILSLOT_WAIT_FOREVER More... | |
Additional Inherited Members | |
![]() | |
static const FILECHAR_t * | k_pszServerDefault = _FN(".") |
![]() | |
static const BYTE | k_SIZE_MASK = 0x80 |
Used for WriteSize() More... | |
static const size_t | k_FILE_BLOCK_SIZE = (32 * 1024) |
default arbitrary transfer block size. more than this is NOT more efficient. More... | |
![]() | |
cMailslot () | |
virtual | ~cMailslot () |
![]() | |
static StrLen_t GRAYCALL | MakeMailslotPath (OUT FILECHAR_t *pszPath, const FILECHAR_t *pszSlotName, const FILECHAR_t *pszServerName=nullptr) |
static cStringF GRAYCALL | MakeMailslotPath (const FILECHAR_t *pszSlotName, const FILECHAR_t *pszServerName=nullptr) |
![]() | |
cStringF | m_sMailslotPath |
"\\\\%s\\mailslot\\%s" More... | |
mqd_t | m_q |
init to -1 More... | |
can be just 1 server/reader Mail slot reader class. Used to read from a mail slot.
GrayLib::cMailslotReader::cMailslotReader | ( | ) |
only one reader (server) is allowed . many writers (clients) are allowed.
|
virtual |
|
overridevirtual |
Create a named mail slot. This must be done on the local machine thus we don't use the server name parameter. can be opened only once by one owner.
Implements GrayLib::cMailslot.
UINT GrayLib::cMailslotReader::GetMessageCount | ( | size_t * | pnNextMessageLength = nullptr | ) |
bool GrayLib::cMailslotReader::put_ReadTimeout | ( | TIMESYSD_t | nReadTimeout | ) |
change the read timeout.
HRESULT GrayLib::cMailslotReader::ReadX | ( | cHeapBlock & | buffer, |
size_t | nReasonableLengthMax = 0x1000 |
||
) |
Read a message from the mailslot and return it in a buffer allocated we have no idea how much data is coming...
|
overridevirtual |
cStreamInput
size_t GrayLib::cMailslotReader::m_nMaxMessageSize |
0 = any size
TIMESYSD_t GrayLib::cMailslotReader::m_nReadTimeout |
cTimeSys::k_INF = MAILSLOT_WAIT_FOREVER