Assuming you're asking about the full timestamped route - you don't need to wait for 6 updates. If the updates have timestamps then you just need to ensure that you always have at least 1 update timestamped before your local simulation time and one timestamped after your local simulation time, so that you can find interpolated values for the current time. Ideally you wouldn't really have more than 3 in the buffer at most (2 you're interpolating between, and 1 that you're about to start using once your local simulation time passes that of the 2nd update of the 3).
If you're not ready for that complexity and don't need a perfectly smooth response, you can just treat updates as a moving target - when a new update comes in, mark it as "where I need this object to be in 150ms time" or some other value, then you can interpolate from the current position to that future position over the next 150ms. And when another update comes in, you shift to interpolating towards that one, and so on.