CUBRID Engine  latest
connection_defs.h File Reference
#include "boot.h"
#include "error_manager.h"
#include "memory_alloc.h"
#include "porting.h"
#include "thread_compat.hpp"
#include <stdio.h>
#include <poll.h>
Include dependency graph for connection_defs.h:

Go to the source code of this file.

Classes

struct  packet_header
 
struct  css_queue_entry
 
struct  css_conn_entry
 
struct  css_mapping_entry
 
struct  last_access_status
 

Macros

#define NUM_MASTER_CHANNEL   1
 
#define CHECK_CLIENT_IS_ALIVE()
 
#define CHECK_SERVER_IS_ALIVE()
 
#define HA_MODE_OFF_STR   "off"
 
#define HA_MODE_FAIL_OVER_STR   "fail-over"
 
#define HA_MODE_FAIL_BACK_STR   "fail-back"
 
#define HA_MODE_LAZY_BACK_STR   "lazy-back"
 
#define HA_MODE_ROLE_CHANGE_STR   "role-change"
 
#define HA_MODE_REPLICA_STR   "replica"
 
#define HA_MODE_ON_STR   "on"
 
#define HA_GET_MODE()   ((HA_MODE) prm_get_integer_value (PRM_ID_HA_MODE))
 
#define HA_DISABLED()   (HA_GET_MODE () == HA_MODE_OFF)
 
#define HA_SERVER_MODE_ACTIVE_STR   "active"
 
#define HA_SERVER_MODE_STANDBY_STR   "standby"
 
#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_TERNARY_STR   "ternary"
 
#define HA_LOG_APPLIER_STATE_UNREGISTERED_STR   "unregistered"
 
#define HA_LOG_APPLIER_STATE_RECOVERING_STR   "recovering"
 
#define HA_LOG_APPLIER_STATE_WORKING_STR   "working"
 
#define HA_LOG_APPLIER_STATE_DONE_STR   "done"
 
#define HA_LOG_APPLIER_STATE_ERROR_STR   "error"
 
#define HA_CHANGE_MODE_DEFAULT_TIMEOUT_IN_SECS   5
 
#define HA_CHANGE_MODE_IMMEDIATELY   0
 
#define HA_DELAY_ERR_CORRECTION   1
 
#define HA_REQUEST_SUCCESS   "1\0"
 
#define HA_REQUEST_FAILURE   "0\0"
 
#define HA_REQUEST_RESULT_SIZE   2
 
#define MASTER_TO_SRV_MSG_SIZE   1024
 
#define TPRINTF(error_string, arg)
 
#define TPRINTF2(error_string, arg1, arg2)
 
#define HIGH16BITS(X)   (((X) >> 16) & 0xffffL)
 
#define LOW16BITS(X)   ((X) & 0xffffL)
 
#define DEFAULT_HEADER_DATA   {0,0,0,NULL_TRAN_INDEX,0,0,0,0,0}
 
#define CSS_RID_FROM_EID(eid)   ((unsigned short) LOW16BITS(eid))
 
#define CSS_ENTRYID_FROM_EID(eid)   ((unsigned short) HIGH16BITS(eid))
 
#define NET_HEADER_FLAG_INVALIDATE_SNAPSHOT   0x8000
 

Typedefs

typedef enum css_server_request CSS_SERVER_REQUEST
 
typedef enum ha_mode HA_MODE
 
typedef enum ha_server_mode HA_SERVER_MODE
 
typedef enum ha_log_applier_state HA_LOG_APPLIER_STATE
 
typedef struct packet_header NET_HEADER
 
typedef struct css_queue_entry CSS_QUEUE_ENTRY
 
typedef struct css_conn_entry CSS_CONN_ENTRY
 
typedef struct css_mapping_entry CSS_MAP_ENTRY
 
typedef struct last_access_status LAST_ACCESS_STATUS
 

Enumerations

