Commit Graph

132 Commits

Author SHA1 Message Date
accelerated
b366cf4bf6 Remove setting log level in the constructor 2018-11-13 15:28:06 -05:00
accelerated
9859e54522 Added support for message status and setting the event mask 2018-11-12 10:30:54 -05:00
Matias Fontanini
25e3aacf4a Add compile guard for rd_kafka_event_stats 2018-11-10 10:26:03 -08:00
Matias Fontanini
b242e2c35c Allow setting background event callback on configuration handles 2018-11-10 10:26:03 -08:00
Matias Fontanini
8dc94869fd Move get_queue behavior into Queue class 2018-11-10 10:25:31 -08:00
Matias Fontanini
c7e1dcb60a Allow checking if an Event is valid 2018-11-10 10:25:31 -08:00
Matias Fontanini
e73c997a0c Allow getting Events out of Queues 2018-11-10 10:25:31 -08:00
Matias Fontanini
b46991db7e Add Event class 2018-11-10 10:25:31 -08:00
Alex Damian
b0ddceda1f Message timestamp refactoring and log level changes (#133)
* Message timestamp refactoring and log level changes

* Changes per code review
2018-11-07 08:36:57 -08:00
Matias Fontanini
451d60295a Remove MessageTimestamp constructor from time_point (#129) 2018-10-26 18:57:28 -07:00
Alex Damian
57268e666c Added time_point overloads for creating timestamps. (#128)
* Added time_point overloads for creating timestamps.

* aliased std::chrono types
2018-10-25 07:39:22 -07:00
Alex Damian
fbe3759fed Header support implementation (#115)
* header support implementation

* Fixed issue when ptr is null and doesn't have a cloner function

* Code complete with test cases

updated travis file with v0.11.5

* Added compile time check for rdkafka header support version

* Changes per last code review

* Using brace list initializers
2018-10-16 10:58:05 -07:00
Alex Damian
9af4330c6d Allocators (#118)
* Added allocator support for consumers and buffered producer

* Changed MessageList back to std::vector<Message> for consistency with the allocator API
2018-10-16 08:57:11 -07:00
Zenon Parker
d3ef9cad32 Fix #111: Rename LogLevel enums (#112) 2018-08-30 11:28:12 -07:00
shashank khare
df04b27e22 Fix #104: memory leak in poll_batch (#107)
poll_batch currently leaks memory while initialising the queue
returned by rd_kafka_queue_get_consumer. The fix as suggested
by @mfontanini as done here is to initialise the queue with a
Queue so it's cleaned up when going out of scope.
2018-07-26 08:56:42 -07:00
Alex Damian
d6f8129207 Fix for ref count on queue handles (#92)
* Fix for ref count on queue handles

* added check for rdkafka version

* changed to runtime version checking
2018-07-23 17:07:35 -07:00
Alex Damian
577bbb0242 added error check for partition list (#90) 2018-06-26 08:57:49 -07:00
Alex Damian
5c72f3fe28 Added pause/resume for producers (#87)
* Added pause/resume for producers

* Moved pause/resume functions to KafkaHandleBase
2018-06-25 09:16:57 -07:00
Alex Damian
c5aca985b8 Invoke error callback if present instead of log callback (#93) 2018-06-20 09:11:24 -07:00
accelerated
a4eefacaa1 concurrency issues in MessageBuilder internal data 2018-06-10 18:48:51 -04:00
accelerated
23810654ab Removed dependency on Producer and dr_callback_proxy 2018-06-10 13:00:56 -04:00
accelerated
f746653841 Added logic to conditionally enable internal data 2018-06-10 13:00:56 -04:00
accelerated
597c026555 Prevent MessageInternal structures if there is no delivery callback registered 2018-06-10 13:00:56 -04:00
accelerated
71e6e2e4e5 added retry logic for producers 2018-06-10 13:00:55 -04:00
Alex Damian
5cad740aea Added access to the internal Consumer in the backoff committer (#75)
* Added access to the internal Consumer and provided non-default constructor for BackoffPerformer

* added sync_produce and deleted the value constructor

* removed sync_produce methods

* removed value constructor in backoff_performer class
2018-06-04 11:48:20 -07:00
Alex Damian
9714bec5bf Callback invoker to sink all thrown exceptions (#74) 2018-06-01 16:35:56 -07:00
accelerated
ea9601ba1b Changes per code review 2018-05-29 10:05:56 -04:00
accelerated
6144330835 added test case for polling strategy refactored the strategy class 2018-05-29 09:55:30 -04:00
accelerated
169ea4f8ed Fixes to queue polling and making them non-owning 2018-05-29 09:55:30 -04:00
accelerated
532d83b225 Removed reserve() and synced consumer::poll_batch and queue::poll_batch functions 2018-05-29 09:55:30 -04:00
accelerated
a1ce130bfd changes as per code review 2018-05-29 09:55:29 -04:00
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
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
Alex Damian
8fc6a0f02d Print offset when dumping partition object (#55) 2018-04-24 02:32:14 +01:00
Alex Damian
83a963c1db Added commit for current assignment and message state checks (#53) 2018-04-20 23:51:44 +01:00
accelerated
018a1f52d9 Fixed deprecated error librdkafka function 2018-04-03 11:58:21 -04:00
Matias Fontanini
9513b01b8e Don't use quotes when expanding DEPENDENCIES 2018-03-19 07:04:59 -07:00
Matias Fontanini
86ed154c92 Link with ws2_32.lib on Windows 2018-03-18 18:57:09 -07:00
Matias Fontanini
69e30f9e74 Merge pull request #39 from arvidn/destruction
destruct callbacks (and their closures)
2018-03-17 15:42:21 -07:00
arvidn
98b9839ff9 improve performance of Consumer::poll_batch() by allocating the results array once, rather than incremental growth. Also avoid checking every single pointer in the returned array, just use the returned counter instead 2018-02-08 12:22:11 +01:00
arvidn
d173526f99 destruct callbacks (and their closures) to ensure there are no reference cycles when destructing the consumer. This solves a hang in rd_kafka_destroy 2018-02-08 11:51:36 +01:00
arvidn
c7715733bf make sure dependent targets get the include directory added correctly 2017-10-25 20:50:59 +02:00
Matias Fontanini
5889c322c2 Fix link issues when building in clang 2017-10-02 10:31:02 -07:00