You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ph...@apache.org on 2018/06/06 14:15:12 UTC
[44/51] [partial] nifi-minifi-cpp git commit: MINIFICPP-512 - upgrade
to librdkafka 0.11.4
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.nuspec
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.nuspec b/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.nuspec
deleted file mode 100644
index f48e523..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.nuspec
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
- <metadata>
- <id>librdkafka.redist</id>
- <version>${version}</version>
- <title>librdkafka - redistributable</title>
- <authors>Magnus Edenhill, edenhill</authors>
- <owners>Magnus Edenhill, edenhill</owners>
- <requireLicenseAcceptance>false</requireLicenseAcceptance>
- <licenseUrl>https://github.com/edenhill/librdkafka/blob/master/LICENSES.txt</licenseUrl>
- <projectUrl>https://github.com/edenhill/librdkafka</projectUrl>
- <description>The Apache Kafka C/C++ client library - redistributable</description>
- <summary>The Apache Kafka C/C++ client library</summary>
- <releaseNotes>Release of librdkafka</releaseNotes>
- <copyright>Copyright 2012-2017</copyright>
- <tags>native apache kafka librdkafka C C++ nativepackage</tags>
- </metadata>
- <files>
- <file src="**" />
- </files>
-</package>
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.props
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.props b/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.props
deleted file mode 100644
index 0b96886..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.props
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Content Include="$(MSBuildThisFileDirectory)..\..\runtimes\win7-x86\native\*">
- <Link>x86\%(Filename)%(Extension)</Link>
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="$(MSBuildThisFileDirectory)..\..\runtimes\win7-x64\native\*">
- <Link>x64\%(Filename)%(Extension)</Link>
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- </ItemDefinitionGroup>
-</Project>
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.targets
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.targets b/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.targets
deleted file mode 100644
index 4b5c9c4..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/nuget/templates/librdkafka.redist.targets
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemDefinitionGroup>
- <Link>
- <AdditionalDependencies Condition="'$(Platform)' == 'x64'">$(MSBuildThisFileDirectory)..\..\runtimes\win7-x64\native\librdkafka.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalDependencies Condition="'$(Platform)' != 'x64'">$(MSBuildThisFileDirectory)..\..\runtimes\win7-x86\native\librdkafka.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories Condition="'$(Platform)' == 'x64'">$(MSBuildThisFileDirectory)..\..\runtimes\win7-x64\native;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <AdditionalLibraryDirectories Condition="'$(Platform)' != 'x64'">$(MSBuildThisFileDirectory)..\..\runtimes\win7-x86\native;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Link>
- <ClCompile>
- <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup Condition="'$(Platform)' == 'x64'">
- <ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)..\..\runtimes\win7-x64\native\librdkafka.dll" />
- </ItemGroup>
- <ItemGroup Condition="'$(Platform)' != 'x64'">
- <ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)..\..\runtimes\win7-x86\native\librdkafka.dll" />
- </ItemGroup>
-</Project>
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/__init__.py
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/__init__.py b/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/__init__.py
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/zfile.py
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/zfile.py b/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/zfile.py
deleted file mode 100644
index 8616078..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/nuget/zfile/zfile.py
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import tarfile
-import zipfile
-import rpmfile
-
-class ZFile (object):
- def __init__(self, path, mode='r', ext=None):
- super(ZFile, self).__init__()
-
- if ext is not None:
- _ext = ext
- else:
- _ext = os.path.splitext(path)[-1]
- if _ext.startswith('.'):
- _ext = _ext[1:]
-
- if zipfile.is_zipfile(path) or _ext == 'zip':
- self.f = zipfile.ZipFile(path, mode)
- elif tarfile.is_tarfile(path) or _ext in ('tar', 'tgz', 'gz'):
- self.f = tarfile.open(path, mode)
- elif _ext == 'rpm':
- self.f = rpmfile.open(path, mode + 'b')
- else:
- raise ValueError('Unsupported file extension: %s' % path)
-
- def __enter__(self):
- return self
-
- def __exit__(self, *args):
- if callable(getattr(self.f, 'close', None)):
- self.f.close()
-
- def getnames(self):
- if isinstance(self.f, zipfile.ZipFile):
- return self.f.namelist()
- elif isinstance(self.f, tarfile.TarFile):
- return self.f.getnames()
- elif isinstance(self.f, rpmfile.RPMFile):
- return [x.name for x in self.f.getmembers()]
- else:
- raise NotImplementedError
-
- def headers(self):
- if isinstance(self.f, rpmfile.RPMFile):
- return self.f.headers
- else:
- return dict()
-
- def extract_to(self, member, path):
- """ Extract compress file's \p member to \p path
- If \p path is a directory the member's basename will used as
- filename, otherwise path is considered the full file path name. """
-
- if not os.path.isdir(os.path.dirname(path)):
- os.makedirs(os.path.dirname(path))
-
- if os.path.isdir(path):
- path = os.path.join(path, os.path.basename(member))
-
- with open(path, 'wb') as of:
- if isinstance(self.f, zipfile.ZipFile):
- zf = self.f.open(member)
- else:
- zf = self.f.extractfile(member)
-
- while True:
- b = zf.read(1024*100)
- if b:
- of.write(b)
- else:
- break
-
- zf.close()
-
-
- @classmethod
- def extract (cls, zpath, member, outpath):
- """
- Extract file member (full internal path) to output from
- archive zpath.
- """
-
- with ZFile(zpath) as zf:
- zf.extract_to(member, outpath)
-
-
- @classmethod
- def compress (cls, zpath, paths, stripcnt=0, ext=None):
- """
- Create new compressed file \p zpath containing files in \p paths
- """
-
- with ZFile(zpath, 'w', ext=ext) as zf:
- for p in paths:
- outp = os.path.sep.join(p.split(os.path.sep)[stripcnt:])
- print('zip %s to %s (stripcnt %d)' % (p, outp, stripcnt))
- zf.f.write(p, outp)
-
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/rpm/.gitignore
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/rpm/.gitignore b/thirdparty/librdkafka-0.11.1/packaging/rpm/.gitignore
deleted file mode 100644
index cf122d0..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/rpm/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.log
-available_pkgs
-installed_pkgs
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/rpm/Makefile
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/rpm/Makefile b/thirdparty/librdkafka-0.11.1/packaging/rpm/Makefile
deleted file mode 100644
index 5e949ca..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/rpm/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-PACKAGE_NAME?= librdkafka
-VERSION?= $(shell ../get_version.py ../../src/rdkafka.h)
-
-# Jenkins CI integration
-BUILD_NUMBER?= 1
-
-MOCK_CONFIG?=default
-
-RESULT_DIR?=pkgs-$(VERSION)-$(BUILD_NUMBER)-$(MOCK_CONFIG)
-
-all: rpm
-
-
-SOURCES:
- mkdir -p SOURCES
-
-archive: SOURCES
- cd ../../ && \
- git archive --prefix=$(PACKAGE_NAME)-$(VERSION)/ \
- -o packaging/rpm/SOURCES/$(PACKAGE_NAME)-$(VERSION).tar.gz HEAD
-
-
-build_prepare: archive
- mkdir -p $(RESULT_DIR)
- rm -f $(RESULT_DIR)/$(PACKAGE_NAME)*.rpm
-
-
-srpm: build_prepare
- /usr/bin/mock \
- -r $(MOCK_CONFIG) \
- --define "__version $(VERSION)" \
- --define "__release $(BUILD_NUMBER)" \
- --resultdir=$(RESULT_DIR) \
- --no-clean --no-cleanup-after \
- --buildsrpm \
- --spec=librdkafka.spec \
- --sources=SOURCES
- @echo "======= Source RPM now available in $(RESULT_DIR) ======="
-
-rpm: srpm
- /usr/bin/mock \
- -r $(MOCK_CONFIG) \
- --define "__version $(VERSION)"\
- --define "__release $(BUILD_NUMBER)"\
- --resultdir=$(RESULT_DIR) \
- --no-clean --no-cleanup-after \
- --rebuild $(RESULT_DIR)/$(PACKAGE_NAME)*.src.rpm
- @echo "======= Binary RPMs now available in $(RESULT_DIR) ======="
-
-copy-artifacts:
- cp $(RESULT_DIR)/*rpm ../../artifacts/
-
-clean:
- rm -rf SOURCES
- /usr/bin/mock -r $(MOCK_CONFIG) --clean
-
-distclean: clean
- rm -f build.log root.log state.log available_pkgs installed_pkgs \
- *.rpm *.tar.gz
-
-# Prepare ubuntu 14.04 for building RPMs with mock.
-# - older versions of mock needs the config file to reside in /etc/mock,
-# so we copy it there.
-# - add a mock system group (if not already exists)
-# - add the current user to the mock group.
-# - prepare mock environment with some needed packages.
-# NOTE: This target should be run with sudo.
-prepare_ubuntu:
- apt-get -qq update
- apt-get install -y -qq mock make git python-lzma
- cp *.cfg /etc/mock/
- addgroup --system mock || true
- adduser $$(whoami) mock
- /usr/bin/mock -r $(MOCK_CONFIG) --init
- /usr/bin/mock -r $(MOCK_CONFIG) --no-cleanup-after --install epel-release shadow-utils
-
-prepare_centos:
- yum install -y -q mock make git
- cp *.cfg /etc/mock/
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/rpm/el7-x86_64.cfg
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/rpm/el7-x86_64.cfg b/thirdparty/librdkafka-0.11.1/packaging/rpm/el7-x86_64.cfg
deleted file mode 100644
index 5022827..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/rpm/el7-x86_64.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
-config_opts['root'] = 'el7-x86_64'
-config_opts['target_arch'] = 'x86_64'
-config_opts['legal_host_arches'] = ('x86_64',)
-config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
-config_opts['dist'] = 'el7' # only useful for --resultdir variable subst
-config_opts['releasever'] = '7'
-config_opts['docker_unshare_warning'] = False
-config_opts['nosync'] = True
-
-config_opts['yum.conf'] = """
-[main]
-keepcache=1
-debuglevel=2
-reposdir=/dev/null
-logfile=/var/log/yum.log
-retries=15
-obsoletes=1
-gpgcheck=0
-assumeyes=1
-syslog_ident=mock
-syslog_device=
-mdpolicy=group:primary
-
-# repos
-[base]
-name=BaseOS
-mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os
-failovermethod=priority
-
-[updates]
-name=updates
-enabled=1
-mirrorlist=http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates
-failovermethod=priority
-
-[epel]
-name=epel
-mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=x86_64
-failovermethod=priority
-"""
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/packaging/rpm/librdkafka.spec
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/packaging/rpm/librdkafka.spec b/thirdparty/librdkafka-0.11.1/packaging/rpm/librdkafka.spec
deleted file mode 100644
index 8027acf..0000000
--- a/thirdparty/librdkafka-0.11.1/packaging/rpm/librdkafka.spec
+++ /dev/null
@@ -1,103 +0,0 @@
-Name: librdkafka
-Version: %{__version}
-Release: %{__release}%{?dist}
-%define soname 1
-
-Summary: The Apache Kafka C library
-Group: Development/Libraries/C and C++
-License: BSD-2-Clause
-URL: https://github.com/edenhill/librdkafka
-Source: librdkafka-%{version}.tar.gz
-
-BuildRequires: zlib-devel libstdc++-devel gcc >= 4.1 gcc-c++ openssl-devel cyrus-sasl-devel lz4-devel python
-BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
-
-%define _source_payload w9.gzdio
-%define _binary_payload w9.gzdio
-
-%description
-librdkafka is the C/C++ client library implementation of the Apache Kafka protocol, containing both Producer and Consumer support.
-
-
-%package -n %{name}%{soname}
-Summary: The Apache Kafka C library
-Group: Development/Libraries/C and C++
-Requires: zlib libstdc++ cyrus-sasl
-# openssl libraries were extract to openssl-libs in RHEL7
-%if 0%{?rhel} >= 7
-Requires: openssl-libs
-%else
-Requires: openssl
-%endif
-
-%description -n %{name}%{soname}
-librdkafka is the C/C++ client library implementation of the Apache Kafka protocol, containing both Producer and Consumer support.
-
-
-%package -n %{name}-devel
-Summary: The Apache Kafka C library (Development Environment)
-Group: Development/Libraries/C and C++
-Requires: %{name}%{soname} = %{version}
-
-%description -n %{name}-devel
-librdkafka is the C/C++ client library implementation of the Apache Kafka protocol, containing both Producer and Consumer support.
-
-This package contains headers and libraries required to build applications
-using librdkafka.
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%configure
-
-%build
-make
-
-%install
-rm -rf %{buildroot}
-DESTDIR=%{buildroot} make install
-
-%clean
-rm -rf %{buildroot}
-
-%post -n %{name}%{soname} -p /sbin/ldconfig
-%postun -n %{name}%{soname} -p /sbin/ldconfig
-
-%files -n %{name}%{soname}
-%defattr(444,root,root)
-%{_libdir}/librdkafka.so.%{soname}
-%{_libdir}/librdkafka++.so.%{soname}
-%defattr(-,root,root)
-%doc README.md CONFIGURATION.md INTRODUCTION.md
-%doc LICENSE LICENSE.pycrc LICENSE.queue LICENSE.snappy LICENSE.tinycthread LICENSE.wingetopt
-
-%defattr(-,root,root)
-#%{_bindir}/rdkafka_example
-#%{_bindir}/rdkafka_performance
-
-
-%files -n %{name}-devel
-%defattr(-,root,root)
-%{_includedir}/librdkafka
-%defattr(444,root,root)
-%{_libdir}/librdkafka.a
-%{_libdir}/librdkafka.so
-%{_libdir}/librdkafka++.a
-%{_libdir}/librdkafka++.so
-%{_libdir}/pkgconfig/rdkafka++.pc
-%{_libdir}/pkgconfig/rdkafka.pc
-
-
-%changelog
-* Thu Apr 09 2015 Eduard Iskandarov <e....@corp.mail.ru> 0.8.6-0
-- 0.8.6 simplify build process
-
-* Fri Oct 24 2014 Magnus Edenhill <rd...@edenhill.se> 0.8.5-0
-- 0.8.5 release
-
-* Mon Aug 18 2014 Magnus Edenhill <rd...@edenhill.se> 0.8.4-0
-- 0.8.4 release
-
-* Mon Mar 17 2014 Magnus Edenhill <vk...@edenhill.se> 0.8.3-0
-- Initial RPM package
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/CMakeLists.txt b/thirdparty/librdkafka-0.11.1/src-cpp/CMakeLists.txt
deleted file mode 100644
index bcbc4ae..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/CMakeLists.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-add_library(
- rdkafka++
- ConfImpl.cpp
- ConsumerImpl.cpp
- HandleImpl.cpp
- KafkaConsumerImpl.cpp
- MessageImpl.cpp
- MetadataImpl.cpp
- ProducerImpl.cpp
- QueueImpl.cpp
- RdKafka.cpp
- TopicImpl.cpp
- TopicPartitionImpl.cpp
-)
-
-target_link_libraries(rdkafka++ PUBLIC rdkafka)
-
-# Support '#include <rdkafcpp.h>'
-target_include_directories(rdkafka++ PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>")
-
-install(
- TARGETS rdkafka++
- EXPORT "${targets_export_name}"
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
-)
-
-install(
- FILES "rdkafkacpp.h"
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/librdkafka"
-)
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/ConfImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/ConfImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/ConfImpl.cpp
deleted file mode 100644
index 709c728..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/ConfImpl.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <iostream>
-#include <string>
-#include <list>
-
-#include "rdkafkacpp_int.h"
-
-
-
-RdKafka::ConfImpl::ConfResult RdKafka::ConfImpl::set(const std::string &name,
- const std::string &value,
- std::string &errstr) {
- rd_kafka_conf_res_t res;
- char errbuf[512];
-
- if (this->conf_type_ == CONF_GLOBAL)
- res = rd_kafka_conf_set(this->rk_conf_,
- name.c_str(), value.c_str(),
- errbuf, sizeof(errbuf));
- else
- res = rd_kafka_topic_conf_set(this->rkt_conf_,
- name.c_str(), value.c_str(),
- errbuf, sizeof(errbuf));
-
- if (res != RD_KAFKA_CONF_OK)
- errstr = errbuf;
-
- return static_cast<Conf::ConfResult>(res);
-}
-
-
-std::list<std::string> *RdKafka::ConfImpl::dump () {
-
- const char **arrc;
- size_t cnt;
- std::list<std::string> *arr;
-
- if (rk_conf_)
- arrc = rd_kafka_conf_dump(rk_conf_, &cnt);
- else
- arrc = rd_kafka_topic_conf_dump(rkt_conf_, &cnt);
-
- arr = new std::list<std::string>();
- for (int i = 0 ; i < static_cast<int>(cnt) ; i++)
- arr->push_back(std::string(arrc[i]));
-
- rd_kafka_conf_dump_free(arrc, cnt);
- return arr;
-}
-
-RdKafka::Conf *RdKafka::Conf::create (ConfType type) {
- ConfImpl *conf = new ConfImpl();
-
- conf->conf_type_ = type;
-
- if (type == CONF_GLOBAL)
- conf->rk_conf_ = rd_kafka_conf_new();
- else
- conf->rkt_conf_ = rd_kafka_topic_conf_new();
-
- return conf;
-}
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/ConsumerImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/ConsumerImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/ConsumerImpl.cpp
deleted file mode 100644
index bb46877..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/ConsumerImpl.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <iostream>
-#include <string>
-#include <list>
-#include <cerrno>
-
-#include "rdkafkacpp_int.h"
-
-RdKafka::Consumer::~Consumer () {}
-
-RdKafka::Consumer *RdKafka::Consumer::create (RdKafka::Conf *conf,
- std::string &errstr) {
- char errbuf[512];
- RdKafka::ConfImpl *confimpl = dynamic_cast<RdKafka::ConfImpl *>(conf);
- RdKafka::ConsumerImpl *rkc = new RdKafka::ConsumerImpl();
- rd_kafka_conf_t *rk_conf = NULL;
-
- if (confimpl) {
- if (!confimpl->rk_conf_) {
- errstr = "Requires RdKafka::Conf::CONF_GLOBAL object";
- delete rkc;
- return NULL;
- }
-
- rkc->set_common_config(confimpl);
-
- rk_conf = rd_kafka_conf_dup(confimpl->rk_conf_);
- }
-
- rd_kafka_t *rk;
- if (!(rk = rd_kafka_new(RD_KAFKA_CONSUMER, rk_conf,
- errbuf, sizeof(errbuf)))) {
- errstr = errbuf;
- delete rkc;
- return NULL;
- }
-
- rkc->rk_ = rk;
-
-
- return rkc;
-}
-
-int64_t RdKafka::Consumer::OffsetTail (int64_t offset) {
- return RD_KAFKA_OFFSET_TAIL(offset);
-}
-
-RdKafka::ErrorCode RdKafka::ConsumerImpl::start (Topic *topic,
- int32_t partition,
- int64_t offset) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
-
- if (rd_kafka_consume_start(topicimpl->rkt_, partition, offset) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-
-RdKafka::ErrorCode RdKafka::ConsumerImpl::start (Topic *topic,
- int32_t partition,
- int64_t offset,
- Queue *queue) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
- RdKafka::QueueImpl *queueimpl = dynamic_cast<RdKafka::QueueImpl *>(queue);
-
- if (rd_kafka_consume_start_queue(topicimpl->rkt_, partition, offset,
- queueimpl->queue_) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-
-RdKafka::ErrorCode RdKafka::ConsumerImpl::stop (Topic *topic,
- int32_t partition) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
-
- if (rd_kafka_consume_stop(topicimpl->rkt_, partition) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-RdKafka::ErrorCode RdKafka::ConsumerImpl::seek (Topic *topic,
- int32_t partition,
- int64_t offset,
- int timeout_ms) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
-
- if (rd_kafka_seek(topicimpl->rkt_, partition, offset, timeout_ms) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-RdKafka::Message *RdKafka::ConsumerImpl::consume (Topic *topic,
- int32_t partition,
- int timeout_ms) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
- rd_kafka_message_t *rkmessage;
-
- rkmessage = rd_kafka_consume(topicimpl->rkt_, partition, timeout_ms);
- if (!rkmessage)
- return new RdKafka::MessageImpl(topic,
- static_cast<RdKafka::ErrorCode>
- (rd_kafka_last_error()));
-
- return new RdKafka::MessageImpl(topic, rkmessage);
-}
-
-namespace {
- /* Helper struct for `consume_callback'.
- * Encapsulates the values we need in order to call `rd_kafka_consume_callback'
- * and keep track of the C++ callback function and `opaque' value.
- */
- struct ConsumerImplCallback {
- ConsumerImplCallback(RdKafka::Topic* topic, RdKafka::ConsumeCb* cb, void* data)
- : topic(topic), cb_cls(cb), cb_data(data) {
- }
- /* This function is the one we give to `rd_kafka_consume_callback', with
- * the `opaque' pointer pointing to an instance of this struct, in which
- * we can find the C++ callback and `cb_data'.
- */
- static void consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque) {
- ConsumerImplCallback *instance = static_cast<ConsumerImplCallback*>(opaque);
- RdKafka::MessageImpl message(instance->topic, msg, false /*don't free*/);
- instance->cb_cls->consume_cb(message, instance->cb_data);
- }
- RdKafka::Topic *topic;
- RdKafka::ConsumeCb *cb_cls;
- void *cb_data;
- };
-}
-
-int RdKafka::ConsumerImpl::consume_callback (RdKafka::Topic* topic,
- int32_t partition,
- int timeout_ms,
- RdKafka::ConsumeCb *consume_cb,
- void *opaque) {
- RdKafka::TopicImpl *topicimpl = static_cast<RdKafka::TopicImpl *>(topic);
- ConsumerImplCallback context(topic, consume_cb, opaque);
- return rd_kafka_consume_callback(topicimpl->rkt_, partition, timeout_ms,
- &ConsumerImplCallback::consume_cb_trampoline, &context);
-}
-
-
-RdKafka::Message *RdKafka::ConsumerImpl::consume (Queue *queue,
- int timeout_ms) {
- RdKafka::QueueImpl *queueimpl = dynamic_cast<RdKafka::QueueImpl *>(queue);
- rd_kafka_message_t *rkmessage;
-
- rkmessage = rd_kafka_consume_queue(queueimpl->queue_, timeout_ms);
- if (!rkmessage)
- return new RdKafka::MessageImpl(NULL,
- static_cast<RdKafka::ErrorCode>
- (rd_kafka_last_error()));
- /*
- * Recover our Topic * from the topic conf's opaque field, which we
- * set in RdKafka::Topic::create() for just this kind of situation.
- */
- void *opaque = rd_kafka_topic_opaque(rkmessage->rkt);
- Topic *topic = static_cast<Topic *>(opaque);
-
- return new RdKafka::MessageImpl(topic, rkmessage);
-}
-
-namespace {
- /* Helper struct for `consume_callback' with a Queue.
- * Encapsulates the values we need in order to call `rd_kafka_consume_callback'
- * and keep track of the C++ callback function and `opaque' value.
- */
- struct ConsumerImplQueueCallback {
- ConsumerImplQueueCallback(RdKafka::ConsumeCb *cb, void *data)
- : cb_cls(cb), cb_data(data) {
- }
- /* This function is the one we give to `rd_kafka_consume_callback', with
- * the `opaque' pointer pointing to an instance of this struct, in which
- * we can find the C++ callback and `cb_data'.
- */
- static void consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque) {
- ConsumerImplQueueCallback *instance = static_cast<ConsumerImplQueueCallback *>(opaque);
- /*
- * Recover our Topic * from the topic conf's opaque field, which we
- * set in RdKafka::Topic::create() for just this kind of situation.
- */
- void *topic_opaque = rd_kafka_topic_opaque(msg->rkt);
- RdKafka::Topic *topic = static_cast<RdKafka::Topic *>(topic_opaque);
- RdKafka::MessageImpl message(topic, msg, false /*don't free*/);
- instance->cb_cls->consume_cb(message, instance->cb_data);
- }
- RdKafka::ConsumeCb *cb_cls;
- void *cb_data;
- };
-}
-
-int RdKafka::ConsumerImpl::consume_callback (Queue *queue,
- int timeout_ms,
- RdKafka::ConsumeCb *consume_cb,
- void *opaque) {
- RdKafka::QueueImpl *queueimpl = dynamic_cast<RdKafka::QueueImpl *>(queue);
- ConsumerImplQueueCallback context(consume_cb, opaque);
- return rd_kafka_consume_callback_queue(queueimpl->queue_, timeout_ms,
- &ConsumerImplQueueCallback::consume_cb_trampoline,
- &context);
-}
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/HandleImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/HandleImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/HandleImpl.cpp
deleted file mode 100644
index 3bdccbf..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/HandleImpl.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <iostream>
-#include <string>
-#include <list>
-
-#include "rdkafkacpp_int.h"
-
-void RdKafka::consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
- RdKafka::Topic* topic = static_cast<Topic *>(rd_kafka_topic_opaque(msg->rkt));
-
- RdKafka::MessageImpl message(topic, msg, false /*don't free*/);
-
- handle->consume_cb_->consume_cb(message, opaque);
-}
-
-void RdKafka::log_cb_trampoline (const rd_kafka_t *rk, int level,
- const char *fac, const char *buf) {
- if (!rk) {
- rd_kafka_log_print(rk, level, fac, buf);
- return;
- }
-
- void *opaque = rd_kafka_opaque(rk);
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
-
- if (!handle->event_cb_) {
- rd_kafka_log_print(rk, level, fac, buf);
- return;
- }
-
- RdKafka::EventImpl event(RdKafka::Event::EVENT_LOG,
- RdKafka::ERR_NO_ERROR,
- static_cast<RdKafka::Event::Severity>(level),
- fac, buf);
-
- handle->event_cb_->event_cb(event);
-}
-
-
-void RdKafka::error_cb_trampoline (rd_kafka_t *rk, int err,
- const char *reason, void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
-
- RdKafka::EventImpl event(RdKafka::Event::EVENT_ERROR,
- static_cast<RdKafka::ErrorCode>(err),
- RdKafka::Event::EVENT_SEVERITY_ERROR,
- NULL,
- reason);
-
- handle->event_cb_->event_cb(event);
-}
-
-
-void RdKafka::throttle_cb_trampoline (rd_kafka_t *rk, const char *broker_name,
- int32_t broker_id,
- int throttle_time_ms,
- void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
-
- RdKafka::EventImpl event(RdKafka::Event::EVENT_THROTTLE);
- event.str_ = broker_name;
- event.id_ = broker_id;
- event.throttle_time_ = throttle_time_ms;
-
- handle->event_cb_->event_cb(event);
-}
-
-
-int RdKafka::stats_cb_trampoline (rd_kafka_t *rk, char *json, size_t json_len,
- void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
-
- RdKafka::EventImpl event(RdKafka::Event::EVENT_STATS,
- RdKafka::ERR_NO_ERROR,
- RdKafka::Event::EVENT_SEVERITY_INFO,
- NULL, json);
-
- handle->event_cb_->event_cb(event);
-
- return 0;
-}
-
-
-int RdKafka::socket_cb_trampoline (int domain, int type, int protocol,
- void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
-
- return handle->socket_cb_->socket_cb(domain, type, protocol);
-}
-
-int RdKafka::open_cb_trampoline (const char *pathname, int flags, mode_t mode,
- void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
-
- return handle->open_cb_->open_cb(pathname, flags, static_cast<int>(mode));
-}
-
-RdKafka::ErrorCode RdKafka::HandleImpl::metadata (bool all_topics,
- const Topic *only_rkt,
- Metadata **metadatap,
- int timeout_ms) {
-
- const rd_kafka_metadata_t *cmetadatap=NULL;
-
- rd_kafka_topic_t *topic = only_rkt ?
- static_cast<const TopicImpl *>(only_rkt)->rkt_ : NULL;
-
- const rd_kafka_resp_err_t rc = rd_kafka_metadata(rk_, all_topics, topic,
- &cmetadatap,timeout_ms);
-
- *metadatap = (rc == RD_KAFKA_RESP_ERR_NO_ERROR) ?
- new RdKafka::MetadataImpl(cmetadatap) : NULL;
-
- return static_cast<RdKafka::ErrorCode>(rc);
-}
-
-/**
- * Convert a list of C partitions to C++ partitions
- */
-static void c_parts_to_partitions (const rd_kafka_topic_partition_list_t
- *c_parts,
- std::vector<RdKafka::TopicPartition*>
- &partitions) {
- partitions.resize(c_parts->cnt);
- for (int i = 0 ; i < c_parts->cnt ; i++)
- partitions[i] = new RdKafka::TopicPartitionImpl(&c_parts->elems[i]);
-}
-
-static void free_partition_vector (std::vector<RdKafka::TopicPartition*> &v) {
- for (unsigned int i = 0 ; i < v.size() ; i++)
- delete v[i];
- v.clear();
-}
-
-void
-RdKafka::rebalance_cb_trampoline (rd_kafka_t *rk,
- rd_kafka_resp_err_t err,
- rd_kafka_topic_partition_list_t *c_partitions,
- void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
- std::vector<RdKafka::TopicPartition*> partitions;
-
- c_parts_to_partitions(c_partitions, partitions);
-
- handle->rebalance_cb_->rebalance_cb(
- dynamic_cast<RdKafka::KafkaConsumer*>(handle),
- static_cast<RdKafka::ErrorCode>(err),
- partitions);
-
- free_partition_vector(partitions);
-}
-
-
-void
-RdKafka::offset_commit_cb_trampoline0 (
- rd_kafka_t *rk,
- rd_kafka_resp_err_t err,
- rd_kafka_topic_partition_list_t *c_offsets, void *opaque) {
- OffsetCommitCb *cb = static_cast<RdKafka::OffsetCommitCb *>(opaque);
- std::vector<RdKafka::TopicPartition*> offsets;
-
- if (c_offsets)
- c_parts_to_partitions(c_offsets, offsets);
-
- cb->offset_commit_cb(static_cast<RdKafka::ErrorCode>(err), offsets);
-
- free_partition_vector(offsets);
-}
-
-static void
-offset_commit_cb_trampoline (
- rd_kafka_t *rk,
- rd_kafka_resp_err_t err,
- rd_kafka_topic_partition_list_t *c_offsets, void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
- RdKafka::offset_commit_cb_trampoline0(rk, err, c_offsets,
- handle->offset_commit_cb_);
-}
-
-
-void RdKafka::HandleImpl::set_common_config (RdKafka::ConfImpl *confimpl) {
-
- rd_kafka_conf_set_opaque(confimpl->rk_conf_, this);
-
- if (confimpl->event_cb_) {
- rd_kafka_conf_set_log_cb(confimpl->rk_conf_,
- RdKafka::log_cb_trampoline);
- rd_kafka_conf_set_error_cb(confimpl->rk_conf_,
- RdKafka::error_cb_trampoline);
- rd_kafka_conf_set_throttle_cb(confimpl->rk_conf_,
- RdKafka::throttle_cb_trampoline);
- rd_kafka_conf_set_stats_cb(confimpl->rk_conf_,
- RdKafka::stats_cb_trampoline);
- event_cb_ = confimpl->event_cb_;
- }
-
- if (confimpl->socket_cb_) {
- rd_kafka_conf_set_socket_cb(confimpl->rk_conf_,
- RdKafka::socket_cb_trampoline);
- socket_cb_ = confimpl->socket_cb_;
- }
-
- if (confimpl->open_cb_) {
-#ifndef _MSC_VER
- rd_kafka_conf_set_open_cb(confimpl->rk_conf_, RdKafka::open_cb_trampoline);
- open_cb_ = confimpl->open_cb_;
-#endif
- }
-
- if (confimpl->rebalance_cb_) {
- rd_kafka_conf_set_rebalance_cb(confimpl->rk_conf_,
- RdKafka::rebalance_cb_trampoline);
- rebalance_cb_ = confimpl->rebalance_cb_;
- }
-
- if (confimpl->offset_commit_cb_) {
- rd_kafka_conf_set_offset_commit_cb(confimpl->rk_conf_,
- offset_commit_cb_trampoline);
- offset_commit_cb_ = confimpl->offset_commit_cb_;
- }
-
- if (confimpl->consume_cb_) {
- rd_kafka_conf_set_consume_cb(confimpl->rk_conf_,
- RdKafka::consume_cb_trampoline);
- consume_cb_ = confimpl->consume_cb_;
- }
-
-}
-
-
-RdKafka::ErrorCode
-RdKafka::HandleImpl::pause (std::vector<RdKafka::TopicPartition*> &partitions) {
- rd_kafka_topic_partition_list_t *c_parts;
- rd_kafka_resp_err_t err;
-
- c_parts = partitions_to_c_parts(partitions);
-
- err = rd_kafka_pause_partitions(rk_, c_parts);
-
- if (!err)
- update_partitions_from_c_parts(partitions, c_parts);
-
- rd_kafka_topic_partition_list_destroy(c_parts);
-
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-
-RdKafka::ErrorCode
-RdKafka::HandleImpl::resume (std::vector<RdKafka::TopicPartition*> &partitions) {
- rd_kafka_topic_partition_list_t *c_parts;
- rd_kafka_resp_err_t err;
-
- c_parts = partitions_to_c_parts(partitions);
-
- err = rd_kafka_resume_partitions(rk_, c_parts);
-
- if (!err)
- update_partitions_from_c_parts(partitions, c_parts);
-
- rd_kafka_topic_partition_list_destroy(c_parts);
-
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-RdKafka::Queue *
-RdKafka::HandleImpl::get_partition_queue (const TopicPartition *part) {
- rd_kafka_queue_t *rkqu;
- rkqu = rd_kafka_queue_get_partition(rk_,
- part->topic().c_str(),
- part->partition());
-
- if (rkqu == NULL)
- return NULL;
-
- RdKafka::QueueImpl *queueimpl = new RdKafka::QueueImpl;
- queueimpl->queue_ = rkqu;
-
- return queueimpl;
-}
-
-RdKafka::ErrorCode
-RdKafka::HandleImpl::set_log_queue (RdKafka::Queue *queue) {
- rd_kafka_queue_t *rkqu = NULL;
- if (queue) {
- QueueImpl *queueimpl = dynamic_cast<QueueImpl *>(queue);
- rkqu = queueimpl->queue_;
- }
- return static_cast<RdKafka::ErrorCode>(
- rd_kafka_set_log_queue(rk_, rkqu));
-}
-
-namespace RdKafka {
-
-rd_kafka_topic_partition_list_t *
-partitions_to_c_parts (const std::vector<RdKafka::TopicPartition*> &partitions){
- rd_kafka_topic_partition_list_t *c_parts;
-
- c_parts = rd_kafka_topic_partition_list_new((int)partitions.size());
-
- for (unsigned int i = 0 ; i < partitions.size() ; i++) {
- const RdKafka::TopicPartitionImpl *tpi =
- dynamic_cast<const RdKafka::TopicPartitionImpl*>(partitions[i]);
- rd_kafka_topic_partition_t *rktpar =
- rd_kafka_topic_partition_list_add(c_parts,
- tpi->topic_.c_str(), tpi->partition_);
- rktpar->offset = tpi->offset_;
- }
-
- return c_parts;
-}
-
-
-/**
- * @brief Update the application provided 'partitions' with info from 'c_parts'
- */
-void
-update_partitions_from_c_parts (std::vector<RdKafka::TopicPartition*> &partitions,
- const rd_kafka_topic_partition_list_t *c_parts) {
- for (int i = 0 ; i < c_parts->cnt ; i++) {
- rd_kafka_topic_partition_t *p = &c_parts->elems[i];
-
- /* Find corresponding C++ entry */
- for (unsigned int j = 0 ; j < partitions.size() ; j++) {
- RdKafka::TopicPartitionImpl *pp =
- dynamic_cast<RdKafka::TopicPartitionImpl*>(partitions[j]);
- if (!strcmp(p->topic, pp->topic_.c_str()) &&
- p->partition == pp->partition_) {
- pp->offset_ = p->offset;
- pp->err_ = static_cast<RdKafka::ErrorCode>(p->err);
- }
- }
- }
-}
-
-};
-
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/KafkaConsumerImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/KafkaConsumerImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/KafkaConsumerImpl.cpp
deleted file mode 100644
index f4e79d3..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/KafkaConsumerImpl.cpp
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 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.
- */
-
-#include <string>
-#include <vector>
-
-#include "rdkafkacpp_int.h"
-
-RdKafka::KafkaConsumer::~KafkaConsumer () {}
-
-RdKafka::KafkaConsumer *RdKafka::KafkaConsumer::create (RdKafka::Conf *conf,
- std::string &errstr) {
- char errbuf[512];
- RdKafka::ConfImpl *confimpl = dynamic_cast<RdKafka::ConfImpl *>(conf);
- RdKafka::KafkaConsumerImpl *rkc = new RdKafka::KafkaConsumerImpl();
- rd_kafka_conf_t *rk_conf = NULL;
- size_t grlen;
-
- if (!confimpl->rk_conf_) {
- errstr = "Requires RdKafka::Conf::CONF_GLOBAL object";
- delete rkc;
- return NULL;
- }
-
- if (rd_kafka_conf_get(confimpl->rk_conf_, "group.id",
- NULL, &grlen) != RD_KAFKA_CONF_OK ||
- grlen <= 1 /* terminating null only */) {
- errstr = "\"group.id\" must be configured";
- delete rkc;
- return NULL;
- }
-
- rkc->set_common_config(confimpl);
-
- rk_conf = rd_kafka_conf_dup(confimpl->rk_conf_);
-
- rd_kafka_t *rk;
- if (!(rk = rd_kafka_new(RD_KAFKA_CONSUMER, rk_conf,
- errbuf, sizeof(errbuf)))) {
- errstr = errbuf;
- delete rkc;
- return NULL;
- }
-
- rkc->rk_ = rk;
-
- /* Redirect handle queue to cgrp's queue to provide a single queue point */
- rd_kafka_poll_set_consumer(rk);
-
- return rkc;
-}
-
-
-
-
-
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::subscribe (const std::vector<std::string> &topics) {
- rd_kafka_topic_partition_list_t *c_topics;
- rd_kafka_resp_err_t err;
-
- c_topics = rd_kafka_topic_partition_list_new((int)topics.size());
-
- for (unsigned int i = 0 ; i < topics.size() ; i++)
- rd_kafka_topic_partition_list_add(c_topics, topics[i].c_str(),
- RD_KAFKA_PARTITION_UA);
-
- err = rd_kafka_subscribe(rk_, c_topics);
-
- rd_kafka_topic_partition_list_destroy(c_topics);
-
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::unsubscribe () {
- return static_cast<RdKafka::ErrorCode>(rd_kafka_unsubscribe(this->rk_));
-}
-
-RdKafka::Message *RdKafka::KafkaConsumerImpl::consume (int timeout_ms) {
- rd_kafka_message_t *rkmessage;
-
- rkmessage = rd_kafka_consumer_poll(this->rk_, timeout_ms);
-
- if (!rkmessage)
- return new RdKafka::MessageImpl(NULL, RdKafka::ERR__TIMED_OUT);
-
- return new RdKafka::MessageImpl(rkmessage);
-
-}
-
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::assignment (std::vector<RdKafka::TopicPartition*> &partitions) {
- rd_kafka_topic_partition_list_t *c_parts;
- rd_kafka_resp_err_t err;
-
- if ((err = rd_kafka_assignment(rk_, &c_parts)))
- return static_cast<RdKafka::ErrorCode>(err);
-
- partitions.resize(c_parts->cnt);
-
- for (int i = 0 ; i < c_parts->cnt ; i++)
- partitions[i] = new RdKafka::TopicPartitionImpl(&c_parts->elems[i]);
-
- rd_kafka_topic_partition_list_destroy(c_parts);
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::subscription (std::vector<std::string> &topics) {
- rd_kafka_topic_partition_list_t *c_topics;
- rd_kafka_resp_err_t err;
-
- if ((err = rd_kafka_subscription(rk_, &c_topics)))
- return static_cast<RdKafka::ErrorCode>(err);
-
- topics.resize(c_topics->cnt);
- for (int i = 0 ; i < c_topics->cnt ; i++)
- topics[i] = std::string(c_topics->elems[i].topic);
-
- rd_kafka_topic_partition_list_destroy(c_topics);
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::assign (const std::vector<TopicPartition*> &partitions) {
- rd_kafka_topic_partition_list_t *c_parts;
- rd_kafka_resp_err_t err;
-
- c_parts = partitions_to_c_parts(partitions);
-
- err = rd_kafka_assign(rk_, c_parts);
-
- rd_kafka_topic_partition_list_destroy(c_parts);
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::unassign () {
- return static_cast<RdKafka::ErrorCode>(rd_kafka_assign(rk_, NULL));
-}
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::committed (std::vector<RdKafka::TopicPartition*> &partitions, int timeout_ms) {
- rd_kafka_topic_partition_list_t *c_parts;
- rd_kafka_resp_err_t err;
-
- c_parts = partitions_to_c_parts(partitions);
-
- err = rd_kafka_committed(rk_, c_parts, timeout_ms);
-
- if (!err) {
- update_partitions_from_c_parts(partitions, c_parts);
- }
-
- rd_kafka_topic_partition_list_destroy(c_parts);
-
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::position (std::vector<RdKafka::TopicPartition*> &partitions) {
- rd_kafka_topic_partition_list_t *c_parts;
- rd_kafka_resp_err_t err;
-
- c_parts = partitions_to_c_parts(partitions);
-
- err = rd_kafka_position(rk_, c_parts);
-
- if (!err) {
- update_partitions_from_c_parts(partitions, c_parts);
- }
-
- rd_kafka_topic_partition_list_destroy(c_parts);
-
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::seek (const RdKafka::TopicPartition &partition,
- int timeout_ms) {
- const RdKafka::TopicPartitionImpl *p =
- dynamic_cast<const RdKafka::TopicPartitionImpl*>(&partition);
- rd_kafka_topic_t *rkt;
-
- if (!(rkt = rd_kafka_topic_new(rk_, p->topic_.c_str(), NULL)))
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- /* FIXME: Use a C API that takes a topic_partition_list_t instead */
- RdKafka::ErrorCode err =
- static_cast<RdKafka::ErrorCode>
- (rd_kafka_seek(rkt, p->partition_, p->offset_, timeout_ms));
-
- rd_kafka_topic_destroy(rkt);
-
- return err;
-}
-
-
-
-
-
-RdKafka::ErrorCode
-RdKafka::KafkaConsumerImpl::close () {
- rd_kafka_resp_err_t err;
- err = rd_kafka_consumer_close(rk_);
- if (err)
- return static_cast<RdKafka::ErrorCode>(err);
-
- while (rd_kafka_outq_len(rk_) > 0)
- rd_kafka_poll(rk_, 10);
- rd_kafka_destroy(rk_);
-
- return static_cast<RdKafka::ErrorCode>(err);
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/Makefile
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/Makefile b/thirdparty/librdkafka-0.11.1/src-cpp/Makefile
deleted file mode 100644
index 7b84b67..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-PKGNAME= librdkafka
-LIBNAME= librdkafka++
-LIBVER= 1
-
-CXXSRCS= RdKafka.cpp ConfImpl.cpp HandleImpl.cpp \
- ConsumerImpl.cpp ProducerImpl.cpp KafkaConsumerImpl.cpp \
- TopicImpl.cpp TopicPartitionImpl.cpp MessageImpl.cpp \
- QueueImpl.cpp MetadataImpl.cpp
-
-HDRS= rdkafkacpp.h
-
-OBJS= $(CXXSRCS:%.cpp=%.o)
-
-
-
-all: lib check
-
-
-include ../mklove/Makefile.base
-
-# No linker script/symbol hiding for C++ library
-WITH_LDS=n
-
-# OSX and Cygwin requires linking required libraries
-ifeq ($(_UNAME_S),Darwin)
- FWD_LINKING_REQ=y
-endif
-ifeq ($(_UNAME_S),AIX)
- FWD_LINKING_REQ=y
-endif
-ifeq ($(shell uname -o 2>/dev/null),Cygwin)
- FWD_LINKING_REQ=y
-endif
-
-# Ignore previously defined library dependencies for the C library,
-# we'll get those dependencies through the C library linkage.
-LIBS := -L../src -lrdkafka -lstdc++
-
-CHECK_FILES+= $(LIBFILENAME) $(LIBNAME).a
-
-
-file-check: lib
-check: file-check
-
-install: lib-install
-
-clean: lib-clean
-
-ifeq ($(WITH_LDS),y)
-# Enable linker script if supported by platform
-LIB_LDFLAGS+= $(LDFLAG_LINKERSCRIPT)$(LIBNAME).lds
-endif
-
-$(LIBNAME).lds: $(HDRS)
- @(printf "$(MKL_YELLOW)Generating linker script $@ from $(HDRS)$(MKL_CLR_RESET)\n" ; \
- cat ../src/rdkafka.h | ../lds-gen.py > $@)
-
--include $(DEPS)
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/MessageImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/MessageImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/MessageImpl.cpp
deleted file mode 100644
index 9562402..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/MessageImpl.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <iostream>
-#include <string>
-#include <list>
-#include <cerrno>
-
-#include "rdkafkacpp_int.h"
-
-
-RdKafka::Message::~Message() {}
-
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/MetadataImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/MetadataImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/MetadataImpl.cpp
deleted file mode 100644
index c2869f5..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/MetadataImpl.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 "rdkafkacpp_int.h"
-
-using namespace RdKafka;
-
-BrokerMetadata::~BrokerMetadata() {};
-PartitionMetadata::~PartitionMetadata() {};
-TopicMetadata::~TopicMetadata() {};
-Metadata::~Metadata() {};
-
-
-/**
- * Metadata: Broker information handler implementation
- */
-class BrokerMetadataImpl : public BrokerMetadata {
- public:
- BrokerMetadataImpl(const rd_kafka_metadata_broker_t *broker_metadata)
- :broker_metadata_(broker_metadata),host_(broker_metadata->host) {}
-
- int32_t id() const{return broker_metadata_->id;}
-
- const std::string host() const {return host_;}
- int port() const {return broker_metadata_->port;}
-
- virtual ~BrokerMetadataImpl() {}
-
- private:
- const rd_kafka_metadata_broker_t *broker_metadata_;
- const std::string host_;
-};
-
-/**
- * Metadata: Partition information handler
- */
-class PartitionMetadataImpl : public PartitionMetadata {
- public:
- // @TODO too much memory copy? maybe we should create a new vector class that read directly from C arrays?
- // @TODO use auto_ptr?
- PartitionMetadataImpl(const rd_kafka_metadata_partition_t *partition_metadata)
- :partition_metadata_(partition_metadata) {
- replicas_.reserve(partition_metadata->replica_cnt);
- for(int i=0;i<partition_metadata->replica_cnt;++i)
- replicas_.push_back(partition_metadata->replicas[i]);
-
- isrs_.reserve(partition_metadata->isr_cnt);
- for(int i=0;i<partition_metadata->isr_cnt;++i)
- isrs_.push_back(partition_metadata->isrs[i]);
- }
-
- int32_t id() const {
- return partition_metadata_->id;
- }
- int32_t leader() const {
- return partition_metadata_->leader;
- }
- ErrorCode err() const {
- return static_cast<ErrorCode>(partition_metadata_->err);
- }
-
- const std::vector<int32_t> *replicas() const {return &replicas_;}
- const std::vector<int32_t> *isrs() const {return &isrs_;}
-
- ~PartitionMetadataImpl() {};
-
- private:
- const rd_kafka_metadata_partition_t *partition_metadata_;
- std::vector<int32_t> replicas_,isrs_;
-};
-
-/**
- * Metadata: Topic information handler
- */
-class TopicMetadataImpl : public TopicMetadata{
- public:
- TopicMetadataImpl(const rd_kafka_metadata_topic_t *topic_metadata)
- :topic_metadata_(topic_metadata),topic_(topic_metadata->topic) {
- partitions_.reserve(topic_metadata->partition_cnt);
- for(int i=0;i<topic_metadata->partition_cnt;++i)
- partitions_.push_back(
- new PartitionMetadataImpl(&topic_metadata->partitions[i])
- );
- }
-
- ~TopicMetadataImpl(){
- for(size_t i=0;i<partitions_.size();++i)
- delete partitions_[i];
- }
-
- const std::string topic() const {return topic_;}
- const std::vector<const PartitionMetadata *> *partitions() const {
- return &partitions_;
- }
- ErrorCode err() const {return static_cast<ErrorCode>(topic_metadata_->err);}
-
- private:
- const rd_kafka_metadata_topic_t *topic_metadata_;
- const std::string topic_;
- std::vector<const PartitionMetadata *> partitions_;
-
-};
-
-MetadataImpl::MetadataImpl(const rd_kafka_metadata_t *metadata)
-:metadata_(metadata)
-{
- brokers_.reserve(metadata->broker_cnt);
- for(int i=0;i<metadata->broker_cnt;++i)
- brokers_.push_back(new BrokerMetadataImpl(&metadata->brokers[i]));
-
- topics_.reserve(metadata->topic_cnt);
- for(int i=0;i<metadata->topic_cnt;++i)
- topics_.push_back(new TopicMetadataImpl(&metadata->topics[i]));
-
-}
-
-MetadataImpl::~MetadataImpl() {
- for(size_t i=0;i<brokers_.size();++i)
- delete brokers_[i];
- for(size_t i=0;i<topics_.size();++i)
- delete topics_[i];
-
-
- if(metadata_)
- rd_kafka_metadata_destroy(metadata_);
-}
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/ProducerImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/ProducerImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/ProducerImpl.cpp
deleted file mode 100644
index e880573..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/ProducerImpl.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <iostream>
-#include <string>
-#include <list>
-#include <cerrno>
-
-#include "rdkafkacpp_int.h"
-
-
-RdKafka::Producer::~Producer () {
-
-}
-
-static void dr_msg_cb_trampoline (rd_kafka_t *rk,
- const rd_kafka_message_t *
- rkmessage,
- void *opaque) {
- RdKafka::HandleImpl *handle = static_cast<RdKafka::HandleImpl *>(opaque);
- RdKafka::MessageImpl message(NULL, rkmessage);
- handle->dr_cb_->dr_cb(message);
-}
-
-
-
-RdKafka::Producer *RdKafka::Producer::create (RdKafka::Conf *conf,
- std::string &errstr) {
- char errbuf[512];
- RdKafka::ConfImpl *confimpl = dynamic_cast<RdKafka::ConfImpl *>(conf);
- RdKafka::ProducerImpl *rkp = new RdKafka::ProducerImpl();
- rd_kafka_conf_t *rk_conf = NULL;
-
- if (confimpl) {
- if (!confimpl->rk_conf_) {
- errstr = "Requires RdKafka::Conf::CONF_GLOBAL object";
- delete rkp;
- return NULL;
- }
-
- rkp->set_common_config(confimpl);
-
- rk_conf = rd_kafka_conf_dup(confimpl->rk_conf_);
-
- if (confimpl->dr_cb_) {
- rd_kafka_conf_set_dr_msg_cb(rk_conf, dr_msg_cb_trampoline);
- rkp->dr_cb_ = confimpl->dr_cb_;
- }
- }
-
-
- rd_kafka_t *rk;
- if (!(rk = rd_kafka_new(RD_KAFKA_PRODUCER, rk_conf,
- errbuf, sizeof(errbuf)))) {
- errstr = errbuf;
- delete rkp;
- return NULL;
- }
-
- rkp->rk_ = rk;
-
- return rkp;
-}
-
-
-RdKafka::ErrorCode RdKafka::ProducerImpl::produce (RdKafka::Topic *topic,
- int32_t partition,
- int msgflags,
- void *payload, size_t len,
- const std::string *key,
- void *msg_opaque) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
-
- if (rd_kafka_produce(topicimpl->rkt_, partition, msgflags,
- payload, len,
- key ? key->c_str() : NULL, key ? key->size() : 0,
- msg_opaque) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-
-RdKafka::ErrorCode RdKafka::ProducerImpl::produce (RdKafka::Topic *topic,
- int32_t partition,
- int msgflags,
- void *payload, size_t len,
- const void *key,
- size_t key_len,
- void *msg_opaque) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
-
- if (rd_kafka_produce(topicimpl->rkt_, partition, msgflags,
- payload, len, key, key_len,
- msg_opaque) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-}
-
-
-RdKafka::ErrorCode
-RdKafka::ProducerImpl::produce (RdKafka::Topic *topic,
- int32_t partition,
- const std::vector<char> *payload,
- const std::vector<char> *key,
- void *msg_opaque) {
- RdKafka::TopicImpl *topicimpl = dynamic_cast<RdKafka::TopicImpl *>(topic);
-
- if (rd_kafka_produce(topicimpl->rkt_, partition, RD_KAFKA_MSG_F_COPY,
- payload ? (void *)&(*payload)[0] : NULL,
- payload ? payload->size() : 0,
- key ? &(*key)[0] : NULL, key ? key->size() : 0,
- msg_opaque) == -1)
- return static_cast<RdKafka::ErrorCode>(rd_kafka_last_error());
-
- return RdKafka::ERR_NO_ERROR;
-
-}
-
-
-RdKafka::ErrorCode
-RdKafka::ProducerImpl::produce (const std::string topic_name,
- int32_t partition, int msgflags,
- void *payload, size_t len,
- const void *key, size_t key_len,
- int64_t timestamp,
- void *msg_opaque) {
- return
- static_cast<RdKafka::ErrorCode>
- (
- rd_kafka_producev(rk_,
- RD_KAFKA_V_TOPIC(topic_name.c_str()),
- RD_KAFKA_V_PARTITION(partition),
- RD_KAFKA_V_MSGFLAGS(msgflags),
- RD_KAFKA_V_VALUE(payload, len),
- RD_KAFKA_V_KEY(key, key_len),
- RD_KAFKA_V_TIMESTAMP(timestamp),
- RD_KAFKA_V_OPAQUE(msg_opaque),
- RD_KAFKA_V_END)
- );
-}
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/QueueImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/QueueImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/QueueImpl.cpp
deleted file mode 100644
index c64b1c1..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/QueueImpl.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <cerrno>
-
-#include "rdkafkacpp_int.h"
-
-RdKafka::Queue::~Queue () {
-
-}
-
-RdKafka::Queue *RdKafka::Queue::create (Handle *base) {
- RdKafka::QueueImpl *queueimpl = new RdKafka::QueueImpl;
- queueimpl->queue_ = rd_kafka_queue_new(dynamic_cast<HandleImpl*>(base)->rk_);
- return queueimpl;
-}
-
-RdKafka::ErrorCode
-RdKafka::QueueImpl::forward (Queue *queue) {
- if (!queue) {
- rd_kafka_queue_forward(queue_, NULL);
- } else {
- QueueImpl *queueimpl = dynamic_cast<QueueImpl *>(queue);
- rd_kafka_queue_forward(queue_, queueimpl->queue_);
- }
- return RdKafka::ERR_NO_ERROR;
-}
-
-RdKafka::Message *RdKafka::QueueImpl::consume (int timeout_ms) {
- rd_kafka_message_t *rkmessage;
- rkmessage = rd_kafka_consume_queue(queue_, timeout_ms);
-
- if (!rkmessage)
- return new RdKafka::MessageImpl(NULL, RdKafka::ERR__TIMED_OUT);
-
- return new RdKafka::MessageImpl(rkmessage);
-}
-
-int RdKafka::QueueImpl::poll (int timeout_ms) {
- return rd_kafka_queue_poll_callback(queue_, timeout_ms);
-}
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/README.md
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/README.md b/thirdparty/librdkafka-0.11.1/src-cpp/README.md
deleted file mode 100644
index a484589..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-librdkafka C++ interface
-========================
-
-**See rdkafkacpp.h for the public C++ API**
-
-
-
-Maintainer notes for the C++ interface:
-
- * The public C++ interface (rdkafkacpp.h) does not include the
- public C interface (rdkafka.h) in any way, this means that all
- constants, flags, etc, must be kept in sync manually between the two
- header files.
- A regression test should be implemented that checks this is true.
-
- * The public C++ interface is provided using pure virtual abstract classes.
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/RdKafka.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/RdKafka.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/RdKafka.cpp
deleted file mode 100644
index 7b67a7b..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/RdKafka.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <string>
-
-#include "rdkafkacpp_int.h"
-
-int RdKafka::version () {
- return rd_kafka_version();
-}
-
-std::string RdKafka::version_str () {
- return std::string(rd_kafka_version_str());
-}
-
-std::string RdKafka::get_debug_contexts() {
- return std::string(RD_KAFKA_DEBUG_CONTEXTS);
-}
-
-std::string RdKafka::err2str (RdKafka::ErrorCode err) {
- return std::string(rd_kafka_err2str(static_cast<rd_kafka_resp_err_t>(err)));
-}
-
-int RdKafka::wait_destroyed (int timeout_ms) {
- return rd_kafka_wait_destroyed(timeout_ms);
-}
-
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/TopicImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/TopicImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/TopicImpl.cpp
deleted file mode 100644
index f330513..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/TopicImpl.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 2014 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 <iostream>
-#include <string>
-#include <list>
-#include <cerrno>
-
-#include "rdkafkacpp_int.h"
-
-const int32_t RdKafka::Topic::PARTITION_UA = RD_KAFKA_PARTITION_UA;
-
-const int64_t RdKafka::Topic::OFFSET_BEGINNING = RD_KAFKA_OFFSET_BEGINNING;
-
-const int64_t RdKafka::Topic::OFFSET_END = RD_KAFKA_OFFSET_END;
-
-const int64_t RdKafka::Topic::OFFSET_STORED = RD_KAFKA_OFFSET_STORED;
-
-const int64_t RdKafka::Topic::OFFSET_INVALID = RD_KAFKA_OFFSET_INVALID;
-
-RdKafka::Topic::~Topic () {
-
-}
-
-static int32_t partitioner_cb_trampoline (const rd_kafka_topic_t *rkt,
- const void *keydata,
- size_t keylen,
- int32_t partition_cnt,
- void *rkt_opaque,
- void *msg_opaque) {
- RdKafka::TopicImpl *topicimpl = static_cast<RdKafka::TopicImpl *>(rkt_opaque);
- std::string key(static_cast<const char *>(keydata), keylen);
- return topicimpl->partitioner_cb_->partitioner_cb(topicimpl, &key,
- partition_cnt, msg_opaque);
-}
-
-static int32_t partitioner_kp_cb_trampoline (const rd_kafka_topic_t *rkt,
- const void *keydata,
- size_t keylen,
- int32_t partition_cnt,
- void *rkt_opaque,
- void *msg_opaque) {
- RdKafka::TopicImpl *topicimpl = static_cast<RdKafka::TopicImpl *>(rkt_opaque);
- return topicimpl->partitioner_kp_cb_->partitioner_cb(topicimpl,
- keydata, keylen,
- partition_cnt,
- msg_opaque);
-}
-
-
-
-RdKafka::Topic *RdKafka::Topic::create (Handle *base,
- const std::string &topic_str,
- Conf *conf,
- std::string &errstr) {
- RdKafka::ConfImpl *confimpl = static_cast<RdKafka::ConfImpl *>(conf);
- rd_kafka_topic_t *rkt;
- rd_kafka_topic_conf_t *rkt_conf;
-
- RdKafka::TopicImpl *topic = new RdKafka::TopicImpl();
-
- if (!confimpl)
- rkt_conf = rd_kafka_topic_conf_new();
- else /* Make a copy of conf struct to allow Conf reuse. */
- rkt_conf = rd_kafka_topic_conf_dup(confimpl->rkt_conf_);
-
- /* Set topic opaque to the topic so that we can reach our topic object
- * from whatever callbacks get registered.
- * The application itself will not need these opaques since their
- * callbacks are class based. */
- rd_kafka_topic_conf_set_opaque(rkt_conf, static_cast<void *>(topic));
-
- if (confimpl) {
- if (confimpl->partitioner_cb_) {
- rd_kafka_topic_conf_set_partitioner_cb(rkt_conf,
- partitioner_cb_trampoline);
- topic->partitioner_cb_ = confimpl->partitioner_cb_;
- } else if (confimpl->partitioner_kp_cb_) {
- rd_kafka_topic_conf_set_partitioner_cb(rkt_conf,
- partitioner_kp_cb_trampoline);
- topic->partitioner_kp_cb_ = confimpl->partitioner_kp_cb_;
- }
- }
-
-
- if (!(rkt = rd_kafka_topic_new(dynamic_cast<HandleImpl*>(base)->rk_,
- topic_str.c_str(), rkt_conf))) {
- errstr = rd_kafka_err2str(rd_kafka_last_error());
- delete topic;
- rd_kafka_topic_conf_destroy(rkt_conf);
- return NULL;
- }
-
- topic->rkt_ = rkt;
-
- return topic;
-
-}
-
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/7528d23e/thirdparty/librdkafka-0.11.1/src-cpp/TopicPartitionImpl.cpp
----------------------------------------------------------------------
diff --git a/thirdparty/librdkafka-0.11.1/src-cpp/TopicPartitionImpl.cpp b/thirdparty/librdkafka-0.11.1/src-cpp/TopicPartitionImpl.cpp
deleted file mode 100644
index 71a688c..0000000
--- a/thirdparty/librdkafka-0.11.1/src-cpp/TopicPartitionImpl.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * librdkafka - Apache Kafka C/C++ library
- *
- * Copyright (c) 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.
- */
-
-#include <iostream>
-#include <string>
-#include <vector>
-
-#include "rdkafkacpp_int.h"
-
-RdKafka::TopicPartition::~TopicPartition () {
-}
-
-RdKafka::TopicPartition *
-RdKafka::TopicPartition::create (const std::string &topic, int partition) {
- return new TopicPartitionImpl(topic, partition);
-}
-
-RdKafka::TopicPartition *
-RdKafka::TopicPartition::create (const std::string &topic, int partition,
- int64_t offset) {
- return new TopicPartitionImpl(topic, partition, offset);
-}
-
-void
-RdKafka::TopicPartition::destroy (std::vector<TopicPartition*> &partitions) {
- for (std::vector<TopicPartition*>::iterator it = partitions.begin() ;
- it != partitions.end(); ++it)
- delete(*it);
- partitions.clear();
-}