enum  css_command_type {
  NULL_REQUEST = 0, INFO_REQUEST = 1, DATA_REQUEST = 2, SERVER_REQUEST = 3,
  UNUSED_REQUEST = 4, SERVER_REQUEST_NEW = 5, MAX_REQUEST
}
 
enum  css_master_response { SERVER_ALREADY_EXISTS = 0, SERVER_REQUEST_ACCEPTED = 1, DRIVER_NOT_FOUND = 2, SERVER_REQUEST_ACCEPTED_NEW = 3 }
 
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, 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_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_conn_status { CONN_OPEN = 1, CONN_CLOSED = 2, CONN_CLOSING = 3 }
 
enum  { READ_WRITE = 0, READ_ONLY = 1, WRITE_ONLY = 2 }
 
enum  css_packet_type {
  COMMAND_TYPE = 1, DATA_TYPE = 2, ABORT_TYPE = 3, CLOSE_TYPE = 4,
  ERROR_TYPE = 5
}
 
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_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_status_code { CSS_NO_ERRORS = 0, CSS_UNPLANNED_SHUTDOWN = 1, CSS_PLANNED_SHUTDOWN = 2 }
 
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  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 {
  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
}
 
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
}
 

Macro Definition Documentation

#define CSS_ENTRYID_FROM_EID (   eid)    ((unsigned short) HIGH16BITS(eid))
#define HA_CHANGE_MODE_DEFAULT_TIMEOUT_IN_SECS   5

Definition at line 324 of file connection_defs.h.

Referenced by changemode().

#define HA_CHANGE_MODE_IMMEDIATELY   0
#define HA_DELAY_ERR_CORRECTION   1

Definition at line 327 of file connection_defs.h.

Referenced by log_is_log_flush_daemon_available().

#define HA_LOG_APPLIER_STATE_DONE_STR   "done"

Definition at line 321 of file connection_defs.h.

Referenced by css_ha_applier_state_string().

#define HA_LOG_APPLIER_STATE_ERROR_STR   "error"

Definition at line 322 of file connection_defs.h.

Referenced by css_ha_applier_state_string().

#define HA_LOG_APPLIER_STATE_RECOVERING_STR   "recovering"

Definition at line 319 of file connection_defs.h.

Referenced by css_ha_applier_state_string().

#define HA_LOG_APPLIER_STATE_UNREGISTERED_STR   "unregistered"

Definition at line 318 of file connection_defs.h.

Referenced by css_ha_applier_state_string().

#define HA_LOG_APPLIER_STATE_WORKING_STR   "working"

Definition at line 320 of file connection_defs.h.

Referenced by css_ha_applier_state_string().

#define HA_MODE_FAIL_BACK_STR   "fail-back"

Definition at line 276 of file connection_defs.h.

#define HA_MODE_FAIL_OVER_STR   "fail-over"

Definition at line 275 of file connection_defs.h.

#define HA_MODE_LAZY_BACK_STR   "lazy-back"

Definition at line 277 of file connection_defs.h.

#define HA_MODE_OFF_STR   "off"

Definition at line 274 of file connection_defs.h.

Referenced by css_ha_mode_string().

#define HA_MODE_ON_STR   "on"

Definition at line 280 of file connection_defs.h.

Referenced by css_ha_mode_string().

#define HA_MODE_REPLICA_STR   "replica"

Definition at line 279 of file connection_defs.h.

Referenced by css_ha_mode_string().

#define HA_MODE_ROLE_CHANGE_STR   "role-change"

Definition at line 278 of file connection_defs.h.

#define HA_SERVER_MODE_ACTIVE_STR   "active"

Definition at line 298 of file connection_defs.h.

#define HA_SERVER_MODE_BACKUP_STR   "backup"

Definition at line 300 of file connection_defs.h.

#define HA_SERVER_MODE_PRIMARY_STR   "primary"

Definition at line 301 of file connection_defs.h.

