CUBRID Engine
latest
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <assert.h>
#include <sys/time.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <poll.h>
#include "porting.h"
#include "cas_common.h"
#include "cas_network.h"
#include "cas.h"
#include "broker_env_def.h"
#include "cas_execute.h"
#include "error_code.h"
#include "broker_util.h"
Go to the source code of this file.
Macros | |
#define | SELECT_MASK fd_set |
#define | READ_FROM_NET(sd, buf, size) |
#define | WRITE_TO_NET(sd, buf, size) |
Functions | |
static int | write_buffer (SOCKET sock_fd, const char *buf, int size) |
static int | read_buffer (SOCKET sock_fd, char *buf, int size) |
static void | set_net_timeout_flag (void) |
static void | unset_net_timeout_flag (void) |
int | cas_ssl_write (int sock_fd, const char *buf, int size) |
int | cas_ssl_read (int sock_fd, char *buf, int size) |
bool | is_ssl_data_ready (int sock_fd) |
SOCKET | net_init_env (char *port_name) |
SOCKET | net_connect_proxy (void) |
SOCKET | net_connect_client (SOCKET srv_sock_fd) |
int | net_write_stream (SOCKET sock_fd, const char *buf, int size) |
int | net_read_stream (SOCKET sock_fd, char *buf, int size) |
int | net_read_header (SOCKET sock_fd, MSG_HEADER *header) |
int | net_write_header (SOCKET sock_fd, MSG_HEADER *header) |
void | init_msg_header (MSG_HEADER *header) |
int | net_write_int (SOCKET sock_fd, int value) |
int | net_read_int (SOCKET sock_fd, int *value) |
int | net_decode_str (char *msg, int msg_size, char *func_code, void ***ret_argv) |
int | net_read_to_file (SOCKET sock_fd, int file_size, char *filename) |
int | net_write_from_file (SOCKET sock_fd, int file_size, char *filename) |
void | net_timeout_set (int timeout_sec) |
bool | is_net_timed_out (void) |
void | net_write_error (SOCKET sock, int version, char *driver_info, char *cas_info, int cas_info_size, int indicator, int code, char *msg) |
Variables | |
static bool | net_timeout_flag = false |
static char | net_error_flag |
static int | net_timeout = NET_DEFAULT_TIMEOUT |
bool | ssl_client |
SOCKET | new_req_sock_fd |
#define READ_FROM_NET | ( | sd, | |
buf, | |||
size | |||
) |
Definition at line 81 of file cas_network.c.
Referenced by read_buffer().
#define SELECT_MASK fd_set |
Definition at line 59 of file cas_network.c.
Referenced by check_cas_log(), proxy_listener_thr_f(), read_from_client_with_timeout(), and write_to_client_with_timeout().
#define WRITE_TO_NET | ( | sd, | |
buf, | |||
size | |||
) |
Definition at line 83 of file cas_network.c.
Referenced by write_buffer().
int cas_ssl_read | ( | int | sock_fd, |
char * | buf, | ||
int | size | ||
) |
Definition at line 202 of file cas_ssl.c.
References cas_log_write_and_end(), ER_SSL_GENERAL, IS_INVALID_SOCKET, NULL, SOCKET_BLOCK, SOCKET_NONBLOCK, and ssl.
int cas_ssl_write | ( | int | sock_fd, |
const char * | buf, | ||
int | size | ||
) |
Definition at line 234 of file cas_ssl.c.
References cas_log_write_and_end(), ER_SSL_GENERAL, IS_INVALID_SOCKET, NULL, SOCKET_BLOCK, SOCKET_NONBLOCK, and ssl.
void init_msg_header | ( | MSG_HEADER * | header | ) |
Definition at line 358 of file cas_network.c.
Referenced by cas_register_to_proxy(), and process_request().
bool is_net_timed_out | ( | void | ) |
Definition at line 699 of file cas_network.c.
References net_timeout_flag.
Referenced by net_read_header_keep_con_on(), net_read_int_keep_con_auto(), net_read_process(), net_read_stream(), and process_request().
bool is_ssl_data_ready | ( | int | sock_fd | ) |
Definition at line 301 of file cas_ssl.c.
References ssl.
Referenced by read_buffer().
Definition at line 260 of file cas_network.c.
References INVALID_SOCKET, IS_INVALID_SOCKET, and net_error_flag.
Referenced by cas_main().
SOCKET net_connect_proxy | ( | void | ) |
Definition at line 172 of file cas_network.c.
References as_info, t_shm_appl_server::broker_name, BROKER_PATH_MAX, broker_port, CLOSE_SOCKET, get_host_ip(), htons(), INVALID_SOCKET, IS_INVALID_SOCKET, net_error_flag, NULL, PORT_NUMBER_ENV_STR, t_appl_server_info::proxy_id, SHARD_ERR, shm_appl, strlen, strncpy_bufsize, ut_get_proxy_port_name(), and wsa_initialize().
Referenced by net_init_env(), and shard_cas_main().
int net_decode_str | ( | char * | msg, |
int | msg_size, | ||
char * | func_code, | ||
void *** | ret_argv | ||
) |
Definition at line 393 of file cas_network.c.
Referenced by process_request(), and proxy_handler_process_client_request().
SOCKET net_init_env | ( | char * | port_name | ) |
Definition at line 90 of file cas_network.c.
References CLOSE_SOCKET, htons(), INVALID_SOCKET, IS_INVALID_SOCKET, net_connect_proxy(), ntohs(), proxy_id, sock_addr_len, sock_fd, strlen, and wsa_initialize().
Referenced by cas_main().
int net_read_header | ( | SOCKET | sock_fd, |
MSG_HEADER * | header | ||
) |
Definition at line 329 of file cas_network.c.
References MSG_HEADER::buf, cas_info_size, MSG_HEADER::msg_body_size_ptr, MSG_HEADER_SIZE, net_read_stream(), and ntohl().
Referenced by net_read_header_keep_con_on(), net_read_int_keep_con_auto(), net_read_process(), and process_request().
int net_read_int | ( | SOCKET | sock_fd, |
int * | value | ||
) |
Definition at line 383 of file cas_network.c.
References net_read_stream(), and ntohl().
Referenced by cas_main().
int net_read_stream | ( | SOCKET | sock_fd, |
char * | buf, | ||
int | size | ||
) |
Definition at line 305 of file cas_network.c.
References is_net_timed_out(), and read_buffer().
Referenced by cas_main(), net_read_header(), net_read_int(), and process_request().
int net_read_to_file | ( | SOCKET | sock_fd, |
int | file_size, | ||
char * | filename | ||
) |
Definition at line 446 of file cas_network.c.
References CAS_ER_COMMUNICATION, CAS_ER_OPEN_FILE, CAS_ERROR_INDICATOR, ERROR_INFO_SET, and read_buffer().
void net_timeout_set | ( | int | timeout_sec | ) |
Definition at line 519 of file cas_network.c.
References net_timeout, and new_req_sock_fd.
Referenced by cas_main(), net_read_header_keep_con_on(), net_read_int_keep_con_auto(), net_read_process(), process_request(), and shard_cas_main().
void net_write_error | ( | SOCKET | sock, |
int | version, | ||
char * | driver_info, | ||
char * | cas_info, | ||
int | cas_info_size, | ||
int | indicator, | ||
int | code, | ||
char * | msg | ||
) |
Definition at line 717 of file cas_network.c.
References assert, CAS_CONV_ERROR_TO_OLD, cas_di_understand_renewed_error_code(), CAS_ER_NOT_AUTHORIZED_CLIENT, CAS_ERROR_INDICATOR, CAS_MAKE_VER, DOES_CLIENT_MATCH_THE_PROTOCOL, ERR_MSG_LENGTH, net_error_append_shard_info(), NET_SIZE_INT, net_write_int(), net_write_stream(), NO_ERROR, and PROTOCOL_V2.
Referenced by cas_main(), and process_request().
int net_write_from_file | ( | SOCKET | sock_fd, |
int | file_size, | ||
char * | filename | ||
) |
Definition at line 482 of file cas_network.c.
References net_write_stream().
Referenced by process_request().
int net_write_header | ( | SOCKET | sock_fd, |
MSG_HEADER * | header | ||
) |
Definition at line 347 of file cas_network.c.
References MSG_HEADER::buf, htonl(), MSG_HEADER::msg_body_size_ptr, MSG_HEADER_SIZE, and net_write_stream().
Referenced by cas_register_to_proxy().
int net_write_int | ( | SOCKET | sock_fd, |
int | value | ||
) |
Definition at line 375 of file cas_network.c.
References htonl(), and write_buffer().
Referenced by cas_main(), cas_register_to_proxy(), and net_write_error().
Definition at line 283 of file cas_network.c.
References write_buffer().
Referenced by cas_main(), cas_register_to_proxy(), cas_send_connect_reply_to_driver(), net_write_error(), net_write_from_file(), net_write_header(), and process_request().
|
static |
Definition at line 527 of file cas_network.c.
References cas_shard_flag, IS_INVALID_SOCKET, is_ssl_data_ready(), net_error_flag, net_timeout, new_req_sock_fd, OFF, READ_FROM_NET, set_net_timeout_flag(), sock_fd, ssl_client, and unset_net_timeout_flag().
Referenced by net_read_stream(), net_read_to_file(), proxy_process_cas_register(), proxy_process_client_register(), and proxy_socket_io_read_internal().
|
static |
Definition at line 705 of file cas_network.c.
References net_timeout_flag.
Referenced by read_buffer().
|
static |
Definition at line 711 of file cas_network.c.
References net_timeout_flag.
Referenced by read_buffer().
Definition at line 616 of file cas_network.c.
References CUB_MAXHOSTNAMELEN, get_host_ip(), IS_INVALID_SOCKET, net_error_flag, net_timeout, NULL, sock_fd, and WRITE_TO_NET.
Referenced by dwb_initialize_block(), net_write_int(), and net_write_stream().
|
static |
Definition at line 73 of file cas_network.c.
Referenced by net_connect_client(), net_connect_proxy(), read_buffer(), and write_buffer().
|
static |
Definition at line 74 of file cas_network.c.
Referenced by net_timeout_set(), read_buffer(), and write_buffer().
|
static |
Definition at line 71 of file cas_network.c.
Referenced by is_net_timed_out(), set_net_timeout_flag(), and unset_net_timeout_flag().
SOCKET new_req_sock_fd |
Definition at line 174 of file cas.c.
Referenced by net_read_int_keep_con_auto(), net_timeout_set(), and read_buffer().
bool ssl_client |
Definition at line 81 of file cas_ssl.c.
Referenced by read_buffer().