34 #include <sys/resource.h> 68 #define COMPARE_SIZE_AND_BUFFER(replysize, size, replybuf, buf) \ 69 compare_size_and_buffer((replysize), (size), (replybuf), (buf), \ 72 #define COMPARE_AND_FREE_BUFFER(queued, reply) \ 74 if (((reply) != NULL) && ((reply) != (queued))) { \ 75 free_and_init ((reply)); \ 102 unsigned short method_request_id;
120 char *databuf,
int datasize,
char *replydata,
int replydatasize);
167 switch (server_error)
232 int capabilities = 0;
283 const char *server_host,
int opt_cap)
290 client_cap |= opt_cap;
349 if (rel_compare > 0 && ((server_cap & NET_CAP_FORWARD_COMPATIBLE) || (client_cap & NET_CAP_BACKWARD_COMPATIBLE)))
400 for (i = 0; i < num_packets; i++)
436 if (size != *replysize)
443 if (buf != *replybuf)
555 "NET_SERVER_LOG_SET_SUPPRESS_REPL_ON_TRANSACTION";
672 perfmon_reset_stats ();
700 float server_time, total_server_time = 0;
701 float avg_response_time, avg_client_time;
709 fprintf (stream,
"\nHistogram of client requests:\n");
710 fprintf (stream,
"%-31s %6s %10s %10s , %10s \n",
"Name",
"Rcount",
"Sent size",
"Recv size",
"Server time");
728 fprintf (stream,
" No server requests made\n");
732 fprintf (stream,
"-------------------------------------------------------------" "--------------\n");
733 fprintf (stream,
"Totals: %6d X %10d+%10d b " "%10.6f s\n", total_requests,
735 avg_response_time = total_server_time / total_requests;
736 avg_client_time = 0.0;
738 "\n Average server response time = %6.6f secs \n" 739 " Average time between client requests = %6.6f secs \n", avg_response_time, avg_client_time);
743 err = perfmon_print_stats (stream);
762 err = perfmon_print_global_stats (stream, cumulative, substr);
786 if (perfmon_start_stats (for_all_trans) !=
NO_ERROR)
810 err = perfmon_stop_stats ();
835 #if !defined(WINDOWS) 846 #if !defined(WINDOWS) 847 if (gettimeofday (&tp,
NULL) == 0)
868 #if !defined(WINDOWS) 875 #if !defined(WINDOWS) 876 if (gettimeofday (&tp,
NULL) == 0)
878 current_time = tp.tv_sec * 1000000LL + tp.tv_usec;
962 int datasize,
char *replydata,
int replydatasize)
995 if (replydata !=
NULL)
1010 if (replydata !=
NULL)
1053 net_client_request (
int request,
char *argbuf,
int argsize,
char *replybuf,
int replysize,
char *databuf,
int datasize,
1054 char *replydata,
int replydatasize)
1060 #if defined(ENABLE_UNUSED_FUNCTION) 1081 net_client_request_send_large_data (
int request,
char *argbuf,
int argsize,
char *replybuf,
int replysize,
1082 char *databuf, INT64 datasize,
char *replydata,
int replydatasize)
1106 rc = css_send_req_to_server_with_large_data (
net_Server_host, request, argbuf, argsize, databuf, datasize, replybuf,
1117 if (replydata !=
NULL)
1132 if (replydata !=
NULL)
1173 net_client_request_recv_large_data (
int request,
char *argbuf,
int argsize,
char *replybuf,
int replysize,
1174 char *databuf,
int datasize,
char *replydata, INT64 * replydatasize_ptr)
1179 INT64 reply_datasize;
1181 char *reply =
NULL, *ptr, *packed_desc;
1182 int i, packed_desc_size;
1185 *replydatasize_ptr = 0;
1221 num_data = (int) (reply_datasize / INT_MAX + 1);
1225 for (i = 0; i < num_data; i++)
1227 packed_desc_size = MIN ((
int) reply_datasize, INT_MAX);
1229 packed_desc = (
char *) malloc (packed_desc_size);
1230 if (packed_desc ==
NULL)
1244 memcpy (replydata, reply, size);
1248 *replydatasize_ptr += size;
1249 reply_datasize -= size;
1288 net_client_request2 (
int request,
char *argbuf,
int argsize,
char *replybuf,
int replysize,
char *databuf,
int datasize,
1289 char **replydata_ptr,
int *replydatasize_ptr)
1293 int reply_datasize,
error;
1294 char *reply =
NULL, *replydata;
1297 *replydata_ptr =
NULL;
1298 *replydatasize_ptr = 0;
1337 if ((error ==
NO_ERROR) && (replydata = (
char *) malloc (reply_datasize)) !=
NULL)
1352 *replydata_ptr = reply;
1353 *replydatasize_ptr = size;
1396 int datasize,
char *replydata,
int *replydatasize_ptr)
1400 int reply_datasize,
error;
1404 *replydatasize_ptr = 0;
1441 if (reply_datasize > 0)
1454 *replydatasize_ptr = size;
1491 int datasize2,
char *reply0,
int replysize0,
char *reply1,
int replysize1,
char *reply2,
1497 int p1_size, p2_size,
error;
1517 datasize2,
NULL, 0);
1612 int datasize1,
char *databuf2,
int datasize2,
char **replydata_listid,
1613 int *replydatasize_listid,
char **replydata_page,
int *replydatasize_page,
1614 char **replydata_plan,
int *replydatasize_plan)
1618 int reply_datasize_listid, reply_datasize_page, reply_datasize_plan, remaining_size;
1619 char *reply =
NULL, *replydata, *ptr;
1621 int server_request_num;
1624 *replydata_listid =
NULL;
1625 *replydata_page =
NULL;
1626 if (replydata_plan !=
NULL)
1628 *replydata_plan =
NULL;
1631 *replydatasize_listid = 0;
1632 *replydatasize_page = 0;
1634 if (replydatasize_plan !=
NULL)
1636 *replydatasize_plan = 0;
1654 datasize2, replybuf, replysize);
1678 switch (server_request)
1687 remaining_size = reply_datasize_listid + reply_datasize_page + reply_datasize_plan;
1690 if (0 < remaining_size)
1692 if (0 < reply_datasize_listid)
1694 if ((error ==
NO_ERROR) && (replydata = (
char *) malloc (reply_datasize_listid)) !=
NULL)
1708 *replydata_listid = reply;
1709 *replydatasize_listid = size;
1723 assert (reply_datasize_listid == 0);
1727 remaining_size -= reply_datasize_listid;
1733 if (0 < remaining_size)
1735 if (0 < reply_datasize_page)
1751 *replydata_page = reply;
1752 *replydatasize_page = size;
1766 assert (reply_datasize_page == 0);
1770 remaining_size -= reply_datasize_page;
1774 if (0 < remaining_size)
1776 if (0 < reply_datasize_plan)
1778 if ((error ==
NO_ERROR) && (replydata = (
char *) malloc (reply_datasize_plan + 1)) !=
NULL)
1792 if (replydata_plan !=
NULL)
1794 *replydata_plan = reply;
1797 if (replydatasize_plan !=
NULL)
1799 *replydatasize_plan = size;
1815 assert (0 < reply_datasize_plan);
1818 remaining_size -= reply_datasize_plan;
1821 assert (remaining_size == 0);
1827 int methoddata_size;
1837 methoddata = (
char *) malloc (methoddata_size);
1838 if (methoddata !=
NULL)
1850 #if defined(CS_MODE) 1851 bool need_to_reset =
false;
1852 if (method_request_id == 0)
1855 need_to_reset =
true;
1868 method_call_sig_list);
1885 #if defined(CS_MODE) 1886 if (need_to_reset ==
true)
1888 method_request_id = 0;
1889 need_to_reset =
false;
1925 char *promptdata =
NULL;
1927 char *user_response_ptr = user_response_buffer;
1930 bool response_needed =
false;
1931 bool retry_in =
true;
1934 char *display_string;
1935 char *prompt =
NULL;
1936 char *failure_prompt =
NULL;
1937 char *secondary_prompt =
NULL;
1938 int range_lower, range_higher;
1951 if (promptdata !=
NULL)
1976 display_string = prompt;
1978 memset (user_response_buffer, 0,
sizeof (user_response_buffer));
1980 while (error ==
NO_ERROR && retry_in)
1983 fprintf (stdout, display_string);
1990 error2 = scanf (
"%2000s", user_response_ptr);
1998 result =
str_to_int32 (&x, &a_ptr, user_response_ptr, 10);
1999 if (result != 0 || x < range_lower || x > range_higher)
2001 fprintf (stdout, failure_prompt);
2006 response_needed =
true;
2016 if ((
char_tolower (*user_response_ptr) ==
'y') || (*user_response_ptr ==
'1')
2019 response_needed =
true;
2022 strcpy (user_response_ptr,
"1");
2027 response_needed =
true;
2030 strcpy (user_response_ptr,
"0");
2036 response_needed =
true;
2044 result =
str_to_int32 (&x, &a_ptr, user_response_ptr, 10);
2045 if (result != 0 || x < range_lower || x > range_higher)
2047 fprintf (stdout, failure_prompt);
2050 else if (x == reprompt_value)
2053 display_string = secondary_prompt;
2059 user_response_ptr +=
strlen (user_response_ptr);
2064 response_needed =
true;
2071 response_needed =
true;
2075 else if (error2 == 0)
2086 response_needed =
true;
2095 pr_len = (int)
strlen (user_response_buffer);
2110 if (response_needed)
2155 char *print_data, *print_str;
2161 print_data = (
char *) malloc (length);
2162 if (print_data !=
NULL)
2176 fprintf (stdout, print_str);
2202 replysize + *replydatasize_listid + *replydatasize_page + *replaydatasize_plan);
2217 char **logpg_area_buf,
bool verbose)
2227 int server_request_num;
2236 if (ctx_ptr->
rc == -1)
2277 switch (server_request)
2283 char *reply_logpg =
NULL;
2291 logpg_area = (
char *) malloc (length);
2292 if (logpg_area ==
NULL)
2306 *logpg_area_buf = logpg_area;
2330 int replysize,
char *databuf1,
int datasize1,
char *databuf2,
int datasize2,
2331 char **replydata_ptr1,
int *replydatasize_ptr1,
char **replydata_ptr2,
2332 int *replydatasize_ptr2)
2338 char *reply =
NULL, *ptr;
2340 int server_request_num;
2344 *replydata_ptr1 =
NULL;
2345 *replydata_ptr2 =
NULL;
2346 *replydatasize_ptr1 = 0;
2347 *replydatasize_ptr2 = 0;
2362 if (ctx_ptr->
rc == -1)
2367 datasize2, replybuf, replysize);
2414 switch (server_request)
2426 logwr_Gl.force_flush =
true;
2427 error = logwr_set_hdr_and_flush_info ();
2430 error = logwr_write_log_pages ();
2432 logwr_Gl.action = (LOGWR_ACTION) (logwr_Gl.action & LOGWR_ACTION_DELAYED_WRITE);
2439 error = request_error;
2453 logwr_Gl.force_flush =
true;
2454 error = logwr_set_hdr_and_flush_info ();
2457 error = logwr_write_log_pages ();
2459 logwr_Gl.action = (LOGWR_ACTION) (logwr_Gl.action & LOGWR_ACTION_DELAYED_WRITE);
2523 if (logwr_Gl.logpg_area_size < length)
2543 error = logwr_set_hdr_and_flush_info ();
2550 switch (logwr_Gl.mode)
2554 error = logwr_write_log_pages ();
2557 logwr_Gl.action = (LOGWR_ACTION) (logwr_Gl.action | LOGWR_ACTION_ASYNC_WRITE);
2591 char *content_ptr =
NULL;
2593 char *packed_desc =
NULL;
2594 int packed_desc_size;
2640 if (packed_desc_size == 0 && content_size == 0)
2649 if (*reply_copy_area !=
NULL)
2651 if (packed_desc !=
NULL && packed_desc_size > 0)
2660 *reply_copy_area =
NULL;
2671 if (content_size > 0)
2687 if (packed_desc !=
NULL)
2692 *reply_copy_area =
NULL;
2699 int num_packets = 0;
2703 if (packed_desc_size > 0)
2707 if (content_size > 0)
2714 if (packed_desc !=
NULL)
2721 int num_packets = 0;
2728 if (packed_desc_size > 0)
2732 if (content_size > 0)
2770 int datasize,
char *recvbuffer,
int recvbuffer_size,
LC_COPYAREA ** reply_copy_area,
2778 char *content_ptr =
NULL;
2780 char *packed_desc =
NULL;
2781 int packed_desc_size;
2829 if (recvbuffer_size < p_size)
2860 if (recvbuffer_size < size)
2867 recvbuffer_size = size;
2870 if (reply != recvbuffer)
2891 *reply_copy_area =
NULL;
2892 if (packed_desc_size == 0 && content_size == 0)
2901 if (*reply_copy_area !=
NULL)
2903 if (packed_desc !=
NULL && packed_desc_size > 0)
2921 if (content_size > 0)
2928 if (packed_desc !=
NULL)
2938 int num_packets = 0;
2942 if (packed_desc_size > 0)
2946 if (content_size > 0)
2953 if (packed_desc !=
NULL)
2960 int num_packets = 0;
2964 if (packed_desc_size > 0)
2968 if (content_size > 0)
3005 char *databuf2,
int datasize2,
char *replybuf,
int replysize,
3013 char *content_ptr =
NULL;
3015 char *packed_desc =
NULL;
3016 int packed_desc_size;
3037 replybuf, replysize);
3059 *reply_copy_area =
NULL;
3060 if (packed_desc_size == 0 && content_size == 0)
3069 if (*reply_copy_area !=
NULL)
3071 if (packed_desc !=
NULL && packed_desc_size > 0)
3089 if (content_size > 0)
3096 if (packed_desc !=
NULL)
3106 int num_packets = 0;
3110 if (packed_desc_size > 0)
3114 if (content_size > 0)
3121 if (packed_desc !=
NULL)
3128 int num_packets = 0;
3132 if (packed_desc_size > 0)
3136 if (content_size > 0)
3176 char *content_ptr =
NULL;
3178 char *packed_desc =
NULL;
3179 int packed_desc_size;
3220 if (recvbuffer_size < p_size)
3248 if (recvbuffer_size < size)
3257 recvbuffer_size = size;
3260 if (reply != recvbuffer)
3280 *reply_copy_area =
NULL;
3281 if (packed_desc_size == 0 && content_size == 0)
3290 if (*reply_copy_area !=
NULL)
3292 if (packed_desc !=
NULL && packed_desc_size > 0)
3309 if (content_size > 0)
3316 if (packed_desc !=
NULL)
3326 int num_packets = 0;
3330 if (packed_desc_size > 0)
3334 if (content_size > 0)
3341 if (packed_desc !=
NULL)
3348 int num_packets = 0;
3352 if (packed_desc_size > 0)
3356 if (content_size > 0)
3393 int datasize,
char **recvbuffer,
int *recvbuffer_size,
3401 char *content_ptr =
NULL;
3403 char *packed_desc =
NULL;
3404 int packed_desc_size;
3408 *recvbuffer_size = 0;
3454 *recvbuffer_size = p_size;
3456 if ((error ==
NO_ERROR) && (*recvbuffer = (
char *) malloc (p_size)) !=
NULL)
3475 *recvbuffer_size = 0;
3494 *reply_copy_area =
NULL;
3495 if (packed_desc_size == 0 && content_size == 0)
3502 content_size)) !=
NULL))
3504 if (packed_desc !=
NULL && packed_desc_size > 0)
3520 if (content_size > 0)
3527 if (packed_desc !=
NULL)
3535 if (packed_desc !=
NULL)
3542 int num_packets = 0;
3549 if (packed_desc_size > 0)
3553 if (content_size > 0)
3588 char *databuf,
int datasize, FILE * outfp)
3594 char *send_argbuffer;
3596 char *recv_replybuf;
3597 int recv_replybuf_size;
3598 char reply_streamdata[100];
3599 int reply_streamdata_size = 100;
3607 send_argbuffer = (
char *) malloc (send_argsize);
3608 if (send_argbuffer ==
NULL)
3615 or_pack_int (send_argbuffer, reply_streamdata_size);
3619 memcpy (send_argbuffer + OR_INT_SIZE, argbuf, argsize);
3622 recv_replybuf = (
char *) malloc (recv_replybuf_size);
3623 if (recv_replybuf ==
NULL)
3649 recv_replybuf_size);
3673 memcpy (replybuf, recv_replybuf + OR_INT_SIZE, recv_replybuf_size - OR_INT_SIZE);
3683 while (file_size > 0)
3695 if (reply != reply_streamdata)
3702 if (size > reply_streamdata_size)
3710 fwrite (reply_streamdata, 1, size, outfp);
3758 if (error || reply ==
NULL)
3784 const char *client_release;
3785 char *server_release, *server_host, *server_handshake, *ptr;
3793 int strlen1, strlen2;
3831 if (reply != reply_ptr)
3861 if (server_release ==
NULL)
3876 &compat, server_host, opt_cap) != server_capabilities)
3892 #if defined(ENABLE_UNUSED_FUNCTION) 3903 net_client_shutdown_server (
void)
4014 if (databuf !=
NULL)
4062 if (size != replysize)
void net_client_logwr_send_end_msg(int rc, int error)
bool db_need_ignore_repl_delay(void)
int net_client_request_2recv_copyarea(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *recvbuffer, int recvbuffer_size, LC_COPYAREA **reply_copy_area, int *eid)
static int net_client_request_internal(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *replydata, int replydatasize)
#define DB_HS_MISMATCHED_RW_MODE
int net_client_ping_server_with_handshake(int client_type, bool check_capabilities, int opt_cap)
#define ER_NET_DIFFERENT_RELEASE
void locator_free_copy_area(LC_COPYAREA *copyarea)
unsigned int css_send_request_to_server_with_buffer(char *host, int request, char *arg_buffer, int arg_buffer_size, char *data_buffer, int data_buffer_size)
unsigned int css_send_req_to_server_2_data(char *host, int request, char *arg_buffer, int arg_buffer_size, char *data1_buffer, int data1_buffer_size, char *data2_buffer, int data2_buffer_size, char *reply_buffer, int reply_size)
char * or_unpack_unbound_listid(char *ptr, void **listid_ptr)
#define ER_NET_SERVER_DATA_RECEIVE
FILEIO_REMOTE_PROMPT_TYPE
#define ER_NET_DATA_TRUNCATED
static INT64 net_Histo_last_call_time
int net_client_request2(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char **replydata_ptr, int *replydatasize_ptr)
#define ER_DB_NO_MODIFICATIONS
char * locator_unpack_copy_area_descriptor(int num_objs, LC_COPYAREA *copyarea, char *desc)
int rel_compare(const char *rel_a, const char *rel_b)
int rel_bit_platform(void)
#define BOOT_REPLICA_ONLY_BROKER_CLIENT_TYPE(client_type)
const LOG_PAGEID LOGPB_HEADER_PAGE_ID
int net_client_request_no_reply(int request, char *argbuf, int argsize)
#define ASSERT_ERROR_AND_SET(error_code)
#define NET_CAP_HA_REPL_DELAY
#define CSS_RID_FROM_EID(eid)
#define REL_MAX_RELEASE_LENGTH
#define ER_NET_CANT_CONNECT_SERVER
#define NET_CAP_HA_REPLICA
#define NET_CAP_FORWARD_COMPATIBLE
char * er_get_area_error(char *buffer, int *length)
#define OR_ALIGNED_BUF(size)
unsigned int css_receive_data_from_server(unsigned int eid, char **buffer, int *size)
#define cursor_free_self_list_id(list_id)
char * or_unpack_string_nocopy(char *ptr, char **string)
static char net_Server_host[CUB_MAXHOSTNAMELEN+1]
#define ER_NET_NO_SERVER_HOST
unsigned int css_send_req_to_server_no_reply(char *host, int request, char *arg_buffer, int arg_buffer_size)
#define OR_ALIGNED_BUF_SIZE(abuf)
#define NET_CAP_INTERRUPT_ENABLED
char * net_client_get_server_host(void)
#define er_log_debug(...)
int net_client_request_recv_stream(int request, char *argbuf, int argsize, char *replybuf, int replybuf_size, char *databuf, int datasize, FILE *outfp)
static struct net_request_buffer net_Req_buffer[NET_SERVER_REQUEST_END]
int net_client_request2_no_malloc(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *replydata, int *replydatasize_ptr)
int net_client_send_data(char *host, unsigned int rc, char *databuf, int datasize)
void css_cleanup_client_queues(char *host_name)
static INT64 net_Histo_total_server_time
static int net_Histo_setup
int net_client_init(const char *dbname, const char *hostname)
#define OR_ALIGNED_BUF_START(abuf)
void net_histo_clear(void)
char * or_pack_int64(char *ptr, INT64 number)
char boot_Host_name[CUB_MAXHOSTNAMELEN]
int css_queue_receive_data_buffer(unsigned int eid, char *buffer, int buffer_size)
static int client_capabilities(void)
static void net_histo_setup_names(void)
int method_invoke_for_server(unsigned int rc, char *host_p, char *server_name_p, qfile_list_id *list_id_p, method_sig_list *method_sig_list_p)
unsigned int css_send_req_to_server(char *host, int request, char *arg_buffer, int arg_buffer_size, char *data_buffer, int data_buffer_size, char *reply_buffer, int reply_size)
#define ER_NET_HS_UNKNOWN_SERVER_REL
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
void net_cleanup_client_queues(void)
static int check_server_capabilities(int server_cap, int client_type, int rel_compare, REL_COMPATIBILITY *compatibility, const char *server_host, int opt_cap)
#define ER_NET_HS_INCOMPAT_INTERRUPTIBILITY
int or_packed_string_length(const char *string, int *strlen)
int net_client_request_recv_copyarea(int request, char *argbuf, int argsize, char *replybuf, int replysize, LC_COPYAREA **reply_copy_area)
#define BOOT_IS_ALLOWED_CLIENT_TYPE_IN_MT_MODE(host1, host2, client_type)
int prm_get_integer_value(PARAM_ID prm_id)
int net_histo_print(FILE *stream)
REL_COMPATIBILITY rel_get_net_compatible(const char *client_rel_str, const char *server_rel_str)
#define ER_OUT_OF_VIRTUAL_MEMORY
static void return_error_to_server(char *host, unsigned int eid)
static int net_set_alloc_err_if_not_set(int err, const char *file, const int line)
int css_client_init(int sockid, const char *server_name, const char *host_name)
unsigned int css_send_data_to_server(char *host, unsigned int eid, char *buffer, int buffer_size)
#define NET_CAP_HA_IGNORE_REPL_DELAY
#define COMPARE_AND_FREE_BUFFER(queued, reply)
#define DB_MAX_IDENTIFIER_LENGTH
static int compare_size_and_buffer(int *replysize, int size, char **replybuf, char *buf, const char *file, const int line)
static int set_server_error(int error)
int db_Disable_modifications
#define ER_NET_DIFFERENT_BIT_PLATFORM
void boot_server_die_or_changed(void)
int net_histo_print_global_stats(FILE *stream, bool cumulative, const char *substr)
int substr(std::string &result, bool &is_matched, const cub_regex_object ®, const std::string &src, const int position, const int occurrence, const INTL_CODESET codeset)
#define ER_NET_DATASIZE_MISMATCH
#define NET_CAP_BACKWARD_COMPATIBLE
static int net_Histo_setup_mnt
#define ER_NET_INVALID_SERVER_NAME
int str_to_int32(int *ret_p, char **end_p, const char *str_p, int base)
#define ER_NET_UNUSED_BUFFER
static int server_capabilities(void)
int net_client_request_3_data(int request, char *argbuf, int argsize, char *databuf1, int datasize1, char *databuf2, int datasize2, char *reply0, int replysize0, char *reply1, int replysize1, char *reply2, int replysize2)
#define FILEIO_MAX_USER_RESPONSE_SIZE
char * or_unpack_int(char *ptr, int *number)
#define ER_NET_HS_INCOMPAT_RW_MODE
char * or_unpack_int64(char *ptr, INT64 *number)
void er_set_with_oserror(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
static char net_Server_name[DB_MAX_IDENTIFIER_LENGTH+1]
static int net_Histo_call_count
int net_client_receive_action(int rc, int *action)
LC_COPYAREA * locator_recv_allocate_copyarea(int num_objs, char **packed_desc, int packed_desc_length, char **contents_ptr, int contents_length)
static void error(const char *msg)
#define ER_NET_SERVER_HAND_SHAKE
char * or_pack_int(char *ptr, int number)
static void net_histo_request_finished(int request, int data_received)
#define NET_CAP_UPDATE_DISABLED
int net_client_request_3recv_copyarea(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char **recvbuffer, int *recvbuffer_size, LC_COPYAREA **reply_copy_area)
#define ER_NET_HS_REMOTE_DISABLED
int net_client_final(void)
int net_client_ping_server(int client_val, int *server_val, int timeout)
static void net_consume_expected_packets(int rc, int num_packets)
static void net_histo_add_entry(int request, int data_sent)
void css_terminate(bool server_error)
int net_client_request(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *replydata, int replydatasize)
#define free_and_init(ptr)
#define ER_NET_INVALID_HOST_NAME
#define ER_NET_CANT_ALLOC_BUFFER
int net_client_request_with_logwr_context(LOGWR_CONTEXT *ctx_ptr, int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf1, int datasize1, char *databuf2, int datasize2, char **replydata_ptr1, int *replydatasize_ptr1, char **replydata_ptr2, int *replydatasize_ptr2)
char * or_pack_string_with_length(char *ptr, const char *string, int length)
#define ER_HA_LW_FAILED_GET_LOG_PAGE
char * or_unpack_method_sig_list(char *ptr, void **method_sig_list_ptr)
unsigned int css_receive_data_from_server_with_timeout(unsigned int eid, char **buffer, int *size, int timeout)
int intl_mbs_casecmp(const char *mbs1, const char *mbs2)
int method_send_error_to_server(unsigned int rc, char *host_p, char *server_name_p)
#define NET_CAP_REMOTE_DISABLED
#define ER_NET_HS_HA_REPLICA_ONLY
unsigned int css_send_error_to_server(char *host, unsigned int eid, char *buffer, int buffer_size)
static const char * get_capability_string(int cap, int cap_type)
#define ER_NET_SERVER_CRASHED
int net_client_get_next_log_pages(int rc, char *replybuf, int replysize, int length)
int net_client_recv_copyarea(int request, char *replybuf, int replysize, char *recvbuffer, int recvbuffer_size, LC_COPYAREA **reply_copy_area, int rc)
void method_sig_list_freemem(method_sig_list *meth_sig_list)
#define COMPARE_SIZE_AND_BUFFER(replysize, size, replybuf, buf)
int net_client_check_log_header(LOGWR_CONTEXT *ctx_ptr, char *argbuf, int argsize, char *replybuf, int replysize, char **logpg_area_buf, bool verbose)
int net_client_request_with_callback(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf1, int datasize1, char *databuf2, int datasize2, char **replydata_listid, int *replydatasize_listid, char **replydata_page, int *replydatasize_page, char **replydata_plan, int *replydatasize_plan)
#define CUB_MAXHOSTNAMELEN
const char * rel_release_string(void)
void db_set_host_status(char *hostname, int status)
int net_client_request_3_data_recv_copyarea(int request, char *argbuf, int argsize, char *databuf1, int datasize1, char *databuf2, int datasize2, char *replybuf, int replysize, LC_COPYAREA **reply_copy_area)
int net_histo_start(bool for_all_trans)
#define DB_CONNECTION_STATUS_NOT_CONNECTED
#define ER_NET_HS_HA_REPL_DELAY