CUBRID Engine  latest
broker_util.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 
20 /*
21  * broker_util.h -
22  */
23 
24 #ifndef _BROKER_UTIL_H_
25 #define _BROKER_UTIL_H_
26 
27 #ident "$Id$"
28 
29 #include <time.h>
30 
31 #include "cas_common.h"
32 #include "porting.h"
33 
34 #if !defined(PROXY_INVALID_ID)
35 #define PROXY_INVALID_ID (-1)
36 #endif
37 #if !defined(PROXY_INVALID_SHARD)
38 #define PROXY_INVALID_SHARD (PROXY_INVALID_ID)
39 #endif
40 #if !defined(PROXY_INVALID_CAS)
41 #define PROXY_INVALID_CAS (PROXY_INVALID_ID)
42 #endif
43 
44 #define SHARD_INVALID_ID (PROXY_INVALID_SHARD)
45 #define CAS_INVALID_ID (PROXY_INVALID_CAS)
46 
47 #define SERVICE_READY_WAIT_COUNT 6000
48 
49 #define MAKE_FILEPATH(dest,src,dest_len) \
50  do { \
51  char _buf[BROKER_PATH_MAX]; \
52  if ((src) == NULL || (src)[0] == 0) { \
53  (dest)[0] = 0; \
54  } else if (realpath ((src), _buf) != NULL) { \
55  strncpy ((dest), _buf, (dest_len)); \
56  (dest)[(dest_len) - 1] = 0; \
57  } else { \
58  strncpy ((dest), (src), (dest_len)); \
59  (dest)[(dest_len) - 1] = 0; \
60  } \
61  } while (0)
62 
63 #if defined (ENABLE_UNUSED_FUNCTION)
64 extern int ut_file_lock (char *lock_file);
65 extern void ut_file_unlock (char *);
66 extern int ut_access_log (int as_index, struct timeval *start_time, char err_flag, int e_offset);
67 #endif
68 extern int ut_kill_process (int pid);
69 extern int ut_kill_broker_process (int pid, char *br_name);
70 extern int ut_kill_proxy_process (int pid, char *br_name, int proxy_id);
71 extern int ut_kill_as_process (int pid, char *br_name, int as_id, int shard_flag);
72 
73 extern void ut_cd_work_dir (void);
74 extern void ut_cd_root_dir (void);
75 
76 extern int ut_set_keepalive (int sock);
77 
78 #if defined(WINDOWS)
79 extern int run_child (const char *appl_name);
80 #endif
81 
82 extern void as_pid_file_create (char *br_name, int as_index);
83 extern void as_db_err_log_set (char *br_name, int proxy_index, int shard_id, int shard_cas_id, int as_index,
84  int shard_flag);
85 
86 extern void ut_get_as_pid_name (char *pid_name, char *br_name, int as_index, int len);
87 
88 extern int ut_time_string (char *buf, struct timeval *log_time);
89 extern char *ut_get_ipv4_string (char *ip_str, int len, const unsigned char *ip_addr);
90 extern float ut_get_avg_from_array (int array[], int size);
91 extern bool ut_is_appl_server_ready (int pid, char *ready_flag);
92 extern void ut_get_broker_port_name (char *port_name, char *broker_name, int len);
93 extern void ut_get_proxy_port_name (char *port_name, char *broker_name, int proxy_id, int len);
94 extern void ut_get_as_port_name (char *port_name, char *broker_name, int as_id, int len);
95 
96 extern double ut_size_string_to_kbyte (const char *size_str, const char *default_unit);
97 extern double ut_time_string_to_sec (const char *time_str, const char *default_unit);
98 
99 #endif /* _BROKER_UTIL_H_ */
char * ut_get_ipv4_string(char *ip_str, int len, const unsigned char *ip_addr)
Definition: broker_util.c:474
int ut_kill_broker_process(int pid, char *br_name)
Definition: broker_util.c:224
char broker_name[BROKER_NAME_LEN]
Definition: cas.c:148
int ut_set_keepalive(int sock)
Definition: broker_util.c:289
void ut_get_broker_port_name(char *port_name, char *broker_name, int len)
Definition: broker_util.c:542
double ut_size_string_to_kbyte(const char *size_str, const char *default_unit)
Definition: broker_util.c:584
void ut_get_proxy_port_name(char *port_name, char *broker_name, int proxy_id, int len)
Definition: broker_util.c:556
bool ut_is_appl_server_ready(int pid, char *ready_flag)
Definition: broker_util.c:498
void ut_cd_root_dir(void)
Definition: broker_util.c:343
void ut_get_as_port_name(char *port_name, char *broker_name, int as_id, int len)
Definition: broker_util.c:570
void ut_cd_work_dir(void)
Definition: broker_util.c:335
int ut_time_string(char *buf, struct timeval *log_time)
Definition: broker_util.c:421
void ut_get_as_pid_name(char *pid_name, char *br_name, int as_index, int len)
Definition: broker_util.c:702
int proxy_id
Definition: shard_proxy.c:45
float ut_get_avg_from_array(int array[], int size)
Definition: broker_util.c:486
pid_t pid
Definition: dynamic_load.c:955
void as_pid_file_create(char *br_name, int as_index)
Definition: broker_util.c:385
double ut_time_string_to_sec(const char *time_str, const char *default_unit)
Definition: broker_util.c:643
int ut_kill_proxy_process(int pid, char *br_name, int proxy_id)
Definition: broker_util.c:242
static struct timeval start_time
int ut_kill_process(int pid)
Definition: broker_util.c:195
void as_db_err_log_set(char *br_name, int proxy_index, int shard_id, int shard_cas_id, int as_index, int shard_flag)
Definition: broker_util.c:401
int ut_kill_as_process(int pid, char *br_name, int as_id, int shard_flag)
Definition: broker_util.c:260