Sample selector.
This class is used by the Replay Service and Converter to provide the stream reader and discovery stream reader classes with the type and constraints of the data that's being requested by the service/tool:
- The sample state indicates whether the samples to be returned must be 'not read', meaning that they must not have been returned before, or they can be 'any' state, meaning that the service doesn't care about any previous read state of the data and that all data within the specified constraints must be returned.
- A time range. The returned samples' timestamp must be within the specified bounds.