I have an application that uses read_next_sample()/take_next_sample(). What is the proper way for the application to determine if a valid sample has been read/taken. Does return value of DDS_RETURN_OK indicate a valid sample? Or must SampleInfo.valid_data also be checked before using the sample data?