Skip to content

File connection_sr.h

FileList > connection > connection_sr.h

Go to the source code of this file

  • #include "connection_support.hpp"
  • #include "connection_list_sr.h"
  • #include "connection_defs.h"
  • #include "critical_section.h"
  • #include "error_manager.h"
  • #include "porting.h"
  • #include "thread_compat.hpp"
  • #include <assert.h>
  • #include <pthread.h>

Classes

Type Name
struct ip_info

Public Types

Type Name
typedef struct ip_info IP_INFO

Public Attributes

Type Name
CSS_CONN_ENTRY * css_Active_conn_anchor
CSS_CONN_ENTRY * css_Conn_array
int css_Num_access_user
SYNC_RWLOCK css_Rwlock_active_conn_anchor
SYNC_RWLOCK css_Rwlock_free_conn_anchor

Public Functions

Type Name
css_error_code css_add_queue_entry (CSS_CONN_ENTRY * conn, CSS_LIST * list, unsigned short request_id, char * buffer, int buffer_size, int rc, int transid, int invalidate_snapshot, int db_error)
int css_check_ip (IP_INFO * ip_info, unsigned char * address)
CSS_CONN_ENTRY * css_connect_to_master_server (int master_port_id, const char * server_name, int name_length)
void css_decrement_num_conn (BOOT_CLIENT_TYPE client_type)
void css_final_conn_list (void)
CSS_WAIT_QUEUE_ENTRY * css_find_and_remove_wait_queue_entry (CSS_LIST * list, unsigned int key)
CSS_CONN_ENTRY * css_find_conn_by_tran_index (int tran_index)
CSS_CONN_ENTRY * css_find_conn_from_fd (SOCKET fd)
int css_free_accessible_ip_info (void)
void css_free_conn (CSS_CONN_ENTRY * conn)
int css_free_ip_info (IP_INFO * ip_info)
void css_free_user_access_status (void)
void css_free_wait_queue_entry (CSS_CONN_ENTRY * conn, CSS_WAIT_QUEUE_ENTRY * entry)
char ** css_get_argv (void)
char * css_get_exec_path (void)
int css_get_num_free_conn (void)
unsigned short css_get_request_id (CSS_CONN_ENTRY * conn)
int css_get_session_ids_for_active_connections (SESSION_ID ** ids, int * count)
void css_get_user_access_status (int num_user, LAST_ACCESS_STATUS ** access_status_array)
int css_increment_num_conn (BOOT_CLIENT_TYPE client_type)
int css_init_conn_list (void)
int css_initialize_conn (CSS_CONN_ENTRY * conn, SOCKET fd)
void css_insert_into_active_conn_list (CSS_CONN_ENTRY * conn)
bool css_is_request_aborted (CSS_CONN_ENTRY * conn, unsigned short request_id)
CSS_CONN_ENTRY * css_make_conn (SOCKET fd)
void css_prepare_shutdown_conn (CSS_CONN_ENTRY * conn)
void css_print_conn_entry_info (CSS_CONN_ENTRY * p)
void css_print_conn_list (void)
void css_print_free_conn_list (void)
void css_process_abort_packet (CSS_CONN_ENTRY * conn, unsigned short request_id)
int css_queue_user_data_buffer (CSS_CONN_ENTRY * conn, unsigned short request_id, int size, char * buffer)
int css_read_header (CSS_CONN_ENTRY * conn, const NET_HEADER * local_header)
int css_read_ip_info (IP_INFO ** out_ip_info, char * filename)
int css_receive_data (CSS_CONN_ENTRY * conn, unsigned short req_id, char ** buffer, int * buffer_size, int timeout)
int css_receive_request (CSS_CONN_ENTRY * conn, unsigned short * rid, int * request, int * buffer_size)
void css_remove_all_unexpected_packets (CSS_CONN_ENTRY * conn)
void css_remove_unexpected_packets (CSS_CONN_ENTRY * conn, unsigned short request_id)
void css_request_release_packet (css_conn_entry * conn, void * buffer)
void css_request_shutdown_conn (css_conn_entry * conn, uint8_t ignore, bool retry, int wait_time)
unsigned int css_return_eid_from_conn (CSS_CONN_ENTRY * conn, unsigned short rid)
int css_return_queued_data (CSS_CONN_ENTRY * conn, unsigned short rid, char ** buffer, int * bufsize, int * rc)
int css_return_queued_error (CSS_CONN_ENTRY * conn, unsigned short request_id, char ** buffer, int * buffer_size, int * rc)
int css_return_queued_request (CSS_CONN_ENTRY * conn, unsigned short * rid, int * request, int * buffer_size)
int css_set_accessible_ip_info (void)
void css_set_argv (char ** argv)
void css_set_exec_path (char * exec_path)
void css_set_user_access_status (const char * db_user, const char * host, const char * program_name)
void css_shutdown_conn (CSS_CONN_ENTRY * conn)
int css_shutdown_conn_by_tran_index (int tran_index, int wait_time)
void css_wakeup_handler (css_conn_entry * conn)

