Commit Graph

139 Commits

Author SHA1 Message Date
Pavel Pimenov
5bfc047263 Fix detected by PVS-Studio (#167)
* Fix PVS-Studio
V591 	Non-void function should return a value.
V519 	The 'new_item' variable is assigned values twice successively.
2019-02-20 18:30:48 -08:00
accelerated
e19d84b839 Added compile time check for store_offsets() api 2019-02-06 17:47:02 -05:00
accelerated
4f4c9e9c91 Changes per code review 2019-02-06 13:01:57 -05:00
accelerated
284e1c57a9 Changed store_offsets() to use the actual position from the assignment 2019-02-04 14:23:59 -05:00
accelerated
7bc03185a8 Added legacy offset store API 2019-02-04 12:26:04 -05:00
accelerated
dc732445f7 Fixes #158 2019-01-16 15:09:27 -05:00
accelerated
93e066a1c1 * Added asserts when building a HeaderList and removed checks for handle
validity.
* Removed explicit move semantic when cloning a MessageBuilder.
* Renamed clone() to try_clone() in ClonablePtr class.
2018-12-04 11:12:28 -05:00
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