Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
rosbag::Recorder Class Reference

#include <recorder.h>

List of all members.

Public Member Functions

void doTrigger ()
bool isSubscribed (std::string const &topic) const
 Recorder (RecorderOptions const &options)
int run ()
boost::shared_ptr
< ros::Subscriber
subscribe (std::string const &topic)

Private Member Functions

bool checkDisk ()
bool checkDuration (const ros::Time &)
bool checkLogging ()
bool checkSize ()
void doCheckMaster (ros::TimerEvent const &e, ros::NodeHandle &node_handle)
void doQueue (ros::MessageEvent< topic_tools::ShapeShifter const > msg_event, std::string const &topic, boost::shared_ptr< ros::Subscriber > subscriber, boost::shared_ptr< int > count)
 Callback to be invoked to save messages into a queue.
void doRecord ()
 Thread that actually does writing to file.
void doRecordSnapshotter ()
void printUsage ()
bool scheduledCheckDisk ()
bool shouldSubscribeToTopic (std::string const &topic, bool from_node=false)
void snapshotTrigger (std_msgs::Empty::ConstPtr trigger)
 Callback to be invoked to actually do the recording.
void startWriting ()
void stopWriting ()
void updateFilenames ()

Static Private Member Functions

template<class T >
static std::string timeToStr (T ros_t)

Private Attributes

Bag bag_
boost::mutex check_disk_mutex_
ros::WallTime check_disk_next_
std::set< std::string > currently_recording_
 set of currenly recording topics
int exit_code_
 eventual exit code
ros::Time last_buffer_warn_
uint64_t max_queue_size_
 max queue size
int num_subscribers_
 used for book-keeping of our number of subscribers
RecorderOptions options_
std::queue< OutgoingMessage > * queue_
 queue for storing
boost::condition_variable_any queue_condition_
 conditional variable for queue
boost::mutex queue_mutex_
 mutex for queue
std::queue< OutgoingQueuequeue_queue_
 queue of queues to be used by the snapshot recorders
uint64_t queue_size_
 queue size
uint64_t split_count_
 split count
ros::Time start_time_
std::string target_filename_
ros::WallTime warn_next_
std::string write_filename_
bool writing_enabled_

Detailed Description

Definition at line 109 of file recorder.h.


Constructor & Destructor Documentation

Definition at line 111 of file recorder.cpp.


Member Function Documentation

bool rosbag::Recorder::checkDisk ( ) [private]

Definition at line 580 of file recorder.cpp.

bool rosbag::Recorder::checkDuration ( const ros::Time t) [private]

Definition at line 389 of file recorder.cpp.

bool rosbag::Recorder::checkLogging ( ) [private]

Definition at line 604 of file recorder.cpp.

bool rosbag::Recorder::checkSize ( ) [private]

Definition at line 369 of file recorder.cpp.

void rosbag::Recorder::doCheckMaster ( ros::TimerEvent const &  e,
ros::NodeHandle node_handle 
) [private]

Definition at line 512 of file recorder.cpp.

void rosbag::Recorder::doQueue ( ros::MessageEvent< topic_tools::ShapeShifter const >  msg_event,
std::string const &  topic,
boost::shared_ptr< ros::Subscriber subscriber,
boost::shared_ptr< int >  count 
) [private]

Callback to be invoked to save messages into a queue.

Definition at line 257 of file recorder.cpp.

void rosbag::Recorder::doRecord ( ) [private]

Thread that actually does writing to file.

Definition at line 415 of file recorder.cpp.

Definition at line 474 of file recorder.cpp.

Definition at line 561 of file recorder.cpp.

bool rosbag::Recorder::isSubscribed ( std::string const &  topic) const

Definition at line 210 of file recorder.cpp.

void rosbag::Recorder::printUsage ( ) [private]

Definition at line 121 of file recorder.cpp.

Definition at line 570 of file recorder.cpp.

bool rosbag::Recorder::shouldSubscribeToTopic ( std::string const &  topic,
bool  from_node = false 
) [private]

Definition at line 214 of file recorder.cpp.

void rosbag::Recorder::snapshotTrigger ( std_msgs::Empty::ConstPtr  trigger) [private]

Callback to be invoked to actually do the recording.

Definition at line 333 of file recorder.cpp.

void rosbag::Recorder::startWriting ( ) [private]

Definition at line 348 of file recorder.cpp.

void rosbag::Recorder::stopWriting ( ) [private]

Definition at line 363 of file recorder.cpp.

shared_ptr< ros::Subscriber > rosbag::Recorder::subscribe ( std::string const &  topic)

Definition at line 197 of file recorder.cpp.

template<class T >
std::string rosbag::Recorder::timeToStr ( ros_t) [static, private]

Definition at line 248 of file recorder.cpp.

Definition at line 305 of file recorder.cpp.


Member Data Documentation

Definition at line 150 of file recorder.h.

boost::mutex rosbag::Recorder::check_disk_mutex_ [private]

Definition at line 175 of file recorder.h.

Definition at line 176 of file recorder.h.

set of currenly recording topics

Definition at line 155 of file recorder.h.

eventual exit code

Definition at line 158 of file recorder.h.

Definition at line 170 of file recorder.h.

max queue size

Definition at line 164 of file recorder.h.

used for book-keeping of our number of subscribers

Definition at line 156 of file recorder.h.

Definition at line 148 of file recorder.h.

std::queue<OutgoingMessage>* rosbag::Recorder::queue_ [private]

queue for storing

Definition at line 162 of file recorder.h.

boost::condition_variable_any rosbag::Recorder::queue_condition_ [private]

conditional variable for queue

Definition at line 160 of file recorder.h.

boost::mutex rosbag::Recorder::queue_mutex_ [private]

mutex for queue

Definition at line 161 of file recorder.h.

queue of queues to be used by the snapshot recorders

Definition at line 168 of file recorder.h.

uint64_t rosbag::Recorder::queue_size_ [private]

queue size

Definition at line 163 of file recorder.h.

uint64_t rosbag::Recorder::split_count_ [private]

split count

Definition at line 166 of file recorder.h.

Definition at line 172 of file recorder.h.

std::string rosbag::Recorder::target_filename_ [private]

Definition at line 152 of file recorder.h.

Definition at line 177 of file recorder.h.

std::string rosbag::Recorder::write_filename_ [private]

Definition at line 153 of file recorder.h.

Definition at line 174 of file recorder.h.


The documentation for this class was generated from the following files:


rosbag
Author(s): Tim Field (tfield@willowgarage.com), Jeremy Leibs (leibs@willowgarage.com), and James Bowman (jamesb@willowgarage.com)
autogenerated on Sat Dec 28 2013 17:43:05