Function dds_take_instance_mask_wl

Function Documentation

dds_return_t dds_take_instance_mask_wl(dds_entity_t reader_or_condition, void **buf, dds_sample_info_t *si, uint32_t maxs, dds_instance_handle_t handle, uint32_t mask)

Access loaned samples of data reader, readcondition or querycondition based on mask and scoped by the given intance handle.

This operation implements the same functionality as dds_take_mask_wl, except that only data scoped to the provided instance handle is read.

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.

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

  • handle[in] Instance handle related to the 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.

  • DDS_RETCODE_PRECONDITION_NOT_MET – The instance handle has not been registered with this reader.

Returns

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