Entire-Metadata: .entire/metadata/fb87247f-2a75-407e-b336-cbc8c20ba5a6 Entire-Session: fb87247f-2a75-407e-b336-cbc8c20ba5a6 Entire-Strategy: manual-commit
132 lines
3.9 KiB
C
132 lines
3.9 KiB
C
/*
|
|
* Copyright (c) 2025 Real-Time Innovations, Inc. All rights reserved.
|
|
* No duplications, whole or partial, manual or electronic, may be made
|
|
* without express written permission. Any such copies, or revisions thereof,
|
|
* must display this notice unaltered.
|
|
* This code contains trade secrets of Real-Time Innovations, Inc.
|
|
*/
|
|
|
|
#ifndef commend_anonWriterService_h
|
|
#define commend_anonWriterService_h
|
|
|
|
|
|
#ifndef reda_worker_h
|
|
#include "reda/reda_worker.h"
|
|
#endif
|
|
#ifndef reda_weakReference_h
|
|
#include "reda/reda_weakReference.h"
|
|
#endif
|
|
#ifndef reda_database_h
|
|
#include "reda/reda_database.h"
|
|
#endif
|
|
#ifndef mig_rtps_h
|
|
#include "mig/mig_rtps.h"
|
|
#endif
|
|
#ifndef commend_dll_h
|
|
#include "commend/commend_dll.h"
|
|
#endif
|
|
#ifndef commend_writerService_h
|
|
#include "commend/commend_writerService.h"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Doxygen file & module documentation ==================================*/
|
|
/*e \file
|
|
\brief COMMENDAnonWriterService *interface*--as in no implementation.
|
|
*/
|
|
|
|
/*e \defgroup COMMENDAnonWriterServiceModule COMMENDAnonWriterService
|
|
* \ingroup COMMENDWriterServiceModule
|
|
*
|
|
* @brief This submodule defines strict reliable writer services.
|
|
*
|
|
* Detailed description of strict reliable writer services.
|
|
*/
|
|
|
|
/*e \defgroup COMMENDAnonWriterServiceWriterActivityListenerModule
|
|
* COMMENDAnonWriterServiceWriterActivityListener \ingroup
|
|
* COMMENDWriterServiceWriterActivityListenerModule
|
|
*/
|
|
|
|
/*e \defgroup COMMENDAnonWriterServiceWriterSampleListenerModule
|
|
* COMMENDAnonWriterServiceWriterSampleListener \ingroup
|
|
* COMMENDWriterServiceWriterSampleListenerModule
|
|
*/
|
|
|
|
struct RTIClock;
|
|
|
|
struct REDADatabase;
|
|
|
|
struct COMMENDAnonWriterServiceWriterProperty {
|
|
/*e Parent property */
|
|
struct COMMENDWriterServiceWriterProperty parent;
|
|
/*e Type of writer: sends broadcasts */
|
|
RTIBool isBroadcaster;
|
|
/*e The rate to send periodic heartbeat. If ZERO, the writer is
|
|
an ANNOUNCER */
|
|
struct RTINtpTime heartbeatRate;
|
|
|
|
/*e Max output user data size for one repair packet (in bytes) */
|
|
int outputLoadMax;
|
|
|
|
/*
|
|
* The following parameters configure the behavior of the feature used
|
|
* to announce a participant to the default domain 0.
|
|
*
|
|
* See CORE-5634 for additional details
|
|
*/
|
|
|
|
/*
|
|
* The rate at which a participant is announced to the default domain.
|
|
* If ZERO, the participant is not announced periodically.
|
|
*/
|
|
struct RTINtpTime domainBroadcastRate;
|
|
/* Locator in which a participant is announced to the default domain */
|
|
struct RTINetioLocator domainBroadcastLocator;
|
|
};
|
|
|
|
#define COMMEND_ANON_WRITER_SERVICE_WRITER_PROPERTY_DEFAULT \
|
|
{ \
|
|
COMMEND_WRITER_SERVICE_WRITER_PROPERTY_DEFAULT, /* parent */ \
|
|
RTI_TRUE, /* isBroadcaster */ \
|
|
{ 30, 0 }, /* heartbeatRate 30 sec*/ \
|
|
5000, { 0, 0 }, /* domainBroadcastRate */ \
|
|
RTI_NETIO_LOCATOR_INVALID \
|
|
}
|
|
|
|
extern COMMENDDllExport struct COMMENDAnonWriterService *
|
|
COMMENDAnonWriterService_new(
|
|
struct REDADatabase *db,
|
|
struct COMMENDFacade *facade,
|
|
struct COMMENDWriterServiceProperty *property,
|
|
struct REDAExclusiveArea *ea,
|
|
struct REDAWorker *worker);
|
|
|
|
/*i
|
|
* \ingroup COMMENDAnonWriterServiceModule
|
|
*
|
|
* @brief Get the number of destinations that the anonymous writer will write
|
|
* to on a call to send() using the writer's destination
|
|
* group.
|
|
*
|
|
* @param me Pointer to service
|
|
* @param writerOid OID of the local anon writer. Needed to find in table.
|
|
* @param worker Pointer to worker
|
|
*
|
|
* @return Number of destinations, -1 if error.
|
|
*/
|
|
extern COMMENDDllExport RTI_INT32 COMMENDAnonWriterService_getDestinationCount(
|
|
struct COMMENDWriterService *me,
|
|
MIGRtpsObjectId writerOid,
|
|
struct REDAWorker *worker);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* commend_anonWriterService_h */
|