#define HA_SERVER_MODE_SECONDARY_STR   "secondary"

Definition at line 302 of file connection_defs.h.

#define HA_SERVER_MODE_STANDBY_STR   "standby"

Definition at line 299 of file connection_defs.h.

#define HA_SERVER_MODE_TERNARY_STR   "ternary"

Definition at line 303 of file connection_defs.h.

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

Definition at line 363 of file connection_defs.h.

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

Definition at line 364 of file connection_defs.h.

#define NET_HEADER_FLAG_INVALIDATE_SNAPSHOT   0x8000
#define NUM_MASTER_CHANNEL   1

Definition at line 57 of file connection_defs.h.

Referenced by css_init_conn_list().

#define TPRINTF (   error_string,
  arg 
)
#define TPRINTF2 (   error_string,
  arg1,
  arg2 
)

Definition at line 359 of file connection_defs.h.

Typedef Documentation

Definition at line 422 of file connection_defs.h.

Definition at line 496 of file connection_defs.h.

Definition at line 393 of file connection_defs.h.

Definition at line 155 of file connection_defs.h.

Definition at line 317 of file connection_defs.h.

typedef enum ha_mode HA_MODE

Definition at line 273 of file connection_defs.h.

Definition at line 297 of file connection_defs.h.

Definition at line 511 of file connection_defs.h.

typedef struct packet_header NET_HEADER

Definition at line 376 of file connection_defs.h.

Enumeration Type Documentation

anonymous enum
Enumerator
READ_WRITE 
READ_ONLY 
WRITE_ONLY 

Definition at line 171 of file connection_defs.h.

Enumerator
CSS_CHECK_PEER_ALIVE_NONE 
CSS_CHECK_PEER_ALIVE_SERVER_ONLY 
CSS_CHECK_PEER_ALIVE_CLIENT_ONLY 
CSS_CHECK_PEER_ALIVE_BOTH 

Definition at line 247 of file connection_defs.h.

Enumerator
GET_START_TIME 
GET_SERVER_COUNT 
GET_REQUEST_COUNT 
START_MASTER_TRACING 
STOP_MASTER_TRACING 
START_SLAVE_TRACING 
STOP_SLAVE_TRACING 
SET_SERVER_LIMIT 
STOP_SERVER 
START_SERVER 
GET_SERVER_LIST 
KILL_MASTER_SERVER 
KILL_SLAVE_SERVER 
START_SHUTDOWN 
CANCEL_SHUTDOWN 
GET_SHUTDOWN_TIME 
KILL_SERVER_IMMEDIATE 
GET_REPL_LIST 
GET_ALL_LIST 
GET_REPL_COUNT 
GET_ALL_COUNT 
KILL_REPL_SERVER 
GET_SERVER_HA_MODE 
GET_HA_NODE_LIST 
GET_HA_NODE_LIST_VERBOSE 
GET_HA_PROCESS_LIST 
GET_HA_PROCESS_LIST_VERBOSE 
DEREGISTER_HA_PROCESS_BY_PID 
RECONFIG_HEARTBEAT 
DEACTIVATE_HEARTBEAT 
ACTIVATE_HEARTBEAT 
KILL_ALL_HA_PROCESS 
IS_REGISTERED_HA_PROC 
DEREGISTER_HA_PROCESS_BY_ARGS 
GET_HA_PING_HOST_INFO 
DEACT_STOP_ALL 
DEACT_CONFIRM_STOP_ALL 
DEACT_CONFIRM_NO_SERVER 
GET_HA_ADMIN_INFO 
GET_SERVER_STATE 
START_HA_UTIL_PROCESS 

Definition at line 91 of file connection_defs.h.

Enumerator
NULL_REQUEST 
INFO_REQUEST 
DATA_REQUEST 
SERVER_REQUEST 
UNUSED_REQUEST 
SERVER_REQUEST_NEW 
MAX_REQUEST 

