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 (const 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 115 of file recorder.h.


Constructor & Destructor Documentation

Definition at line 120 of file recorder.cpp.


Member Function Documentation

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

Definition at line 616 of file recorder.cpp.

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

Definition at line 423 of file recorder.cpp.

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

Definition at line 673 of file recorder.cpp.

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

Definition at line 403 of file recorder.cpp.

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

Definition at line 546 of file recorder.cpp.

void rosbag::Recorder::doQueue ( const 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 285 of file recorder.cpp.

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

Thread that actually does writing to file.

Definition at line 449 of file recorder.cpp.

Definition at line 508 of file recorder.cpp.

Definition at line 597 of file recorder.cpp.

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

Definition at line 233 of file recorder.cpp.

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

Definition at line 130 of file recorder.cpp.

Definition at line 606 of file recorder.cpp.

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

Definition at line 237 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 365 of file recorder.cpp.

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

Definition at line 381 of file recorder.cpp.

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

Definition at line 397 of file recorder.cpp.

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

Definition at line 210 of file recorder.cpp.

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

Definition at line 271 of file recorder.cpp.

Definition at line 333 of file recorder.cpp.


Member Data Documentation

Definition at line 156 of file recorder.h.

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

Definition at line 181 of file recorder.h.

Definition at line 182 of file recorder.h.

set of currenly recording topics

Definition at line 161 of file recorder.h.

eventual exit code

Definition at line 164 of file recorder.h.

Definition at line 176 of file recorder.h.

max queue size

Definition at line 170 of file recorder.h.

used for book-keeping of our number of subscribers

Definition at line 162 of file recorder.h.

Definition at line 154 of file recorder.h.

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

queue for storing

Definition at line 168 of file recorder.h.

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

conditional variable for queue

Definition at line 166 of file recorder.h.

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

mutex for queue

Definition at line 167 of file recorder.h.

queue of queues to be used by the snapshot recorders

Definition at line 174 of file recorder.h.

uint64_t rosbag::Recorder::queue_size_ [private]

queue size

Definition at line 169 of file recorder.h.

uint64_t rosbag::Recorder::split_count_ [private]

split count

Definition at line 172 of file recorder.h.

Definition at line 178 of file recorder.h.

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

Definition at line 158 of file recorder.h.

Definition at line 183 of file recorder.h.

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

Definition at line 159 of file recorder.h.

Definition at line 180 of file recorder.h.


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


rosbag
Author(s): Tim Field, Jeremy Leibs, James Bowman
autogenerated on Thu Jun 6 2019 21:11:02