Skip to content

File connection_defs.h

FileList > connection > connection_defs.h

Go to the source code of this file

  • #include "boot.h"
  • #include "receiver.hpp"
  • #include "transmitter.hpp"
  • #include "connection_list_sr.h"
  • #include "critical_section.h"
  • #include "error_manager.h"
  • #include "memory_alloc.h"
  • #include "porting.h"
  • #include "thread_compat.hpp"
  • #include "db_multi_threads_connections.h"
  • #include <stdio.h>
  • #include <poll.h>
  • #include <pthread.h>
  • #include <atomic>

Namespaces

Type Name
namespace cubconn
namespace connection

Classes

Type Name
struct css_conn_entry
struct css_queue_entry
struct css_wait_queue_entry
struct packet_header

Public Types

Type Name
typedef struct css_conn_entry CSS_CONN_ENTRY
typedef struct css_queue_entry CSS_QUEUE_ENTRY
typedef enum css_server_request CSS_SERVER_REQUEST
typedef struct css_wait_queue_entry CSS_WAIT_QUEUE_ENTRY
typedef enum ha_log_applier_state HA_LOG_APPLIER_STATE
typedef enum ha_mode HA_MODE
typedef enum ha_server_mode HA_SERVER_MODE
typedef struct packet_header NET_HEADER
enum connection__defs_8h_1a56a0f36da7f9eaaf54bd05cc2bf49173
enum css_check_peer_alive
enum css_client_request
enum css_command_type
enum css_conn_status
enum css_error_code
enum css_master_response
enum css_packet_type
enum css_server_request
enum css_status
enum css_status_code
enum ha_log_applier_state
enum ha_mode
enum ha_server_mode

Macros

