Buffered producer thread safe (#72)

* Thread safe buffered producer

* Using single mutex version

* Changed based on feedback

* Changes based on latest review

* Added flush counter
This commit is contained in:
Alex Damian
2018-05-28 21:33:36 -04:00
committed by Matias Fontanini
parent f543810515
commit 429ec92369
8 changed files with 387 additions and 88 deletions

View File

@@ -1,22 +1,15 @@
find_package(Boost COMPONENTS program_options)
link_libraries(cppkafka ${RDKAFKA_LIBRARY} ${Boost_LIBRARIES} pthread)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include)
include_directories(SYSTEM ${RDKAFKA_INCLUDE_DIR})
if (Boost_PROGRAM_OPTIONS_FOUND)
link_libraries(${Boost_LIBRARIES} cppkafka ${RDKAFKA_LIBRARY})
add_custom_target(examples)
macro(create_example example_name)
add_executable(${example_name} EXCLUDE_FROM_ALL "${example_name}.cpp")
add_dependencies(examples ${example_name})
endmacro()
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${RDKAFKA_INCLUDE_DIR})
add_custom_target(examples)
macro(create_example example_name)
add_executable(${example_name} EXCLUDE_FROM_ALL "${example_name}.cpp")
add_dependencies(examples ${example_name})
endmacro()
create_example(kafka_producer)
create_example(kafka_consumer)
create_example(kafka_consumer_dispatcher)
create_example(metadata)
create_example(consumers_information)
else()
message(STATUS "Disabling examples since boost.program_options was not found")
endif()
create_example(kafka_producer)
create_example(kafka_consumer)
create_example(kafka_consumer_dispatcher)
create_example(metadata)
create_example(consumers_information)