Currently when stopRecording is called, the boolean run in DataSinkBase::Pimpl is set to false and snapshots stop being taken. This makes it tough on unit tests where you want all queued snapshots to be written to the mcap file and the file written to disk. Would be nice if either stopRecording allowed the queue to finish processing but would't add any more or a separate call was added that added this additional behavior. Without this I think brittle sleeps are the only way to try and ensure your sink has finished processing any outstanding snapshots before stopping it