Macros

Type Name
define CSS_LOG (msg_arg, ...) [**if**](dynamic__load_8c.md#function-if) ([**prm\_get\_bool\_value**](system__parameter_8h.md#function-prm_get_bool_value) (PRM\_ID\_CONNECTION\_LOGGING)) [**\_er\_log\_debug**](error__manager_8c.md#function-_er_log_debug) ([**ARG\_FILE\_LINE**](error__manager_8h.md#define-arg_file_line), [**msg\_arg**](broker__monitor_8c.md#function-timeout) "\n", [**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout))
define CSS_LOG_STACK (msg_arg, ...) [**if**](dynamic__load_8c.md#function-if) ([**prm\_get\_bool\_value**](system__parameter_8h.md#function-prm_get_bool_value) (PRM\_ID\_CONNECTION\_LOGGING)) [**er\_print\_callstack**](error__manager_8c.md#function-er_print_callstack) ([**ARG\_FILE\_LINE**](error__manager_8h.md#define-arg_file_line), [**msg\_arg**](broker__monitor_8c.md#function-timeout) "\n", [**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout))
define CSS_RWLOCK_ACTIVE_CONN_ANCHOR (&[**css\_Rwlock\_active\_conn\_anchor**](connection__sr_8c.md#variable-css_rwlock_active_conn_anchor))
define CSS_RWLOCK_ACTIVE_CONN_ANCHOR_NAME "CSS\_RWLOCK\_ACTIVE\_CONN\_ANCHOR"
define CSS_RWLOCK_FREE_CONN_ANCHOR (&[**css\_Rwlock\_free\_conn\_anchor**](connection__sr_8c.md#variable-css_rwlock_free_conn_anchor))
define CSS_RWLOCK_FREE_CONN_ANCHOR_NAME "CSS\_RWLOCK\_FREE\_CONN\_ANCHOR"
define END_EXCLUSIVE_ACCESS_ACTIVE_CONN_ANCHOR (r) /* multi line expression */
define END_EXCLUSIVE_ACCESS_FREE_CONN_ANCHOR (r) /* multi line expression */
define END_SHARED_ACCESS_ACTIVE_CONN_ANCHOR (r) /* multi line expression */
define END_SHARED_ACCESS_FREE_CONN_ANCHOR (r) /* multi line expression */
define IP_BYTE_COUNT 5
define START_EXCLUSIVE_ACCESS_ACTIVE_CONN_ANCHOR (r) /* multi line expression */
define START_EXCLUSIVE_ACCESS_FREE_CONN_ANCHOR (r) /* multi line expression */
define START_SHARED_ACCESS_ACTIVE_CONN_ANCHOR (r) /* multi line expression */
define START_SHARED_ACCESS_FREE_CONN_ANCHOR (r) /* multi line expression */

Public Types Documentation

typedef IP_INFO

typedef struct ip_info IP_INFO;

Public Attributes Documentation

variable css_Active_conn_anchor

CSS_CONN_ENTRY* css_Active_conn_anchor;

variable css_Conn_array

CSS_CONN_ENTRY* css_Conn_array;

variable css_Num_access_user

int css_Num_access_user;

variable css_Rwlock_active_conn_anchor

SYNC_RWLOCK css_Rwlock_active_conn_anchor;

variable css_Rwlock_free_conn_anchor

SYNC_RWLOCK css_Rwlock_free_conn_anchor;

Public Functions Documentation

function css_add_queue_entry

css_error_code css_add_queue_entry (
    CSS_CONN_ENTRY * conn,
    CSS_LIST * list,
    unsigned  short request_id,
    char * buffer,
    int buffer_size,
    int rc,
    int transid,
    int invalidate_snapshot,
    int db_error
) 

function css_check_ip

int css_check_ip (
    IP_INFO * ip_info,
    unsigned  char * address
) 

function css_connect_to_master_server

CSS_CONN_ENTRY * css_connect_to_master_server (
    int master_port_id,
    const  char * server_name,
    int name_length
) 

function css_decrement_num_conn

void css_decrement_num_conn (
    BOOT_CLIENT_TYPE client_type
) 

function css_final_conn_list

void css_final_conn_list (
    void
) 

function css_find_and_remove_wait_queue_entry

CSS_WAIT_QUEUE_ENTRY * css_find_and_remove_wait_queue_entry (
    CSS_LIST * list,
    unsigned  int key
) 

function css_find_conn_by_tran_index

CSS_CONN_ENTRY * css_find_conn_by_tran_index (
    int tran_index
) 

function css_find_conn_from_fd

CSS_CONN_ENTRY * css_find_conn_from_fd (
    SOCKET fd
) 

function css_free_accessible_ip_info

int css_free_accessible_ip_info (
    void
) 

function css_free_conn

void css_free_conn (
    CSS_CONN_ENTRY * conn
) 

function css_free_ip_info

int css_free_ip_info (
    IP_INFO * ip_info
) 

function css_free_user_access_status

void css_free_user_access_status (
    void
) 

function css_free_wait_queue_entry

void css_free_wait_queue_entry (
    CSS_CONN_ENTRY * conn,
    CSS_WAIT_QUEUE_ENTRY * entry
) 

function css_get_argv

char ** css_get_argv (
    void
) 

function css_get_exec_path

char * css_get_exec_path (
    void
) 

function css_get_num_free_conn

int css_get_num_free_conn (
    void
) 

function css_get_request_id

unsigned  short css_get_request_id (
    CSS_CONN_ENTRY * conn
) 

function css_get_session_ids_for_active_connections

int css_get_session_ids_for_active_connections (
    SESSION_ID ** ids,
    int * count
) 

function css_get_user_access_status

void css_get_user_access_status (
    int num_user,
    LAST_ACCESS_STATUS ** access_status_array
) 

function css_increment_num_conn

int css_increment_num_conn (
    BOOT_CLIENT_TYPE client_type
) 

function css_init_conn_list

int css_init_conn_list (
    void
) 

function css_initialize_conn

int css_initialize_conn (
    CSS_CONN_ENTRY * conn,
    SOCKET fd
) 

function css_insert_into_active_conn_list

void css_insert_into_active_conn_list (
    CSS_CONN_ENTRY * conn
) 

function css_is_request_aborted

bool css_is_request_aborted (
    CSS_CONN_ENTRY * conn,
    unsigned  short request_id
) 

function css_make_conn

CSS_CONN_ENTRY * css_make_conn (
    SOCKET fd
) 

function css_prepare_shutdown_conn

void css_prepare_shutdown_conn (
    CSS_CONN_ENTRY * conn
) 

function css_print_conn_entry_info

void css_print_conn_entry_info (
    CSS_CONN_ENTRY * p
) 

function css_print_conn_list

void css_print_conn_list (
    void
) 

function css_print_free_conn_list

void css_print_free_conn_list (
    void
) 

function css_process_abort_packet

void css_process_abort_packet (
    CSS_CONN_ENTRY * conn,
    unsigned  short request_id
) 

function css_queue_user_data_buffer

int css_queue_user_data_buffer (
    CSS_CONN_ENTRY * conn,
    unsigned  short request_id,
    int size,
    char * buffer
) 

function css_read_header

int css_read_header (
    CSS_CONN_ENTRY * conn,
    const  NET_HEADER * local_header
) 

function css_read_ip_info

int css_read_ip_info (
    IP_INFO ** out_ip_info,
    char * filename
) 

function css_receive_data

int css_receive_data (
    CSS_CONN_ENTRY * conn,
    unsigned  short req_id,
    char ** buffer,
    int * buffer_size,
    int timeout
) 

function css_receive_request

int css_receive_request (
    CSS_CONN_ENTRY * conn,
    unsigned  short * rid,
    int * request,
    int * buffer_size
) 

function css_remove_all_unexpected_packets

void css_remove_all_unexpected_packets (
    CSS_CONN_ENTRY * conn
) 

function css_remove_unexpected_packets

void css_remove_unexpected_packets (
    CSS_CONN_ENTRY * conn,
    unsigned  short request_id
) 

function css_request_release_packet

void css_request_release_packet (
    css_conn_entry * conn,
    void * buffer
) 

function css_request_shutdown_conn

void css_request_shutdown_conn (
    css_conn_entry * conn,
    uint8_t ignore,
    bool retry,
    int wait_time
) 

function css_return_eid_from_conn

unsigned  int css_return_eid_from_conn (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid
) 

function css_return_queued_data

int css_return_queued_data (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid,
    char ** buffer,
    int * bufsize,
    int * rc
) 

function css_return_queued_error

int css_return_queued_error (
    CSS_CONN_ENTRY * conn,
    unsigned  short request_id,
    char ** buffer,
    int * buffer_size,
    int * rc
) 

function css_return_queued_request

int css_return_queued_request (
    CSS_CONN_ENTRY * conn,
    unsigned  short * rid,
    int * request,
    int * buffer_size
) 

function css_set_accessible_ip_info

int css_set_accessible_ip_info (
    void
) 

function css_set_argv

void css_set_argv (
    char ** argv
) 

function css_set_exec_path

void css_set_exec_path (
    char * exec_path
) 

function css_set_user_access_status

void css_set_user_access_status (
    const  char * db_user,
    const  char * host,
    const  char * program_name
) 

function css_shutdown_conn

void css_shutdown_conn (
    CSS_CONN_ENTRY * conn
) 

function css_shutdown_conn_by_tran_index

int css_shutdown_conn_by_tran_index (
    int tran_index,
    int wait_time
) 

function css_wakeup_handler

void css_wakeup_handler (
    css_conn_entry * conn
) 

Macro Definition Documentation

define CSS_LOG

#define CSS_LOG (
    msg_arg,
    ...
) `if ( prm_get_bool_value ( PRM_ID_CONNECTION_LOGGING )) _er_log_debug ( ARG_FILE_LINE , msg_arg "\n", __VA_ARGS__ )`

define CSS_LOG_STACK

#define CSS_LOG_STACK (
    msg_arg,
    ...
) `if ( prm_get_bool_value ( PRM_ID_CONNECTION_LOGGING )) er_print_callstack ( ARG_FILE_LINE , msg_arg "\n", __VA_ARGS__ )`

define CSS_RWLOCK_ACTIVE_CONN_ANCHOR

#define CSS_RWLOCK_ACTIVE_CONN_ANCHOR `(& css_Rwlock_active_conn_anchor )`

define CSS_RWLOCK_ACTIVE_CONN_ANCHOR_NAME

#define CSS_RWLOCK_ACTIVE_CONN_ANCHOR_NAME `"CSS_RWLOCK_ACTIVE_CONN_ANCHOR"`

define CSS_RWLOCK_FREE_CONN_ANCHOR

#define CSS_RWLOCK_FREE_CONN_ANCHOR `(& css_Rwlock_free_conn_anchor )`

define CSS_RWLOCK_FREE_CONN_ANCHOR_NAME

#define CSS_RWLOCK_FREE_CONN_ANCHOR_NAME `"CSS_RWLOCK_FREE_CONN_ANCHOR"`

define END_EXCLUSIVE_ACCESS_ACTIVE_CONN_ANCHOR

#define END_EXCLUSIVE_ACCESS_ACTIVE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define END_EXCLUSIVE_ACCESS_FREE_CONN_ANCHOR

#define END_EXCLUSIVE_ACCESS_FREE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define END_SHARED_ACCESS_ACTIVE_CONN_ANCHOR

#define END_SHARED_ACCESS_ACTIVE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define END_SHARED_ACCESS_FREE_CONN_ANCHOR

#define END_SHARED_ACCESS_FREE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define IP_BYTE_COUNT

#define IP_BYTE_COUNT `5`

define START_EXCLUSIVE_ACCESS_ACTIVE_CONN_ANCHOR

#define START_EXCLUSIVE_ACCESS_ACTIVE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define START_EXCLUSIVE_ACCESS_FREE_CONN_ANCHOR

#define START_EXCLUSIVE_ACCESS_FREE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define START_SHARED_ACCESS_ACTIVE_CONN_ANCHOR

#define START_SHARED_ACCESS_ACTIVE_CONN_ANCHOR (
    r
) `/* multi line expression */`

define START_SHARED_ACCESS_FREE_CONN_ANCHOR

#define START_SHARED_ACCESS_FREE_CONN_ANCHOR (
    r
) `/* multi line expression */`


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