Skip to content

File broker_shm.h

FileList > broker > broker_shm.h

Go to the source code of this file

  • #include <sys/types.h>
  • #include <semaphore.h>
  • #include "porting.h"
  • #include "broker_env_def.h"
  • #include "broker_config.h"
  • #include "broker_max_heap.h"
  • #include "cas_protocol.h"

Classes

Type Name
struct access_list
struct ip_info
struct t_appl_server_info
struct t_client_info
struct t_db_server
struct t_proxy_info
struct t_shard_conn
struct t_shard_conn_info
struct t_shard_info
struct t_shard_key
struct t_shard_key_range
struct t_shard_user
struct t_shm_appl_server
struct t_shm_broker
struct t_shm_proxy
struct t_shm_shard_conn
struct t_shm_shard_conn_stat
struct t_shm_shard_key
struct t_shm_shard_key_range_stat
struct t_shm_shard_key_stat
struct t_shm_shard_user

Public Types

Type Name
typedef struct access_list ACCESS_INFO
typedef struct ip_info IP_INFO
typedef struct t_appl_server_info T_APPL_SERVER_INFO
enum T_BROKER_SERVICE_STATUS
typedef struct t_client_info T_CLIENT_INFO
typedef enum t_con_status T_CON_STATUS
typedef struct t_db_server T_DB_SERVER
typedef struct t_proxy_info T_PROXY_INFO
typedef struct t_shard_conn T_SHARD_CONN
typedef struct t_shard_conn_info T_SHARD_CONN_INFO
typedef struct t_shard_info T_SHARD_INFO
typedef struct t_shard_key T_SHARD_KEY
typedef struct t_shard_key_range T_SHARD_KEY_RANGE
typedef struct t_shard_user T_SHARD_USER
typedef struct t_shm_appl_server T_SHM_APPL_SERVER
typedef struct t_shm_broker T_SHM_BROKER
typedef enum t_shm_mode T_SHM_MODE
typedef struct t_shm_proxy T_SHM_PROXY
typedef struct t_shm_shard_conn T_SHM_SHARD_CONN
typedef struct t_shm_shard_conn_stat T_SHM_SHARD_CONN_STAT
typedef struct t_shm_shard_key T_SHM_SHARD_KEY
typedef struct t_shm_shard_key_range_stat T_SHM_SHARD_KEY_RANGE_STAT
typedef struct t_shm_shard_key_stat T_SHM_SHARD_KEY_STAT
typedef struct t_shm_shard_user T_SHM_SHARD_USER
enum t_con_status
enum t_shm_mode

Public Functions

Type Name
T_SHM_APPL_SERVER * broker_shm_initialize_shm_as (T_BROKER_INFO * br_info_p, T_SHM_PROXY * shm_proxy_p)
T_SHM_BROKER * broker_shm_initialize_shm_broker (int master_shm_id, T_BROKER_INFO * br_info, int br_num, int acl_flag, char * acl_file, int acl_default_policy, char * admin_log_file)
int uw_sem_destroy (sem_t * sem_t)
int uw_sem_init (sem_t * sem_t)
int uw_sem_post (sem_t * sem_t)
int uw_sem_wait (sem_t * sem_t)
void * uw_shm_create (int shm_key, int size, int which_shm)
int uw_shm_destroy (int shm_key)
void uw_shm_detach (void * p)
void * uw_shm_open (int shm_key, int which_shm, T_SHM_MODE shm_mode)

Macros

