#include <time.h>#include <sys/stat.h>#include "ros/ros.h"#include "topic_tools/shape_shifter.h"#include <boost/thread.hpp>#include <boost/lexical_cast.hpp>#include <sstream>#include <string>#include <set>#include <queue>#include "std_msgs/Empty.h"#include <vector>#include <ostream>#include "ros/serialization.h"#include "ros/builtin_message_traits.h"#include "ros/message_operations.h"#include "ros/message.h"#include "ros/time.h"#include "rosrecord/Recorder.h"

Go to the source code of this file.
Classes | |
| class | OutgoingMessage |
| class | OutgoingQueue |
Defines | |
| #define | IGNORE_ROSRECORD_DEPRECATED |
| #define | ROS_DEPRECATED |
Enumerations | |
| enum | { COMPRESSION_NONE, COMPRESSION_GZIP, COMPRESSION_BZIP2 } |
Compression mode. More... | |
Functions | |
| void | do_check_master (const ros::TimerEvent &e, ros::NodeHandle &node_handle) |
| void | do_queue (topic_tools::ShapeShifter::ConstPtr msg, std::string topic_name, boost::shared_ptr< ros::Subscriber > subscriber, boost::shared_ptr< int > count) |
| Callback to be invoked to save messages into a queue. | |
| void | do_record () |
| Thread that actually does writing to file. | |
| void | do_record_bb () |
| void | do_trigger () |
| int | main (int argc, char **argv) |
| Main function. | |
| void | print_help () |
| Helper function to print executable options. | |
| void | print_usage () |
| Helper function to print executable usage. | |
| void | snapshot_trigger (std_msgs::Empty::ConstPtr trigger) |
| Callback to be invoked to actually do the recording. | |
| template<class T > | |
| std::string | time_to_str (T ros_t) |
Variables | |
| bool | g_add_date = true |
| Global flag to add date. | |
| static enum { ... } | g_compression |
| Compression mode. | |
| int | g_count = -1 |
| Global variable used for initialization of counting messages. | |
| std::set< std::string > | g_currently_recording |
| Global variable including the set of currenly recording topics. | |
| int | g_exit_code = 0 |
| uint64_t | g_max_queue_size = 1048576*256 |
| Global max queue size. | |
| int | g_num_subscribers = 0 |
| Global variable used for book-keeping of our number of subscribers. | |
| std::string | g_prefix |
| Global prefix. | |
| std::queue< OutgoingMessage > * | g_queue |
| Global queue for storing. | |
| boost::condition_variable_any | g_queue_condition |
| Conditional variable for global queue. | |
| boost::mutex | g_queue_mutex |
| Mutex for global queue. | |
| std::queue< OutgoingQueue > | g_queue_queue |
| Queue of queues to be used by the snapshot recorders. | |
| uint64_t | g_queue_size = 0 |
| Global queue size. | |
| bool | g_snapshot = false |
| Global snapshot flag so we can easily use from callback. | |
| uint64_t | g_split_count = 0 |
| Global split count. | |
| uint64_t | g_split_size = 0 |
| Global split size. | |
| bool | g_verbose = false |
| Global verbose flag so we can easily use from callback. | |
| #define IGNORE_ROSRECORD_DEPRECATED |
Definition at line 53 of file rosrecord.cpp.
| #define ROS_DEPRECATED |
Definition at line 52 of file rosrecord.cpp.
| anonymous enum |
Compression mode.
Definition at line 128 of file rosrecord.cpp.
| void do_check_master | ( | const ros::TimerEvent & | e, | |
| ros::NodeHandle & | node_handle | |||
| ) |
Definition at line 415 of file rosrecord.cpp.
| void do_queue | ( | topic_tools::ShapeShifter::ConstPtr | msg, | |
| std::string | topic_name, | |||
| boost::shared_ptr< ros::Subscriber > | subscriber, | |||
| boost::shared_ptr< int > | count | |||
| ) |
Callback to be invoked to save messages into a queue.
Definition at line 170 of file rosrecord.cpp.
| void do_record | ( | ) |
Thread that actually does writing to file.
Definition at line 257 of file rosrecord.cpp.
| void do_record_bb | ( | ) |
Definition at line 369 of file rosrecord.cpp.
| void do_trigger | ( | ) |
Definition at line 438 of file rosrecord.cpp.
| int main | ( | int | argc, | |
| char ** | argv | |||
| ) |
Main function.
Definition at line 449 of file rosrecord.cpp.
| void print_help | ( | ) |
Helper function to print executable options.
Definition at line 152 of file rosrecord.cpp.
| void print_usage | ( | ) |
Helper function to print executable usage.
Definition at line 145 of file rosrecord.cpp.
| void snapshot_trigger | ( | std_msgs::Empty::ConstPtr | trigger | ) |
Callback to be invoked to actually do the recording.
Definition at line 223 of file rosrecord.cpp.
| std::string time_to_str | ( | T | ros_t | ) | [inline] |
Definition at line 135 of file rosrecord.cpp.
| bool g_add_date = true |
Global flag to add date.
Definition at line 121 of file rosrecord.cpp.
enum { ... } g_compression [static] |
Compression mode.
| int g_count = -1 |
Global variable used for initialization of counting messages.
Definition at line 91 of file rosrecord.cpp.
| std::set<std::string> g_currently_recording |
Global variable including the set of currenly recording topics.
Definition at line 88 of file rosrecord.cpp.
| int g_exit_code = 0 |
Definition at line 85 of file rosrecord.cpp.
| uint64_t g_max_queue_size = 1048576*256 |
Global max queue size.
Definition at line 103 of file rosrecord.cpp.
| int g_num_subscribers = 0 |
Global variable used for book-keeping of our number of subscribers.
Definition at line 94 of file rosrecord.cpp.
| std::string g_prefix |
Global prefix.
Definition at line 121 of file rosrecord.cpp.
| std::queue<OutgoingMessage>* g_queue |
Global queue for storing.
Definition at line 97 of file rosrecord.cpp.
| boost::condition_variable_any g_queue_condition |
Conditional variable for global queue.
Definition at line 118 of file rosrecord.cpp.
| boost::mutex g_queue_mutex |
Mutex for global queue.
Definition at line 115 of file rosrecord.cpp.
| std::queue<OutgoingQueue> g_queue_queue |
Queue of queues to be used by the snapshot recorders.
Definition at line 112 of file rosrecord.cpp.
| uint64_t g_queue_size = 0 |
Global queue size.
Definition at line 100 of file rosrecord.cpp.
| bool g_snapshot = false |
Global snapshot flag so we can easily use from callback.
Definition at line 82 of file rosrecord.cpp.
| uint64_t g_split_count = 0 |
Global split count.
Definition at line 109 of file rosrecord.cpp.
| uint64_t g_split_size = 0 |
Global split size.
Definition at line 106 of file rosrecord.cpp.
| bool g_verbose = false |
Global verbose flag so we can easily use from callback.
Definition at line 79 of file rosrecord.cpp.