Function dds_read_mask

Function Documentation

dds_return_t dds_read_mask(dds_entity_t reader_or_condition, void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, uint32_t mask)

Read the collection of data values and sample info from the data reader, readcondition or querycondition based on mask.

When using a readcondition or querycondition, their masks are or’d with the given mask.

Parameters
  • reader_or_condition[in] Reader, readcondition or querycondition entity.

  • buf[out] An array of pointers to samples into which data is read (pointers can be NULL).

  • si[out] Pointer to an array of dds_sample_info_t returned for each data value.

  • bufsz[in] The size of buffer provided.

  • maxs[in] Maximum number of samples to read.

  • mask[in] Filter the data based on dds_sample_state_t|dds_view_state_t|dds_instance_state_t.

Return values
  • >=0 – Number of samples read.

  • DDS_RETCODE_ERROR – An internal error has occurred.

  • DDS_RETCODE_BAD_PARAMETER – One of the given arguments is not valid.

  • DDS_RETCODE_ILLEGAL_OPERATION – The operation is invoked on an inappropriate object.

  • DDS_RETCODE_ALREADY_DELETED – The entity has already been deleted.

Returns

A dds_return_t with the number of samples read or an error code.