Commit Graph

228 Commits

Author SHA1 Message Date
accelerated
71afaba3e1 added support for different topics/partitions 2018-05-29 09:55:29 -04:00
accelerated
15be627f8e intial polling version 2018-05-29 09:55:29 -04:00
Alex Damian
429ec92369 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
2018-05-28 18:33:36 -07:00
Alex Damian
f543810515 Allow metadata object to be non-owning (#73) 2018-05-28 11:30:01 -07:00
Alex Damian
841e632fbd Allow access to the user-supplied delivery callback. (#66)
* Allow access to the user-supplied delivery callback.

* Remove valgrind warning

* Added buffer size watermark

* added ability to produce a message directly

* Updated on_delivery_report function
2018-05-24 20:59:41 -07:00
Alex Damian
46c396f729 Pause/resume a consumer by topic (#67)
* Pause a consumer by topic

* Changes per review comments

* convert rvalue to value

* Refactored code to provide a more generic way of getting partition subsets

* Changes per code review and added test cases

* Modified loop to use binary search instead of linear

* Simplify find_matches test cases
2018-05-23 13:03:47 -07:00
amirshavit
ee71b3979a Add yield (#64)
Simply calls rd_kafka_yield; allows consumers and producers to abort the
current callback dispatcher.
2018-05-23 09:26:09 -07:00
Alex Damian
d9feb5c3db Added retry limit for the backoff performer class (#70) 2018-05-23 09:16:12 -07:00
Azat Khuzhin
2451c74c4f Avoid SIGSEGV during destructing KafkaHandleBase (with set_log_callback()) (#68)
Configuration should exist for logging, since it contains the copy of
the callback.
2018-05-19 13:24:57 -07:00
Alex Damian
ae74814791 Log error in case consumer destructor throws (#61) 2018-04-27 07:03:47 -07:00
Matias Fontanini
ee0c0829a4 Remove extra line at the end of cppkafka.h 2018-04-23 19:23:09 -07:00
Matias Fontanini
59d8adc4a4 Sort header files before generating cppkafka.h 2018-04-23 19:22:41 -07:00
Alex Damian
30b3652a94 auto-gen main header file (#59) 2018-04-24 02:32:43 +01:00
Alex Damian
83a963c1db Added commit for current assignment and message state checks (#53) 2018-04-20 23:51:44 +01:00
Matias Fontanini
eee60407fa Use CPPKAFKA_API for friends and free functions 2018-04-11 10:47:53 -07:00
Matias Fontanini
df12b5fd5c Fix linking issues on Windows
Relates to #10
2018-03-20 08:12:04 -07:00
arvidn
a1dc9d115e fix typo in consumer documentation 2017-10-25 20:26:35 +02:00
Matias Fontanini
5889c322c2 Fix link issues when building in clang 2017-10-02 10:31:02 -07:00
Matias Fontanini
17da880854 Persist message's user data when retrying on buffered producer 2017-09-17 15:46:23 -07:00
Matias Fontanini
d0c794b978 Increase expected acks on buffered producer after producing 2017-08-24 15:04:54 -07:00
Matias Fontanini
86d4bc8037 Make BasicConsumerDispatcher::Pauser a template type 2017-08-21 14:47:06 -07:00
Matias Fontanini
0d4b9ef2f6 Don't keep looping on NO_OFFSET error on backoff committer 2017-08-03 09:33:09 -07:00
Matias Fontanini
1582f6156d Allow consuming message batches
Fixes #3
2017-07-17 19:17:57 -07:00
Matias Fontanini
2340046544 Clear messages acked/expected acks on buffered producer 2017-07-11 10:17:58 -07:00
Matias Fontanini
b7a0dce710 Add a generic "event" event on ConsumerDispatcher 2017-07-04 18:23:42 -07:00
Matias Fontanini
08815e97c0 Add CPPKAFKA_API to utils classes 2017-07-04 18:09:06 -07:00
Matias Fontanini
9e6315fcc2 Make ConsumerDispatcher a template class 2017-07-04 18:07:22 -07:00
Matias Fontanini
191956b4ca Pause/resume consumption on throttle 2017-06-17 09:39:50 -07:00
Matias Fontanini
4af48ff0e7 Allow throttling on ConsumerDispatcher 2017-06-17 08:52:48 -07:00
Matias Fontanini
556dac7015 Add backoff performer class 2017-06-16 19:27:18 -07:00
Matias Fontanini
4cd03aea3c Cleanup ConsumerDispatcher code 2017-06-11 14:35:33 -07:00
Matias Fontanini
52822fdb61 Move some small functions into header files 2017-06-10 19:15:53 -07:00
Matias Fontanini
bb5fb490ce Check if all callbacks match a signature on ConsumerDispatcher 2017-06-10 17:55:17 -07:00
Matias Fontanini
4369b75695 Use tags on EOF and timeout callbacks on ConsumerDispatcher 2017-06-10 17:39:23 -07:00
Matias Fontanini
f0ec0bfb10 Add ConsumerDispatcher class 2017-06-10 15:25:28 -07:00
Matias Fontanini
b79a1ae6da Move endianness.h file into detail folder 2017-06-05 19:36:22 -07:00
Matias Fontanini
acbae757d8 Remove all references to Partition class 2017-06-04 10:57:28 -07:00
Matias Fontanini
895a983d17 Allow constructing Buffers from std::vector 2017-06-04 08:32:19 -07:00
Matias Fontanini
d88e2d9ed4 Fix build issue on Windows 2017-06-03 12:38:54 -07:00
Matias Fontanini
2f9170e32a Fix build errors/warnings on Windows 2017-06-03 12:23:06 -07:00
Matias Fontanini
9c9d1e494d Add BackoffCommitter class 2017-05-07 11:37:07 -07:00
Matias Fontanini
9594ddced3 Update license 2017-05-06 08:27:47 -07:00
Matias Fontanini
bb900f21cb Allow clearing buffered messages on buffered producer 2017-04-24 20:08:26 -07:00
Matias Fontanini
5e84da2458 Change logic to reset messages acked count on buffered producer 2017-04-23 14:55:33 -07:00
Matias Fontanini
7ec3252a86 Minor documentation improvements 2017-04-23 14:24:06 -07:00
Matias Fontanini
b5a7c70993 Expand description of BufferedProducer 2017-04-23 14:12:00 -07:00
Matias Fontanini
aab182c4ea Allow producing messages without buffering them in buffered producer 2017-04-23 11:23:37 -07:00
Matias Fontanini
35cf6fd0bf Catch flush timeout exception on buffered producer 2017-04-23 11:06:49 -07:00
Matias Fontanini
e7db3df966 Change internals of BufferedProducer 2017-04-23 11:01:21 -07:00
Matias Fontanini
dbb547889b Allow getting consumer group information 2017-04-16 19:45:03 -07:00