void DiffPublisher::setGraph (const ConstraintGraph& graph) { { boost::mutex::scoped_lock lock(mutex_); graph_ = graph; current_id_ += 2; // make all subscribers think they dropped a diff } // It's fine if a call to getGraph intervenes here, but not addDiff msg::ConstraintGraphDiff fake_diff; addDiff(&fake_diff); // Trigger all subscribers requesting new graph }
void FloatNode::setValue(double new_value) { addDiff(produceDiff(new_value)); }