Type Name
define CHECK_CLIENT_IS_ALIVE () /* multi line expression */
define CHECK_SERVER_IS_ALIVE () /* multi line expression */
define CSS_ENTRYID_FROM_EID (eid) (([**unsigned**](broker__monitor_8c.md#function-timeout) [**short**](broker__monitor_8c.md#function-timeout)) [**HIGH16BITS**](connection__defs_8h.md#define-high16bits)([**eid**](cas__error__log_8c.md#variable-eid)))
define CSS_RID_FROM_EID (eid) (([**unsigned**](broker__monitor_8c.md#function-timeout) [**short**](broker__monitor_8c.md#function-timeout)) [**LOW16BITS**](connection__defs_8h.md#define-low16bits)([**eid**](cas__error__log_8c.md#variable-eid)))
define DEFAULT_HEADER_DATA {0,0,0,[**NULL\_TRAN\_INDEX**](storage__common_8h.md#define-null_tran_index),0,0,0,0,0}
define HA_CHANGE_MODE_DEFAULT_TIMEOUT_IN_SECS 5
define HA_CHANGE_MODE_IMMEDIATELY 0
define HA_DELAY_ERR_CORRECTION 1
define HA_DISABLED () ([**HA\_GET\_MODE**](connection__defs_8h.md#define-ha_get_mode) () == HA\_MODE\_OFF)
define HA_GET_MODE () (([**HA\_MODE**](connection__defs_8h.md#typedef-ha_mode)) [**prm\_get\_integer\_value**](system__parameter_8h.md#function-prm_get_integer_value) (PRM\_ID\_HA\_MODE))
define HA_LOG_APPLIER_STATE_DONE_STR "done"
define HA_LOG_APPLIER_STATE_ERROR_STR "error"
define HA_LOG_APPLIER_STATE_RECOVERING_STR "recovering"
define HA_LOG_APPLIER_STATE_UNREGISTERED_STR "unregistered"
define HA_LOG_APPLIER_STATE_WORKING_STR "working"
define HA_MODE_FAIL_BACK_STR "fail-[**back"**](broker__monitor_8c.md#function-timeout)
define HA_MODE_FAIL_OVER_STR "fail-[**over"**](broker__monitor_8c.md#function-timeout)
define HA_MODE_LAZY_BACK_STR "lazy-[**back"**](broker__monitor_8c.md#function-timeout)
define HA_MODE_OFF_STR "off"
define HA_MODE_ON_STR "on"
define HA_MODE_REPLICA_STR "replica"
define HA_MODE_ROLE_CHANGE_STR "role-[**change"**](broker__monitor_8c.md#function-timeout)
define HA_REQUEST_FAILURE "0\0"
define HA_REQUEST_RESULT_SIZE 2
define HA_REQUEST_SUCCESS "1\0"
define HA_SERVER_MODE_ACTIVE_STR "active"
define HA_SERVER_MODE_BACKUP_STR "backup"
define HA_SERVER_MODE_PRIMARY_STR "primary"
define HA_SERVER_MODE_SECONDARY_STR "secondary"
define HA_SERVER_MODE_STANDBY_STR "standby"
define HA_SERVER_MODE_TERNARY_STR "ternary"
define HIGH16BITS (X) ((([**X**](broker__monitor_8c.md#function-timeout)) &gt;&gt; 16) & 0xffffL)
define LOW16BITS (X) (([**X**](broker__monitor_8c.md#function-timeout)) & 0xffffL)
define MASTER_TO_SRV_MSG_SIZE 1024
define NET_HEADER_FLAG_INVALIDATE_SNAPSHOT 0x8000
define NET_HEADER_FLAG_METHOD_MODE 0x4000
define NUM_MASTER_CHANNEL 1
define TPRINTF (error_string, arg)
define TPRINTF2 (error_string, arg1, arg2)

Public Types Documentation

typedef CSS_CONN_ENTRY

typedef struct css_conn_entry CSS_CONN_ENTRY;

typedef CSS_QUEUE_ENTRY

typedef struct css_queue_entry CSS_QUEUE_ENTRY;

typedef CSS_SERVER_REQUEST

typedef enum css_server_request CSS_SERVER_REQUEST;

typedef CSS_WAIT_QUEUE_ENTRY

typedef struct css_wait_queue_entry CSS_WAIT_QUEUE_ENTRY;

typedef HA_LOG_APPLIER_STATE

typedef enum ha_log_applier_state HA_LOG_APPLIER_STATE;

typedef HA_MODE

typedef enum ha_mode HA_MODE;

typedef HA_SERVER_MODE

typedef enum ha_server_mode HA_SERVER_MODE;

typedef NET_HEADER

typedef struct packet_header NET_HEADER;

enum connection__defs_8h_1a56a0f36da7f9eaaf54bd05cc2bf49173

enum connection__defs_8h_1a56a0f36da7f9eaaf54bd05cc2bf49173 {
    READ_WRITE = 0,
    READ_ONLY = 1,
    WRITE_ONLY = 2
};

enum css_check_peer_alive

enum css_check_peer_alive {
    CSS_CHECK_PEER_ALIVE_NONE,
    CSS_CHECK_PEER_ALIVE_SERVER_ONLY,
    CSS_CHECK_PEER_ALIVE_CLIENT_ONLY,
    CSS_CHECK_PEER_ALIVE_BOTH
};

enum css_client_request

enum css_client_request {
    GET_START_TIME = 1,
    GET_SERVER_COUNT = 2,
    GET_REQUEST_COUNT = 3,
    START_MASTER_TRACING = 4,
    STOP_MASTER_TRACING = 5,
    START_SLAVE_TRACING = 6,
    STOP_SLAVE_TRACING = 7,
    SET_SERVER_LIMIT = 8,
    STOP_SERVER = 9,
    START_SERVER = 10,
    GET_SERVER_LIST = 11,
    KILL_MASTER_SERVER = 12,
    KILL_SLAVE_SERVER = 13,
    START_SHUTDOWN = 14,
    CANCEL_SHUTDOWN = 15,
    GET_SHUTDOWN_TIME = 16,
    KILL_SERVER_IMMEDIATE = 17,
    SHUTDOWN_REVIVING_SERVER = 18,
    GET_REPL_LIST = 20,
    GET_ALL_LIST = 21,
    GET_REPL_COUNT = 22,
    GET_ALL_COUNT = 23,
    KILL_REPL_SERVER = 24,
    GET_SERVER_HA_MODE = 25,
    GET_HA_NODE_LIST = 26,
    GET_HA_NODE_LIST_VERBOSE = 27,
    GET_HA_PROCESS_LIST = 28,
    GET_HA_PROCESS_LIST_VERBOSE = 29,
    DEREGISTER_HA_PROCESS_BY_PID = 30,
    RECONFIG_HEARTBEAT = 31,
    DEACTIVATE_HEARTBEAT = 32,
    ACTIVATE_HEARTBEAT = 33,
    KILL_ALL_HA_PROCESS = 34,
    IS_REGISTERED_HA_PROC = 35,
    DEREGISTER_HA_PROCESS_BY_ARGS = 36,
    GET_HA_PING_HOST_INFO = 37,
    DEACT_STOP_ALL = 38,
    DEACT_CONFIRM_STOP_ALL = 39,
    DEACT_CONFIRM_NO_SERVER = 40,
    GET_HA_ADMIN_INFO = 41,
    GET_SERVER_STATE = 42,
    START_HA_UTIL_PROCESS = 43
};

enum css_command_type

enum css_command_type {
    NULL_REQUEST = 0,
    INFO_REQUEST = 1,
    DATA_REQUEST = 2,
    SERVER_REQUEST_FROM_SERVER = 3,
    SERVER_REQUEST_FROM_CLIENT = 4,
    SERVER_REQUEST_NEW = 5,
    MAX_REQUEST
};

enum css_conn_status

enum css_conn_status {
    CONN_OPEN = 1,
    CONN_CLOSED = 2,
    CONN_CLOSING = 3
};

enum css_error_code

enum css_error_code {
    NO_ERRORS = 1,
    CONNECTION_CLOSED = 2,
    REQUEST_REFUSED = 3,
    ERROR_ON_READ = 4,
    ERROR_ON_WRITE = 5,
    RECORD_TRUNCATED = 6,
    ERROR_WHEN_READING_SIZE = 7,
    READ_LENGTH_MISMATCH = 8,
    ERROR_ON_COMMAND_READ = 9,
    NO_DATA_AVAILABLE = 10,
    WRONG_PACKET_TYPE = 11,
    SERVER_WAS_NOT_FOUND = 12,
    SERVER_ABORTED = 13,
    INTERRUPTED_READ = 14,
    CANT_ALLOC_BUFFER = 15,
    OS_ERROR = 16,
    TIMEDOUT_ON_QUEUE = 17,
    INTERNAL_CSS_ERROR = 18
};

enum css_master_response

enum css_master_response {
    SERVER_ALREADY_EXISTS = 0,
    SERVER_REQUEST_ACCEPTED = 1,
    DRIVER_NOT_FOUND = 2,
    SERVER_REQUEST_ACCEPTED_NEW = 3
};

enum css_packet_type

enum css_packet_type {
    COMMAND_TYPE = 1,
    DATA_TYPE = 2,
    ABORT_TYPE = 3,
    CLOSE_TYPE = 4,
    ERROR_TYPE = 5
};

enum css_server_request

enum css_server_request {
    SERVER_START_TRACING = 1,
    SERVER_STOP_TRACING = 2,
    SERVER_HALT_EXECUTION = 3,
    SERVER_RESUME_EXECUTION = 4,
    SERVER_START_NEW_CLIENT = 5,
    SERVER_START_SHUTDOWN = 6,
    SERVER_STOP_SHUTDOWN = 7,
    SERVER_SHUTDOWN_IMMEDIATE = 8,
    SERVER_GET_HA_MODE = 9,
    SERVER_REGISTER_HA_PROCESS = 10,
    SERVER_CHANGE_HA_MODE = 11,
    SERVER_DEREGISTER_HA_PROCESS = 12,
    SERVER_GET_EOF = 13
};

enum css_status

enum css_status {
    SERVER_CONNECTED = 0,
    SERVER_NOT_FOUND = 1,
    SERVER_STARTED = 2,
    SERVER_IS_RECOVERING = 3,
    SERVER_HAS_SHUT_DOWN = 4,
    ERROR_MESSAGE_FROM_MASTER = 5,
    SERVER_CONNECTED_NEW = 6,
    SERVER_CLIENTS_EXCEEDED = 7,
    SERVER_INACCESSIBLE_IP = 8,
    SERVER_HANG = 9
};

enum css_status_code

enum css_status_code {
    CSS_NO_ERRORS = 0,
    CSS_UNPLANNED_SHUTDOWN = 1,
    CSS_PLANNED_SHUTDOWN = 2
};

enum ha_log_applier_state

enum ha_log_applier_state {
    HA_LOG_APPLIER_STATE_NA = -1,
    HA_LOG_APPLIER_STATE_UNREGISTERED = 0,
    HA_LOG_APPLIER_STATE_RECOVERING = 1,
    HA_LOG_APPLIER_STATE_WORKING = 2,
    HA_LOG_APPLIER_STATE_DONE = 3,
    HA_LOG_APPLIER_STATE_ERROR = 4
};

enum ha_mode

enum ha_mode {
    HA_MODE_OFF = 0,
    HA_MODE_FAIL_OVER = 1,
    HA_MODE_FAIL_BACK = 2,
    HA_MODE_LAZY_BACK = 3,
    HA_MODE_ROLE_CHANGE = 4,
    HA_MODE_REPLICA = 5
};

enum ha_server_mode

enum ha_server_mode {
    HA_SERVER_MODE_ACTIVE = 0,
    HA_SERVER_MODE_STANDBY = 1,
    HA_SERVER_MODE_BACKUP = 2,
    HA_SERVER_MODE_PRIMARY = 0,
    HA_SERVER_MODE_SECONDARY = 1,
    HA_SERVER_MODE_TERNARY = 2
};

Macro Definition Documentation

define CHECK_CLIENT_IS_ALIVE

#define CHECK_CLIENT_IS_ALIVE (

) `/* multi line expression */`

define CHECK_SERVER_IS_ALIVE

#define CHECK_SERVER_IS_ALIVE (

) `/* multi line expression */`

define CSS_ENTRYID_FROM_EID

#define CSS_ENTRYID_FROM_EID (
    eid
) `(( unsigned  short ) HIGH16BITS ( eid ))`

define CSS_RID_FROM_EID

#define CSS_RID_FROM_EID (
    eid
) `(( unsigned  short ) LOW16BITS ( eid ))`

define DEFAULT_HEADER_DATA

#define DEFAULT_HEADER_DATA `{0,0,0, NULL_TRAN_INDEX ,0,0,0,0,0}`

define HA_CHANGE_MODE_DEFAULT_TIMEOUT_IN_SECS

#define HA_CHANGE_MODE_DEFAULT_TIMEOUT_IN_SECS `5`

define HA_CHANGE_MODE_IMMEDIATELY

#define HA_CHANGE_MODE_IMMEDIATELY `0`

define HA_DELAY_ERR_CORRECTION

#define HA_DELAY_ERR_CORRECTION `1`

define HA_DISABLED

#define HA_DISABLED (

) `( HA_GET_MODE () == HA_MODE_OFF )`

define HA_GET_MODE

#define HA_GET_MODE (

) `(( HA_MODE ) prm_get_integer_value ( PRM_ID_HA_MODE ))`

define HA_LOG_APPLIER_STATE_DONE_STR

#define HA_LOG_APPLIER_STATE_DONE_STR `"done"`

define HA_LOG_APPLIER_STATE_ERROR_STR

#define HA_LOG_APPLIER_STATE_ERROR_STR `"error"`

define HA_LOG_APPLIER_STATE_RECOVERING_STR

#define HA_LOG_APPLIER_STATE_RECOVERING_STR `"recovering"`

define HA_LOG_APPLIER_STATE_UNREGISTERED_STR

#define HA_LOG_APPLIER_STATE_UNREGISTERED_STR `"unregistered"`

define HA_LOG_APPLIER_STATE_WORKING_STR

#define HA_LOG_APPLIER_STATE_WORKING_STR `"working"`

define HA_MODE_FAIL_BACK_STR

#define HA_MODE_FAIL_BACK_STR `"fail- back"`

define HA_MODE_FAIL_OVER_STR

#define HA_MODE_FAIL_OVER_STR `"fail- over"`

define HA_MODE_LAZY_BACK_STR

#define HA_MODE_LAZY_BACK_STR `"lazy- back"`

define HA_MODE_OFF_STR

#define HA_MODE_OFF_STR `"off"`

define HA_MODE_ON_STR

#define HA_MODE_ON_STR `"on"`

define HA_MODE_REPLICA_STR

#define HA_MODE_REPLICA_STR `"replica"`

define HA_MODE_ROLE_CHANGE_STR

#define HA_MODE_ROLE_CHANGE_STR `"role- change"`

define HA_REQUEST_FAILURE

#define HA_REQUEST_FAILURE `"0\0"`

define HA_REQUEST_RESULT_SIZE

#define HA_REQUEST_RESULT_SIZE `2`

define HA_REQUEST_SUCCESS

#define HA_REQUEST_SUCCESS `"1\0"`

define HA_SERVER_MODE_ACTIVE_STR

#define HA_SERVER_MODE_ACTIVE_STR `"active"`

define HA_SERVER_MODE_BACKUP_STR

#define HA_SERVER_MODE_BACKUP_STR `"backup"`

define HA_SERVER_MODE_PRIMARY_STR

#define HA_SERVER_MODE_PRIMARY_STR `"primary"`

define HA_SERVER_MODE_SECONDARY_STR

#define HA_SERVER_MODE_SECONDARY_STR `"secondary"`

define HA_SERVER_MODE_STANDBY_STR

#define HA_SERVER_MODE_STANDBY_STR `"standby"`

define HA_SERVER_MODE_TERNARY_STR

#define HA_SERVER_MODE_TERNARY_STR `"ternary"`

define HIGH16BITS

#define HIGH16BITS (
    X
) `((( X ) >> 16) & 0xffffL)`

define LOW16BITS

#define LOW16BITS (
    X
) `(( X ) & 0xffffL)`

define MASTER_TO_SRV_MSG_SIZE

#define MASTER_TO_SRV_MSG_SIZE `1024`

define NET_HEADER_FLAG_INVALIDATE_SNAPSHOT

#define NET_HEADER_FLAG_INVALIDATE_SNAPSHOT `0x8000`

define NET_HEADER_FLAG_METHOD_MODE

#define NET_HEADER_FLAG_METHOD_MODE `0x4000`

define NUM_MASTER_CHANNEL

#define NUM_MASTER_CHANNEL `1`

define TPRINTF

#define TPRINTF (
    error_string,
    arg
) 

define TPRINTF2

#define TPRINTF2 (
    error_string,
    arg1,
    arg2
) 


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