DBD-cubrid
view release on metacpan or search on metacpan
cci-src/src/cci/cci_handle_mng.c view on Meta::CPAN
int port;
time_t start_time;
time_t elapsed_time;
while (1)
{
start_time = time (NULL);
for (i = 0; i < host_status_count; i++)
{
ip_addr = host_status[i].host.ip_addr;
port = host_status[i].host.port;
if (!host_status[i].is_reachable && net_check_broker_alive (ip_addr, port, BROKER_HEALTH_CHECK_TIMEOUT))
{
hm_set_host_status_by_addr (ip_addr, port, true);
}
}
elapsed_time = time (NULL) - start_time;
if (elapsed_time < MONITORING_INTERVAL)
{
SLEEP_MILISEC (MONITORING_INTERVAL - elapsed_time, 0);
}
}
cci-src/src/cci/cci_network.c view on Meta::CPAN
static int connect_srv (unsigned char *ip_addr, int port, char is_retry, SOCKET * ret_sock, int login_timeout);
#if defined(ENABLE_UNUSED_FUNCTION)
static int net_send_int (SOCKET sock_fd, int value);
#endif
static int net_recv_int (SOCKET sock_fd, int port, int *value);
static int net_recv_stream (SOCKET sock_fd, int port, char *buf, int size, int timeout);
static int net_send_stream (SOCKET sock_fd, char *buf, int size);
static void init_msg_header (MSG_HEADER * header);
static int net_send_msg_header (SOCKET sock_fd, MSG_HEADER * header);
static int net_recv_msg_header (SOCKET sock_fd, int port, MSG_HEADER * header, int timeout);
static bool net_peer_socket_alive (SOCKET sd, int port, int timeout_msec);
static int net_cancel_request_internal (unsigned char *ip_addr, int port, char *msg, int msglen);
static int net_cancel_request_w_local_port (unsigned char *ip_addr, int port, int pid, unsigned short local_port);
static int net_cancel_request_wo_local_port (unsigned char *ip_addr, int port, int pid);
/************************************************************************
* INTERFACE VARIABLES *
************************************************************************/
/************************************************************************
* PUBLIC VARIABLES *
************************************************************************/
cci-src/src/cci/cci_network.c view on Meta::CPAN
return result_code;
}
int
net_recv_msg (T_CON_HANDLE * con_handle, char **msg, int *msg_size, T_CCI_ERROR * err_buf)
{
return net_recv_msg_timeout (con_handle, msg, msg_size, err_buf, 0);
}
bool
net_peer_alive (unsigned char *ip_addr, int port, int timeout_msec)
{
SOCKET sock_fd;
int ret, dummy;
const char *ping_msg = "PING_TEST!";
if (connect_srv (ip_addr, port, 0, &sock_fd, timeout_msec) != CCI_ER_NO_ERROR)
{
CLOSE_SOCKET (sock_fd);
return false;
}
cci-src/src/cci/cci_network.c view on Meta::CPAN
return false;
}
}
CLOSE_SOCKET (sock_fd);
return true;
}
bool
net_check_broker_alive (unsigned char *ip_addr, int port, int timeout_msec)
{
SOCKET sock_fd;
MSG_HEADER msg_header;
char client_info[SRV_CON_CLIENT_INFO_SIZE];
char db_info[SRV_CON_DB_INFO_SIZE];
char db_name[SRV_CON_DBNAME_SIZE];
char url[SRV_CON_URL_SIZE];
char *info;
int err_code, ret_value;
bool result = false;
cci-src/src/cci/cci_network.c view on Meta::CPAN
{
assert (tot_read_len == 0 || size == tot_read_len);
return CCI_ER_QUERY_TIMEOUT;
}
else
{
continue;
}
}
if (net_peer_socket_alive (sock_fd, port, SOCKET_TIMEOUT) == true)
{
continue;
}
else
{
return CCI_ER_COMMUNICATION;
}
}
else if (n < 0)
{
cci-src/src/cci/cci_network.c view on Meta::CPAN
return CCI_ER_COMMUNICATION;
}
tot_read_len += read_len;
}
return 0;
}
static bool
net_peer_socket_alive (SOCKET sd, int port, int timeout_msec)
{
unsigned char ip_addr[4];
struct sockaddr_in saddr;
socklen_t slen;
slen = sizeof (saddr);
if (getpeername (sd, (struct sockaddr *) &saddr, &slen) < 0)
{
return false;
}
/* if Unix domain socket, the peer(=local) is alive always */
if (saddr.sin_family != AF_INET)
{
return true;
}
memcpy (ip_addr, &saddr.sin_addr, 4);
return net_peer_alive (ip_addr, port, timeout_msec);
}
static int
net_recv_msg_header (SOCKET sock_fd, int port, MSG_HEADER * header, int timeout)
{
int result_code;
result_code = net_recv_stream (sock_fd, port, header->buf, MSG_HEADER_SIZE, timeout);
if (result_code < 0)
cci-src/src/cci/cci_network.h view on Meta::CPAN
extern int net_send_msg (T_CON_HANDLE * con_handle, char *msg, int size);
extern int net_recv_msg (T_CON_HANDLE * con_handle, char **msg, int *size, T_CCI_ERROR * err_buf);
extern int net_recv_msg_timeout (T_CON_HANDLE * con_handle, char **msg, int *msg_size, T_CCI_ERROR * err_buf,
int timeout);
#if defined (ENABLE_UNUSED_FUNCTION)
extern int net_send_file (SOCKET sock_fd, char *filename, int filesize);
extern int net_recv_file (SOCKET sock_fd, int port, int file_size, int out_fd);
#endif
extern int net_cancel_request (T_CON_HANDLE * con_handle);
extern int net_check_cas_request (T_CON_HANDLE * con_handle);
extern bool net_peer_alive (unsigned char *ip_addr, int port, int timeout_msec);
extern bool net_check_broker_alive (unsigned char *ip_addr, int port, int timeout_msec);
/************************************************************************
* EXPORTED VARIABLES *
************************************************************************/
#endif /* _CCI_NETWORK_H_ */
( run in 0.692 second using v1.01-cache-2.11-cpan-39bf76dae61 )