Skip to content

File shard_proxy_io.c

FileList > broker > shard_proxy_io.c

Go to the source code of this file

  • #include <assert.h>
  • #include <signal.h>
  • #include <string.h>
  • #include "porting.h"
  • #include "shard_proxy_io.h"
  • #include "shard_proxy_handler.h"
  • #include "shard_proxy_function.h"
  • #include "cas_protocol.h"
  • #include "cas_error.h"
  • #include "broker_cas_cci.h"
  • #include "shard_shm.h"
  • #include "broker_acl.h"
  • #include "system_parameter.h"

Public Types

Type Name
typedef T_CAS_IO *(* T_FUNC_FIND_CAS

Public Attributes

Type Name
fd_set allset
SOCKET broker_conn_fd = [**INVALID\_SOCKET**](porting_8h.md#define-invalid_socket)
int cas_info_size = (4)
SOCKET cas_lsnr_fd = [**INVALID\_SOCKET**](porting_8h.md#define-invalid_socket)
int maxfd = 0
T_CLIENT_IO_GLOBAL proxy_Client_io
T_PROXY_CONTEXT proxy_Context
T_PROXY_HANDLER proxy_Handler
bool proxy_Keep_running
T_SHARD_IO_GLOBAL proxy_Shard_io
T_SOCKET_IO_GLOBAL proxy_Socket_io
int proxy_id
T_PROXY_INFO * proxy_info_p
fd_set rset
T_SHM_APPL_SERVER * shm_as_p
T_SHM_SHARD_CONN * shm_conn_p
T_SHM_PROXY * shm_proxy_p
T_SHM_SHARD_USER * shm_user_p
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 init_msg_header (MSG_HEADER * header)
int net_decode_str (char * msg, int msg_size, char * func_code, void *** ret_argv)
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, int unsigned 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)
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)
int proxy_socket_io_delete (SOCKET fd)
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_term (void)
void proxy_unset_force_out_tran (char * msg)
const char * rel_build_number (void)
void set_data_length (char * buffer, int length)

Public Static Functions

Type Name
int get_dbinfo_length (char * driver_info)
T_CAS_IO * proxy_cas_alloc_anything (int client_id, int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid, T_FUNC_FIND_CAS function)
T_CAS_IO * proxy_cas_alloc_by_shard_and_cas_id (int client_id, int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
T_CAS_IO * proxy_cas_io_find_by_fd (int shard_id, int cas_id, SOCKET fd)
void proxy_cas_io_free (int shard_id, int cas_id)
int proxy_cas_io_initialize (int shard_id, T_CAS_IO ** cas_io_pp, int size)
T_CAS_IO * proxy_cas_io_new (int shard_id, int cas_id, SOCKET fd)
int proxy_check_authorization (T_PROXY_CONTEXT * ctx_p, const char * db_name, const char * db_user, const char * db_passwd)
int proxy_client_add_waiter_by_shard (T_SHARD_IO * shard_io_p, int ctx_cid, int ctx_uid, int timeout)
void proxy_client_check_waiter_and_wakeup (T_SHARD_IO * shard_io_p, T_CAS_IO * cas_io_p)
void proxy_client_io_destroy (void)
int proxy_client_io_initialize (void)
T_CLIENT_IO * proxy_client_io_new (SOCKET fd, char * driver_info)
T_CAS_IO * proxy_find_idle_cas_by_asc (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
T_CAS_IO * proxy_find_idle_cas_by_conn_info (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
T_CAS_IO * proxy_find_idle_cas_by_desc (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid)
void proxy_init_net_buf (T_NET_BUF * net_buf)
SOCKET proxy_io_accept (SOCKET lsnr_fd)
SOCKET proxy_io_cas_accept (SOCKET lsnr_fd)
int proxy_io_cas_lsnr (void)
SOCKET proxy_io_connect_to_broker (void)
int proxy_io_make_ex_get_int (char * driver_info, char ** buffer, int * argv)
int proxy_io_register_to_broker (void)
int proxy_io_unixd_lsnr (char * unixd_sock_name)
int proxy_process_cas_conn_error (T_SOCKET_IO * sock_io_p)
int proxy_process_cas_message (T_SOCKET_IO * sock_io_p)
int proxy_process_cas_read_error (T_SOCKET_IO * sock_io_p)
int proxy_process_cas_register (T_SOCKET_IO * sock_io_p)
int proxy_process_cas_response (T_SOCKET_IO * sock_io_p)
int proxy_process_cas_write_error (T_SOCKET_IO * sock_io_p)
int proxy_process_client_conn_error (T_SOCKET_IO * sock_io_p)
int proxy_process_client_message (T_SOCKET_IO * sock_io_p)
int proxy_process_client_read_error (T_SOCKET_IO * sock_io_p)
int proxy_process_client_register (T_SOCKET_IO * sock_io_p)
int proxy_process_client_request (T_SOCKET_IO * sock_io_p)
int proxy_process_client_write_error (T_SOCKET_IO * sock_io_p)
void proxy_set_conn_info (int func_code, int ctx_cid, int ctx_uid, int shard_id, int cas_id)
void proxy_shard_io_destroy (void)
T_SHARD_IO * proxy_shard_io_find (int shard_id)
int proxy_shard_io_initialize (void)
T_SOCKET_IO * proxy_socket_io_add (SOCKET fd, bool from_cas)
void proxy_socket_io_clear (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_destroy (void)
T_SOCKET_IO * proxy_socket_io_find (SOCKET fd)
int proxy_socket_io_initialize (void)
int proxy_socket_io_new_client (SOCKET lsnr_fd)
void proxy_socket_io_read (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_error (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_from_cas (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_from_cas_first (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_from_cas_next (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_from_client (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_from_client_first (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_read_from_client_next (T_SOCKET_IO * sock_io_p)
int proxy_socket_io_read_internal (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_write (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_write_error (T_SOCKET_IO * sock_io_p)
int proxy_socket_io_write_internal (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_write_to_cas (T_SOCKET_IO * sock_io_p)
void proxy_socket_io_write_to_client (T_SOCKET_IO * sock_io_p)
int shard_io_clr_fl (int fd, int flags)
int shard_io_set_fl (int fd, int flags)
int shard_io_setsockbuf (int fd, int size)

Macros

Type Name
define CAS_READ_ERROR (i) [**io\_error**](broker__monitor_8c.md#function-timeout)([**i**](dynamic__load_8c.md#variable-i), [**PROC\_TYPE\_CAS**](shard__proxy__io_8c.md#define-proc_type_cas), [**READ\_TYPE**](shard__proxy__io_8c.md#define-read_type))
define CAS_WRITE_ERROR (i) [**io\_error**](broker__monitor_8c.md#function-timeout)([**i**](dynamic__load_8c.md#variable-i), [**PROC\_TYPE\_CAS**](shard__proxy__io_8c.md#define-proc_type_cas), [**WRITE\_TYPE**](shard__proxy__io_8c.md#define-write_type))
define CLIENT_READ_ERROR (i) [**io\_error**](broker__monitor_8c.md#function-timeout)([**i**](dynamic__load_8c.md#variable-i), [**PROC\_TYPE\_CLIENT**](shard__proxy__io_8c.md#define-proc_type_client), [**READ\_TYPE**](shard__proxy__io_8c.md#define-read_type))
define CLIENT_WRITE_ERROR (i) [**io\_error**](broker__monitor_8c.md#function-timeout)([**i**](dynamic__load_8c.md#variable-i), [**PROC\_TYPE\_CLIENT**](shard__proxy__io_8c.md#define-proc_type_client), [**WRITE\_TYPE**](shard__proxy__io_8c.md#define-write_type))
define GET_CAS_PORT (broker_port, proxy_index, proxy_max_count) ([**broker\_port**](broker__log__replay_8c.md#variable-broker_port)) + [**PROXY\_START\_PORT**](shard__proxy__io_8c.md#define-proxy_start_port) + ([**proxy\_max\_count**](broker__monitor_8c.md#function-timeout)) + ([**proxy\_index**](broker__monitor_8c.md#function-timeout))
define GET_CLIENT_PORT (broker_port, proxy_index) ([**broker\_port**](broker__log__replay_8c.md#variable-broker_port)) + [**PROXY\_START\_PORT**](shard__proxy__io_8c.md#define-proxy_start_port) + ([**proxy\_index**](broker__monitor_8c.md#function-timeout))
define MAX_NUM_NEW_CLIENT 5
define PROC_TYPE_BROKER 2
define PROC_TYPE_CAS 1
define PROC_TYPE_CLIENT 0
define PROXY_START_PORT 1
define READ_TYPE 1
define WRITE_TYPE 2
define max (a, b) (([**a**](broker__monitor_8c.md#function-timeout)) &gt; (b) ? ([**a**](broker__monitor_8c.md#function-timeout)) : (b))
define min (a, b) (([**a**](broker__monitor_8c.md#function-timeout)) &lt; (b) ? ([**a**](broker__monitor_8c.md#function-timeout)) : (b))

Public Types Documentation

typedef T_FUNC_FIND_CAS

typedef T_CAS_IO *(* T_FUNC_FIND_CAS) (int shard_id, int cas_id, int ctx_cid, unsigned int ctx_uid);

Public Attributes Documentation

variable allset

fd_set allset;

variable broker_conn_fd

SOCKET broker_conn_fd;

variable cas_info_size

int cas_info_size;

variable cas_lsnr_fd

SOCKET cas_lsnr_fd;

variable maxfd

int maxfd;

variable proxy_Client_io

T_CLIENT_IO_GLOBAL proxy_Client_io;

variable proxy_Context

T_PROXY_CONTEXT proxy_Context;

variable proxy_Handler

T_PROXY_HANDLER proxy_Handler;

variable proxy_Keep_running

bool proxy_Keep_running;

variable proxy_Shard_io

T_SHARD_IO_GLOBAL proxy_Shard_io;

variable proxy_Socket_io

T_SOCKET_IO_GLOBAL proxy_Socket_io;

variable proxy_id

int proxy_id;

variable proxy_info_p

T_PROXY_INFO* proxy_info_p;

variable rset

fd_set rset;

variable shm_as_p

T_SHM_APPL_SERVER* shm_as_p;

variable shm_conn_p

T_SHM_SHARD_CONN* shm_conn_p;

variable shm_proxy_p

T_SHM_PROXY* shm_proxy_p;

variable shm_user_p

T_SHM_SHARD_USER* shm_user_p;

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 init_msg_header

void init_msg_header (
    MSG_HEADER * header
) 

function net_decode_str

int net_decode_str (
    char * msg,
    int msg_size,
    char * func_code,
    void *** ret_argv
) 

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,
    int  unsigned 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_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_socket_io_delete

int proxy_socket_io_delete (
    SOCKET fd
) 

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_term

void proxy_term (
    void
) 

function proxy_unset_force_out_tran

void proxy_unset_force_out_tran (
    char * msg
) 

function rel_build_number

const  char * rel_build_number (
    void
) 

function set_data_length

void set_data_length (
    char * buffer,
    int length
) 

Public Static Functions Documentation

function get_dbinfo_length

static int get_dbinfo_length (
    char * driver_info
) 

function proxy_cas_alloc_anything

static T_CAS_IO * proxy_cas_alloc_anything (
    int client_id,
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid,
    T_FUNC_FIND_CAS function
) 

function proxy_cas_alloc_by_shard_and_cas_id

static T_CAS_IO * proxy_cas_alloc_by_shard_and_cas_id (
    int client_id,
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_cas_io_find_by_fd

static T_CAS_IO * proxy_cas_io_find_by_fd (
    int shard_id,
    int cas_id,
    SOCKET fd
) 

function proxy_cas_io_free

static void proxy_cas_io_free (
    int shard_id,
    int cas_id
) 

function proxy_cas_io_initialize

static int proxy_cas_io_initialize (
    int shard_id,
    T_CAS_IO ** cas_io_pp,
    int size
) 

function proxy_cas_io_new

static T_CAS_IO * proxy_cas_io_new (
    int shard_id,
    int cas_id,
    SOCKET fd
) 

function proxy_check_authorization

static int proxy_check_authorization (
    T_PROXY_CONTEXT * ctx_p,
    const  char * db_name,
    const  char * db_user,
    const  char * db_passwd
) 

function proxy_client_add_waiter_by_shard

static int proxy_client_add_waiter_by_shard (
    T_SHARD_IO * shard_io_p,
    int ctx_cid,
    int ctx_uid,
    int timeout
) 

function proxy_client_check_waiter_and_wakeup

static void proxy_client_check_waiter_and_wakeup (
    T_SHARD_IO * shard_io_p,
    T_CAS_IO * cas_io_p
) 

function proxy_client_io_destroy

static void proxy_client_io_destroy (
    void
) 

function proxy_client_io_initialize

static int proxy_client_io_initialize (
    void
) 

function proxy_client_io_new

static T_CLIENT_IO * proxy_client_io_new (
    SOCKET fd,
    char * driver_info
) 

function proxy_find_idle_cas_by_asc

static T_CAS_IO * proxy_find_idle_cas_by_asc (
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_find_idle_cas_by_conn_info

static T_CAS_IO * proxy_find_idle_cas_by_conn_info (
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_find_idle_cas_by_desc

static T_CAS_IO * proxy_find_idle_cas_by_desc (
    int shard_id,
    int cas_id,
    int ctx_cid,
    unsigned  int ctx_uid
) 

function proxy_init_net_buf

static void proxy_init_net_buf (
    T_NET_BUF * net_buf
) 

function proxy_io_accept

static SOCKET proxy_io_accept (
    SOCKET lsnr_fd
) 

function proxy_io_cas_accept

static SOCKET proxy_io_cas_accept (
    SOCKET lsnr_fd
) 

function proxy_io_cas_lsnr

static int proxy_io_cas_lsnr (
    void
) 

function proxy_io_connect_to_broker

static SOCKET proxy_io_connect_to_broker (
    void
) 

function proxy_io_make_ex_get_int

static int proxy_io_make_ex_get_int (
    char * driver_info,
    char ** buffer,
    int * argv
) 

function proxy_io_register_to_broker

static int proxy_io_register_to_broker (
    void
) 

function proxy_io_unixd_lsnr

static int proxy_io_unixd_lsnr (
    char * unixd_sock_name
) 

function proxy_process_cas_conn_error

static int proxy_process_cas_conn_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_cas_message

static int proxy_process_cas_message (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_cas_read_error

static int proxy_process_cas_read_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_cas_register

static int proxy_process_cas_register (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_cas_response

static int proxy_process_cas_response (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_cas_write_error

static int proxy_process_cas_write_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_client_conn_error

static int proxy_process_client_conn_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_client_message

static int proxy_process_client_message (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_client_read_error

static int proxy_process_client_read_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_client_register

static int proxy_process_client_register (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_client_request

static int proxy_process_client_request (
    T_SOCKET_IO * sock_io_p
) 

function proxy_process_client_write_error

static int proxy_process_client_write_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_set_conn_info

static void proxy_set_conn_info (
    int func_code,
    int ctx_cid,
    int ctx_uid,
    int shard_id,
    int cas_id
) 

function proxy_shard_io_destroy

static void proxy_shard_io_destroy (
    void
) 

function proxy_shard_io_find

static T_SHARD_IO * proxy_shard_io_find (
    int shard_id
) 

function proxy_shard_io_initialize

static int proxy_shard_io_initialize (
    void
) 

function proxy_socket_io_add

static T_SOCKET_IO * proxy_socket_io_add (
    SOCKET fd,
    bool from_cas
) 

function proxy_socket_io_clear

static void proxy_socket_io_clear (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_destroy

static void proxy_socket_io_destroy (
    void
) 

function proxy_socket_io_find

static T_SOCKET_IO * proxy_socket_io_find (
    SOCKET fd
) 

function proxy_socket_io_initialize

static int proxy_socket_io_initialize (
    void
) 

function proxy_socket_io_new_client

static int proxy_socket_io_new_client (
    SOCKET lsnr_fd
) 

function proxy_socket_io_read

static void proxy_socket_io_read (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_error

static void proxy_socket_io_read_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_from_cas

static void proxy_socket_io_read_from_cas (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_from_cas_first

static void proxy_socket_io_read_from_cas_first (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_from_cas_next

static void proxy_socket_io_read_from_cas_next (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_from_client

static void proxy_socket_io_read_from_client (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_from_client_first

static void proxy_socket_io_read_from_client_first (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_from_client_next

static void proxy_socket_io_read_from_client_next (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_read_internal

static int proxy_socket_io_read_internal (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_write

static void proxy_socket_io_write (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_write_error

static void proxy_socket_io_write_error (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_write_internal

static int proxy_socket_io_write_internal (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_write_to_cas

static void proxy_socket_io_write_to_cas (
    T_SOCKET_IO * sock_io_p
) 

function proxy_socket_io_write_to_client

static void proxy_socket_io_write_to_client (
    T_SOCKET_IO * sock_io_p
) 

function shard_io_clr_fl

static int shard_io_clr_fl (
    int fd,
    int flags
) 

function shard_io_set_fl

static int shard_io_set_fl (
    int fd,
    int flags
) 

function shard_io_setsockbuf

static int shard_io_setsockbuf (
    int fd,
    int size
) 

Macro Definition Documentation

define CAS_READ_ERROR

#define CAS_READ_ERROR (
    i
) `io_error ( i , PROC_TYPE_CAS , READ_TYPE )`

define CAS_WRITE_ERROR

#define CAS_WRITE_ERROR (
    i
) `io_error ( i , PROC_TYPE_CAS , WRITE_TYPE )`

define CLIENT_READ_ERROR

#define CLIENT_READ_ERROR (
    i
) `io_error ( i , PROC_TYPE_CLIENT , READ_TYPE )`

define CLIENT_WRITE_ERROR

#define CLIENT_WRITE_ERROR (
    i
) `io_error ( i , PROC_TYPE_CLIENT , WRITE_TYPE )`

define GET_CAS_PORT

#define GET_CAS_PORT (
    broker_port,
    proxy_index,
    proxy_max_count
) `( broker_port ) + PROXY_START_PORT + ( proxy_max_count ) + ( proxy_index )`

define GET_CLIENT_PORT

#define GET_CLIENT_PORT (
    broker_port,
    proxy_index
) `( broker_port ) + PROXY_START_PORT + ( proxy_index )`

define MAX_NUM_NEW_CLIENT

#define MAX_NUM_NEW_CLIENT `5`

define PROC_TYPE_BROKER

#define PROC_TYPE_BROKER `2`

define PROC_TYPE_CAS

#define PROC_TYPE_CAS `1`

define PROC_TYPE_CLIENT

#define PROC_TYPE_CLIENT `0`

define PROXY_START_PORT

#define PROXY_START_PORT `1`

define READ_TYPE

#define READ_TYPE `1`

define WRITE_TYPE

#define WRITE_TYPE `2`

define max

#define max (
    a,
    b
) `(( a ) > (b) ? ( a ) : (b))`

define min

#define min (
    a,
    b
) `(( a ) < (b) ? ( a ) : (b))`


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