/* (c) Copyright 2003-2021, Real-Time Innovations, Inc. All rights reserved. */ /* * @(#)pres_psReaderQueue.h generated by: makeheader Tue Apr 7 17:39:30 2026 * * built from: psReaderQueue.ifc */ #ifndef pres_psReaderQueue_h #define pres_psReaderQueue_h #include "osapi/osapi_type.h" #include "reda/reda_fastBuffer.h" #include "reda/reda_worker.h" #include "pres/pres_dll.h" #include "pres/pres_common.h" #include "pres/pres_readerStatistics.h" #include "pres/pres_typePlugin.h" #include "pres/pres_participant.h" #include "pres/pres_psReaderWriter.h" #include "pres/pres_readerQueue.h" #include "commend/commend_readerService.h" #ifdef __cplusplus extern "C" { #endif struct PRESPsReaderQueueRemoteWriterQueue; struct PRESPsService_QueryConditionState; struct PRESReaderQueueIndexCondition; struct PRESPsReaderQueue; extern PRESDllExport RTIBool PRESPsReaderQueue_hasOutstandingLoans(struct PRESPsReaderQueue *me); #define PRES_PS_READER_QUEUE_READ_TAKE_MAX_COUNT_UNLIMITED (-1) extern PRESDllExport RTIBool PRESPsReaderQueue_take( struct PRESPsReaderQueue *me, int *successReason, void ***dataArray, int *dataCount, struct PRESLoanedSampleInfo ***infoArray, int *infoCount, int maxCount, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask, int filterIndex, struct PRESReaderQueueIndexCondition * indexCondition, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_read( struct PRESPsReaderQueue *me, int *successReason, void ***dataArray, int *dataCount, struct PRESLoanedSampleInfo ***infoArray, int *infoCount, int maxCount, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask, int filterIndex, struct PRESReaderQueueIndexCondition * indexCondition, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_takeInstance( struct PRESPsReaderQueue *me, int *successReason, void ***dataArray, int *dataCount, struct PRESLoanedSampleInfo ***infoArray, int *infoCount, int maxCount, const struct PRESInstanceHandle *handle, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask, int filterIndex, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_readInstance( struct PRESPsReaderQueue *me, int *successReason, void ***dataArray, int *dataCount, struct PRESLoanedSampleInfo ***infoArray, int *infoCount, int maxCount, const struct PRESInstanceHandle *handle, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask, int filterIndex, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_takeNextInstance( struct PRESPsReaderQueue *me, int *successReason, void ***dataArray, int *dataCount, struct PRESLoanedSampleInfo ***infoArray, int *infoCount, int maxCount, const struct PRESInstanceHandle *handle, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask, int filterIndex, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_readNextInstance( struct PRESPsReaderQueue *me, int *successReason, void ***dataArray, int *dataCount, struct PRESLoanedSampleInfo ***infoArray, int *infoCount, int maxCount, const struct PRESInstanceHandle *handle, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask, int filterIndex, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_takeNextSample( struct PRESPsReaderQueue *me, RTIBool *validSample, void *data, struct PRESSampleInfo *info, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_readNextSample( struct PRESPsReaderQueue *me, RTIBool *validSample, void *data, struct PRESSampleInfo *info, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, struct REDAWorker *worker); extern PRESDllExport struct REDAInlineListUserDataNode * PRESPsReaderQueueRemoteWriterQueue_getNode( struct PRESPsReaderQueueRemoteWriterQueue * queue); extern PRESDllExport struct PRESPsReaderQueue * PRESPsReaderQueueRemoteWriterQueue_getReaderQueue( struct PRESPsReaderQueueRemoteWriterQueue * queue); extern PRESDllExport struct PRESPsReaderQueueRemoteWriterQueue* PRESPsReaderQueue_findRemoteWriterQueue( const struct PRESPsReaderQueue* me, const struct MIGRtpsGuid* virtualGuid); extern PRESDllExport void PRESPsReaderQueue_activateRemoteWriterQueue( struct PRESPsReaderQueue *me, struct PRESPsReaderQueueRemoteWriterQueue *remoteWriterQueue); struct PRESSampleInfoListener; extern PRESDllExport void PRESPsReaderQueue_addQueryConditionFilter( struct PRESPsReaderQueue *me, int index, RTI_UINT32 systemKey, void *handle, PRESContentFilterEvaluate evaluate, PRESContentFilterEvaluate evaluateOnSerialized, void *filterData, RTIBool isKeyOnlyFilter, RTIBool isBuiltin, struct PRESPsService_QueryConditionState *queryConditionState); extern PRESDllExport void PRESPsReaderQueue_removeQueryConditionFilter( struct PRESPsReaderQueue *me, int index); extern PRESDllExport void PRESPsReaderQueue_enable(struct PRESPsReaderQueue* me, const struct RTINtpTime* nowIn); extern PRESDllExport void PRESPsReaderQueue_preDelete(struct PRESPsReaderQueue *me); extern PRESDllExport void PRESPsReaderQueue_setMinimumSeparation( struct PRESPsReaderQueue *me, const struct RTINtpTime *minimumSeparation); extern PRESDllExport void PRESPsReaderQueue_setContentFilterPolicy( struct PRESPsReaderQueue *me, const struct PRESContentFilterQosPolicy *policy); extern PRESDllExport void PRESPsReaderQueue_setDeadlinePeriod( struct PRESPsReaderQueue *me, const struct RTINtpTime *deadlinePeriod); extern PRESDllExport RTIBool PRESPsReaderQueue_checkDeadline( struct PRESPsReaderQueue *me, struct RTINtpTime *nextDeadline, const struct RTINtpTime *now); extern PRESDllExport RTIBool PRESPsReaderQueue_newData( struct PRESPsReaderQueue *me, RTIBool *dataAvailable, RTIBool *droppedSampleOutsideReaderResourceLimits, int *lostCount, PRESSampleLostStatusKind *lostReason, int *rejectedCount, PRESSampleRejectedStatusKind *rejectedReason, RTI_UINT32 *receivedInlineQosBitmap, struct PRESPsReaderQueueRemoteWriterQueue *remoteWriterQueue, const struct REDASequenceNumber *firstRelevantSn, const struct REDASequenceNumber *firstRelevantRangeEndSn, struct COMMENDReaderServiceData *data, const struct PRESReaderServiceLocalData *localData, void *decodingKeyHandle, int strength, int reservedCount, const struct RTINtpTime *timestamp, const struct RTINtpTime *now, RTI_UINT32 *readConditionState, struct PRESPsService_QueryConditionState *queryConditionState, const struct PRESParticipant *presParticipant, RTIBool allowProxy, struct REDAWorker *worker); extern PRESDllExport RTIBool PRESPsReaderQueue_newAnonData( struct PRESPsReaderQueue *me, RTIBool *dataAvailable, int *lostCount, PRESSampleLostStatusKind *lostReason, int *rejectedCount, PRESSampleRejectedStatusKind *rejectedReason, struct COMMENDReaderServiceData *data, const struct RTINtpTime *timestamp, const struct RTINtpTime *now, struct PRESPsService_QueryConditionState *queryConditionState, const struct PRESParticipant *presParticipant, struct REDAWorker *worker); extern PRESDllExport int PRESPsReaderQueue_getFreeCount( struct PRESPsReaderQueue *me, struct PRESPsReaderQueueRemoteWriterQueue *remoteWriterQueue); extern PRESDllExport void PRESPsReaderQueueRemoteWriterQueue_getNextCommittalSn( const struct PRESPsReaderQueueRemoteWriterQueue *remoteWriterQueue, struct REDASequenceNumber *nextCommittalSn); extern PRESDllExport void PRESPsReaderQueue_getStatistics( struct PRESPsReaderQueue *me, struct PRESPsDataReaderCacheStatus *stats); extern PRESDllExport void PRESPsReaderQueue_setStatistics( struct PRESPsReaderQueue *me, const struct PRESPsDataReaderCacheStatus *stats); extern PRESDllExport struct PRESReaderQueueVirtualWriterList * PRESPsReaderQueue_getVirtualWriterList( struct PRESPsReaderQueue *me); extern PRESDllExport struct PRESReaderQueueVirtualReader * PRESPsReaderQueue_getVirtualReader( struct PRESPsReaderQueue *me); extern PRESDllExport RTIBool PRESPsReaderQueue_acknowledgeVirtualSamples( struct PRESPsReaderQueue * self, struct PRESReaderQueueVirtualWriter * virtualWriter, const struct MIGRtpsGuid * virtualWriterGuid, const struct REDASequenceNumber * firstSn, const struct REDASequenceNumber * lastSn, const struct REDABuffer * userData); extern PRESDllExport RTIBool PRESPsReaderQueue_acknowledgeAllReadSamples( struct PRESPsReaderQueue * self, const struct REDABuffer * userData); extern PRESDllExport RTIBool PRESPsReaderQueue_confirmAcknowledgement( struct PRESPsReaderQueue * self, const struct MIGRtpsGuid * remoteWriterGuid, struct MIGRtpsAppAck * appAckConf, const struct RTINtpTime * now); extern PRESDllExport RTIBool PRESPsReaderQueueRemoteWriterQueue_getAcknowledgementState( struct PRESPsReaderQueueRemoteWriterQueue * self, struct MIGRtpsAppAck * appAckOut); extern PRESDllExport struct REDAInlineList * PRESPsReaderQueue_getCommittalInfoList( struct PRESPsReaderQueue * me); extern PRESDllExport struct PRESReaderQueueCommittalInfo * PRESPsReaderQueue_getCommittalInfo( struct PRESPsReaderQueue * me); extern PRESDllExport RTIBool PRESPsReaderQueue_createIndex( struct PRESPsReaderQueue * self, const char * indexName, REDAOrderedDataTypeCompareFunction userCompareFnc, struct REDAExclusiveArea* conditionEa, int indexConditionUserObjectSize, int indexConditionUserObjectAlignment); extern PRESDllExport RTIBool PRESPsReaderQueue_deleteIndex( struct PRESPsReaderQueue * self, const char * indexName); extern PRESDllExport struct PRESReaderQueueIndexCondition * PRESPsReaderQueue_createIndexCondition( struct PRESPsReaderQueue * self, struct PRESPsReader *owner, const char * indexName, struct PRESLoanedSampleInfo * presSampleInfo, PRESSampleStateMask sMask, PRESViewStateMask vMask, PRESInstanceStateMask iMask); extern PRESDllExport RTIBool PRESPsReaderQueue_containsIndexCondition( struct PRESPsReaderQueue * self, struct PRESPsReader *owner, struct PRESReaderQueueIndexCondition * presCondition); extern PRESDllExport RTIBool PRESPsReaderQueue_deleteIndexCondition( struct PRESPsReaderQueue * self, struct PRESPsReader *owner, struct PRESReaderQueueIndexCondition * presCondition); extern PRESDllExport void PRESPsReaderQueue_getIndexConditionLists( struct PRESPsReaderQueue * self, struct REDAInlineList ** outActiveList, struct REDAInlineList **outInactivatedList); extern PRESDllExport RTI_UINT32 PRESPsReaderQueue_getReadConditionState( struct PRESPsReaderQueue * self); struct PRESPsService_QueryConditionState; extern PRESDllExport void PRESPsReaderQueue_getQueryConditionState( struct PRESPsReaderQueue * self, struct PRESPsService_QueryConditionState *queryConditionState); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* pres_psReaderQueue_h */