Commit Graph

85 Commits

Author SHA1 Message Date
Alexander Damian
81a131ff16 Return true when RD_KAFKA_RESP_ERR__NO_OFFSET is received 2019-04-24 17:39:59 -04:00
Alexander Damian
effdf7fb95 Removed ReturnType. Throw on error from inside do_commit() as well as from perform() 2019-04-24 16:42:56 -04:00
Alexander Damian
0c1119727b Replaced termination callback with throwing exception 2019-04-24 10:40:29 -04:00
accelerated
ace18d5d7b Added wait_for_acks(0) when calling async_flush 2019-02-21 15:21:16 -05:00
demin80
755e9f10c2 added missing return 2019-01-18 16:58:03 -05:00
demin80
5a34955fae added type conversion to avoid signed-vs-unsigned-comparison warning 2019-01-16 10:52:14 -05:00
demin80
93c2edf6ba refactored by adding retry_mutex_ and replacing bools with enums; fixed formatting issues 2019-01-10 14:37:46 -05:00
demin80
71c4e02143 Revised the implementation based on the reviewers' response 2019-01-08 13:48:26 -05:00
demin80
00370c981d Fixed spacing issues 2019-01-07 14:42:32 -05:00
demin80
97229ebfd9 Added a high-priority queue to BufferedProducer to avoid message re-ordering 2019-01-07 14:39:09 -05:00
accelerated
4a6b6779ad Updated callback description 2019-01-06 17:40:39 -05:00
accelerated
97d1bb9434 Added queue full notify callback 2019-01-06 17:35:55 -05:00
accelerated
ed81ce446d Added queue full notification 2019-01-06 16:59:00 -05:00
Matias Fontanini
f14a4b9e8c Merge pull request #150 from accelerated/flush_bug
Bug with message leak in BufferedProducer::flush(timeout)
2018-12-16 09:45:35 -08:00
accelerated
8b431c5421 changed rbegin to begin 2018-12-14 16:33:20 -05:00
accelerated
4a24971d3f Fixed bug with message leak in BufferedProducer::flush(timeout) 2018-12-14 16:08:57 -05:00
accelerated
8dd5428c49 Added similar logic for ProduceTerminationCallback 2018-12-13 15:04:12 -05:00
accelerated
0b9b7bab11 Added flush termination callback 2018-12-13 10:43:29 -05:00
Alex Damian
ad9a1e4a49 If timeout is 0, the function should at least run once (#123) 2018-10-22 07:55:29 -07:00
multiprogramm
2b66fd3a22 Fix windows linker errors (#120) 2018-10-17 10:43:33 -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
Alex Damian
d77e7466b8 changed assert with if statement (#116) 2018-10-06 09:28:45 -07:00
Matias Fontanini
6158d932c0 Example fixes (#96)
* Add example for kafka buffered producer

* Add notes regarding bool returned in produce failure callback

* Fix example names
2018-06-25 19:19:23 -07:00
Alex Damian
eb46b8808e Bug fixes for sync flush and add_tracker (#91)
* fixes for sync flush and also add_tracker

* added flag for flush
2018-06-18 14:46:31 -07:00
accelerated
3c72eb5752 Added timeout to flush and wait_for_acks 2018-06-14 11:43:12 -04:00
accelerated
f220062e40 Changed purge to async_flush 2018-06-12 10:23:48 -04:00
accelerated
7530b9f9e4 added method to empty the buffer when max limit is reached 2018-06-12 09:21:55 -04:00
accelerated
3cf9bb53e9 Added purge (aka async_flush) functionality 2018-06-12 09:17:41 -04:00
accelerated
972a008aa4 Changed test to produce twice the same MessageBuilder 2018-06-11 15:45:41 -04: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
71e6e2e4e5 added retry logic for producers 2018-06-10 13:00:55 -04:00
Matias Fontanini
f15b59cb13 Fix compacted topic processor test
* Use buffered producer on compacted topic processor test

* Add include directives for callback invoker where missing

* Consume until EOF on compacted topic processor test
2018-06-09 14:49:50 -07: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
ffc64b9a5a Remove valgrind warning 2018-05-29 10:05:56 -04:00
accelerated
556f15a43f Allow access to the user-supplied delivery callback. 2018-05-29 09:59:19 -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
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
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
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
d9feb5c3db Added retry limit for the backoff performer class (#70) 2018-05-23 09:16:12 -07: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