Commit Graph

65 Commits

Author SHA1 Message Date
Joao Cordeiro
62ec1d82c1 remove unused boost includes 2020-10-18 12:30:27 +01:00
Alexander Damian
8cfd4595f6 Call flush termination callbacks from sync_produce 2020-08-31 21:56:10 -04:00
Alexander Damian
935a34238b Added implementation for thread-aware ack monitoring 2020-03-05 14:56:36 -05:00
Alexander Damian
5a057e4c99 Wait until the ack is received without timing out.
wait_for_acks() should default to infinite timeout since the
original implementation was never timing out.
2020-02-16 21:06:14 -05:00
Alexander Damian
2287e0994b Express async_flush in terms of flush since the logic is identical except for the timeout 2020-02-16 20:11:33 -05:00
Alexander Damian
92e46aa6cb Proper implementation of flush() with timeout 2020-02-16 20:11:20 -05:00
Alexander Damian
e401e97b40 Added clarifications and comments to the BufferedProducer class 2020-02-08 21:24:12 -05:00
Alexander Damian
fbbd5bc5a6 Changed int to size_t 2020-02-03 22:04:50 -05:00
Alexander Damian
bda2f4156d Fix tracker promise from throwing when set multiple times 2020-02-03 16:46:28 -05: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
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
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
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
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
2340046544 Clear messages acked/expected acks on buffered producer 2017-07-11 10:17:58 -07:00
Matias Fontanini
08815e97c0 Add CPPKAFKA_API to utils classes 2017-07-04 18:09:06 -07:00
Matias Fontanini
9594ddced3 Update license 2017-05-06 08:27:47 -07:00