Definition at line 64 of file connection_defs.h.

Enumerator
CONN_OPEN 
CONN_CLOSED 
CONN_CLOSING 

Definition at line 161 of file connection_defs.h.

Enumerator
NO_ERRORS 
CONNECTION_CLOSED 
REQUEST_REFUSED 
ERROR_ON_READ 
ERROR_ON_WRITE 
RECORD_TRUNCATED 
ERROR_WHEN_READING_SIZE 
READ_LENGTH_MISMATCH 
ERROR_ON_COMMAND_READ 
NO_DATA_AVAILABLE 
WRONG_PACKET_TYPE 
SERVER_WAS_NOT_FOUND 
SERVER_ABORTED 
INTERRUPTED_READ 
CANT_ALLOC_BUFFER 
OS_ERROR 
TIMEDOUT_ON_QUEUE 
INTERNAL_CSS_ERROR 

Definition at line 211 of file connection_defs.h.

Enumerator
SERVER_ALREADY_EXISTS 
SERVER_REQUEST_ACCEPTED 
DRIVER_NOT_FOUND 
SERVER_REQUEST_ACCEPTED_NEW 

Definition at line 79 of file connection_defs.h.

Enumerator
COMMAND_TYPE 
DATA_TYPE 
ABORT_TYPE 
CLOSE_TYPE 
ERROR_TYPE 

Definition at line 181 of file connection_defs.h.

Enumerator
SERVER_START_TRACING 
SERVER_STOP_TRACING 
SERVER_HALT_EXECUTION 
SERVER_RESUME_EXECUTION 
SERVER_START_NEW_CLIENT 
SERVER_START_SHUTDOWN 
SERVER_STOP_SHUTDOWN 
SERVER_SHUTDOWN_IMMEDIATE 
SERVER_GET_HA_MODE 
SERVER_REGISTER_HA_PROCESS 
SERVER_CHANGE_HA_MODE 
SERVER_DEREGISTER_HA_PROCESS 
SERVER_GET_EOF 

Definition at line 139 of file connection_defs.h.

enum css_status
Enumerator
SERVER_CONNECTED 
SERVER_NOT_FOUND 
SERVER_STARTED 
SERVER_IS_RECOVERING 
SERVER_HAS_SHUT_DOWN 
ERROR_MESSAGE_FROM_MASTER 
SERVER_CONNECTED_NEW 
SERVER_CLIENTS_EXCEEDED 
SERVER_INACCESSIBLE_IP 
SERVER_HANG 

Definition at line 194 of file connection_defs.h.

Enumerator
CSS_NO_ERRORS 
CSS_UNPLANNED_SHUTDOWN 
CSS_PLANNED_SHUTDOWN 

Definition at line 237 of file connection_defs.h.

Enumerator
HA_LOG_APPLIER_STATE_NA 
HA_LOG_APPLIER_STATE_UNREGISTERED 
HA_LOG_APPLIER_STATE_RECOVERING 
HA_LOG_APPLIER_STATE_WORKING 
HA_LOG_APPLIER_STATE_DONE 
HA_LOG_APPLIER_STATE_ERROR 

Definition at line 308 of file connection_defs.h.

enum ha_mode
Enumerator
HA_MODE_OFF 
HA_MODE_FAIL_OVER 
HA_MODE_FAIL_BACK 
HA_MODE_LAZY_BACK 
HA_MODE_ROLE_CHANGE 
HA_MODE_REPLICA 

Definition at line 264 of file connection_defs.h.

Enumerator
HA_SERVER_MODE_ACTIVE 
HA_SERVER_MODE_STANDBY 
HA_SERVER_MODE_BACKUP 
HA_SERVER_MODE_PRIMARY 
HA_SERVER_MODE_SECONDARY 
HA_SERVER_MODE_TERNARY 

Definition at line 288 of file connection_defs.h.