= API review =

Proposer: '''Josh F'''

Present at review:
 *List reviewers

This is a review of the addition of 3 new types of macros to rosconsole:
 * `_ONCE`
  * Prints a message once and only once, e.g.
  {{{
ROS_WARN_ONCE("This will only print once");
  }}}
 * `_LIMIT`
  * Limits a message to be printed once every N seconds, e.g.
  {{{
ROS_WARN_LIMIT(65.3, "This will print once every 65.3 seconds");
  }}}
 * `_FILTER`
  * Allows arbitrary filtering of messages, as well as changing the final formatted string, severity level, and logger.  See the [[http://www.ros.org/doc/api/rosconsole/html/classros_1_1console_1_1FilterBase.html|FilterBase Code API]] for more information.
  {{{
ROS_WARN_FILTER(my_filter, "This will print only if my filter allows it");
  }}}

There are also `_STREAM` and `_NAMED` versions of each of these 3 macros (e.g. `ROS_INFO_STREAM_LIMIT`, `ROS_INFO_LIMIT_NAMED`, `ROS_INFO_STREAM_LIMIT_NAMED`)


== This is an email-only review.  Please respond to the ros-review list ==

== Conclusion ==
Package status change  mark change manifest)
 * /!\ Action items that need to be taken.
 * {X} Major issues that need to be resolved


 * /!\ Rename _LIMIT to _THROTTLE
 * Remove out_level and out_logger (in favor of just allowing changes to level/logger)

----
## PackageReviewCategory