use cases for tf::MessageFilter::setTolerance [closed]
As currently implemented, this method has the effect that canTransform is being invoked with the exact timestamp, and with a timestamp that is "duration" later. So, it's not a tolerance in the sense that anything within that range would be okay, but it ensures that the transform is valid for the full range.
In a situation where there is no tf post-dating, the effect of such a setting will be that the callback of the MessageFilter is delayed until sensor_time+tolerance_duration. This is obvious, because if the transform has any dynamic links, it can't be known prior to that time.
However, it does mean that sensor data will be processed later than it could otherwise have been.
I'm wondering what the rationale for such a function is? When is this necessary, and could it be solved without having to wait until duration expires?