Stan Campbell
f0254cdefe
Add Hermann signal handler into chain to allow us to send SIGINT, etc. up the chain.
2014-09-05 12:16:37 -07:00
Stan Campbell
3a6c02f023
Remove exit(..) calls and replace by raising a runtime exception to Ruby.
2014-09-05 10:07:43 -07:00
Stan Campbell
ab4f4cca5d
Fix Consumer behavior to properly handle passed blocks.
2014-09-05 09:50:52 -07:00
R. Tyler Croy
ed36300265
Pass a pointer to a Hermann::Result into the message delivery callback
...
Provided that /something/ is ticking the librdkafka reactor underneath, the
Hermann::Result will be updated with the message delivery status when that's
completed.
What's still missing is producer level error calbacks
Fixes #11
Fixes #15
Fixes #17
2014-09-04 14:31:29 -07:00
Stan Campbell
34193dd142
Merge pull request #22 from rtyler/issues/21-buffer-overrun
...
Avoid double-ocpying and a buffer overrun when pushing a Ruby string
2014-09-04 13:50:33 -07:00
Stan Campbell
3a48bd6f64
Merge pull request #20 from rtyler/issues/11-producer-feedback
...
An initial pass at exposing the async nature of librdkafka upwards
2014-09-04 13:50:14 -07:00
R. Tyler Croy
7085385d7e
Avoid double-ocpying and a buffer overrun when pushing a Ruby string into Kafka
...
This approach to shuffling the message buffer into librdkafka relies on librdkafka to safely
copy the buffer for it's own uses from the Ruby string's C pointer.
This has been tested with buffers 2x the size of the SIGSEGV mentioned in #21
Fixes #21
Fixes #13
2014-09-04 13:03:01 -07:00
R. Tyler Croy
74dfd19399
Remove inadvertantly added changes to msg_delivered function
2014-09-04 11:55:19 -07:00
Stan Campbell
e71ab6cd14
Update the requires for the sample scripts.
2014-09-04 10:52:27 -07:00
R. Tyler Croy
ccc7d20d15
An initial pass at exposign the asynchronous nature of librdkafka up into Ruby
...
This should be enough to get some initial review of the API going. Hooking up a
Hermann::Result class to the Hermann::Producer in Ruby is in this commit but
actually driving the librdkafka reactor underneath is not yet hooked up.
Fixes #11
Fixes #15
Fixes #18
2014-09-03 14:19:09 -07:00
R. Tyler Croy
0eb18479b6
Properly raise an exception when the consumer is given an empty topic
2014-08-30 15:30:11 -07:00
R. Tyler Croy
655cc4463a
Fix almost all of the compiler warnings
...
Some are intentionally left out of the fixing because I believe there's a
failing test case that needs to be added
2014-08-30 15:30:11 -07:00
R. Tyler Croy
f5e0c9384d
Raise an exception instead of attempting to write to an empty topic name
2014-08-30 13:21:33 -07:00
R. Tyler Croy
3effe046f4
Raise an exception instead of exiting process on bad brokers for Herman::Consumer
2014-08-30 13:21:10 -07:00
R. Tyler Croy
2f5e9ae4e3
Make a plethora of whitespace and style consistency fixes to C code
2014-08-30 13:06:19 -07:00
R. Tyler Croy
f3bf216b66
Raise a RuntimeError when a bad partition is given to a consumer
...
Fixes #7
2014-08-30 12:54:53 -07:00
R. Tyler Croy
d8166b7fe4
Raise a runtime error when a bad broker is specified
...
Fixes #6
2014-08-30 12:51:03 -07:00
R. Tyler Croy
3a6a54def6
C code should be formatted with tabs not spaces
2014-08-30 08:40:58 -07:00
R. Tyler Croy
e241f086ee
Restructure the Hermann gem extension build process to use rake-compiler
...
This is a little bit better and cleaner IMO than the hand-crafted rake tasks.
Would you like to know more? <https://github.com/luislavena/rake-compiler >
2014-08-29 18:37:10 -07:00