@brief Consume a single message from topic \p rkt and \p partition
\p timeout_ms is maximum amount of time to wait for a message to be received.
Consumer must have been previously started with rd_kafka_consume_start().
Returns a message object on success or \c NULL on error.
The message object must be destroyed with rd_kafka_message_destroy()
when the application is done with it.
Errors (when returning NULL):
- ETIMEDOUT - \p timeout_ms was reached with no new messages fetched.
- ENOENT - \p rkt + \p partition is unknown.
(no prior rd_kafka_consume_start() call)
NOTE: The returned message's \c ..->err must be checked for errors.
NOTE: \c ..->err \c == \c RD_KAFKA_RESP_ERR__PARTITION_EOF signals that the
end of the partition has been reached, which should typically not be
considered an error. The application should handle this case
(e.g., ignore).
@brief Consume a single message from topic \p rkt and \p partition
\p timeout_ms is maximum amount of time to wait for a message to be received. Consumer must have been previously started with rd_kafka_consume_start().
Returns a message object on success or \c NULL on error. The message object must be destroyed with rd_kafka_message_destroy() when the application is done with it.
Errors (when returning NULL): - ETIMEDOUT - \p timeout_ms was reached with no new messages fetched. - ENOENT - \p rkt + \p partition is unknown. (no prior rd_kafka_consume_start() call)
NOTE: The returned message's \c ..->err must be checked for errors. NOTE: \c ..->err \c == \c RD_KAFKA_RESP_ERR__PARTITION_EOF signals that the end of the partition has been reached, which should typically not be considered an error. The application should handle this case (e.g., ignore).