InMobi/messaging-client — pull request #3 by Amareshwari (2012-10-18 08:18:34+00:00)
Title: Publisher retries

Adds retry and buffering to ScribeMessagePublisher

* When the server is down or channel not connected or channel is not writable, the messages will be buffered in publisher. Messages to sent are put in a bounded queue. If queue becomes full, message will dropped.
* All the messages sent to the scribe will wait for acknowledgement. The messages to be acked are put in a bounded queue. When ack queue becomes full. Messages wont be sent, but added to to-be-sent queue.
* When publisher gets a retry, the message will be resent.
* When publisher closes, it will try to drain all the messages.

Added counters for -

Lost - the messages dropped by publisher
retryCount - How many times messages are resent
Reconnects - How many publisher reconnected to scirbe
Used gracefulTerminates for storing acknowledgement lost messages.

Added tests for server down, retries and timeouts