Function dds_take_mask¶
Defined in File dds.h
Function Documentation¶
-
dds_return_t dds_take_mask(dds_entity_t reader_or_condition, void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, uint32_t mask)¶
Take the collection of data values (of same type) 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.