- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten - svcTabCommon: Export-Header-Fix via Fallback-Target - TrainingAreaBase: Stub-Header für BUILD_RTI=OFF - ddsfts: Include-Pfad und Dependency-Fixes - BUILD_RTI=OFF Compilation vollständig unterstützt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
609 lines
22 KiB
C
609 lines
22 KiB
C
/* (c) Copyright 2003-2021, Real-Time Innovations, Inc. All rights reserved. */
|
|
/*
|
|
* @(#)pres_participantChannel.h generated by: makeheader Tue Apr 7 17:39:30 2026
|
|
*
|
|
* built from: participantChannel.ifc
|
|
*/
|
|
|
|
#ifndef pres_participantChannel_h
|
|
#define pres_participantChannel_h
|
|
|
|
|
|
#ifndef pres_dll_h
|
|
#include "pres/pres_dll.h"
|
|
#endif
|
|
#ifndef osapi_type_h
|
|
#include "osapi/osapi_type.h"
|
|
#endif
|
|
#ifndef reda_fastBuffer_h
|
|
#include "reda/reda_fastBuffer.h"
|
|
#endif
|
|
#ifndef cdr_stream_h
|
|
#include "cdr/cdr_stream.h"
|
|
#endif
|
|
#ifndef pres_common_h
|
|
#include "pres/pres_common.h"
|
|
#endif
|
|
#ifndef cdr_typeCode_h
|
|
#include "cdr/cdr_typeCode.h"
|
|
#endif
|
|
#ifndef pres_typePlugin_h
|
|
#include "pres/pres_typePlugin.h"
|
|
#endif
|
|
#ifndef pres_psService_h
|
|
#include "pres/pres_psService.h"
|
|
#endif
|
|
#ifndef netio_dnsTracker_h
|
|
#include "netio/netio_dnsTracker.h"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct PRESParticipantChannelReader;
|
|
|
|
struct PRESParticipantChannelWriter;
|
|
|
|
struct PRESParticipantChannel;
|
|
|
|
|
|
struct PRESParticipantChannelReaderListener {
|
|
struct PRESPsReaderListener _parent;
|
|
|
|
void *_data;
|
|
};
|
|
|
|
|
|
#define PRESParticipantChannelReaderListener_INITIALIZER { \
|
|
PRESPsReaderListener_INITIALIZER /* _parent */, \
|
|
NULL /* _data */ \
|
|
}
|
|
|
|
typedef RTIBool (*PRESParticipantChannelInitializeWriterCallback)(
|
|
struct PRESParticipantChannelWriter *me,
|
|
const void *channel,
|
|
const struct PRESParticipantChannel *parent,
|
|
struct REDAWorker *worker);
|
|
|
|
typedef RTIBool (*PRESParticipantChannelInitializeReaderCallback)(
|
|
struct PRESParticipantChannelReader *me,
|
|
const void *channel,
|
|
const struct PRESParticipantChannel *parent,
|
|
const struct PRESParticipantChannelReaderListener *listener,
|
|
struct REDAWorker *worker);
|
|
|
|
struct PRESParticipantChannelProperty {
|
|
PRESCdrPaddingKind cdrPaddingKind;
|
|
|
|
/* Used to configure all writers */
|
|
struct PRESPsWriterProperty writerProperty;
|
|
/* Used to configure all readers */
|
|
struct PRESPsReaderProperty readerProperty;
|
|
|
|
/* The transport priority used for readers and writers in the channel */
|
|
struct PRESTransportPriorityQosPolicy transportPriority;
|
|
/* The transport priority used for readers and writers in the channel */
|
|
struct RTINetioAliasList transportAliasList;
|
|
|
|
PRESParticipantChannelInitializeReaderCallback initializeNonSecureReader;
|
|
PRESParticipantChannelInitializeReaderCallback initializeSecureReader;
|
|
PRESParticipantChannelInitializeWriterCallback initializeNonSecureWriter;
|
|
PRESParticipantChannelInitializeWriterCallback initializeSecureWriter;
|
|
/*
|
|
* Determines whether nonsecure endpoints are created. For example,
|
|
* this is set to RTI_FALSE when creating the ParticipantConfigChannel
|
|
* where unauthenticated participants are not allowed.
|
|
*/
|
|
RTIBool createNonSecureEndpoints;
|
|
/*
|
|
* Determines whether secure endpoints are created. This is true when
|
|
* using security and secure participant discovery is enabled.
|
|
*/
|
|
RTIBool createSecureEndpoints;
|
|
MIGRtpsObjectId nonSecureWriterOid;
|
|
MIGRtpsObjectId secureWriterOid;
|
|
MIGRtpsObjectId nonSecureReaderOid;
|
|
MIGRtpsObjectId secureReaderOid;
|
|
};
|
|
|
|
|
|
#define PRES_PARTICIPANT_CHANNEL_PROPERTY_INITIALIZER \
|
|
{ \
|
|
PRES_NOT_SET_CDR_PADDING, /* cdrPaddingKind */ \
|
|
PRES_PS_WRITER_PROPERTY_DEFAULT, /* writerProperty */ \
|
|
PRES_PS_READER_PROPERTY_DEFAULT, /* readerProperty */ \
|
|
{ NDDS_TRANSPORT_PRIORITY_DEFAULT }, /* transportPriority*/ \
|
|
RTI_NETIO_ALIAS_LIST_DEFAULT, /* transportAliasList */ \
|
|
NULL /* initializeNonSecureReader */, \
|
|
NULL /* initializeSecureReader */, \
|
|
NULL /* initializeNonSecureWriter */, \
|
|
NULL /* initializeSecureWriter */, \
|
|
RTI_TRUE, /* createNonSecureEndpoints */ \
|
|
RTI_FALSE, /* createSecureEndpoints */ \
|
|
MIG_RTPS_OBJECT_ID_UNKNOWN, /* writerOid */ \
|
|
MIG_RTPS_OBJECT_ID_UNKNOWN, /* secureWriterOid */ \
|
|
MIG_RTPS_OBJECT_ID_UNKNOWN, /* readerOid */ \
|
|
MIG_RTPS_OBJECT_ID_UNKNOWN /* secureReaderOid */ \
|
|
}
|
|
|
|
|
|
struct PRESParticipantChannel {
|
|
struct MIGRtpsGuid _guid;
|
|
struct PRESParticipant *_participant;
|
|
struct COMMENDFacade *_facade;
|
|
|
|
struct PRESGroup *_writerGroup;
|
|
struct PRESParticipantChannelWriter *_nonSecureWriter;
|
|
struct PRESParticipantChannelWriter *_secureWriter;
|
|
|
|
struct PRESGroup *_readerGroup;
|
|
struct PRESParticipantChannelReader *_nonSecureReader;
|
|
struct PRESParticipantChannelReader *_secureReader;
|
|
|
|
struct PRESTopic *_nonSecureTopic;
|
|
struct PRESTopic *_secureTopic;
|
|
RTIBool _isEnabled;
|
|
|
|
const char *_nonSecureTopicName;
|
|
const char *_secureTopicName;
|
|
const char *_typeName;
|
|
|
|
struct PRESParticipantChannelProperty *_property;
|
|
struct PRESPropertyQosPolicy _propertyQosPolicy;
|
|
|
|
PRESParticipantChannelInitializeReaderCallback initializeNonSecureReader;
|
|
PRESParticipantChannelInitializeReaderCallback initializeSecureReader;
|
|
|
|
PRESParticipantChannelInitializeWriterCallback initializeNonSecureWriter;
|
|
PRESParticipantChannelInitializeWriterCallback initializeSecureWriter;
|
|
};
|
|
|
|
|
|
#define PRESParticipantChannel_asParentChannel(channel__) \
|
|
(struct PRESParticipantChannel *) (channel__)
|
|
|
|
#define PRESParticipantChannel_isEnabled(channel__) (channel__)->_isEnabled
|
|
|
|
|
|
#define PRESBuiltinEndpointMask_isEDS(endpoints__) \
|
|
((((endpoints__) & DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_ANNOUNCER) == \
|
|
DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_ANNOUNCER) && \
|
|
(((endpoints__) & DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_DETECTOR) == \
|
|
DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_DETECTOR))
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantChannel_enable(
|
|
struct PRESParticipantChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantChannel_write(
|
|
struct PRESParticipantChannel *me,
|
|
struct REDASequenceNumber *sentSn,
|
|
RTIBool writeToSecure,
|
|
RTIBool writeToNonSecure,
|
|
void *data,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantChannel_dispose(
|
|
struct PRESParticipantChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool PRESParticipantChannel_finalize(
|
|
struct PRESParticipantChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool PRESParticipantChannel_setReaderListener(
|
|
struct PRESParticipantChannel *me,
|
|
int *failReason,
|
|
MIGRtpsObjectId readerObjectId,
|
|
const struct PRESParticipantChannelReaderListener *listener,
|
|
PRESStatusKindMask mask,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantChannel_getReaderListener(
|
|
struct PRESParticipantChannel *me,
|
|
struct PRESParticipantChannelReaderListener *outListener,
|
|
MIGRtpsObjectId readerObjectId);
|
|
|
|
extern PRESDllExport
|
|
struct PRESPsReader *
|
|
PRESParticipantChannel_getNonsecureReader(
|
|
const struct PRESParticipantChannel *me);
|
|
|
|
|
|
#define PRES_PARTICIPANT_CHANNEL_PARTICIPANT_LIVELINESS_ASSERT_PERIOD_DEFAULT \
|
|
{ \
|
|
30, 0 \
|
|
}
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_MIN_PARTICIPANT_ANNOUNCEMENT_PERIOD_DEFAULT \
|
|
{ \
|
|
0, 10000000L \
|
|
}
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_MAX_PARTICIPANT_ANNOUNCEMENT_PERIOD_DEFAULT \
|
|
{ \
|
|
1, 0 \
|
|
}
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_NUMBER_OF_FAST_ATTEMPTS_DEFAULT \
|
|
(1)
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_NEW_REMOTE_PARTICIPANT_ANNOUNCEMENTS_DEFAULT \
|
|
(2)
|
|
|
|
#ifndef RTI_EXCLUDE_BB_SECURITY
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_SAMPLE_SIGNATURE_BITMAP_NONE \
|
|
(0x00000000)
|
|
/*i Bits used to configure the isSampleSignatureVerificationEnabled bitmap */
|
|
/*i Enable the verification of signatures in the receiving side */
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_DESERIALIZE_SAMPLE_SIGNATURE_BIT \
|
|
(0x00000001 << 0)
|
|
/*i Enable the generation of signatures in the sending side */
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_SERIALIZE_SAMPLE_SIGNATURE_BIT \
|
|
(0x00000001 << 1)
|
|
#ifdef RTI_LM_ARCHITECTURE
|
|
/*i Append the whitelisting RTI Connext Express edition signature to the
|
|
* existing sample signature (requires
|
|
* PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_SERIALIZE_SAMPLE_SIGNATURE_BIT to
|
|
* be set too) */
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_SERIALIZE_EXPRESS_SIGNATURE_BIT \
|
|
(0x00000001 << 2)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
struct PRESParticipantAnnouncementChannelProperty {
|
|
struct PRESParticipantChannelProperty _parent;
|
|
struct PRESPsAnonWriterProperty *_anonWriterProperty;
|
|
/*
|
|
* When this is set to TRUE, a participant can match with participants that
|
|
* are not in its initial_peers list and have not been added through
|
|
* add_peer. When this is FALSE, a participant will only match with a
|
|
* remote participant if it is in its initial_peers list or was added
|
|
* through add_peer.
|
|
*/
|
|
RTIBool acceptUnknownPeers;
|
|
/*
|
|
* This is the period that participant announcements are sent to the list
|
|
* of potential peers. When using SPDP2, this is the
|
|
* participant_announcement_period and announcements are not sent to
|
|
* remote participants that we have fully matched with. When using SPDP,
|
|
* this is the participant_liveliness_assert_period and announcements
|
|
* are sent to both locators without matched participants and locators
|
|
* with matched participants (to maintain liveliness).
|
|
*/
|
|
RTINtpTime participantAnnouncementPeriod;
|
|
/*
|
|
* Initial participant announcements and participant announcements sent
|
|
* when a new remote participant is discovered are sent out using a random
|
|
* time generated within a range. minParticipantAnnouncementPeriod is the
|
|
* minimum limit for this range.
|
|
*/
|
|
RTINtpTime minParticipantAnnouncementPeriod;
|
|
/*
|
|
* maxParticipantAnnouncementPeriod is the maximum limit for the range for
|
|
* generating a random time to send participant announcements as described
|
|
* above.
|
|
*/
|
|
RTINtpTime maxParticipantAnnouncementPeriod;
|
|
/*
|
|
* Period at which the local domain participant will be announced in the
|
|
* default domain (0) over multicast
|
|
*/
|
|
RTINtpTime domainBroadcastPeriod;
|
|
/*
|
|
* The number of initial participant announcements sent when asserting
|
|
* new destinations.
|
|
*/
|
|
int initialParticipantAnnouncements;
|
|
/*
|
|
* The number of initial participant announcements sent when a local
|
|
* participant is first enabled.
|
|
*/
|
|
int initialParticipantAnnouncementsOnEnable;
|
|
struct PRESPsReaderFragmentationResourceLimits participantReaderFragmentationResourceLimits;
|
|
/*
|
|
* The number of participant announcements sent when discovering a new
|
|
* remote participant.
|
|
*/
|
|
int newRemoteParticipantAnnouncements;
|
|
|
|
#ifndef RTI_EXCLUDE_BB_SECURITY
|
|
/* Bitmap that configures sample signature generation and verification. */
|
|
RTI_UINT32 isSampleSignatureVerificationEnabled;
|
|
#endif
|
|
|
|
/*
|
|
* Time that must have passed since an instance's lastTouchedTime in the
|
|
* non-secure participant announcement reader (bootstrap/DATA(p)) in order
|
|
* to be purged by PRESPsReader_onPurgeAnonReaderNoWritersInstances if it
|
|
* has no writers.
|
|
*/
|
|
RTINtpTime purgeNoWritersInstancesExpirationTime;
|
|
};
|
|
|
|
|
|
|
|
#ifndef RTI_EXCLUDE_BB_SECURITY
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_OPT_PROPERTY_DEFAULT \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_SAMPLE_SIGNATURE_BITMAP_NONE, \
|
|
/* isSampleSignatureVerificationEnabled */
|
|
#else
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_OPT_PROPERTY_DEFAULT
|
|
#endif
|
|
|
|
#define PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_PROPERTY_DEFAULT \
|
|
{ \
|
|
PRES_PARTICIPANT_CHANNEL_PROPERTY_INITIALIZER, /* parent */ \
|
|
NULL, /* _anonWriterProperty */ \
|
|
RTI_TRUE, /* accept_unknown_peers */ \
|
|
PRES_PARTICIPANT_CHANNEL_PARTICIPANT_LIVELINESS_ASSERT_PERIOD_DEFAULT, \
|
|
/* participantAnnouncementPeriod */ \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_MIN_PARTICIPANT_ANNOUNCEMENT_PERIOD_DEFAULT, \
|
|
/* minParticipantAnnouncementPeriod */ \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_MAX_PARTICIPANT_ANNOUNCEMENT_PERIOD_DEFAULT, \
|
|
/* maxParticipantAnnouncementPeriod */ \
|
|
{ 0, 0 }, /* domainBroadcastPeriod */ \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_NUMBER_OF_FAST_ATTEMPTS_DEFAULT, \
|
|
/* initialParticipantAnnouncements */ \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_NUMBER_OF_FAST_ATTEMPTS_DEFAULT, \
|
|
/* initialParticipantAnnouncementsOnEnable */ \
|
|
PRES_PS_READER_FRAGMENTATION_RESOURCE_LIMITS_DEFAULT, \
|
|
/* participantReaderFragmentationResourceLimits */ \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_NEW_REMOTE_PARTICIPANT_ANNOUNCEMENTS_DEFAULT, \
|
|
/* newRemoteParticipantAnnouncements */ \
|
|
PRES_PARTICIPANT_ANNOUNCEMENT_CHANNEL_OPT_PROPERTY_DEFAULT \
|
|
{ 60, 0 } /* purgeNoWritersInstancesExpirationTime */ \
|
|
}
|
|
|
|
|
|
struct PRESParticipantAnnouncementChannel {
|
|
/* Base structure that contains readers, writers, topics, groups, etc */
|
|
struct PRESParticipantChannel _parent;
|
|
|
|
/*
|
|
* Properties that configure values specific to the announcement channel.
|
|
* This is a pointer because when using SPDP or SPDP2 this will point to
|
|
* the property in the base plugin.
|
|
*/
|
|
struct PRESParticipantAnnouncementChannelProperty *_property;
|
|
|
|
/*
|
|
* List of destinations the anon writer will write to. The life of this
|
|
* list should be maintained outside of this channel.
|
|
*
|
|
* (ie when this channel is used with SPDP, the list is created and
|
|
* destroyed by the SPDP base plugin)
|
|
*/
|
|
struct RTINetioDestinationList *_destinations;
|
|
|
|
/* Domain broadcast destination */
|
|
struct RTINetioLocator _domainBroadcastDestination;
|
|
|
|
struct REDAExclusiveArea *_writerGroupEA;
|
|
|
|
RTIBool _multicastEnabled;
|
|
RTIBool _isEnabled;
|
|
};
|
|
|
|
extern PRESDllExport struct PRESParticipantAnnouncementChannel *
|
|
PRESParticipantAnnouncementChannel_new(
|
|
struct PRESParticipant *participant,
|
|
struct RTINetioDestinationList *destinationsList,
|
|
const struct RTINetioLocator *peer_destinations,
|
|
const int peer_destination_count,
|
|
struct REDAExclusiveArea *readerGroupEA,
|
|
struct REDAExclusiveArea *writerGroupEA,
|
|
struct PRESParticipantAnnouncementChannelProperty *announcementProperty,
|
|
const struct PRESPropertyQosPolicy *propertyQosPolicy,
|
|
const char *nonSecureTopicName,
|
|
const char *secureTopicName,
|
|
const char *typeName,
|
|
struct PRESParticipantChannelReaderListener *readerListener,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool
|
|
PRESParticipantAnnouncementChannel_enableRemoteParticipantDestinations(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESLocatorQosPolicy *locators,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool
|
|
PRESParticipantAnnouncementChannel_disableRemoteParticipantDestinations(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESLocatorQosPolicy *locators,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_assertRemoteParticipantDestinations(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESParticipantParameter *remoteParticipantParameter,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_resend(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
int *failReason,
|
|
const struct PRESReducedLocatorQosPolicy *multicastLocators,
|
|
const struct PRESLocatorQosPolicy *unicastLocators,
|
|
RTI_INT32 announcementsToSend,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool
|
|
PRESParticipantAnnouncementChannel_updateAnonWriterProperty(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_assertRemoteNonSecureWriter(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESParticipantParameter *remoteParticipantParameter,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_assertRemoteSecureEndpoints(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESParticipantParameter *remoteParticipantParameter,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_onHostnameUpdated(
|
|
struct RTINetioDnsTrackerListener *listener,
|
|
struct RTINetioDnsTrackerListenerStorage *storage,
|
|
const struct RTINetioLocator *locator,
|
|
const NDDS_Transport_Address_t *newAddress,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantChannel_removeNonSecureRemoteWriter(
|
|
struct PRESParticipantChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantChannel_removeNonSecureRemoteEndpoints(
|
|
struct PRESParticipantChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport struct REDAWeakReference *
|
|
PRESParticipantChannel_getNonSecureWriterWR(
|
|
const struct PRESParticipantChannel *me);
|
|
|
|
extern PRESDllExport RTIBool
|
|
PRESParticipantAnnouncementChannel_finalizeEntities(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport void PRESParticipantAnnouncementChannel_delete(
|
|
struct PRESParticipantAnnouncementChannel *me);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_startDiscovery(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
void *data,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_enable(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantAnnouncementChannel_assertDomainBroadcastDestination(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const struct RTINetioLocator *destination,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTI_INT32
|
|
PRESParticipantAnnouncementChannel_getParticipantAnnouncementResendCount(
|
|
const struct PRESParticipantAnnouncementChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTI_INT32
|
|
PRESParticipantAnnouncementChannel_getDestinationCount(
|
|
const struct PRESParticipantAnnouncementChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool
|
|
PRESParticipantAnnouncementChannel_removeRemoteParticipantLocators(
|
|
struct PRESParticipantAnnouncementChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESLocatorQosPolicy *metatrafficMulticastLocator,
|
|
const struct PRESLocatorQosPolicy *metatrafficUnicastLocator,
|
|
struct REDAWorker *worker);
|
|
|
|
struct PRESParticipantConfigChannelProperty {
|
|
struct PRESParticipantChannelProperty parent;
|
|
/*
|
|
* This configures the liveliness assertion period for the participant
|
|
* channel.
|
|
* For SPDP2 this will be set to the participant_liveliness_assert_period
|
|
* in the config channel and will affect the rate that DATA(M)s are sent
|
|
* out to maintain liveliness. It will be set to MAX in the
|
|
* announcement channel
|
|
*/
|
|
RTINtpTime participantLivelinessAssertPeriod;
|
|
|
|
/* Set up the reliability configuration for the configuration writer */
|
|
struct PRESPsSrWriterProperty writerSrProperty;
|
|
/* Set up the reliability configuration for the configuration reader */
|
|
struct PRESPsSrReaderProperty readerSrProperty;
|
|
};
|
|
|
|
|
|
#define PRES_PARTICIPANT_CONFIG_CHANNEL_PROPERTY_DEFAULT \
|
|
{ \
|
|
PRES_PARTICIPANT_CHANNEL_PROPERTY_INITIALIZER, /* parent */ \
|
|
PRES_PARTICIPANT_CHANNEL_PARTICIPANT_LIVELINESS_ASSERT_PERIOD_DEFAULT, /* participantLivelinessAssertPeriod */ \
|
|
PRES_PS_SR_WRITER_PROPERTY_DEFAULT, /* writerSrProperty */ \
|
|
PRES_PS_SR_READER_PROPERTY_DEFAULT /* readerSrProperty */ \
|
|
}
|
|
|
|
|
|
|
|
struct PRESParticipantConfigChannel {
|
|
/* Base structure that contains readers, writers, topics, groups, etc */
|
|
struct PRESParticipantChannel _parent;
|
|
struct PRESParticipantConfigChannelProperty _property;
|
|
RTIBool _isEnabled;
|
|
};
|
|
|
|
extern PRESDllExport struct PRESParticipantConfigChannel *
|
|
PRESParticipantConfigChannel_new(
|
|
struct PRESParticipant *participant,
|
|
struct REDAExclusiveArea *readerGroupEA,
|
|
struct REDAExclusiveArea *writerGroupEA,
|
|
struct PRESParticipantConfigChannelProperty *configProperty,
|
|
struct PRESPropertyQosPolicy *propertyQosPolicy,
|
|
const char *topicName,
|
|
const char *secureTopicName,
|
|
const char *typeName,
|
|
struct PRESParticipantChannelReaderListener *readerListener,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantConfigChannel_enable(
|
|
struct PRESParticipantConfigChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantConfigChannel_assertRemoteNonSecureEndpoints(
|
|
struct PRESParticipantConfigChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESParticipantParameter *remoteParticipantParameter,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantConfigChannel_assertRemoteSecureEndpoints(
|
|
struct PRESParticipantConfigChannel *me,
|
|
const MIGRtpsParticipantId *remoteParticipantId,
|
|
const struct PRESParticipantParameter *remoteParticipantParameter,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport
|
|
RTIBool PRESParticipantConfigChannel_shutdown(
|
|
struct PRESParticipantConfigChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport RTIBool PRESParticipantConfigChannel_finalizeEntities(
|
|
struct PRESParticipantConfigChannel *me,
|
|
struct REDAWorker *worker);
|
|
|
|
extern PRESDllExport void PRESParticipantConfigChannel_delete(
|
|
struct PRESParticipantConfigChannel *me);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* pres_participantChannel_h */
|