http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdposix.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdposix.h b/thirdparty/librdkafka-0.11.1/src/rdposix.h deleted file mode 100644 index 72f9814..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdposix.h +++ /dev/null @@ -1,182 +0,0 @@ -#pragma once -/* -* librdkafka - Apache Kafka C library -* -* Copyright (c) 2012-2015 Magnus Edenhill -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* -* 1. Redistributions of source code must retain the above copyright notice, -* this list of conditions and the following disclaimer. -* 2. Redistributions in binary form must reproduce the above copyright notice, -* this list of conditions and the following disclaimer in the documentation -* and/or other materials provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. -*/ - -/** - * POSIX system support - */ -#pragma once - -#include <unistd.h> -#include <stdio.h> -#include <sys/time.h> -#include <inttypes.h> -#include <fcntl.h> -#include <errno.h> - -/** -* Types -*/ - - -/** - * Annotations, attributes, optimizers - */ -#ifndef likely -#define likely(x) __builtin_expect((x),1) -#endif -#ifndef unlikely -#define unlikely(x) __builtin_expect((x),0) -#endif - -#define RD_UNUSED __attribute__((unused)) -#define RD_INLINE inline -#define RD_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -#define RD_NORETURN __attribute__((noreturn)) -#define RD_IS_CONSTANT(p) __builtin_constant_p((p)) -#define RD_TLS __thread - -/** -* Allocation -*/ -#if !defined(__FreeBSD__) -/* alloca(3) is in stdlib on FreeBSD */ -#include <alloca.h> -#endif - -#define rd_alloca(N) alloca(N) - - -/** -* Strings, formatting, printf, .. -*/ - -/* size_t and ssize_t format strings */ -#define PRIusz "zu" -#define PRIdsz "zd" - -#define RD_FORMAT(...) __attribute__((format (__VA_ARGS__))) -#define rd_snprintf(...) snprintf(__VA_ARGS__) -#define rd_vsnprintf(...) vsnprintf(__VA_ARGS__) - -#define rd_strcasecmp(A,B) strcasecmp(A,B) -#define rd_strncasecmp(A,B,N) strncasecmp(A,B,N) - -/** - * Errors - */ -#if HAVE_STRERROR_R -static RD_INLINE RD_UNUSED const char *rd_strerror(int err) { - static RD_TLS char ret[128]; - -#if defined(__linux__) && defined(_GNU_SOURCE) - return strerror_r(err, ret, sizeof(ret)); -#else /* XSI version */ - int r; - /* The r assignment is to catch the case where - * _GNU_SOURCE is not defined but the GNU version is - * picked up anyway. */ - r = strerror_r(err, ret, sizeof(ret)); - if (unlikely(r)) - rd_snprintf(ret, sizeof(ret), - "strerror_r(%d) failed (ret %d)", err, r); - return ret; -#endif -} -#else -#define rd_strerror(err) strerror(err) -#endif - - -/** - * Atomics - */ -#include "rdatomic.h" - -/** -* Misc -*/ - -/** - * Microsecond sleep. - * Will retry on signal interrupt unless *terminate is true. - */ -static RD_INLINE RD_UNUSED -void rd_usleep (int usec, rd_atomic32_t *terminate) { - struct timespec req = {usec / 1000000, (long)(usec % 1000000) * 1000}; - - /* Retry until complete (issue #272), unless terminating. */ - while (nanosleep(&req, &req) == -1 && - (errno == EINTR && (!terminate || !rd_atomic32_get(terminate)))) - ; -} - - - - -#define rd_gettimeofday(tv,tz) gettimeofday(tv,tz) - - -#define rd_assert(EXPR) assert(EXPR) - -/** - * Empty struct initializer - */ -#define RD_ZERO_INIT {} - -/** - * Sockets, IO - */ - -/** - * @brief Set socket to non-blocking - * @returns 0 on success or errno on failure. - */ -static RD_UNUSED int rd_fd_set_nonblocking (int fd) { - int fl = fcntl(fd, F_GETFL, 0); - if (fl == -1 || - fcntl(fd, F_SETFL, fl | O_NONBLOCK) == -1) - return errno; - return 0; -} - -/** - * @brief Create non-blocking pipe - * @returns 0 on success or errno on failure - */ -static RD_UNUSED int rd_pipe_nonblocking (int *fds) { - if (pipe(fds) == -1 || - rd_fd_set_nonblocking(fds[0]) == -1 || - rd_fd_set_nonblocking(fds[1])) - return errno; - return 0; -} -#define rd_pipe(fds) pipe(fds) -#define rd_read(fd,buf,sz) read(fd,buf,sz) -#define rd_write(fd,buf,sz) write(fd,buf,sz) -#define rd_close(fd) close(fd)
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdrand.c ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdrand.c b/thirdparty/librdkafka-0.11.1/src/rdrand.c deleted file mode 100644 index 31c087d..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdrand.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * librd - Rapid Development C library - * - * Copyright (c) 2012, Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "rd.h" -#include "rdrand.h" - - - -void rd_array_shuffle (void *base, size_t nmemb, size_t entry_size) { - int i; - void *tmp = rd_alloca(entry_size); - - /* FIXME: Optimized version for word-sized entries. */ - - for (i = (int) nmemb - 1 ; i > 0 ; i--) { - int j = rd_jitter(0, i); - if (unlikely(i == j)) - continue; - - memcpy(tmp, (char *)base + (i*entry_size), entry_size); - memcpy((char *)base+(i*entry_size), - (char *)base+(j*entry_size), entry_size); - memcpy((char *)base+(j*entry_size), tmp, entry_size); - } -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdrand.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdrand.h b/thirdparty/librdkafka-0.11.1/src/rdrand.h deleted file mode 100644 index 21b1e21..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdrand.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * librd - Rapid Development C library - * - * Copyright (c) 2012, Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - - -/** - * Returns a random (using rand(3)) number between 'low'..'high' (inclusive). - */ -static RD_INLINE int rd_jitter (int low, int high) RD_UNUSED; -static RD_INLINE int rd_jitter (int low, int high) { - return (low + (rand() % ((high-low)+1))); - -} - - -/** - * Shuffles (randomizes) an array using the modern Fisher-Yates algorithm. - */ -void rd_array_shuffle (void *base, size_t nmemb, size_t entry_size); http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdregex.c ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdregex.c b/thirdparty/librdkafka-0.11.1/src/rdregex.c deleted file mode 100644 index f9b2bac..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdregex.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - * librdkafka - The Apache Kafka C/C++ library - * - * Copyright (c) 2016 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -#include "rd.h" -#include "rdregex.h" - -#if HAVE_REGEX -#include <regex.h> -struct rd_regex_s { - regex_t re; -}; - -#else - -#include "regexp.h" -struct rd_regex_s { - Reprog *re; -}; -#endif - - -/** - * @brief Destroy compiled regex - */ -void rd_regex_destroy (rd_regex_t *re) { -#if HAVE_REGEX - regfree(&re->re); -#else - re_regfree(re->re); -#endif - rd_free(re); -} - - -/** - * @brief Compile regex \p pattern - * @returns Compiled regex object on success on error. - */ -rd_regex_t * -rd_regex_comp (const char *pattern, char *errstr, size_t errstr_size) { - rd_regex_t *re = rd_calloc(1, sizeof(*re)); -#if HAVE_REGEX - int r; - - r = regcomp(&re->re, pattern, REG_EXTENDED|REG_NOSUB); - if (r) { - if (errstr) - regerror(r, &re->re, errstr, errstr_size); - rd_free(re); - return NULL; - } -#else - const char *errstr2; - - re->re = re_regcomp(pattern, 0, &errstr2); - if (!re->re) { - if (errstr) { - strncpy(errstr, errstr2, errstr_size-1); - errstr[errstr_size-1] = '\0'; - } - rd_free(re); - return NULL; - } -#endif - - return re; -} - - -/** - * @brief Match \p str to pre-compiled regex \p re - * @returns 1 on match, else 0 - */ -int rd_regex_exec (rd_regex_t *re, const char *str) { -#if HAVE_REGEX - return regexec(&re->re, str, 0, NULL, 0) != REG_NOMATCH; -#else - return !re_regexec(re->re, str, NULL, 0); -#endif -} - - -/** - * @brief Perform regex match of \p str using regex \p pattern. - * - * @returns 1 on match, 0 on non-match or -1 on regex compilation error - * in which case a human readable error string is written to - * \p errstr (if not NULL). - */ -int rd_regex_match (const char *pattern, const char *str, - char *errstr, size_t errstr_size) { -#if HAVE_REGEX /* use libc regex */ - regex_t re; - int r; - - /* FIXME: cache compiled regex */ - r = regcomp(&re, pattern, REG_EXTENDED|REG_NOSUB); - if (r) { - if (errstr) - regerror(r, &re, errstr, errstr_size); - return 0; - } - - r = regexec(&re, str, 0, NULL, 0) != REG_NOMATCH; - - regfree(&re); - - return r; - -#else /* Using regexp.h from minilibs (included) */ - Reprog *re; - int r; - const char *errstr2; - - /* FIXME: cache compiled regex */ - re = re_regcomp(pattern, 0, &errstr2); - if (!re) { - if (errstr) { - strncpy(errstr, errstr2, errstr_size-1); - errstr[errstr_size-1] = '\0'; - } - return -1; - } - - r = !re_regexec(re, str, NULL, 0); - - re_regfree(re); - - return r; -#endif -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdregex.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdregex.h b/thirdparty/librdkafka-0.11.1/src/rdregex.h deleted file mode 100644 index 9569af3..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdregex.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * librdkafka - The Apache Kafka C/C++ library - * - * Copyright (c) 2016 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#pragma once - -typedef struct rd_regex_s rd_regex_t; - -void rd_regex_destroy (rd_regex_t *re); -rd_regex_t *rd_regex_comp (const char *pattern, char *errstr, size_t errstr_size); -int rd_regex_exec (rd_regex_t *re, const char *str); - -int rd_regex_match (const char *pattern, const char *str, - char *errstr, size_t errstr_size); http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdsignal.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdsignal.h b/thirdparty/librdkafka-0.11.1/src/rdsignal.h deleted file mode 100644 index f816855..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdsignal.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * librd - Rapid Development C library - * - * Copyright (c) 2012-2013, Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - -#include <signal.h> - -#define RD_SIG_ALL -1 -#define RD_SIG_END -2 - -extern sigset_t rd_intr_sigset; -extern int rd_intr_blocked; - -static __inline void rd_intr_block (void) RD_UNUSED; -static __inline void rd_intr_block (void) { - if (rd_intr_blocked++) - return; - - sigprocmask(SIG_BLOCK, &rd_intr_sigset, NULL); -} - -static __inline void rd_intr_unblock (void) RD_UNUSED; -static __inline void rd_intr_unblock (void) { - assert(rd_intr_blocked > 0); - if (--rd_intr_blocked) - return; - - sigprocmask(SIG_UNBLOCK, &rd_intr_sigset, NULL); -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdstring.c ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdstring.c b/thirdparty/librdkafka-0.11.1/src/rdstring.c deleted file mode 100644 index 89e9b3c..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdstring.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * librdkafka - The Apache Kafka C/C++ library - * - * Copyright (c) 2016 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -#include "rd.h" -#include "rdstring.h" - -/** - * @brief Render string \p template using \p callback for key lookups. - * - * Keys in template follow the %{keyname} syntax. - * - * The \p callback must not write more than \p size bytes to \p buf, must - * should return the number of bytes it wanted to write (which will indicate - * a truncated write). - * If the key is not found -1 should be returned (which fails the rendering). - * - * @returns number of written bytes to \p dest, - * or -1 on failure (errstr is written) - */ -char *rd_string_render (const char *template, - char *errstr, size_t errstr_size, - ssize_t (*callback) (const char *key, - char *buf, size_t size, - void *opaque), - void *opaque) { - const char *s = template; - const char *tend = template + strlen(template); - size_t size = 256; - char *buf; - size_t of = 0; - - buf = rd_malloc(size); - -#define _remain() (size - of - 1) -#define _assure_space(SZ) do { \ - if (of + (SZ) + 1 >= size) { \ - size = (size + (SZ) + 1) * 2; \ - buf = realloc(buf, size); \ - } \ - } while (0) - -#define _do_write(PTR,SZ) do { \ - _assure_space(SZ); \ - memcpy(buf+of, (PTR), (SZ)); \ - of += (SZ); \ - } while (0) - - - - while (*s) { - const char *t; - size_t tof = (size_t)(s-template); - - t = strstr(s, "%{"); - if (t != s) { - /* Write "abc%{" - * ^^^ */ - size_t len = (size_t)((t ? t : tend)-s); - if (len) - _do_write(s, len); - } - - if (t) { - const char *te; - ssize_t r; - char *tmpkey; - - /* Find "abc%{key}" - * ^ */ - te = strchr(t+2, '}'); - if (!te) { - rd_snprintf(errstr, errstr_size, - "Missing close-brace } for " - "%.*s at %"PRIusz, - 15, t, tof); - rd_free(buf); - return NULL; - } - - rd_strndupa(&tmpkey, t+2, (int)(te-t-2)); - - /* Query callback for length of key's value. */ - r = callback(tmpkey, NULL, 0, opaque); - if (r == -1) { - rd_snprintf(errstr, errstr_size, - "Property not available: \"%s\"", - tmpkey); - rd_free(buf); - return NULL; - } - - _assure_space(r); - - /* Call again now providing a large enough buffer. */ - r = callback(tmpkey, buf+of, _remain(), opaque); - if (r == -1) { - rd_snprintf(errstr, errstr_size, - "Property not available: " - "\"%s\"", tmpkey); - rd_free(buf); - return NULL; - } - - assert(r < (ssize_t)_remain()); - of += r; - s = te+1; - - } else { - s = tend; - } - } - - buf[of] = '\0'; - return buf; -} - - - - -void rd_strtup_destroy (rd_strtup_t *strtup) { - rd_free(strtup); -} - -rd_strtup_t *rd_strtup_new (const char *name, const char *value) { - size_t name_sz = strlen(name) + 1; - size_t value_sz = strlen(value) + 1; - rd_strtup_t *strtup; - - strtup = rd_malloc(sizeof(*strtup) + - name_sz + value_sz - 1/*name[1]*/); - memcpy(strtup->name, name, name_sz); - strtup->value = &strtup->name[name_sz]; - memcpy(strtup->value, value, value_sz); - - return strtup; -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdstring.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdstring.h b/thirdparty/librdkafka-0.11.1/src/rdstring.h deleted file mode 100644 index 154bc3d..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdstring.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * librdkafka - The Apache Kafka C/C++ library - * - * Copyright (c) 2017 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -#pragma once - - - -char *rd_string_render (const char *templ, - char *errstr, size_t errstr_size, - ssize_t (*callback) (const char *key, - char *buf, size_t size, - void *opaque), - void *opaque); - - - -/** - * @brief An immutable string tuple (name, value) in a single allocation. - */ -typedef struct rd_strtup_s { - char *value; - char name[1]; /* Actual allocation of name + val here */ -} rd_strtup_t; - -void rd_strtup_destroy (rd_strtup_t *strtup); -rd_strtup_t *rd_strtup_new (const char *name, const char *value); http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdsysqueue.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdsysqueue.h b/thirdparty/librdkafka-0.11.1/src/rdsysqueue.h deleted file mode 100644 index 9acfdfd..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdsysqueue.h +++ /dev/null @@ -1,330 +0,0 @@ -/* - * librd - Rapid Development C library - * - * Copyright (c) 2012-2013, Magnus Edenhill - * Copyright (c) 2012-2013, Andreas Ãman - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -/* - - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - -#include "queue.h" - -/* - * Complete missing LIST-ops - */ - -#ifndef LIST_FOREACH -#define LIST_FOREACH(var, head, field) \ - for ((var) = ((head)->lh_first); \ - (var); \ - (var) = ((var)->field.le_next)) -#endif - -#ifndef LIST_EMPTY -#define LIST_EMPTY(head) ((head)->lh_first == NULL) -#endif - -#ifndef LIST_FIRST -#define LIST_FIRST(head) ((head)->lh_first) -#endif - -#ifndef LIST_NEXT -#define LIST_NEXT(elm, field) ((elm)->field.le_next) -#endif - -#ifndef LIST_INSERT_BEFORE -#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.le_prev = (listelm)->field.le_prev; \ - (elm)->field.le_next = (listelm); \ - *(listelm)->field.le_prev = (elm); \ - (listelm)->field.le_prev = &(elm)->field.le_next; \ -} while (/*CONSTCOND*/0) -#endif - -/* - * Complete missing TAILQ-ops - */ - -#ifndef TAILQ_HEAD_INITIALIZER -#define TAILQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).tqh_first } -#endif - -#ifndef TAILQ_INSERT_BEFORE -#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ - (elm)->field.tqe_next = (listelm); \ - *(listelm)->field.tqe_prev = (elm); \ - (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ -} while (0) -#endif - -#ifndef TAILQ_FOREACH -#define TAILQ_FOREACH(var, head, field) \ - for ((var) = ((head)->tqh_first); (var); (var) = ((var)->field.tqe_next)) -#endif - -#ifndef TAILQ_EMPTY -#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) -#endif - -#ifndef TAILQ_FIRST -#define TAILQ_FIRST(head) ((head)->tqh_first) -#endif - -#ifndef TAILQ_NEXT -#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) -#endif - -#ifndef TAILQ_LAST -#define TAILQ_LAST(head, headname) \ - (*(((struct headname *)((head)->tqh_last))->tqh_last)) -#endif - -#ifndef TAILQ_PREV -#define TAILQ_PREV(elm, headname, field) \ - (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) -#endif - -#ifndef TAILQ_FOREACH_SAFE -/* - * TAILQ_FOREACH_SAFE() provides a traversal where the current iterated element - * may be freed or unlinked. - * It does not allow freeing or modifying any other element in the list, - * at least not the next element. - */ -#define TAILQ_FOREACH_SAFE(elm,head,field,tmpelm) \ - for ((elm) = TAILQ_FIRST(head) ; \ - (elm) && ((tmpelm) = TAILQ_NEXT((elm), field), 1) ; \ - (elm) = (tmpelm)) -#endif - -/* - * In Mac OS 10.4 and earlier TAILQ_FOREACH_REVERSE was defined - * differently, redefined it. - */ -#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050 -#undef TAILQ_FOREACH_REVERSE -#endif -#endif - -#ifndef TAILQ_FOREACH_REVERSE -#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) -#endif - - -/** - * Treat the TAILQ as a circular list and return the previous/next entry, - * possibly wrapping to the end/beginning. - */ -#define TAILQ_CIRC_PREV(var, head, headname, field) \ - ((var) != TAILQ_FIRST(head) ? \ - TAILQ_PREV(var, headname, field) : \ - TAILQ_LAST(head, headname)) - -#define TAILQ_CIRC_NEXT(var, head, headname, field) \ - ((var) != TAILQ_LAST(head, headname) ? \ - TAILQ_NEXT(var, field) : \ - TAILQ_FIRST(head)) - -/* - * Some extra functions for LIST manipulation - */ - -#define LIST_INSERT_SORTED(head, elm, elmtype, field, cmpfunc) do { \ - if(LIST_EMPTY(head)) { \ - LIST_INSERT_HEAD(head, elm, field); \ - } else { \ - elmtype _tmp; \ - LIST_FOREACH(_tmp,head,field) { \ - if(cmpfunc(elm,_tmp) < 0) { \ - LIST_INSERT_BEFORE(_tmp,elm,field); \ - break; \ - } \ - if(!LIST_NEXT(_tmp,field)) { \ - LIST_INSERT_AFTER(_tmp,elm,field); \ - break; \ - } \ - } \ - } \ -} while(0) - -#ifndef TAILQ_INSERT_SORTED -#define TAILQ_INSERT_SORTED(head, elm, elmtype, field, cmpfunc) do { \ - if(TAILQ_FIRST(head) == NULL) { \ - TAILQ_INSERT_HEAD(head, elm, field); \ - } else { \ - elmtype _tmp; \ - TAILQ_FOREACH(_tmp,head,field) { \ - if(cmpfunc(elm,_tmp) < 0) { \ - TAILQ_INSERT_BEFORE(_tmp,elm,field); \ - break; \ - } \ - if(!TAILQ_NEXT(_tmp,field)) { \ - TAILQ_INSERT_AFTER(head,_tmp,elm,field); \ - break; \ - } \ - } \ - } \ -} while(0) -#endif - -#define TAILQ_MOVE(newhead, oldhead, field) do { \ - if(TAILQ_FIRST(oldhead)) { \ - TAILQ_FIRST(oldhead)->field.tqe_prev = &(newhead)->tqh_first; \ - (newhead)->tqh_first = (oldhead)->tqh_first; \ - (newhead)->tqh_last = (oldhead)->tqh_last; \ - TAILQ_INIT(oldhead); \ - } else \ - TAILQ_INIT(newhead); \ - } while (/*CONSTCOND*/0) - -#ifndef TAILQ_CONCAT -#define TAILQ_CONCAT(dhead, shead, field) do { \ - if (!TAILQ_EMPTY(shead)) { \ - *(dhead)->tqh_last = (shead)->tqh_first; \ - (shead)->tqh_first->field.tqe_prev = \ - (dhead)->tqh_last; \ - (dhead)->tqh_last = (shead)->tqh_last; \ - TAILQ_INIT((shead)); \ - } \ - } while (0) -#endif - -#ifndef SIMPLEQ_HEAD -#define SIMPLEQ_HEAD(name, type) \ -struct name { \ -struct type *sqh_first; \ -struct type **sqh_last; \ -} -#endif - -#ifndef SIMPLEQ_ENTRY -#define SIMPLEQ_ENTRY(type) \ -struct { \ -struct type *sqe_next; \ -} -#endif - -#ifndef SIMPLEQ_FIRST -#define SIMPLEQ_FIRST(head) ((head)->sqh_first) -#endif - -#ifndef SIMPLEQ_REMOVE_HEAD -#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ -if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ -(head)->sqh_last = &(head)->sqh_first; \ -} while (0) -#endif - -#ifndef SIMPLEQ_INSERT_TAIL -#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ -(elm)->field.sqe_next = NULL; \ -*(head)->sqh_last = (elm); \ -(head)->sqh_last = &(elm)->field.sqe_next; \ -} while (0) -#endif - -#ifndef SIMPLEQ_INIT -#define SIMPLEQ_INIT(head) do { \ -(head)->sqh_first = NULL; \ -(head)->sqh_last = &(head)->sqh_first; \ -} while (0) -#endif - -#ifndef SIMPLEQ_INSERT_HEAD -#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ -if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ -(head)->sqh_last = &(elm)->field.sqe_next; \ -(head)->sqh_first = (elm); \ -} while (0) -#endif - -#ifndef SIMPLEQ_FOREACH -#define SIMPLEQ_FOREACH(var, head, field) \ -for((var) = SIMPLEQ_FIRST(head); \ -(var) != SIMPLEQ_END(head); \ -(var) = SIMPLEQ_NEXT(var, field)) -#endif - -#ifndef SIMPLEQ_INSERT_AFTER -#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ -if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL) \ -(head)->sqh_last = &(elm)->field.sqe_next; \ -(listelm)->field.sqe_next = (elm); \ -} while (0) -#endif - -#ifndef SIMPLEQ_END -#define SIMPLEQ_END(head) NULL -#endif - -#ifndef SIMPLEQ_NEXT -#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) -#endif - -#ifndef SIMPLEQ_HEAD_INITIALIZER -#define SIMPLEQ_HEAD_INITIALIZER(head) \ -{ NULL, &(head).sqh_first } -#endif - -#ifndef SIMPLEQ_EMPTY -#define SIMPLEQ_EMPTY(head) (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head)) -#endif - - - - - http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdtime.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdtime.h b/thirdparty/librdkafka-0.11.1/src/rdtime.h deleted file mode 100644 index c770b04..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdtime.h +++ /dev/null @@ -1,175 +0,0 @@ -/* - * librd - Rapid Development C library - * - * Copyright (c) 2012, Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - - -#ifndef TIMEVAL_TO_TIMESPEC -#define TIMEVAL_TO_TIMESPEC(tv,ts) do { \ - (ts)->tv_sec = (tv)->tv_sec; \ - (ts)->tv_nsec = (tv)->tv_usec * 1000; \ - } while (0) - -#define TIMESPEC_TO_TIMEVAL(tv, ts) do { \ - (tv)->tv_sec = (ts)->tv_sec; \ - (tv)->tv_usec = (ts)->tv_nsec / 1000; \ - } while (0) -#endif - -#define TIMESPEC_TO_TS(ts) \ - (((rd_ts_t)(ts)->tv_sec * 1000000LLU) + ((ts)->tv_nsec / 1000)) - -#define TS_TO_TIMESPEC(ts,tsx) do { \ - (ts)->tv_sec = (tsx) / 1000000; \ - (ts)->tv_nsec = ((tsx) % 1000000) * 1000; \ - if ((ts)->tv_nsec >= 1000000000LLU) { \ - (ts)->tv_sec++; \ - (ts)->tv_nsec -= 1000000000LLU; \ - } \ - } while (0) - -#define TIMESPEC_CLEAR(ts) ((ts)->tv_sec = (ts)->tv_nsec = 0LLU) - - -#define RD_POLL_INFINITE -1 -#define RD_POLL_NOWAIT 0 - - -/** - * @returns a monotonically increasing clock in microseconds. - * @remark There is no monotonic clock on OSX, the system time - * is returned instead. - */ -static RD_INLINE rd_ts_t rd_clock (void) RD_UNUSED; -static RD_INLINE rd_ts_t rd_clock (void) { -#ifdef __APPLE__ - /* No monotonic clock on Darwin */ - struct timeval tv; - gettimeofday(&tv, NULL); - return ((rd_ts_t)tv.tv_sec * 1000000LLU) + (rd_ts_t)tv.tv_usec; -#elif defined(_MSC_VER) - return (rd_ts_t)GetTickCount64() * 1000LLU; -#else - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return ((rd_ts_t)ts.tv_sec * 1000000LLU) + - ((rd_ts_t)ts.tv_nsec / 1000LLU); -#endif -} - - -/** - * @returns UTC wallclock time as number of microseconds since - * beginning of the epoch. - */ -static RD_INLINE RD_UNUSED rd_ts_t rd_uclock (void) { - struct timeval tv; - rd_gettimeofday(&tv, NULL); - return ((rd_ts_t)tv.tv_sec * 1000000LLU) + (rd_ts_t)tv.tv_usec; -} - - - -/** - * Thread-safe version of ctime() that strips the trailing newline. - */ -static RD_INLINE const char *rd_ctime (const time_t *t) RD_UNUSED; -static RD_INLINE const char *rd_ctime (const time_t *t) { - static RD_TLS char ret[27]; - -#ifndef _MSC_VER - ctime_r(t, ret); -#else - ctime_s(ret, sizeof(ret), t); -#endif - ret[25] = '\0'; - - return ret; -} - - -/** - * @brief Initialize an absolute timeout based on the provided \p timeout_ms - * - * To be used with rd_timeout_adjust(). - * - * Honours RD_POLL_INFINITE, RD_POLL_NOWAIT. - * - * @returns the absolute timeout which should later be passed - * to rd_timeout_adjust(). - */ -static RD_INLINE rd_ts_t rd_timeout_init (int timeout_ms) { - if (timeout_ms == RD_POLL_INFINITE || - timeout_ms == RD_POLL_NOWAIT) - return timeout_ms; - - return rd_clock() + (timeout_ms * 1000); -} - - -/** - * @returns the remaining timeout for timeout \p abs_timeout previously set - * up by rd_timeout_init() - * - * Honours RD_POLL_INFINITE, RD_POLL_NOWAIT. - */ -static RD_INLINE int rd_timeout_remains (rd_ts_t abs_timeout) { - int timeout_ms; - - if (abs_timeout == RD_POLL_INFINITE || - abs_timeout == RD_POLL_NOWAIT) - return (int)abs_timeout; - - timeout_ms = (int)((abs_timeout - rd_clock()) / 1000); - if (timeout_ms <= 0) - return RD_POLL_NOWAIT; - else - return timeout_ms; -} - -/** - * @brief Like rd_timeout_remains() but limits the maximum time to \p limit_ms - */ -static RD_INLINE int -rd_timeout_remains_limit (rd_ts_t abs_timeout, int limit_ms) { - int timeout_ms = rd_timeout_remains(abs_timeout); - - if (timeout_ms == RD_POLL_INFINITE || timeout_ms > limit_ms) - return limit_ms; - else - return timeout_ms; -} - - -/** - * @returns 1 if the **relative** timeout as returned by rd_timeout_remains() - * has timed out / expired, else 0. - */ -static RD_INLINE int rd_timeout_expired (int timeout_ms) { - return timeout_ms == RD_POLL_NOWAIT; -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdtypes.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdtypes.h b/thirdparty/librdkafka-0.11.1/src/rdtypes.h deleted file mode 100644 index 0206079..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdtypes.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * librd - Rapid Development C library - * - * Copyright (c) 2012, Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - -#include <inttypes.h> - - -/* - * Fundamental types - */ - - -/* Timestamp (microseconds) */ -typedef int64_t rd_ts_t; - -#define RD_TS_MAX INT64_MAX http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdunittest.c ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdunittest.c b/thirdparty/librdkafka-0.11.1/src/rdunittest.c deleted file mode 100644 index b1c802e..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdunittest.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * librdkafka - Apache Kafka C library - * - * Copyright (c) 2017 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "rd.h" -#include "rdunittest.h" - -#include "rdvarint.h" -#include "rdbuf.h" -#include "crc32c.h" - - -int rd_unittest (void) { - int fails = 0; - fails += unittest_rdbuf(); - fails += unittest_rdvarint(); - fails += unittest_crc32c(); - return fails; -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdunittest.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdunittest.h b/thirdparty/librdkafka-0.11.1/src/rdunittest.h deleted file mode 100644 index a8d29da..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdunittest.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * librdkafka - Apache Kafka C library - * - * Copyright (c) 2017 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _RD_UNITTEST_H -#define _RD_UNITTEST_H - -#include <stdio.h> - - -/** - * @brief Fail the current unit-test function. - */ -#define RD_UT_FAIL(...) do { \ - fprintf(stderr, "\033[31mRDUT: FAIL: %s:%d: %s: ", \ - __FILE__, __LINE__, __FUNCTION__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\033[0m\n"); \ - return 1; \ - } while (0) - -/** - * @brief Pass the current unit-test function - */ -#define RD_UT_PASS() do { \ - fprintf(stderr, "\033[32mRDUT: PASS: %s:%d: %s\033[0m\n", \ - __FILE__, __LINE__, __FUNCTION__); \ - return 0; \ - } while (0) - -/** - * @brief Fail unit-test if \p expr is false - */ -#define RD_UT_ASSERT(expr,...) do { \ - if (!(expr)) { \ - fprintf(stderr, \ - "\033[31mRDUT: FAIL: %s:%d: %s: assert failed: " # expr ": ", \ - __FILE__, __LINE__, __FUNCTION__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\033[0m\n"); \ - return 1; \ - } \ - } while (0) - - -/** - * @brief Log something from a unit-test - */ -#define RD_UT_SAY(...) do { \ - fprintf(stderr, "RDUT: INFO: %s:%d: %s: ", \ - __FILE__, __LINE__, __FUNCTION__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\n"); \ - } while (0) - - -int rd_unittest (void); - -#endif /* _RD_UNITTEST_H */ http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdvarint.c ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdvarint.c b/thirdparty/librdkafka-0.11.1/src/rdvarint.c deleted file mode 100644 index cd7699b..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdvarint.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * librdkafka - The Apache Kafka C/C++ library - * - * Copyright (c) 2016 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -#include "rdvarint.h" -#include "rdunittest.h" - - -/** - * @brief Read a varint-encoded signed integer from \p slice. - */ -size_t rd_varint_dec_slice (rd_slice_t *slice, int64_t *nump) { - size_t num = 0; - int shift = 0; - unsigned char oct; - - /* FIXME: Optimize to use something better than read() */ - do { - size_t r = rd_slice_read(slice, &oct, sizeof(oct)); - if (unlikely(r == 0)) - return 0; /* Underflow */ - num |= (uint64_t)(oct & 0x7f) << shift; - shift += 7; - } while (oct & 0x80); - - *nump = (int64_t)((num >> 1) ^ -(int64_t)(num & 1)); - - return shift / 7; -} - - - - - -static int do_test_rd_uvarint_enc_i64 (const char *file, int line, - int64_t num, const char *exp, - size_t exp_size) { - char buf[16] = { 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff }; - size_t sz = rd_uvarint_enc_i64(buf, sizeof(buf), num); - size_t r; - int ir; - rd_buf_t b; - rd_slice_t slice, bad_slice; - int64_t ret_num; - - if (sz != exp_size || memcmp(buf, exp, exp_size)) - RD_UT_FAIL("i64 encode of %"PRId64": " - "expected size %"PRIusz" (got %"PRIusz")\n", - num, exp_size, sz); - - /* Verify with standard decoder */ - r = rd_varint_dec_i64(buf, sz, &ret_num); - RD_UT_ASSERT(!RD_UVARINT_DEC_FAILED(r), - "varint decode failed: %"PRIusz, r); - RD_UT_ASSERT(ret_num == num, - "varint decode returned wrong number: " - "%"PRId64" != %"PRId64, ret_num, num); - - /* Verify with slice decoder */ - rd_buf_init(&b, 1, 0); - rd_buf_push(&b, buf, sz, NULL); - rd_slice_init_full(&slice, &b); - - /* Should fail for incomplete reads */ - ir = rd_slice_narrow_copy(&slice, &bad_slice, - rd_slice_remains(&slice)-1); - RD_UT_ASSERT(ir, "narrow_copy failed"); - ret_num = -1; - r = rd_varint_dec_slice(&bad_slice, &ret_num); - RD_UT_ASSERT(RD_UVARINT_DEC_FAILED(r), - "varint decode failed should have failed, returned %"PRIusz, - r); - - /* Verify proper slice */ - ret_num = -1; - r = rd_varint_dec_slice(&slice, &ret_num); - RD_UT_ASSERT(!RD_UVARINT_DEC_FAILED(r), - "varint decode failed: %"PRIusz, r); - RD_UT_ASSERT(ret_num == num, - "varint decode returned wrong number: " - "%"PRId64" != %"PRId64, ret_num, num); - - rd_buf_destroy(&b); - - RD_UT_PASS(); -} - - -int unittest_rdvarint (void) { - int fails = 0; - - fails += do_test_rd_uvarint_enc_i64(__FILE__, __LINE__, 23, - (const char[]){ 23<<1 }, 1); - fails += do_test_rd_uvarint_enc_i64(__FILE__, __LINE__, 253, - (const char[]){ 0xfa, 3 }, 2); - - return fails; -} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdvarint.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdvarint.h b/thirdparty/librdkafka-0.11.1/src/rdvarint.h deleted file mode 100644 index 407bfb0..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdvarint.h +++ /dev/null @@ -1,169 +0,0 @@ -/* - * librdkafka - The Apache Kafka C/C++ library - * - * Copyright (c) 2016 Magnus Edenhill - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef _RDVARINT_H -#define _RDVARINT_H - -#include "rd.h" -#include "rdbuf.h" - -/** - * @name signed varint zig-zag encoder/decoder - * @{ - * - */ - -/** - * @brief unsigned-varint encodes unsigned integer \p num into buffer - * at \p dst of size \p dstsize. - * @returns the number of bytes written to \p dst, or 0 if not enough space. - */ - -static RD_INLINE RD_UNUSED -size_t rd_uvarint_enc_u64 (char *dst, size_t dstsize, uint64_t num) { - size_t of = 0; - - do { - if (unlikely(of >= dstsize)) - return 0; /* Not enough space */ - - dst[of++] = (num & 0x7f) | (num > 0x7f ? 0x80 : 0); - num >>= 7; - } while (num); - - return of; -} - -/** - * @brief encodes a signed integer using zig-zag encoding. - * @sa rd_uvarint_enc_u64 - */ -static RD_INLINE RD_UNUSED -size_t rd_uvarint_enc_i64 (char *dst, size_t dstsize, int64_t num) { - return rd_uvarint_enc_u64(dst, dstsize, (num << 1) ^ (num >> 63)); -} - - -static RD_INLINE RD_UNUSED -size_t rd_uvarint_enc_i32 (char *dst, size_t dstsize, int32_t num) { - return rd_uvarint_enc_i64(dst, dstsize, num); -} - - - -/** - * @brief Use on return value from rd_uvarint_dec() to check if - * decoded varint fit the size_t. - * - * @returns 1 on overflow, else 0. - */ -#define RD_UVARINT_OVERFLOW(DEC_RETVAL) (DEC_RETVAL > SIZE_MAX) - -/** - * @returns 1 if there were not enough bytes to decode the varint, else 0. - */ -#define RD_UVARINT_UNDERFLOW(DEC_RETVAL) (DEC_RETVAL == 0) - - -/** - * @param DEC_RETVAL the return value from \c rd_uvarint_dec() - * @returns 1 if varint decoding failed, else 0. - * @warning \p DEC_RETVAL will be evaluated twice. - */ -#define RD_UVARINT_DEC_FAILED(DEC_RETVAL) \ - (RD_UVARINT_UNDERFLOW(DEC_RETVAL) || RD_UVARINT_OVERFLOW(DEC_RETVAL)) - - -/** - * @brief Decodes the unsigned-varint in buffer \p src of size \p srcsize - * and stores the decoded unsigned integer in \p nump. - * - * @remark Use RD_UVARINT_OVERFLOW(returnvalue) to check if the varint - * could not fit \p nump, and RD_UVARINT_UNDERFLOW(returnvalue) to - * check if there were not enough bytes available in \p src to - * decode the full varint. - * - * @returns the number of bytes read from \p src. - */ -static RD_INLINE RD_UNUSED -size_t rd_uvarint_dec (const char *src, size_t srcsize, size_t *nump) { - size_t of = 0; - size_t num = 0; - int shift = 0; - - do { - if (unlikely(srcsize-- == 0)) - return 0; /* Underflow */ - num |= (uint64_t)(src[(int)of] & 0x7f) << shift; - shift += 7; - } while (src[(int)of++] & 0x80); - - *nump = num; - return of; -} - -static RD_INLINE RD_UNUSED -size_t rd_varint_dec_i64 (const char *src, size_t srcsize, int64_t *nump) { - size_t n; - size_t r; - - r = rd_uvarint_dec(src, srcsize, &n); - if (likely(!RD_UVARINT_DEC_FAILED(r))) - *nump = (int64_t)(n >> 1) ^ -(int64_t)(n & 1); - - return r; -} - - -/** - * @brief Read a varint-encoded signed integer from \p slice. - * - * @sa rd_uvarint_dec() - */ -size_t rd_varint_dec_slice (rd_slice_t *slice, int64_t *nump); - - -/** - * @returns the maximum encoded size for a type - */ -#define RD_UVARINT_ENC_SIZEOF(TYPE) \ - (sizeof(TYPE) + 1 + (sizeof(TYPE)/7)) - -/** - * @returns the encoding size of the value 0 - */ -#define RD_UVARINT_ENC_SIZE_0() 1 - - -int unittest_rdvarint (void); - -/**@}*/ - - -#endif /* _RDVARINT_H */ http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src/rdwin32.h ---------------------------------------------------------------------- diff --git a/thirdparty/librdkafka-0.11.1/src/rdwin32.h b/thirdparty/librdkafka-0.11.1/src/rdwin32.h deleted file mode 100644 index dfd16d1..0000000 --- a/thirdparty/librdkafka-0.11.1/src/rdwin32.h +++ /dev/null @@ -1,262 +0,0 @@ -/* -* librdkafka - Apache Kafka C library -* -* Copyright (c) 2012-2015 Magnus Edenhill -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* -* 1. Redistributions of source code must retain the above copyright notice, -* this list of conditions and the following disclaimer. -* 2. Redistributions in binary form must reproduce the above copyright notice, -* this list of conditions and the following disclaimer in the documentation -* and/or other materials provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. -*/ - -/** - * Win32 (Visual Studio) support - */ -#pragma once - - -#include <stdlib.h> -#include <inttypes.h> -#include <sys/types.h> -#include <time.h> -#include <assert.h> -#define WIN32_MEAN_AND_LEAN -#include <Winsock2.h> /* for struct timeval */ -#include <io.h> -#include <fcntl.h> - - -/** - * Types - */ -typedef SSIZE_T ssize_t; -typedef int socklen_t; - -struct iovec { - void *iov_base; - size_t iov_len; -}; - -struct msghdr { - struct iovec *msg_iov; - int msg_iovlen; -}; - -#define LOG_EMERG 0 -#define LOG_ALERT 1 -#define LOG_CRIT 2 -#define LOG_ERR 3 -#define LOG_WARNING 4 -#define LOG_NOTICE 5 -#define LOG_INFO 6 -#define LOG_DEBUG 7 - - - -/** -* Annotations, attributes, optimizers -*/ -#ifndef likely -#define likely(x) x -#endif -#ifndef unlikely -#define unlikely(x) x -#endif - -#define RD_UNUSED -#define RD_INLINE __inline -#define RD_WARN_UNUSED_RESULT -#define RD_NORETURN __declspec(noreturn) -#define RD_IS_CONSTANT(p) (0) -#define RD_TLS __declspec(thread) - - -/** - * Allocation - */ -#define rd_alloca(N) _alloca(N) - - -/** - * Strings, formatting, printf, .. - */ - -/* size_t and ssize_t format strings */ -#define PRIusz "Iu" -#define PRIdsz "Id" - -#define RD_FORMAT(...) - -static RD_UNUSED RD_INLINE -int rd_vsnprintf (char *str, size_t size, const char *format, va_list ap) { - int cnt = -1; - - if (size != 0) - cnt = _vsnprintf_s(str, size, _TRUNCATE, format, ap); - if (cnt == -1) - cnt = _vscprintf(format, ap); - - return cnt; -} - -static RD_UNUSED RD_INLINE -int rd_snprintf (char *str, size_t size, const char *format, ...) { - int cnt; - va_list ap; - - va_start(ap, format); - cnt = rd_vsnprintf(str, size, format, ap); - va_end(ap); - - return cnt; -} - - -#define rd_strcasecmp(A,B) _stricmp(A,B) -#define rd_strncasecmp(A,B,N) _strnicmp(A,B,N) - - -/** - * Errors - */ -static RD_INLINE RD_UNUSED const char *rd_strerror(int err) { - static RD_TLS char ret[128]; - - strerror_s(ret, sizeof(ret) - 1, err); - return ret; -} - - -/** - * Atomics - */ -#ifndef __cplusplus -#include "rdatomic.h" -#endif - - -/** - * Misc - */ - -/** - * Microsecond sleep. - * 'retry': if true, retry if sleep is interrupted (because of signal) - */ -#define rd_usleep(usec,terminate) Sleep((usec) / 1000) - - -/** - * @brief gettimeofday() for win32 - */ -static RD_UNUSED -int rd_gettimeofday (struct timeval *tv, struct timezone *tz) { - SYSTEMTIME st; - FILETIME ft; - ULARGE_INTEGER d; - - GetSystemTime(&st); - SystemTimeToFileTime(&st, &ft); - d.HighPart = ft.dwHighDateTime; - d.LowPart = ft.dwLowDateTime; - tv->tv_sec = (long)((d.QuadPart - 116444736000000000llu) / 10000000L); - tv->tv_usec = (long)(st.wMilliseconds * 1000); - - return 0; -} - - -#define rd_assert(EXPR) assert(EXPR) - - -/** - * Empty struct initializer - */ -#define RD_ZERO_INIT {0} - -#ifndef __cplusplus -/** - * Sockets, IO - */ - -/** - * @brief Set socket to non-blocking - * @returns 0 on success or -1 on failure (see rd_kafka_socket_errno) - */ -static RD_UNUSED int rd_fd_set_nonblocking (int fd) { - int on = 1; - if (ioctlsocket(fd, FIONBIO, &on) == SOCKET_ERROR) - return (int)WSAGetLastError(); - return 0; -} - -/** - * @brief Create non-blocking pipe - * @returns 0 on success or errno on failure - */ -static RD_UNUSED int rd_pipe_nonblocking (int *fds) { - HANDLE h[2]; - int i; - - if (!CreatePipe(&h[0], &h[1], NULL, 0)) - return (int)GetLastError(); - for (i = 0 ; i < 2 ; i++) { - DWORD mode = PIPE_NOWAIT; - /* Set non-blocking */ - if (!SetNamedPipeHandleState(h[i], &mode, NULL, NULL)) { - CloseHandle(h[0]); - CloseHandle(h[1]); - return (int)GetLastError(); - } - - /* Open file descriptor for handle */ - fds[i] = _open_osfhandle((intptr_t)h[i], - i == 0 ? - O_RDONLY | O_BINARY : - O_WRONLY | O_BINARY); - - if (fds[i] == -1) { - CloseHandle(h[0]); - CloseHandle(h[1]); - return (int)GetLastError(); - } - } - return 0; -} - -#define rd_read(fd,buf,sz) _read(fd,buf,sz) -#define rd_write(fd,buf,sz) _write(fd,buf,sz) -#define rd_close(fd) closesocket(fd) - -static RD_UNUSED char * -rd_strerror_w32 (DWORD errcode, char *dst, size_t dstsize) { - char *t; - FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, errcode, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPSTR)dst, (DWORD)dstsize - 1, NULL); - /* Remove newlines */ - while ((t = strchr(dst, (int)'\r')) || (t = strchr(dst, (int)'\n'))) - *t = (char)'.'; - return dst; -} - -#endif /* !__cplusplus*/
