From: Tom Lane Date: Mon, 12 Nov 2001 04:19:15 +0000 (+0000) Subject: The PacketReceive/PacketSend routines aren't used anymore. X-Git-Tag: REL7_2_BETA3~100 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a7f6210de2688afa6eb88853b3c3124a6d2248ef;p=postgresql The PacketReceive/PacketSend routines aren't used anymore. --- diff --git a/src/backend/libpq/Makefile b/src/backend/libpq/Makefile index f8fc5c229e..45ec3e9d55 100644 --- a/src/backend/libpq/Makefile +++ b/src/backend/libpq/Makefile @@ -4,7 +4,7 @@ # Makefile for libpq subsystem (backend half of libpq interface) # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/backend/libpq/Makefile,v 1.26 2001/11/12 01:42:03 momjian Exp $ +# $Header: /cvsroot/pgsql/src/backend/libpq/Makefile,v 1.27 2001/11/12 04:19:15 tgl Exp $ # #------------------------------------------------------------------------- @@ -16,7 +16,7 @@ include $(top_builddir)/src/Makefile.global OBJS = be-fsstubs.o \ auth.o crypt.o hba.o md5.o password.o \ - pqcomm.o pqformat.o pqpacket.o pqsignal.o util.o + pqcomm.o pqformat.o pqsignal.o util.o all: check_md5 SUBSYS.o diff --git a/src/backend/libpq/pqpacket.c b/src/backend/libpq/pqpacket.c deleted file mode 100644 index 4fb707f0cf..0000000000 --- a/src/backend/libpq/pqpacket.c +++ /dev/null @@ -1,215 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pqpacket.c - * routines for reading and writing data packets sent/received by - * POSTGRES clients and servers - * - * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/pqpacket.c,v 1.30 2001/11/05 17:46:25 momjian Exp $ - * - *------------------------------------------------------------------------- - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "postgres.h" -#include "libpq/libpq.h" - - -/* - * Set up a packet read for the postmaster event loop. - */ - -void -PacketReceiveSetup(Packet *pkt, PacketDoneProc iodone, void *arg) -{ - pkt->nrtodo = sizeof(pkt->len); - pkt->ptr = (char *) &pkt->len; - pkt->iodone = iodone; - pkt->arg = arg; - pkt->state = ReadingPacketLength; - - /* Clear the destination. */ - - MemSet(&pkt->pkt, 0, sizeof(pkt->pkt)); -} - - -/* - * Read a packet fragment. Return STATUS_OK if the connection should stay - * open. - */ - -int -PacketReceiveFragment(Port *port) -{ - int got; - Packet *pkt = &port->pktInfo; - -#ifdef USE_SSL - if (port->ssl) - got = SSL_read(port->ssl, pkt->ptr, pkt->nrtodo); - else -#endif -#ifndef __BEOS__ - got = read(port->sock, pkt->ptr, pkt->nrtodo); -#else - got = recv(port->sock, pkt->ptr, pkt->nrtodo, 0); -#endif /* __BEOS__ */ - if (got > 0) - { - pkt->nrtodo -= got; - pkt->ptr += got; - - /* See if we have got what we need for the packet length. */ - - if (pkt->nrtodo == 0 && pkt->state == ReadingPacketLength) - { - pkt->len = ntohl(pkt->len); - - if (pkt->len < sizeof(pkt->len) || - pkt->len > sizeof(pkt->len) + sizeof(pkt->pkt)) - { - PacketSendError(pkt, "Invalid packet length"); - - return STATUS_OK; - } - - /* Set up for the rest of the packet. */ - - pkt->nrtodo = pkt->len - sizeof(pkt->len); - pkt->ptr = (char *) &pkt->pkt; - pkt->state = ReadingPacket; - } - - /* See if we have got what we need for the packet. */ - - if (pkt->nrtodo == 0 && pkt->state == ReadingPacket) - { - pkt->state = Idle; - - /* Special case to close the connection. */ - - if (pkt->iodone == NULL) - return STATUS_ERROR; - - return (*pkt->iodone) (pkt->arg, pkt->len - sizeof(pkt->len), - (void *) &pkt->pkt); - } - - return STATUS_OK; - } - - if (got == 0) - return STATUS_ERROR; - - if (errno == EINTR) - return STATUS_OK; - - perror("PacketReceiveFragment: read() failed"); - - return STATUS_ERROR; -} - - -/* - * Set up a packet write for the postmaster event loop. - */ - -void -PacketSendSetup(Packet *pkt, int nbytes, PacketDoneProc iodone, void *arg) -{ - pkt->len = (PacketLen) nbytes; - pkt->nrtodo = nbytes; - pkt->ptr = (char *) &pkt->pkt; - pkt->iodone = iodone; - pkt->arg = arg; - pkt->state = WritingPacket; -} - - -/* - * Write a packet fragment. Return STATUS_OK if the connection should stay - * open. - */ - -int -PacketSendFragment(Port *port) -{ - int done; - Packet *pkt = &port->pktInfo; - -#ifdef USE_SSL - if (port->ssl) - done = SSL_write(port->ssl, pkt->ptr, pkt->nrtodo); - else -#endif -#ifndef __BEOS__ - done = write(port->sock, pkt->ptr, pkt->nrtodo); -#else - done = send(port->sock, pkt->ptr, pkt->nrtodo, 0); -#endif - if (done > 0) - { - pkt->nrtodo -= done; - pkt->ptr += done; - - /* See if we have written the whole packet. */ - - if (pkt->nrtodo == 0) - { - pkt->state = Idle; - - /* Special case to close the connection. */ - - if (pkt->iodone == NULL) - return STATUS_ERROR; - - return (*pkt->iodone) (pkt->arg, pkt->len, - (void *) &pkt->pkt); - } - - return STATUS_OK; - } - - if (done == 0) - return STATUS_ERROR; - - if (errno == EINTR) - return STATUS_OK; - - perror("PacketSendFragment: write() failed"); - - return STATUS_ERROR; -} - - -/* - * Send an error message from the postmaster to the frontend. - */ - -void -PacketSendError(Packet *pkt, char *errormsg) -{ - fprintf(stderr, "%s\n", errormsg); - - pkt->pkt.em.data[0] = 'E'; - StrNCpy(&pkt->pkt.em.data[1], errormsg, sizeof(pkt->pkt.em.data) - 1); - - /* - * The NULL i/o callback will cause the connection to be broken when - * the error message has been sent. - */ - - PacketSendSetup(pkt, strlen(pkt->pkt.em.data) + 1, NULL, NULL); -} diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h index d715194fe2..8ce18b37d1 100644 --- a/src/include/libpq/libpq-be.h +++ b/src/include/libpq/libpq-be.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: libpq-be.h,v 1.25 2001/11/05 17:46:33 momjian Exp $ + * $Id: libpq-be.h,v 1.26 2001/11/12 04:19:15 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -146,14 +146,4 @@ typedef struct Port extern ProtocolVersion FrontendProtocol; - -/* - * prototypes for functions in pqpacket.c - */ -void PacketReceiveSetup(Packet *pkt, PacketDoneProc iodone, void *arg); -int PacketReceiveFragment(Port *port); -void PacketSendSetup(Packet *pkt, int nbytes, PacketDoneProc iodone, void *arg); -int PacketSendFragment(Port *port); -void PacketSendError(Packet *pkt, char *errormsg); - #endif /* LIBPQ_BE_H */