24 #ifndef _SHARD_PROXY_IO_H_ 25 #define _SHARD_PROXY_IO_H_ 32 #include <sys/socket.h> 35 #include <netinet/in.h> 36 #include <arpa/inet.h> 45 #define CLOSESOCKET(fd) closesocket((SOCKET)fd) 46 #define READSOCKET(fd, buf, len) recv((SOCKET)fd, buf, len, 0) 47 #define WRITESOCKET(fd, buf, len) send((SOCKET)fd, buf, len, 0) 49 #define CLOSESOCKET(fd) close(fd) 50 #define READSOCKET(fd, buf, len) read(fd, buf, (size_t)len) 51 #define WRITESOCKET(fd, buf, len) write(fd, buf, (size_t)len) 54 #define DEFAULT_POLL_INTERVAL 1 64 #define PROTOCOL_SIZE sizeof(int) 65 #define PROXY_CONNECTION_REPLY_SIZE(con_reply_size) (PROTOCOL_SIZE + CAS_INFO_SIZE + (con_reply_size)) 67 #define SHARD_TEMPORARY_UNAVAILABLE (-1) 69 #define PROXY_IO_FROM_CAS (true) 70 #define PROXY_IO_FROM_CLIENT (false) 71 #define PROXY_CONV_ERR_TO_NEW (true) 72 #define PROXY_CONV_ERR_TO_OLD (false) 96 const char *error_msg,
char is_in_tran);
106 #if defined (ENABLE_UNUSED_FUNCTION) 107 extern int proxy_io_make_end_tran_commit (
char **buffer);
111 #if defined (ENABLE_UNUSED_FUNCTION) 112 extern int proxy_io_make_close_req_handle_in_tran_ok (
char **buffer);
143 int timeout,
int func_code);
int proxy_io_process(void)
int proxy_io_make_cursor_close_out_tran_ok(char *driver_info, char **buffer)
void proxy_socket_io_print(bool print_all)
int proxy_io_set_established_by_ctx(T_PROXY_CONTEXT *ctx_p)
int proxy_io_make_client_conn_ok(char *driver_info, char **buffer)
void proxy_set_con_status_in_tran(char *msg)
void proxy_shard_io_print(bool print_all)
int get_data_length(char *buffer)
int proxy_io_make_ex_get_lock_timeout(char *driver_info, char **buffer, void *argv)
int proxy_cas_io_write(T_CAS_IO *cas_io_p, T_PROXY_EVENT *event_p)
int proxy_io_make_client_dbinfo_ok(char *driver_info, char **buffer)
void proxy_io_destroy(void)
int proxy_io_make_con_close_ok(char *driver_info, char **buffer)
T_CAS_IO * proxy_cas_alloc_by_ctx(int client_id, int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid, int timeout, int func_code)
void proxy_cas_io_free_by_ctx(int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
int proxy_io_make_set_db_parameter_ok(char *driver_info, char **buffer)
int proxy_client_io_write(T_CLIENT_IO *cli_io_p, T_PROXY_EVENT *event_p)
int proxy_socket_set_write_event(T_SOCKET_IO *sock_io_p, T_PROXY_EVENT *event_p)
int proxy_convert_error_code(int error_ind, int error_code, char *driver_info, T_BROKER_VERSION client_version, bool to_new)
void proxy_unset_force_out_tran(char *msg)
char * proxy_get_driver_info_by_fd(T_SOCKET_IO *sock_io_p)
char * proxy_get_driver_info_by_ctx(T_PROXY_CONTEXT *ctx_p)
void proxy_client_io_free_by_ctx(int client_id, int ctx_cid, int ctx_uid)
char * proxy_dup_msg(char *msg)
void proxy_io_buffer_clear(T_IO_BUFFER *io_buffer)
int proxy_io_initialize(void)
int proxy_socket_io_delete(SOCKET fd)
int proxy_io_make_no_error(char *driver_info, char **buffer)
int proxy_io_make_close_req_handle_ok(char *driver_info, char **buffer, bool is_in_tran)
int proxy_io_make_error_msg(char *driver_info, char **buffer, int error_ind, int error_code, const char *error_msg, char is_in_tran)
void proxy_client_io_print(bool print_all)
int get_msg_length(char *buffer)
int proxy_io_make_check_cas_ok(char *driver_info, char **buffer)
int proxy_io_make_ex_get_isolation_level(char *driver_info, char **buffer, void *argv)
int proxy_io_make_end_tran_ok(char *driver_info, char **buffer)
int proxy_io_make_client_proxy_alive(char *driver_info, char **buffer)
T_CAS_IO * proxy_cas_find_io_by_ctx(int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
int proxy_make_net_buf(T_NET_BUF *net_buf, int size, T_BROKER_VERSION client_version)
void proxy_client_io_free(T_CLIENT_IO *cli_io_p)
T_SHARD_IO_GLOBAL proxy_Shard_io
T_CLIENT_IO * proxy_client_io_find_by_ctx(int client_id, int ctx_cid, unsigned int ctx_uid)
T_CLIENT_IO * proxy_client_io_find_by_fd(int client_id, SOCKET fd)
T_CLIENT_IO_GLOBAL proxy_Client_io
void proxy_cas_release_by_ctx(int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
int proxy_io_close_all_fd(void)
void set_data_length(char *buffer, int length)
int proxy_io_make_get_db_version(char *driver_info, char **buffer)
int proxy_io_make_end_tran_request(char *driver_info, char **buffer, bool commit)
char * proxy_str_cas_io(T_CAS_IO *cas_io_p)
int proxy_io_make_client_acl_fail(char *driver_info, char **buffer)
int proxy_io_make_shard_info(char *driver_info, char **buffer)
char * proxy_str_client_io(T_CLIENT_IO *cli_io_p)
void proxy_set_con_status_out_tran(char *msg)
void proxy_available_cas_wait_timer(void)
int proxy_io_make_end_tran_abort(char *driver_info, char **buffer)
int proxy_io_make_close_req_handle_out_tran_ok(char *driver_info, char **buffer)
int proxy_io_make_check_cas(char *driver_info, char **buffer)
void proxy_set_force_out_tran(char *msg)