16 #include "./endpoint_tcpc_p.h" 18 #include <gwenhywfar/debug.h> 22 #define GWEN_MSG_ENDPOINT_TCPC_NAME "tcpclient" 23 #define GWEN_ENDPOINT_TCPC_RECONNECT_TIME 5 57 GWEN_ENDPOINT_TCPC *xep;
64 xep->host=host?strdup(host):
NULL;
111 GWEN_ENDPOINT_TCPC *xep;
113 xep=(GWEN_ENDPOINT_TCPC*) p;
191 GWEN_ENDPOINT_TCPC *xep;
#define GWEN_MSG_ENDPOINT_STATE_UNCONNECTED
GWEN_SOCKET * GWEN_MsgEndpoint_GetSocket(const GWEN_MSG_ENDPOINT *ep)
#define DBG_ERROR(dbg_logger, format,...)
#define GWEN_MSG_ENDPOINT_STATE_CONNECTING
struct GWEN_MSG_ENDPOINT GWEN_MSG_ENDPOINT
Object which can send and receive messages (base class).
#define DBG_DEBUG(dbg_logger, format,...)
static void _checkSockets(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKETSET *readSet, GWEN_SOCKETSET *writeSet, GWEN_SOCKETSET *xSet)
static void GWENHYWFAR_CB _freeData(void *bp, void *p)
#define GWEN_MSG_ENDPOINT_TCPC_NAME
#define GWEN_FREE_OBJECT(varname)
GWENHYWFAR_API void GWEN_InetAddr_free(GWEN_INETADDRESS *ia)
GWENHYWFAR_API GWEN_INETADDRESS * GWEN_InetAddr_new(GWEN_AddressFamily af)
#define GWEN_MSG_ENDPOINT_STATE_CONNECTED
struct GWEN_SOCKETSETSTRUCT GWEN_SOCKETSET
GWENHYWFAR_API int GWEN_Socket_Open(GWEN_SOCKET *sp)
GWENHYWFAR_API int GWEN_Socket_SetBlocking(GWEN_SOCKET *sp, int fl)
GWEN_MSG_ENDPOINT * GWEN_TcpcEndpoint_new(const char *host, int port, const char *name, int groupId)
GWEN_MSG_ENDPOINT * GWEN_MsgEndpoint_new(const char *name, int groupId)
time_t GWEN_MsgEndpoint_GetTimeOfLastStateChange(const GWEN_MSG_ENDPOINT *ep)
void GWEN_MsgEndpoint_SetSocket(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKET *sk)
#define GWEN_ENDPOINT_TCPC_RECONNECT_TIME
#define GWEN_NEW_OBJECT(typ, varname)
#define GWEN_ERROR_IN_PROGRESS
int GWEN_MsgEndpoint_HaveMessageToSend(const GWEN_MSG_ENDPOINT *ep)
GWENHYWFAR_API int GWEN_Socket_Connect(GWEN_SOCKET *sp, const GWEN_INETADDRESS *addr)
static GWEN_SOCKET * _createAndSetupSocket(void)
int GWEN_MsgEndpoint_GetState(const GWEN_MSG_ENDPOINT *ep)
#define GWEN_ERROR_GENERIC
struct GWEN_INETADDRESSSTRUCT GWEN_INETADDRESS
GWENHYWFAR_API int GWEN_SocketSet_AddSocket(GWEN_SOCKETSET *ssp, const GWEN_SOCKET *sp)
GWENHYWFAR_API int GWEN_InetAddr_SetName(GWEN_INETADDRESS *ia, const char *name)
static void _addSockets(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKETSET *readSet, GWEN_SOCKETSET *writeSet, GWEN_SOCKETSET *xSet)
GWENHYWFAR_API GWEN_SOCKET * GWEN_Socket_new(GWEN_SOCKETTYPE socketType)
GWENHYWFAR_API int GWEN_Socket_GetSocketError(GWEN_SOCKET *sp)
int GWEN_TcpcEndpoint_StartConnect(GWEN_MSG_ENDPOINT *ep)
GWENHYWFAR_API int GWEN_InetAddr_SetAddress(GWEN_INETADDRESS *ia, const char *addr)
static GWEN_INETADDRESS * _createAndSetupAddress(const char *host, int port)
struct GWEN_SOCKET GWEN_SOCKET
GWENHYWFAR_API int GWEN_SocketSet_HasSocket(GWEN_SOCKETSET *ssp, const GWEN_SOCKET *sp)
#define GWEN_INHERIT(bt, t)
void GWEN_MsgEndpoint_SetState(GWEN_MSG_ENDPOINT *ep, int m)
#define DBG_INFO(dbg_logger, format,...)
const char * GWEN_MsgEndpoint_GetName(const GWEN_MSG_ENDPOINT *ep)
GWEN_MSG_ENDPOINT_CHECKSOCKETS_FN GWEN_MsgEndpoint_SetCheckSocketsFn(GWEN_MSG_ENDPOINT *ep, GWEN_MSG_ENDPOINT_CHECKSOCKETS_FN fn)
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
GWENHYWFAR_API void GWEN_Socket_free(GWEN_SOCKET *sp)
static int _startConnect(GWEN_MSG_ENDPOINT *ep)
GWEN_MSG_ENDPOINT_ADDSOCKETS_FN GWEN_MsgEndpoint_SetAddSocketsFn(GWEN_MSG_ENDPOINT *ep, GWEN_MSG_ENDPOINT_ADDSOCKETS_FN fn)
#define GWEN_INHERIT_GETDATA(bt, t, element)
GWENHYWFAR_API int GWEN_InetAddr_SetPort(GWEN_INETADDRESS *ia, int port)