PracticeDev/study_clang/Mimic/test_messagequeue/include/CZeroMQ.h

54 lines
1.1 KiB
C++

/*************************************************************************
> File Name : CZeroMQ.h
> Author : FengChao
> EMail : smile.fengchao@gmail.com
> Created Time : Fri 17 Jul 2020 09:30:51 AM CST
************************************************************************/
#ifndef CZEROMQ_H
#define CZEROMQ_H
#include <string>
class CZMQSubscriber
{
public:
explicit CZMQSubscriber(const char *pcAddrPort);
~CZMQSubscriber();
int SetRecvTimeout(unsigned int uiSeconds = 3);
int RecvData(void *pvBuff, unsigned int uiBuffLen);
private:
int SocketInit();
private:
void *m_pvSubCtx;
void *m_pvSubSock;
std::string m_strAddrPort;
};
class CZMQReqRep
{
public:
explicit CZMQReqRep(int iType, const char *pcAddrPort);
~CZMQReqRep();
int RecvData(void *pvBuff, unsigned int uiBuffLen);
int SendData(const void *pvData, unsigned int uiDataLen);
int SetRecvTimeout(unsigned int uiSeconds = 3);
int SetSendTimeout(unsigned int uiSeconds = 3);
private:
int SocketInit();
private:
int m_iType;
void *m_pvCtx;
void *m_pvSock;
std::string m_strAddrPort;
};
#endif /*CZEROMQ_H*/