From 1fcd5785ab7d976239dbe6d11df47edc609dc9b6 Mon Sep 17 00:00:00 2001 From: Massimiliano Pinto Date: Tue, 25 Jun 2013 16:45:25 +0200 Subject: [PATCH] Cleanup --- core/gw_utils.c | 191 ------------------------------------------------ 1 file changed, 191 deletions(-) diff --git a/core/gw_utils.c b/core/gw_utils.c index 516aea1c0..bcf2e3595 100644 --- a/core/gw_utils.c +++ b/core/gw_utils.c @@ -71,133 +71,6 @@ void gw_daemonize(void) { } } -////////////////////////////////////// -// Generic read from filedescriptor -////////////////////////////////////// -int do_read_fd(int fd) { - char buf[MAX_BUFFER_SIZE]=""; - int n; - - n = read(fd, buf, MAX_BUFFER_SIZE); - - if (n == 0) { - fprintf(stderr, "Generic Socket EOF\n"); - return -1; - } - - if (n < 0) { - fprintf(stderr, "Read error: %i [%s]\n", errno, strerror(errno)); - if ((errno != EAGAIN) || (errno != EWOULDBLOCK)) - return -1; - else - return 0; - } - -#ifdef DEBUG_GATEWAY_READ - fprintf(stderr, "socket %i, do_read %i bytes\n", fd, n); -#endif - - return n; -} - -int do_read_dcb10(DCB *dcb) { - char buf[MAX_BUFFER_SIZE]=""; - int n; - n = read(dcb->fd, buf, 10); - - if (n == 0) { - fprintf(stderr, "Read DCB Socket EOF\n"); - return -1; - } - - if (n < 0) { - fprintf(stderr, "ReadDcb error: %i [%s]\n", errno, strerror(errno)); - if ((errno != EAGAIN) || (errno != EWOULDBLOCK)) - return -1; - else - return 0; - } - -#ifdef GW_READ_DEBUG - fprintf(stderr, "socket %i, do_read % i bytes, [%s]\n", dcb->fd, n, buf+5); -#endif - - return n; -} - -int do_read_dcb(DCB *dcb) { - char buf[MAX_BUFFER_SIZE]=""; - int n; - n = read(dcb->fd, buf, MAX_BUFFER_SIZE); - - if (n == 0) { - fprintf(stderr, "Read DCB Socket EOF\n"); - return -1; - } - - if (n < 0) { - fprintf(stderr, "ReadDcb error: %i [%s]\n", errno, strerror(errno)); - if ((errno != EAGAIN) || (errno != EWOULDBLOCK)) - return -1; - else - return 0; - } - -#ifdef GW_READ_DEBUG - fprintf(stderr, "socket %i, do_read % i bytes, [%s]\n", dcb->fd, n, buf+5); -#endif - - return n; -} - - -int do_read_buffer10(DCB *dcb, uint8_t *buffer) { - int n; - n = read(dcb->fd, buffer, 10); - - if (n == 0 & (errno==EOF)) { - fprintf(stderr, "ReadBuffer Socket EOF\n"); - return -1; - } - - if (n < 0) { - fprintf(stderr, "ReadBuffer error: %i [%s]\n", errno, strerror(errno)); - if ((errno != EAGAIN) || (errno != EWOULDBLOCK)) - return -1; - else - return 0; - } - -#ifdef GW_READ_DEBUG - fprintf(stderr, "socket %i, do_read % i bytes\n", dcb->fd, n); -#endif - - return n; -} - -int do_read_buffer(DCB *dcb, uint8_t *buffer) { - int n; - n = read(dcb->fd, buffer, MAX_BUFFER_SIZE); - - if (n == 0 & (errno==EOF)) { - fprintf(stderr, "ReadBuffer Socket EOF\n"); - return -2; - } - - if (n < 0) { - fprintf(stderr, "ReadBuffer error: %i [%s]\n", errno, strerror(errno)); - if ((errno != EAGAIN) || (errno != EWOULDBLOCK)) - return -1; - else - return 0; - } - -#ifdef GW_READ_DEBUG - fprintf(stderr, "socket %i, do_read % i bytes\n", dcb->fd, n); -#endif - - return n; -} ///////////////////////////////////////////////// // Read data from dcb and store it in the gwbuf ///////////////////////////////////////////////// @@ -262,67 +135,3 @@ int gw_read_gwbuff(DCB *dcb, GWBUF **head, int b) { return 0; } -/** - * Create a new MySQL backend connection. - * - * This routine performs the MySQL connection to the backend and fills the session->backends of the callier dcb - * with the new allocatetd dcb and adds the new socket to the poll set - * - * - backend dcb allocation - * - MySQL session data fetch - * - backend connection using data in MySQL session - * - * @param client_dcb The client DCB struct - * @return 0 on Success or 1 on Failure. - */ -int create_backend_connection(DCB *client_dcb) { - DCB *backend = NULL; - MySQLProtocol *ptr_proto = NULL; - MySQLProtocol *client_protocol = NULL; - SESSION *session = NULL; - MYSQL_session *s_data = NULL; - - backend = (DCB *) calloc(1, sizeof(DCB)); - backend->state = DCB_STATE_ALLOC; - backend->session = NULL; - backend->protocol = (MySQLProtocol *)gw_mysql_init(NULL); - - ptr_proto = (MySQLProtocol *)backend->protocol; - client_protocol = (MySQLProtocol *)client_dcb->protocol; - session = DCB_SESSION(client_dcb); - s_data = (MYSQL_session *)session->data; - - // this is blocking until auth done - if (gw_mysql_connect("127.0.0.1", 3306, s_data->db, s_data->user, s_data->client_sha1, backend->protocol) == 0) { - fprintf(stderr, "Connected to backend mysql server\n"); - backend->fd = ptr_proto->fd; - setnonblocking(backend->fd); - } else { - fprintf(stderr, "<<<< NOT Connected to backend mysql server!!!\n"); - backend->fd = -1; - } - - // if connected, add it to the poll - if (backend->fd > 0) { - if (poll_add_dcb(backend) == -1) { - perror("poll_ctl: backend sock"); - } else { - fprintf(stderr, "--> Backend conn added, bk_fd [%i], scramble [%s], is session with client_fd [%i]\n", ptr_proto->fd, ptr_proto->scramble, client_dcb->fd); - backend->state = DCB_STATE_POLLING; - backend->session = DCB_SESSION(client_dcb); - (backend->func).read = gw_read_backend_event; - (backend->func).write = MySQLWrite; - (backend->func).write_ready = gw_write_backend_event; - (backend->func).error = handle_event_errors_backend; - - // assume here one backend only. - // in session.h - // struct dcb *backends; - // instead of a list **backends; - client_dcb->session->backends = backend; - } - return 0; - } - return 1; -} -//////