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 DBG_INFO(dbg_logger, format,...)
#define DBG_ERROR(dbg_logger, format,...)
#define DBG_DEBUG(dbg_logger, format,...)
GWEN_MSG_ENDPOINT * GWEN_MsgEndpoint_new(const char *name, int groupId)
time_t GWEN_MsgEndpoint_GetTimeOfLastStateChange(const GWEN_MSG_ENDPOINT *ep)
void GWEN_MsgEndpoint_SetState(GWEN_MSG_ENDPOINT *ep, int m)
GWEN_SOCKET * GWEN_MsgEndpoint_GetSocket(const GWEN_MSG_ENDPOINT *ep)
int GWEN_MsgEndpoint_GetState(const GWEN_MSG_ENDPOINT *ep)
GWEN_MSG_ENDPOINT_ADDSOCKETS_FN GWEN_MsgEndpoint_SetAddSocketsFn(GWEN_MSG_ENDPOINT *ep, GWEN_MSG_ENDPOINT_ADDSOCKETS_FN fn)
const char * GWEN_MsgEndpoint_GetName(const GWEN_MSG_ENDPOINT *ep)
int GWEN_MsgEndpoint_HaveMessageToSend(const GWEN_MSG_ENDPOINT *ep)
void GWEN_MsgEndpoint_SetSocket(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKET *sk)
GWEN_MSG_ENDPOINT_CHECKSOCKETS_FN GWEN_MsgEndpoint_SetCheckSocketsFn(GWEN_MSG_ENDPOINT *ep, GWEN_MSG_ENDPOINT_CHECKSOCKETS_FN fn)
struct GWEN_MSG_ENDPOINT GWEN_MSG_ENDPOINT
Object which can send and receive messages (base class).
#define GWEN_MSG_ENDPOINT_STATE_UNCONNECTED
#define GWEN_MSG_ENDPOINT_STATE_CONNECTING
#define GWEN_MSG_ENDPOINT_STATE_CONNECTED
static void _addSockets(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKETSET *readSet, GWEN_SOCKETSET *writeSet, GWEN_UNUSED GWEN_SOCKETSET *xSet)
static void _checkSockets(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKETSET *readSet, GWEN_SOCKETSET *writeSet, GWEN_SOCKETSET *xSet)
#define GWEN_MSG_ENDPOINT_TCPC_NAME
static GWEN_INETADDRESS * _createAndSetupAddress(const char *host, int port)
#define GWEN_ENDPOINT_TCPC_RECONNECT_TIME
static GWEN_SOCKET * _createAndSetupSocket(void)
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)
int GWEN_TcpcEndpoint_StartConnect(GWEN_MSG_ENDPOINT *ep)
GWEN_MSG_ENDPOINT * GWEN_TcpcEndpoint_new(const char *host, int port, const char *name, int groupId)
static int _startConnect(GWEN_MSG_ENDPOINT *ep)
static void _addSockets(GWEN_MSG_ENDPOINT *ep, GWEN_SOCKETSET *readSet, GWEN_SOCKETSET *writeSet, GWEN_SOCKETSET *xSet)
#define GWEN_ERROR_GENERIC
#define GWEN_ERROR_IN_PROGRESS
GWENHYWFAR_API void GWEN_Socket_free(GWEN_SOCKET *sp)
GWENHYWFAR_API int GWEN_Socket_Open(GWEN_SOCKET *sp)
GWENHYWFAR_API GWEN_SOCKET * GWEN_Socket_new(GWEN_SOCKETTYPE socketType)
GWENHYWFAR_API int GWEN_SocketSet_HasSocket(GWEN_SOCKETSET *ssp, const GWEN_SOCKET *sp)
GWENHYWFAR_API int GWEN_SocketSet_AddSocket(GWEN_SOCKETSET *ssp, const GWEN_SOCKET *sp)
GWENHYWFAR_API int GWEN_Socket_SetBlocking(GWEN_SOCKET *sp, int fl)
GWENHYWFAR_API int GWEN_Socket_Connect(GWEN_SOCKET *sp, const GWEN_INETADDRESS *addr)
GWENHYWFAR_API int GWEN_Socket_GetSocketError(GWEN_SOCKET *sp)
GWENHYWFAR_API void GWEN_InetAddr_free(GWEN_INETADDRESS *ia)
struct GWEN_INETADDRESSSTRUCT GWEN_INETADDRESS
GWENHYWFAR_API int GWEN_InetAddr_SetPort(GWEN_INETADDRESS *ia, int port)
GWENHYWFAR_API GWEN_INETADDRESS * GWEN_InetAddr_new(GWEN_AddressFamily af)
GWENHYWFAR_API int GWEN_InetAddr_SetAddress(GWEN_INETADDRESS *ia, const char *addr)
GWENHYWFAR_API int GWEN_InetAddr_SetName(GWEN_INETADDRESS *ia, const char *name)
struct GWEN_SOCKETSETSTRUCT GWEN_SOCKETSET
struct GWEN_SOCKET GWEN_SOCKET
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
#define GWEN_INHERIT(bt, t)
#define GWEN_INHERIT_GETDATA(bt, t, element)
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)
static void GWENHYWFAR_CB _freeData(GWEN_UNUSED void *bp, void *p)