Skip to content

File master.c

FileList > cubrid > src > executables > master.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • #include <errno.h>
  • #include <time.h>
  • #include <sys/types.h>
  • #include <sys/wait.h>
  • #include <sys/time.h>
  • #include <netdb.h>
  • #include <sys/param.h>
  • #include <sys/resource.h>
  • #include <netinet/in.h>
  • #include <unistd.h>
  • #include <fcntl.h>
  • #include <syslog.h>
  • #include <pthread.h>
  • #include "utility.h"
  • #include "porting.h"
  • #include "error_manager.h"
  • #include "connection_globals.h"
  • #include "client_support.h"
  • #include "system_parameter.h"
  • #include "tcp.h"
  • #include "master_util.h"
  • #include "master_request.h"
  • #include "master_heartbeat.h"
  • #include "environment_variable.h"
  • #include "message_catalog.h"
  • #include "dbi.h"
  • #include "util_func.h"
  • #include "master_server_monitor.hpp"

Public Attributes

Type Name
pthread_mutex_t css_Master_er_log_enable_lock = [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout)
bool css_Master_er_log_enabled = [**true**](broker__monitor_8c.md#function-timeout)
pthread_mutex_t css_Master_er_log_lock = [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout)
SOCKET_QUEUE_ENTRY * css_Master_socket_anchor = [**NULL**](freelistheap_8h.md#define-null)
pthread_mutex_t css_Master_socket_anchor_lock
SOCKET css_Master_socket_fd = { [**INVALID\_SOCKET**](porting_8h.md#define-invalid_socket), [**INVALID\_SOCKET**](porting_8h.md#define-invalid_socket) }
struct timeval * css_Master_timeout = [**NULL**](freelistheap_8h.md#define-null)
int css_Master_timeout_value_in_microseconds = 500
int css_Master_timeout_value_in_seconds = 4
time_t css_Start_time
int css_Total_request_count = 0

Public Functions

Type Name
SOCKET_QUEUE_ENTRY * css_add_request_to_socket_queue (CSS_CONN_ENTRY * conn_p, int info_p, char * name_p, SOCKET fd, int fd_type, int pid, SOCKET_QUEUE_ENTRY ** anchor_p)
void css_master_cleanup (int sig)
void css_remove_entry_by_conn (CSS_CONN_ENTRY * conn_p, SOCKET_QUEUE_ENTRY ** anchor_p)
SOCKET_QUEUE_ENTRY * css_return_entry_by_conn (CSS_CONN_ENTRY * conn_p, SOCKET_QUEUE_ENTRY ** anchor_p)
SOCKET_QUEUE_ENTRY * css_return_entry_of_server (char * name_p, SOCKET_QUEUE_ENTRY * anchor_p)
int main (int argc, char ** argv)

Public Static Functions

Type Name
void crash_handler (int sig)
void css_accept_new_request (CSS_CONN_ENTRY * conn, unsigned short rid, char * buffer, int buffer_length, bool is_client)
void css_accept_old_request (CSS_CONN_ENTRY * conn, unsigned short rid, SOCKET_QUEUE_ENTRY * entry, char * server_name, int server_name_length)
void css_accept_server_request (CSS_CONN_ENTRY * conn, int reason)
int css_check_master_socket_exception (fd_set * fd_var)
void css_check_master_socket_input (int * count, fd_set * fd_var)
void css_check_master_socket_output (void)
void css_daemon_start (void)
int css_enroll_exception_sockets (SOCKET_QUEUE_ENTRY * anchor_p, fd_set * fd_var)
int css_enroll_master_exception_sockets (fd_set * fd_var)
int css_enroll_master_read_sockets (fd_set * fd_var)
int css_enroll_master_write_sockets (fd_set * fd_var)
int css_enroll_read_sockets (SOCKET_QUEUE_ENTRY * anchor_p, fd_set * fd_var)
int css_enroll_write_sockets (SOCKET_QUEUE_ENTRY * anchor_p, fd_set * fd_var)
void css_free_entry (SOCKET_QUEUE_ENTRY * entry_p)
void css_master_error (const char * error_string)
int css_master_init (int cport, SOCKET * clientfd)
void css_master_loop (void)
void css_master_select_error (void)
int css_master_timeout (void)
void css_process_new_connection (SOCKET fd)
void css_register_new_server (CSS_CONN_ENTRY * conn, unsigned short rid, bool is_client)
void css_register_new_server2 (CSS_CONN_ENTRY * conn, unsigned short rid)
void css_reject_client_request (CSS_CONN_ENTRY * conn, unsigned short rid, int reason)
void css_reject_server_request (CSS_CONN_ENTRY * conn, int reason)
bool css_send_new_request_to_server (SOCKET server_fd, SOCKET client_fd, unsigned short rid, CSS_SERVER_REQUEST request)
void css_send_to_existing_server (CSS_CONN_ENTRY * conn, unsigned short rid, CSS_SERVER_REQUEST request)

Public Attributes Documentation

variable css_Master_er_log_enable_lock

pthread_mutex_t css_Master_er_log_enable_lock;

variable css_Master_er_log_enabled

bool css_Master_er_log_enabled;

variable css_Master_er_log_lock

pthread_mutex_t css_Master_er_log_lock;

variable css_Master_socket_anchor

SOCKET_QUEUE_ENTRY* css_Master_socket_anchor;

variable css_Master_socket_anchor_lock

pthread_mutex_t css_Master_socket_anchor_lock;

variable css_Master_socket_fd

SOCKET css_Master_socket_fd[2];

variable css_Master_timeout

struct timeval* css_Master_timeout;

variable css_Master_timeout_value_in_microseconds

int css_Master_timeout_value_in_microseconds;

variable css_Master_timeout_value_in_seconds

int css_Master_timeout_value_in_seconds;

variable css_Start_time

time_t css_Start_time;

variable css_Total_request_count

int css_Total_request_count;

Public Functions Documentation

function css_add_request_to_socket_queue

SOCKET_QUEUE_ENTRY * css_add_request_to_socket_queue (
    CSS_CONN_ENTRY * conn_p,
    int info_p,
    char * name_p,
    SOCKET fd,
    int fd_type,
    int pid,
    SOCKET_QUEUE_ENTRY ** anchor_p
) 

function css_master_cleanup

void css_master_cleanup (
    int sig
) 

function css_remove_entry_by_conn

void css_remove_entry_by_conn (
    CSS_CONN_ENTRY * conn_p,
    SOCKET_QUEUE_ENTRY ** anchor_p
) 

function css_return_entry_by_conn

SOCKET_QUEUE_ENTRY * css_return_entry_by_conn (
    CSS_CONN_ENTRY * conn_p,
    SOCKET_QUEUE_ENTRY ** anchor_p
) 

function css_return_entry_of_server

SOCKET_QUEUE_ENTRY * css_return_entry_of_server (
    char * name_p,
    SOCKET_QUEUE_ENTRY * anchor_p
) 

function main

int main (
    int argc,
    char ** argv
) 

Public Static Functions Documentation

function crash_handler

static void crash_handler (
    int sig
) 

function css_accept_new_request

static void css_accept_new_request (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid,
    char * buffer,
    int buffer_length,
    bool is_client
) 

function css_accept_old_request

static void css_accept_old_request (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid,
    SOCKET_QUEUE_ENTRY * entry,
    char * server_name,
    int server_name_length
) 

function css_accept_server_request

static void css_accept_server_request (
    CSS_CONN_ENTRY * conn,
    int reason
) 

function css_check_master_socket_exception

static int css_check_master_socket_exception (
    fd_set * fd_var
) 

function css_check_master_socket_input

static void css_check_master_socket_input (
    int * count,
    fd_set * fd_var
) 

function css_check_master_socket_output

static void css_check_master_socket_output (
    void
) 

function css_daemon_start

static void css_daemon_start (
    void
) 

function css_enroll_exception_sockets

static int css_enroll_exception_sockets (
    SOCKET_QUEUE_ENTRY * anchor_p,
    fd_set * fd_var
) 

function css_enroll_master_exception_sockets

static int css_enroll_master_exception_sockets (
    fd_set * fd_var
) 

function css_enroll_master_read_sockets

static int css_enroll_master_read_sockets (
    fd_set * fd_var
) 

function css_enroll_master_write_sockets

static int css_enroll_master_write_sockets (
    fd_set * fd_var
) 

function css_enroll_read_sockets

static int css_enroll_read_sockets (
    SOCKET_QUEUE_ENTRY * anchor_p,
    fd_set * fd_var
) 

function css_enroll_write_sockets

static int css_enroll_write_sockets (
    SOCKET_QUEUE_ENTRY * anchor_p,
    fd_set * fd_var
) 

function css_free_entry

static void css_free_entry (
    SOCKET_QUEUE_ENTRY * entry_p
) 

function css_master_error

static void css_master_error (
    const  char * error_string
) 

function css_master_init

static int css_master_init (
    int cport,
    SOCKET * clientfd
) 

function css_master_loop

static void css_master_loop (
    void
) 

function css_master_select_error

static void css_master_select_error (
    void
) 

function css_master_timeout

static int css_master_timeout (
    void
) 

function css_process_new_connection

static void css_process_new_connection (
    SOCKET fd
) 

function css_register_new_server

static void css_register_new_server (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid,
    bool is_client
) 

function css_register_new_server2

static void css_register_new_server2 (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid
) 

function css_reject_client_request

static void css_reject_client_request (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid,
    int reason
) 

function css_reject_server_request

static void css_reject_server_request (
    CSS_CONN_ENTRY * conn,
    int reason
) 

function css_send_new_request_to_server

static bool css_send_new_request_to_server (
    SOCKET server_fd,
    SOCKET client_fd,
    unsigned  short rid,
    CSS_SERVER_REQUEST request
) 

function css_send_to_existing_server

static void css_send_to_existing_server (
    CSS_CONN_ENTRY * conn,
    unsigned  short rid,
    CSS_SERVER_REQUEST request
) 


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