CUBRID Engine  latest
connection_cl.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  * connection_cl.h -
22  */
23 
24 #ifndef _CONNECTION_CL_H_
25 #define _CONNECTION_CL_H_
26 
27 #ident "$Id$"
28 
29 #include "connection_defs.h"
30 #include "connection_support.h"
31 
32 /* the order to connect to db-hosts in databases.txt */
33 #define DB_CONNECT_ORDER_SEQ 0
34 #define DB_CONNECT_ORDER_RANDOM 1
35 
36 /* abnormal DB host status */
37 #define DB_HS_NORMAL 0x00000000
38 #define DB_HS_CONN_TIMEOUT 0x00000001
39 #define DB_HS_CONN_FAILURE 0x00000002
40 #define DB_HS_MISMATCHED_RW_MODE 0x00000004
41 #define DB_HS_HA_DELAYED 0x00000008
42 #define DB_HS_NON_PREFFERED_HOSTS 0x00000010
43 #define DB_HS_UNUSABLE_DATABASES 0x00000020
44 
45 #define DB_HS_RECONNECT_INDICATOR \
46  (DB_HS_MISMATCHED_RW_MODE | DB_HS_HA_DELAYED | DB_HS_NON_PREFFERED_HOSTS)
47 
48 extern void css_shutdown_conn (CSS_CONN_ENTRY * conn);
50 extern void css_free_conn (CSS_CONN_ENTRY * conn);
51 
52 extern CSS_CONN_ENTRY *css_connect_to_master_server (int master_port_id, const char *server_name, int name_length);
53 
55 extern int css_receive_error (CSS_CONN_ENTRY * conn, unsigned short req_id, char **buffer, int *buffer_size);
56 
57 extern CSS_CONN_ENTRY *css_connect_to_cubrid_server (char *host_name, char *server_name);
58 extern CSS_CONN_ENTRY *css_connect_to_master_for_info (const char *host_name, int port_id, unsigned short *rid);
59 extern CSS_CONN_ENTRY *css_connect_to_master_timeout (const char *host_name, int port_id, int timeout,
60  unsigned short *rid);
61 extern bool css_does_master_exist (int port_id);
62 
63 extern int css_receive_data (CSS_CONN_ENTRY * conn, unsigned short rid, char **buffer, int *size, int timeout);
64 extern int css_receive_request (CSS_CONN_ENTRY * conn, unsigned short *rid, int *request, int *arg_buffer_size);
65 extern int css_send_close_request (CSS_CONN_ENTRY * conn);
66 
67 extern int css_test_for_open_conn (CSS_CONN_ENTRY * conn);
69 extern unsigned short css_get_request_id (CSS_CONN_ENTRY * conn);
70 
71 extern char *css_return_data_buffer (CSS_CONN_ENTRY * conn, unsigned short request_id, int *buffer_size);
72 extern bool css_is_valid_request_id (CSS_CONN_ENTRY * conn, unsigned short request_id);
73 
74 extern int css_return_queued_error (CSS_CONN_ENTRY * conn, unsigned short request_id, char **buffer, int *buffer_size,
75  int *rc);
77 extern int css_read_one_request (CSS_CONN_ENTRY * conn, unsigned short *rid, int *request, int *buffer_size);
78 #endif /* _CONNECTION_CL_H_ */
void css_remove_all_unexpected_packets(CSS_CONN_ENTRY *conn)
int SOCKET
Definition: porting.h:482
bool css_is_valid_request_id(CSS_CONN_ENTRY *conn, unsigned short request_id)
CSS_CONN_ENTRY * css_connect_to_cubrid_server(char *host_name, char *server_name)
CSS_CONN_ENTRY * css_find_exception_conn(void)
void css_shutdown_conn(CSS_CONN_ENTRY *conn)
CSS_CONN_ENTRY * css_make_conn(SOCKET fd)
void css_free_conn(CSS_CONN_ENTRY *conn)
CSS_CONN_ENTRY * css_connect_to_master_timeout(const char *host_name, int port_id, int timeout, unsigned short *rid)
bool css_does_master_exist(int port_id)
int css_send_close_request(CSS_CONN_ENTRY *conn)
CSS_CONN_ENTRY * css_connect_to_master_server(int master_port_id, const char *server_name, int name_length)
int css_read_one_request(CSS_CONN_ENTRY *conn, unsigned short *rid, int *request, int *buffer_size)
char * css_return_data_buffer(CSS_CONN_ENTRY *conn, unsigned short request_id, int *buffer_size)
int css_receive_data(CSS_CONN_ENTRY *conn, unsigned short rid, char **buffer, int *size, int timeout)
CSS_CONN_ENTRY * css_connect_to_master_for_info(const char *host_name, int port_id, unsigned short *rid)
CSS_CONN_ENTRY * css_find_conn_from_fd(SOCKET fd)
static int rc
Definition: serial.c:50
int css_return_queued_error(CSS_CONN_ENTRY *conn, unsigned short request_id, char **buffer, int *buffer_size, int *rc)
int css_receive_error(CSS_CONN_ENTRY *conn, unsigned short req_id, char **buffer, int *buffer_size)
int css_test_for_open_conn(CSS_CONN_ENTRY *conn)
unsigned short css_get_request_id(CSS_CONN_ENTRY *conn)
int css_receive_request(CSS_CONN_ENTRY *conn, unsigned short *rid, int *request, int *arg_buffer_size)