Changeset: ae59cae98247 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ae59cae98247 Modified Files: clients/Tests/exports.stable.out common/stream/ChangeLog common/stream/stream.c common/stream/stream.h Branch: default Log Message:
Removed functions udp_rastream and udp_wastream. diffs (273 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -2686,8 +2686,6 @@ stream *socket_wastream(SOCKET socket, c stream *socket_wstream(SOCKET socket, const char *name); stream *stream_blackhole_create(void); stream *stream_fwf_create(stream *s, size_t num_fields, size_t *widths, char filler); -stream *udp_rastream(const char *hostname, int port, const char *name); -stream *udp_wastream(const char *hostname, int port, const char *name); stream *wbstream(stream *s, size_t buflen); diff --git a/common/stream/ChangeLog b/common/stream/ChangeLog --- a/common/stream/ChangeLog +++ b/common/stream/ChangeLog @@ -2,6 +2,7 @@ # This file is updated with Maddlog * Mon Aug 7 2017 Sjoerd Mullender <sjo...@acm.org> +- Removed functions udp_rastream and udp_wastream. - Removed functions socket_rstream and socket_wstream. - Removed functions append_wstream and append_wastream. - Removed functions mnstr_rstream and mnstr_wstream. diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -2369,233 +2369,6 @@ socket_wastream(SOCKET sock, const char } /* ------------------------------------------------------------------ */ -/* streams working on a UDP socket */ - -typedef struct udp_stream { - SOCKET s; - struct sockaddr_in addr; -} udp_stream; - -static ssize_t -udp_write(stream *s, const void *buf, size_t elmsize, size_t cnt) -{ - ssize_t res = 0, size = (ssize_t) (elmsize * cnt); - udp_stream *udp; - int addrlen; - - udp = s->stream_data.p; - if (s->errnr || udp == NULL) - return -1; - - if (size == 0 || elmsize == 0) - return (ssize_t) cnt; - addrlen = sizeof(udp->addr); - errno = 0; -#ifdef _MSC_VER - WSASetLastError(0); -#endif - if ((res = sendto(udp->s, buf, -#ifdef NATIVE_WIN32 - (int) /* on Windows, the length is an int... */ -#endif - size, 0, (struct sockaddr *) &udp->addr, addrlen)) < 0) { - s->errnr = MNSTR_WRITE_ERROR; - return res; - } - if (res > 0) - return (ssize_t) (res / elmsize); - return 0; -} - -static ssize_t -udp_read(stream *s, void *buf, size_t elmsize, size_t cnt) -{ - ssize_t res = 0, size = (ssize_t) (elmsize * cnt); - struct sockaddr_in from; - socklen_t fromlen = sizeof(struct sockaddr_in); - udp_stream *udp; - - udp = s->stream_data.p; - if (s->errnr || udp == NULL) - return -1; - - if (size == 0) - return 0; - errno = 0; -#ifdef _MSC_VER - WSASetLastError(0); -#endif - if ((res = recvfrom(udp->s, buf, -#ifdef NATIVE_WIN32 - (int) /* on Windows, the length is an int... */ -#endif - size, 0, (struct sockaddr *) &from, &fromlen)) < 0) { - s->errnr = MNSTR_READ_ERROR; - return res; - } - if (res > 0) - return (ssize_t) (res / elmsize); - return 0; -} - -static void -udp_close(stream *s) -{ - udp_stream *udp = s->stream_data.p; - - if (udp) { -#ifdef HAVE_SHUTDOWN - shutdown(udp->s, SHUT_RDWR); -#endif - closesocket(udp->s); - } -} - -static void -udp_destroy(stream *s) -{ - if (s->stream_data.p) - free(s->stream_data.p); - destroy(s); -} - -static stream * -udp_create(const char *name) -{ - stream *s; - udp_stream *udp = NULL; - - if ((s = create_stream(name)) == NULL) - return NULL; - if ((udp = (udp_stream *) malloc(sizeof(udp_stream))) == NULL) { - destroy(s); - return NULL; - } - s->read = udp_read; - s->write = udp_write; - s->close = udp_close; - s->destroy = udp_destroy; - s->stream_data.p = udp; - - errno = 0; -#ifdef _MSC_VER - WSASetLastError(0); -#endif - return s; -} - -static int -udp_socket(udp_stream *udp, const char *hostname, int port, int write) -{ -#ifdef HAVE_GETADDRINFO - struct addrinfo hints, *res, *rp; - char sport[32]; - - snprintf(sport, sizeof(sport), "%d", port); - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; /* IPv4 or IPv6 */ - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = AI_PASSIVE; - hints.ai_protocol = IPPROTO_UDP; - if (getaddrinfo(hostname, sport, &hints, &res)) - return -1; - memset(&udp->addr, 0, sizeof(udp->addr)); - for (rp = res; rp; rp = rp->ai_next) { - udp->s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); - if (udp->s == INVALID_SOCKET) - continue; -#ifdef HAVE_FCNTL - fcntl(udp->s, F_SETFD, FD_CLOEXEC); -#endif - if (!write && - bind(udp->s, rp->ai_addr, -#ifdef _MSC_VER - (int) /* Windows got the interface wrong... */ -#endif - rp->ai_addrlen) == SOCKET_ERROR) { - closesocket(udp->s); - continue; - } - memcpy(&udp->addr, rp->ai_addr, rp->ai_addrlen); - freeaddrinfo(res); - return 0; - } - freeaddrinfo(res); - return -1; -#else - struct sockaddr *serv; - socklen_t servsize; - struct hostent *hp; - - hp = gethostbyname(hostname); - if (hp == NULL) - return -1; - - memset(&udp->addr, 0, sizeof(udp->addr)); - if (write) - memcpy(&udp->addr.sin_addr, hp->h_addr_list[0], hp->h_length); - else - udp->addr.sin_addr.s_addr = INADDR_ANY; - udp->addr.sin_family = hp->h_addrtype; - udp->addr.sin_port = htons((unsigned short) (port & 0xFFFF)); - serv = (struct sockaddr *) &udp->addr; - servsize = (socklen_t) sizeof(udp->addr); - udp->s = socket(serv->sa_family, SOCK_DGRAM, IPPROTO_UDP); - if (udp->s == INVALID_SOCKET) - return -1; -#ifdef HAVE_FCNTL - fcntl(udp->s, F_SETFD, FD_CLOEXEC); -#endif - if (!write && bind(udp->s, serv, servsize) == SOCKET_ERROR) - return -1; - return 0; -#endif -} - -stream * -udp_rastream(const char *hostname, int port, const char *name) -{ - stream *s; - - if (hostname == NULL || name == NULL) - return NULL; -#ifdef STREAM_DEBUG - fprintf(stderr, "udp_rawastream %s %s\n", hostname, name); -#endif - s = udp_create(name); - if (s == NULL) - return NULL; - if (udp_socket(s->stream_data.p, hostname, port, 0) < 0) { - udp_destroy(s); - return NULL; - } - s->type = ST_ASCII; - return s; -} - -stream * -udp_wastream(const char *hostname, int port, const char *name) -{ - stream *s; - - if (hostname == NULL || name == NULL) - return NULL; -#ifdef STREAM_DEBUG - fprintf(stderr, "udp_wastream %s %s\n", hostname, name); -#endif - s = udp_create(name); - if (s == NULL) - return NULL; - if (udp_socket(s->stream_data.p, hostname, port, 1) < 0) { - udp_destroy(s); - return NULL; - } - s->access = ST_WRITE; - s->type = ST_ASCII; - return s; -} - -/* ------------------------------------------------------------------ */ /* streams working on an open file pointer */ #ifdef _MSC_VER diff --git a/common/stream/stream.h b/common/stream/stream.h --- a/common/stream/stream.h +++ b/common/stream/stream.h @@ -172,9 +172,6 @@ stream_export void close_stream(stream * stream_export stream *open_urlstream(const char *url); -stream_export stream *udp_rastream(const char *hostname, int port, const char *name); -stream_export stream *udp_wastream(const char *hostname, int port, const char *name); - stream_export stream *file_rstream(FILE *fp, const char *name); stream_export stream *file_wstream(FILE *fp, const char *name); stream_export stream *file_rastream(FILE *fp, const char *name); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list