ZFFramework
 
Loading...
Searching...
No Matches
ZFProtocolZFTcp.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_ZFProtocolZFTcp_h_
7#define _ZFI_ZFProtocolZFTcp_h_
8
9#include "ZFCore/ZFProtocol.h"
10#include "ZFNet/ZFTcp.h"
12
13// ============================================================
18public:
20 virtual void *open(
21 ZF_IN ZFTcp *owner
22 , ZF_IN const zfstring &host
23 , ZF_IN zfuint port
24 , ZF_IN zftimet timeout
27 virtual void close(
28 ZF_IN ZFTcp *owner
29 , ZF_IN void *nativeSocket
31
32public:
35 ZF_IN ZFTcp *owner
36 , ZF_IN void *nativeSocket
37 , ZF_IN_OUT zfstring &remoteAddr
40 virtual void *accept(
41 ZF_IN ZFTcp *owner
42 , ZF_IN void *nativeSocket
43 , ZF_IN_OPT zftimet timeout = -1
45
46public:
48 virtual zfbool send(
49 ZF_IN ZFTcp *owner
50 , ZF_IN void *nativeSocket
51 , ZF_IN const void *data
52 , ZF_IN zfindex size
55 virtual zfindex recv(
56 ZF_IN ZFTcp *owner
57 , ZF_IN void *nativeSocket
58 , ZF_OUT void *data
59 , ZF_IN zfindex maxSize
60 , ZF_IN_OPT zftimet timeout
63
65#endif // #ifndef _ZFI_ZFProtocolZFTcp_h_
66
#define zfpurevirtual
dummy macro shows that a method is pure virtual method
Definition ZFCoreTypeDef_ClassType.h:68
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
#define ZF_OUT
dummy macro that shows the param used as required output
Definition ZFCoreTypeDef_ClassType.h:188
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:196
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
_zft_zftimet zftimet
time unit, ensured at least 64 bit, ensured signed
Definition ZFCoreTypeDef_CoreType.h:203
_ZFT_t_zfuint zfuint
same as unsigned int, see zfindex
Definition ZFCoreTypeDef_CoreType.h:169
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
#define ZFLIB_ZFNet
used to export symbols
Definition ZFNetDef.h:15
protocol definitions for ZFFramework
#define ZFPROTOCOL_INTERFACE_END(ModuleName)
for more information, please refer to ZFPROTOCOL_INTERFACE_BEGIN
Definition ZFProtocol.h:414
#define ZFPROTOCOL_INTERFACE_BEGIN(ZFLIB_, ModuleName)
declare a protocol interface for ZFFramework
Definition ZFProtocol.h:408
tcp operation
virtual void * accept(ZFTcp *owner, void *nativeSocket, zftimet timeout=-1)=0
see ZFTcp::accept
virtual zfindex recv(ZFTcp *owner, void *nativeSocket, void *data, zfindex maxSize, zftimet timeout)=0
see ZFTcp::recv
virtual zfbool remoteInfo(ZFTcp *owner, void *nativeSocket, zfstring &remoteAddr)=0
see ZFTcp::remoteInfo
virtual void close(ZFTcp *owner, void *nativeSocket)=0
see ZFTcp::close
virtual void * open(ZFTcp *owner, const zfstring &host, zfuint port, zftimet timeout)=0
see ZFTcp::open
virtual zfbool send(ZFTcp *owner, void *nativeSocket, const void *data, zfindex size)=0
see ZFTcp::send
tcp request util
Definition ZFTcp.h:33