void HeaderManipulation::publishMsgLoop(const ros::NodeHandle &nh)
{
    ROS_DEBUG("HeaderManipulation publishMsgLoop");
    while (nh.ok())
    {
        {
            boost::mutex::scoped_lock buffer_lock(buffer_mutex_);
            if (!stamped_msg_buffer_.empty())
            {
                ROS_DEBUG("publishing msg");
                publishMsg(stamped_msg_buffer_.front());
                stamped_msg_buffer_.pop();
                continue;
            }
        }
        publish_retry_rate_.sleep();
    }
}
void HeaderManipulation::publishMsg(const boost::shared_ptr<StampedMsg> stamped_msg)
{
    ROS_DEBUG("HeaderManipulation publishMsg");
    publishMsg(stamped_msg->first, stamped_msg->second);
}
void GenExchangeTestService::publishDummyMsg(uint32_t &token, RsDummyMsg *msg)
{
    publishMsg(token, msg);
}