Type Name
define ACL_MAX_DBNAME_LENGTH ([**SRV\_CON\_DBNAME\_SIZE**](broker__admin__so_8h.md#define-srv_con_dbname_size))
define ACL_MAX_DBUSER_LENGTH ([**SRV\_CON\_DBUSER\_SIZE**](cas__protocol_8h.md#define-srv_con_dbuser_size))
define ACL_MAX_IP_COUNT 256
define ACL_MAX_ITEM_COUNT 50
define APPL_NAME_LENGTH 128
define APPL_SERVER_NAME_MAX_SIZE 32
define APPL_SERVER_NUM_LIMIT 4096
define CAS_LOG_RESET_REMOVE 0x02
define CAS_LOG_RESET_REOPEN 0x01
define CON_STATUS_LOCK (AS_INFO, LOCK_OWNER) [**uw\_sem\_wait**](broker__shm_8c.md#function-uw_sem_wait) (&([**AS\_INFO**](broker__monitor_8c.md#function-timeout))-&gt;con\_status\_sem);
define CON_STATUS_LOCK_BROKER 0
define CON_STATUS_LOCK_CAS 1
define CON_STATUS_LOCK_DESTROY (AS_INFO) [**uw\_sem\_destroy**](broker__shm_8c.md#function-uw_sem_destroy) (&(([**AS\_INFO**](broker__monitor_8c.md#function-timeout))-&gt;con\_status\_sem));
define CON_STATUS_LOCK_INIT (AS_INFO) [**uw\_sem\_init**](broker__shm_8c.md#function-uw_sem_init) (&(([**AS\_INFO**](broker__monitor_8c.md#function-timeout))-&gt;con\_status\_sem));
define CON_STATUS_UNLOCK (AS_INFO, LOCK_OWNER) [**uw\_sem\_post**](broker__shm_8c.md#function-uw_sem_post) (&([**AS\_INFO**](broker__monitor_8c.md#function-timeout))-&gt;con\_status\_sem);
define DEFAULT_SHM_KEY 0x3f5d1c0a
define IP_BYTE_COUNT 5
define JOB_QUEUE_MAX_SIZE 4096
define LONG_QUERY_TIME_LIMIT ([**MAX\_QUERY\_TIMEOUT\_LIMIT**](broker__shm_8h.md#define-max_query_timeout_limit))
define LONG_TRANSACTION_TIME_LIMIT ([**MAX\_QUERY\_TIMEOUT\_LIMIT**](broker__shm_8h.md#define-max_query_timeout_limit))
define MAGIC_NUMBER ([**MAJOR\_VERSION**](broker__monitor_8c.md#function-timeout) \* 1000000 + [**MINOR\_VERSION**](broker__monitor_8c.md#function-timeout) \* 10000 + [**SEQ\_NUMBER**](broker__shm_8h.md#define-seq_number))
define MAX_CONN_INFO_LENGTH (([**CUB\_MAXHOSTNAMELEN**](porting_8h.md#define-cub_maxhostnamelen) + 1) \* 2) /\* [**host1:host2**](broker__monitor_8c.md#function-timeout) \*/
define MAX_CRYPT_STR_LENGTH 32
define MAX_DBNAME_LENGTH (64) /\* [**maximum**](broker__monitor_8c.md#function-timeout) length [**of**](broker__monitor_8c.md#function-timeout) [**mysql**](broker__monitor_8c.md#function-timeout) [**database**](broker__monitor_8c.md#function-timeout) name [**and**](broker__monitor_8c.md#function-timeout) '\0' \*/
define MAX_NUM_UTS_ADMIN 10
define MAX_PROXY_NUM 8
define MAX_PROXY_TIMEOUT_LIMIT ([**MAX\_QUERY\_TIMEOUT\_LIMIT**](broker__shm_8h.md#define-max_query_timeout_limit))
define MAX_QUERY_TIMEOUT_LIMIT 86400 /\* [**seconds**](broker__monitor_8c.md#function-timeout); 1 day \*/
define MAX_SHARD_CONN (256)
define MAX_SHARD_KEY (2)
define MAX_SHARD_USER (4)
define MIN_MYSQL_KEEPALIVE_INTERVAL 60 /\* 60s \*/
define PAIR_LIST (2)
define PROXY_LOG_RESET_REOPEN 0x01
define PROXY_RESERVED_FD (128)
define PROXY_STATUS_BUSY 1
define PROXY_STATUS_RESTART 2
define PROXY_STATUS_START 3
define SEQ_NUMBER 1
define SHARD_KEY_COLUMN_LEN (32)
define SHARD_KEY_RANGE_MAX (256)
define SHM_APPL_SERVER 0
define SHM_APPL_SERVER_NAME_MAX ([**SHM\_BROKER\_PATH\_MAX**](broker__shm_8h.md#define-shm_broker_path_max))
define SHM_BROKER 1
define SHM_BROKER_PATH_MAX ([**PATH\_MAX**](broker__monitor_8c.md#function-timeout))
define SHM_LOG_MSG_SIZE 256
define SHM_MUTEX_ADMIN 1
define SHM_MUTEX_BROKER 0
define SHM_PROXY 2
define SHM_PROXY_NAME_MAX ([**SHM\_BROKER\_PATH\_MAX**](broker__shm_8h.md#define-shm_broker_path_max))
define STATE_KEEP_FALSE 0
define STATE_KEEP_TRUE 1
define UNUSABLE_DATABASE_MAX (200)
define UTS_STATUS_BUSY 1
define UTS_STATUS_CON_WAIT 5
define UTS_STATUS_IDLE 0
define UTS_STATUS_RESTART 2
define UTS_STATUS_START 3
define UTS_STATUS_STOP 6

Public Types Documentation

typedef ACCESS_INFO

typedef struct access_list ACCESS_INFO;

typedef IP_INFO

typedef struct ip_info IP_INFO;

typedef T_APPL_SERVER_INFO

typedef struct t_appl_server_info T_APPL_SERVER_INFO;

enum T_BROKER_SERVICE_STATUS

enum T_BROKER_SERVICE_STATUS {
    SERVICE_OFF = 0,
    SERVICE_ON = 1,
    SERVICE_OFF_ACK = 2,
    SERVICE_UNKNOWN = 3
};

typedef T_CLIENT_INFO

typedef struct t_client_info T_CLIENT_INFO;

typedef T_CON_STATUS

typedef enum t_con_status T_CON_STATUS;

typedef T_DB_SERVER

typedef struct t_db_server T_DB_SERVER;

typedef T_PROXY_INFO

typedef struct t_proxy_info T_PROXY_INFO;

typedef T_SHARD_CONN

typedef struct t_shard_conn T_SHARD_CONN;

typedef T_SHARD_CONN_INFO

typedef struct t_shard_conn_info T_SHARD_CONN_INFO;

typedef T_SHARD_INFO

typedef struct t_shard_info T_SHARD_INFO;

typedef T_SHARD_KEY

typedef struct t_shard_key T_SHARD_KEY;

typedef T_SHARD_KEY_RANGE

typedef struct t_shard_key_range T_SHARD_KEY_RANGE;

typedef T_SHARD_USER

typedef struct t_shard_user T_SHARD_USER;

typedef T_SHM_APPL_SERVER

typedef struct t_shm_appl_server T_SHM_APPL_SERVER;

typedef T_SHM_BROKER

typedef struct t_shm_broker T_SHM_BROKER;

typedef T_SHM_MODE

typedef enum t_shm_mode T_SHM_MODE;

typedef T_SHM_PROXY

typedef struct t_shm_proxy T_SHM_PROXY;

typedef T_SHM_SHARD_CONN

typedef struct t_shm_shard_conn T_SHM_SHARD_CONN;

typedef T_SHM_SHARD_CONN_STAT

typedef struct t_shm_shard_conn_stat T_SHM_SHARD_CONN_STAT;

typedef T_SHM_SHARD_KEY

typedef struct t_shm_shard_key T_SHM_SHARD_KEY;

typedef T_SHM_SHARD_KEY_RANGE_STAT

typedef struct t_shm_shard_key_range_stat T_SHM_SHARD_KEY_RANGE_STAT;

typedef T_SHM_SHARD_KEY_STAT

typedef struct t_shm_shard_key_stat T_SHM_SHARD_KEY_STAT;

typedef T_SHM_SHARD_USER

typedef struct t_shm_shard_user T_SHM_SHARD_USER;

enum t_con_status

enum t_con_status {
    CON_STATUS_OUT_TRAN = 0,
    CON_STATUS_IN_TRAN = 1,
    CON_STATUS_CLOSE = 2,
    CON_STATUS_CLOSE_AND_CONNECT = 3
};

enum t_shm_mode

enum t_shm_mode {
    SHM_MODE_ADMIN = 0,
    SHM_MODE_MONITOR = 1
};

Public Functions Documentation

function broker_shm_initialize_shm_as

T_SHM_APPL_SERVER * broker_shm_initialize_shm_as (
    T_BROKER_INFO * br_info_p,
    T_SHM_PROXY * shm_proxy_p
) 

function broker_shm_initialize_shm_broker

T_SHM_BROKER * broker_shm_initialize_shm_broker (
    int master_shm_id,
    T_BROKER_INFO * br_info,
    int br_num,
    int acl_flag,
    char * acl_file,
    int acl_default_policy,
    char * admin_log_file
) 

function uw_sem_destroy

int uw_sem_destroy (
    sem_t * sem_t
) 

function uw_sem_init

int uw_sem_init (
    sem_t * sem_t
) 

function uw_sem_post

int uw_sem_post (
    sem_t * sem_t
) 

function uw_sem_wait

int uw_sem_wait (
    sem_t * sem_t
) 

function uw_shm_create

void * uw_shm_create (
    int shm_key,
    int size,
    int which_shm
) 

function uw_shm_destroy

int uw_shm_destroy (
    int shm_key
) 

function uw_shm_detach

void uw_shm_detach (
    void * p
) 

function uw_shm_open

void * uw_shm_open (
    int shm_key,
    int which_shm,
    T_SHM_MODE shm_mode
) 

Macro Definition Documentation

define ACL_MAX_DBNAME_LENGTH

#define ACL_MAX_DBNAME_LENGTH `( SRV_CON_DBNAME_SIZE )`

define ACL_MAX_DBUSER_LENGTH

#define ACL_MAX_DBUSER_LENGTH `( SRV_CON_DBUSER_SIZE )`

define ACL_MAX_IP_COUNT

#define ACL_MAX_IP_COUNT `256`

define ACL_MAX_ITEM_COUNT

#define ACL_MAX_ITEM_COUNT `50`

define APPL_NAME_LENGTH

#define APPL_NAME_LENGTH `128`

define APPL_SERVER_NAME_MAX_SIZE

#define APPL_SERVER_NAME_MAX_SIZE `32`

define APPL_SERVER_NUM_LIMIT

#define APPL_SERVER_NUM_LIMIT `4096`

define CAS_LOG_RESET_REMOVE

#define CAS_LOG_RESET_REMOVE `0x02`

define CAS_LOG_RESET_REOPEN

#define CAS_LOG_RESET_REOPEN `0x01`

define CON_STATUS_LOCK

#define CON_STATUS_LOCK (
    AS_INFO,
    LOCK_OWNER
) `uw_sem_wait (&( AS_INFO )->con_status_sem);`

define CON_STATUS_LOCK_BROKER

#define CON_STATUS_LOCK_BROKER `0`

define CON_STATUS_LOCK_CAS

#define CON_STATUS_LOCK_CAS `1`

define CON_STATUS_LOCK_DESTROY

#define CON_STATUS_LOCK_DESTROY (
    AS_INFO
) `uw_sem_destroy (&(( AS_INFO )->con_status_sem));`

define CON_STATUS_LOCK_INIT

#define CON_STATUS_LOCK_INIT (
    AS_INFO
) `uw_sem_init (&(( AS_INFO )->con_status_sem));`

define CON_STATUS_UNLOCK

#define CON_STATUS_UNLOCK (
    AS_INFO,
    LOCK_OWNER
) `uw_sem_post (&( AS_INFO )->con_status_sem);`

define DEFAULT_SHM_KEY

#define DEFAULT_SHM_KEY `0x3f5d1c0a`

define IP_BYTE_COUNT

#define IP_BYTE_COUNT `5`

define JOB_QUEUE_MAX_SIZE

#define JOB_QUEUE_MAX_SIZE `4096`

define LONG_QUERY_TIME_LIMIT

#define LONG_QUERY_TIME_LIMIT `( MAX_QUERY_TIMEOUT_LIMIT )`

define LONG_TRANSACTION_TIME_LIMIT

#define LONG_TRANSACTION_TIME_LIMIT `( MAX_QUERY_TIMEOUT_LIMIT )`

define MAGIC_NUMBER

#define MAGIC_NUMBER `( MAJOR_VERSION * 1000000 + MINOR_VERSION * 10000 + SEQ_NUMBER )`

define MAX_CONN_INFO_LENGTH

#define MAX_CONN_INFO_LENGTH `(( CUB_MAXHOSTNAMELEN + 1) * 2)   /* host1:host2 */`

define MAX_CRYPT_STR_LENGTH

#define MAX_CRYPT_STR_LENGTH `32`

define MAX_DBNAME_LENGTH

#define MAX_DBNAME_LENGTH `(64) /* maximum length of  mysql  database name and '\0' */`

define MAX_NUM_UTS_ADMIN

#define MAX_NUM_UTS_ADMIN `10`

define MAX_PROXY_NUM

#define MAX_PROXY_NUM `8`

define MAX_PROXY_TIMEOUT_LIMIT

#define MAX_PROXY_TIMEOUT_LIMIT `( MAX_QUERY_TIMEOUT_LIMIT )`

define MAX_QUERY_TIMEOUT_LIMIT

#define MAX_QUERY_TIMEOUT_LIMIT `86400  /* seconds ; 1 day */`

define MAX_SHARD_CONN

#define MAX_SHARD_CONN `(256)`

define MAX_SHARD_KEY

#define MAX_SHARD_KEY `(2)`

define MAX_SHARD_USER

#define MAX_SHARD_USER `(4)`

define MIN_MYSQL_KEEPALIVE_INTERVAL

#define MIN_MYSQL_KEEPALIVE_INTERVAL `60    /* 60s */`

define PAIR_LIST

#define PAIR_LIST `(2)`

define PROXY_LOG_RESET_REOPEN

#define PROXY_LOG_RESET_REOPEN `0x01`

define PROXY_RESERVED_FD

#define PROXY_RESERVED_FD `(128)`

define PROXY_STATUS_BUSY

#define PROXY_STATUS_BUSY `1`

define PROXY_STATUS_RESTART

#define PROXY_STATUS_RESTART `2`

define PROXY_STATUS_START

#define PROXY_STATUS_START `3`

define SEQ_NUMBER

#define SEQ_NUMBER `1`

define SHARD_KEY_COLUMN_LEN

#define SHARD_KEY_COLUMN_LEN `(32)`

define SHARD_KEY_RANGE_MAX

#define SHARD_KEY_RANGE_MAX `(256)`

define SHM_APPL_SERVER

#define SHM_APPL_SERVER `0`

define SHM_APPL_SERVER_NAME_MAX

#define SHM_APPL_SERVER_NAME_MAX `( SHM_BROKER_PATH_MAX )`

define SHM_BROKER

#define SHM_BROKER `1`

define SHM_BROKER_PATH_MAX

#define SHM_BROKER_PATH_MAX `( PATH_MAX )`

define SHM_LOG_MSG_SIZE

#define SHM_LOG_MSG_SIZE `256`

define SHM_MUTEX_ADMIN

#define SHM_MUTEX_ADMIN `1`

define SHM_MUTEX_BROKER

#define SHM_MUTEX_BROKER `0`

define SHM_PROXY

#define SHM_PROXY `2`

define SHM_PROXY_NAME_MAX

#define SHM_PROXY_NAME_MAX `( SHM_BROKER_PATH_MAX )`

define STATE_KEEP_FALSE

#define STATE_KEEP_FALSE `0`

define STATE_KEEP_TRUE

#define STATE_KEEP_TRUE `1`

define UNUSABLE_DATABASE_MAX

#define UNUSABLE_DATABASE_MAX `(200)`

define UTS_STATUS_BUSY

#define UTS_STATUS_BUSY `1`

define UTS_STATUS_CON_WAIT

#define UTS_STATUS_CON_WAIT `5`

define UTS_STATUS_IDLE

#define UTS_STATUS_IDLE `0`

define UTS_STATUS_RESTART

#define UTS_STATUS_RESTART `2`

define UTS_STATUS_START

#define UTS_STATUS_START `3`

define UTS_STATUS_STOP

#define UTS_STATUS_STOP `6`


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