Go to the documentation of this file.
35 #ifndef __TIMESTAMP_TOOLS__TRIGGER_MATCHER_H__
36 #define __TIMESTAMP_TOOLS__TRIGGER_MATCHER_H__
41 #include <boost/thread.hpp>
42 #include <boost/thread/condition.hpp>
43 #include <std_msgs/Header.h>
44 #include <boost/thread/thread_time.hpp>
49 class TriggerMatcherBase
64 ROS_WARN(
"TriggerMatcherBase: data arrived before trigger. Discarding data sample.");
105 ROS_WARN(
"TriggerMatcherBase: too many late data packets. Assuming missed trigger. Relocking...");
177 TriggerMatcherBase(
unsigned int late_data_count_allowed,
unsigned int max_trig_queue_length) :
200 boost::mutex::scoped_lock(
mutex_);
206 ROS_WARN(
"TriggerMatcherBase: trig_queue_ overflow dropping from front.");
232 TriggerMatcher(
unsigned int late_data_count_allowed,
unsigned int max_trig_queue_length) :
238 boost::mutex::scoped_lock lock(
mutex_);
247 boost::mutex::scoped_lock lock(
mutex_);
277 boost::mutex::scoped_lock lock(
mutex_);
284 class QueuedTriggerMatcher :
public TriggerMatcherBase
287 typedef std::pair<ros::Time, boost::shared_ptr<C const> >
DataPair;
297 ROS_ERROR(
"QueuedTriggerMatcher triggered with no callback set. This is a bug in the code that uses QueuedTriggerMatcher.");
330 QueuedTriggerMatcher(
unsigned int late_data_count_allowed,
unsigned int max_trig_queue_length,
unsigned int max_data_queue_length) :
360 boost::mutex::scoped_lock lock(
mutex_);
368 boost::mutex::scoped_lock lock(
mutex_);
374 ROS_WARN(
"QueuedTriggerMatcher: trig_queue_ overflow dropping from front.");
383 #endif // __TIMESTAMP_TOOLS__TRIGGER_MATCHER_H__
const Time TIME_MIN(0, 1)
const ROSTIME_DECL Time TIME_MIN
const ROSTIME_DECL Time TIME_MAX
timestamp_tools
Author(s): Blaise Gassend
autogenerated on Wed Mar 2 2022 00:11:51