Skip to content

File shard_proxy_io.h

FileList > broker > shard_proxy_io.h

Go to the source code of this file

  • #include <fcntl.h>
  • #include <netdb.h>
  • #include <sys/socket.h>
  • #include <sys/un.h>
  • #include <sys/time.h>
  • #include <netinet/in.h>
  • #include <arpa/inet.h>
  • #include "broker_recv_fd.h"
  • #include "cas_network.h"
  • #include "shard_proxy_common.h"
  • #include "shard_metadata.h"

Public Attributes

Type Name
fd_set allset
int maxfd
T_CLIENT_IO_GLOBAL proxy_Client_io
T_SHARD_IO_GLOBAL proxy_Shard_io
fd_set rset
fd_set wallset
fd_set wnewset
fd_set wset

Public Functions

Type Name
int get_data_length (char * buffer)
int get_msg_length (char * buffer)
void proxy_available_cas_wait_timer (void)
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)
T_CAS_IO * proxy_cas_find_io_by_ctx (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
void proxy_cas_io_free_by_ctx (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
int proxy_cas_io_write (T_CAS_IO * cas_io_p, T_PROXY_EVENT * event_p)
void proxy_cas_release_by_ctx (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
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)
void proxy_client_io_free (T_CLIENT_IO * cli_io_p)
void proxy_client_io_free_by_ctx (int client_id, int ctx_cid, int ctx_uid)
void proxy_client_io_print (bool print_all)
int proxy_client_io_write (T_CLIENT_IO * cli_io_p, T_PROXY_EVENT * event_p)
int proxy_context_direct_send_error (T_PROXY_CONTEXT * ctx_p)
int proxy_convert_error_code (int error_ind, int error_code, char * driver_info, T_BROKER_VERSION client_version, bool to_new)
char * proxy_dup_msg (char * msg)
char * proxy_get_driver_info_by_ctx (T_PROXY_CONTEXT * ctx_p)
char * proxy_get_driver_info_by_fd (T_SOCKET_IO * sock_io_p)
void proxy_io_buffer_clear (T_IO_BUFFER * io_buffer)
int proxy_io_close_all_fd (void)
void proxy_io_destroy (void)
int proxy_io_initialize (void)
int proxy_io_make_check_cas (char * driver_info, char ** buffer)
int proxy_io_make_check_cas_ok (char * driver_info, char ** buffer)
int proxy_io_make_client_acl_fail (char * driver_info, char ** buffer)
int proxy_io_make_client_conn_ok (char * driver_info, char ** buffer)
int proxy_io_make_client_dbinfo_ok (char * driver_info, char ** buffer)
int proxy_io_make_client_proxy_alive (char * driver_info, char ** buffer)
int proxy_io_make_close_req_handle_in_tran_ok (char ** buffer)
int proxy_io_make_close_req_handle_ok (char * driver_info, char ** buffer, bool is_in_tran)
int proxy_io_make_close_req_handle_out_tran_ok (char * driver_info, char ** buffer)
int proxy_io_make_con_close_ok (char * driver_info, char ** buffer)
int proxy_io_make_cursor_close_out_tran_ok (char * driver_info, char ** buffer)
int proxy_io_make_end_tran_abort (char * driver_info, char ** buffer)
int proxy_io_make_end_tran_commit (char ** buffer)
int proxy_io_make_end_tran_ok (char * driver_info, char ** buffer)
int proxy_io_make_end_tran_request (char * driver_info, char ** buffer, bool commit)
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)
int proxy_io_make_ex_get_isolation_level (char * driver_info, char ** buffer, void * argv)
int proxy_io_make_ex_get_lock_timeout (char * driver_info, char ** buffer, void * argv)
int proxy_io_make_get_db_version (char * driver_info, char ** buffer)
int proxy_io_make_no_error (char * driver_info, char ** buffer)
int proxy_io_make_set_db_parameter_ok (char * driver_info, char ** buffer)
int proxy_io_make_shard_info (char * driver_info, char ** buffer)
int proxy_io_process (void)
int proxy_io_set_established_by_ctx (T_PROXY_CONTEXT * ctx_p)
int proxy_make_net_buf (T_NET_BUF * net_buf, int size, T_BROKER_VERSION client_version)
void proxy_set_con_status_in_tran (char * msg)
void proxy_set_con_status_out_tran (char * msg)
void proxy_set_force_out_tran (char * msg)
void proxy_shard_io_print (bool print_all)
int proxy_socket_io_delete (SOCKET fd)
void proxy_socket_io_print (bool print_all)
int proxy_socket_set_write_event (T_SOCKET_IO * sock_io_p, T_PROXY_EVENT * event_p)
char * proxy_str_cas_io (T_CAS_IO * cas_io_p)
char * proxy_str_client_io (T_CLIENT_IO * cli_io_p)
void proxy_unset_force_out_tran (char * msg)
void set_data_length (char * buffer, int length)

Macros

Type Name
define CLOSESOCKET (fd) close(fd)
define DEFAULT_POLL_INTERVAL 1
define PROTOCOL_SIZE [**sizeof**](broker__monitor_8c.md#function-timeout)([**int**](broker__monitor_8c.md#function-timeout))
define PROXY_CONNECTION_REPLY_SIZE (con_reply_size) ([**PROTOCOL\_SIZE**](shard__proxy__io_8h.md#define-protocol_size) + [**CAS\_INFO\_SIZE**](cas__protocol_8h.md#define-cas_info_size) + ([**con\_reply\_size**](broker__monitor_8c.md#function-timeout)))
define PROXY_CONV_ERR_TO_NEW ([**true**](broker__monitor_8c.md#function-timeout))
define PROXY_CONV_ERR_TO_OLD ([**false**](broker__monitor_8c.md#function-timeout))
define PROXY_IO_FROM_CAS ([**true**](broker__monitor_8c.md#function-timeout))
define PROXY_IO_FROM_CLIENT ([**false**](broker__monitor_8c.md#function-timeout))
define READSOCKET (fd, buf, len) read(fd, buf, ([**size\_t**](broker__monitor_8c.md#function-timeout))len)
define SHARD_TEMPORARY_UNAVAILABLE (-1)
define WRITESOCKET (fd, buf, len) write(fd, buf, ([**size\_t**](broker__monitor_8c.md#function-timeout))len)

Public Attributes Documentation

variable allset

fd_set allset;

variable maxfd

int maxfd;

variable proxy_Client_io

T_CLIENT_IO_GLOBAL proxy_Client_io;

variable proxy_Shard_io

T_SHARD_IO_GLOBAL proxy_Shard_io;

variable rset

fd_set rset;

variable wallset

fd_set wallset;

variable wnewset

fd_set wnewset;

variable wset

fd_set wset;

Public Functions Documentation

function get_data_length

int get_data_length (
    char * buffer
) 

function get_msg_length

int get_msg_length (
    char * buffer
) 

function proxy_available_cas_wait_timer

void proxy_available_cas_wait_timer (
    void
) 

function proxy_cas_alloc_by_ctx

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
) 

function proxy_cas_find_io_by_ctx

T_CAS_IO * proxy_cas_find_io_by_ctx (
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_cas_io_free_by_ctx

void proxy_cas_io_free_by_ctx (
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_cas_io_write

int proxy_cas_io_write (
    T_CAS_IO * cas_io_p,
    T_PROXY_EVENT * event_p
) 

function proxy_cas_release_by_ctx

void proxy_cas_release_by_ctx (
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_client_io_find_by_ctx

T_CLIENT_IO * proxy_client_io_find_by_ctx (
    int client_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_client_io_find_by_fd

T_CLIENT_IO * proxy_client_io_find_by_fd (
    int client_id,
    SOCKET fd
) 

function proxy_client_io_free

void proxy_client_io_free (
    T_CLIENT_IO * cli_io_p
) 

function proxy_client_io_free_by_ctx

void proxy_client_io_free_by_ctx (
    int client_id,
    int ctx_cid,
    int ctx_uid
) 

function proxy_client_io_print

void proxy_client_io_print (
    bool print_all
) 

function proxy_client_io_write

int proxy_client_io_write (
    T_CLIENT_IO * cli_io_p,
    T_PROXY_EVENT * event_p
) 

function proxy_context_direct_send_error

int proxy_context_direct_send_error (
    T_PROXY_CONTEXT * ctx_p
) 

function proxy_convert_error_code

int proxy_convert_error_code (
    int error_ind,
    int error_code,
    char * driver_info,
    T_BROKER_VERSION client_version,
    bool to_new
) 

function proxy_dup_msg

char * proxy_dup_msg (
    char * msg
) 

function proxy_get_driver_info_by_ctx

char * proxy_get_driver_info_by_ctx (
    T_PROXY_CONTEXT * ctx_p
) 

function proxy_get_driver_info_by_fd

char * proxy_get_driver_info_by_fd (
    T_SOCKET_IO * sock_io_p
) 

function proxy_io_buffer_clear

void proxy_io_buffer_clear (
    T_IO_BUFFER * io_buffer
) 

function proxy_io_close_all_fd

int proxy_io_close_all_fd (
    void
) 

function proxy_io_destroy

void proxy_io_destroy (
    void
) 

function proxy_io_initialize

int proxy_io_initialize (
    void
) 

function proxy_io_make_check_cas

int proxy_io_make_check_cas (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_check_cas_ok

int proxy_io_make_check_cas_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_client_acl_fail

int proxy_io_make_client_acl_fail (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_client_conn_ok

int proxy_io_make_client_conn_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_client_dbinfo_ok

int proxy_io_make_client_dbinfo_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_client_proxy_alive

int proxy_io_make_client_proxy_alive (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_close_req_handle_in_tran_ok

int proxy_io_make_close_req_handle_in_tran_ok (
    char ** buffer
) 

function proxy_io_make_close_req_handle_ok

int proxy_io_make_close_req_handle_ok (
    char * driver_info,
    char ** buffer,
    bool is_in_tran
) 

function proxy_io_make_close_req_handle_out_tran_ok

int proxy_io_make_close_req_handle_out_tran_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_con_close_ok

int proxy_io_make_con_close_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_cursor_close_out_tran_ok

int proxy_io_make_cursor_close_out_tran_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_end_tran_abort

int proxy_io_make_end_tran_abort (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_end_tran_commit

int proxy_io_make_end_tran_commit (
    char ** buffer
) 

function proxy_io_make_end_tran_ok

int proxy_io_make_end_tran_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_end_tran_request

int proxy_io_make_end_tran_request (
    char * driver_info,
    char ** buffer,
    bool commit
) 

function proxy_io_make_error_msg

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
) 

function proxy_io_make_ex_get_isolation_level

int proxy_io_make_ex_get_isolation_level (
    char * driver_info,
    char ** buffer,
    void * argv
) 

function proxy_io_make_ex_get_lock_timeout

int proxy_io_make_ex_get_lock_timeout (
    char * driver_info,
    char ** buffer,
    void * argv
) 

function proxy_io_make_get_db_version

int proxy_io_make_get_db_version (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_no_error

int proxy_io_make_no_error (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_set_db_parameter_ok

int proxy_io_make_set_db_parameter_ok (
    char * driver_info,
    char ** buffer
) 

function proxy_io_make_shard_info

int proxy_io_make_shard_info (
    char * driver_info,
    char ** buffer
) 

function proxy_io_process

int proxy_io_process (
    void
) 

function proxy_io_set_established_by_ctx

int proxy_io_set_established_by_ctx (
    T_PROXY_CONTEXT * ctx_p
) 

function proxy_make_net_buf

int proxy_make_net_buf (
    T_NET_BUF * net_buf,
    int size,
    T_BROKER_VERSION client_version
) 

function proxy_set_con_status_in_tran

void proxy_set_con_status_in_tran (
    char * msg
) 

function proxy_set_con_status_out_tran

void proxy_set_con_status_out_tran (
    char * msg
) 

function proxy_set_force_out_tran

void proxy_set_force_out_tran (
    char * msg
) 

function proxy_shard_io_print

void proxy_shard_io_print (
    bool print_all
) 

function proxy_socket_io_delete

int proxy_socket_io_delete (
    SOCKET fd
) 

function proxy_socket_io_print

void proxy_socket_io_print (
    bool print_all
) 

function proxy_socket_set_write_event

int proxy_socket_set_write_event (
    T_SOCKET_IO * sock_io_p,
    T_PROXY_EVENT * event_p
) 

function proxy_str_cas_io

char * proxy_str_cas_io (
    T_CAS_IO * cas_io_p
) 

function proxy_str_client_io

char * proxy_str_client_io (
    T_CLIENT_IO * cli_io_p
) 

function proxy_unset_force_out_tran

void proxy_unset_force_out_tran (
    char * msg
) 

function set_data_length

void set_data_length (
    char * buffer,
    int length
) 

Macro Definition Documentation

define CLOSESOCKET

#define CLOSESOCKET (
    fd
) `close(fd)`

define DEFAULT_POLL_INTERVAL

#define DEFAULT_POLL_INTERVAL `1`

define PROTOCOL_SIZE

#define PROTOCOL_SIZE `sizeof ( int )`

define PROXY_CONNECTION_REPLY_SIZE

#define PROXY_CONNECTION_REPLY_SIZE (
    con_reply_size
) `( PROTOCOL_SIZE + CAS_INFO_SIZE + ( con_reply_size ))`

define PROXY_CONV_ERR_TO_NEW

#define PROXY_CONV_ERR_TO_NEW `( true )`

define PROXY_CONV_ERR_TO_OLD

#define PROXY_CONV_ERR_TO_OLD `( false )`

define PROXY_IO_FROM_CAS

#define PROXY_IO_FROM_CAS `( true )`

define PROXY_IO_FROM_CLIENT

#define PROXY_IO_FROM_CLIENT `( false )`

define READSOCKET

#define READSOCKET (
    fd,
    buf,
    len
) `read(fd, buf, ( size_t )len)`

define SHARD_TEMPORARY_UNAVAILABLE

#define SHARD_TEMPORARY_UNAVAILABLE `(-1)`

define WRITESOCKET

#define WRITESOCKET (
    fd,
    buf,
    len
) `write(fd, buf, ( size_t )len)`


The documentation for this class was generated from the following file cubrid/src/broker/shard_proxy_io.h