RTI Routing Service Version 7.3.0
RTI Routing Service Processor API

Entity responsible for administering inputs and outputs. More...

Data Structures

struct  RTI_RoutingServiceLoanedSamples
 A pair of sample and sample info arrays. They are assumed to be of the same length. More...
 
struct  RTI_RoutingServiceProcessor
 Main Processor class. More...
 
struct  RTI_RoutingServiceProcessorPlugin
 ProcessorPlugin class. More...
 

Macros

#define RTI_RoutingServiceProcessorPlugin_initialize(plugin)
 Utility macro to initialize a ProcessorPlugin object. More...
 

Typedefs

typedef void(* RTI_RoutingServiceProcessor_OnRouteEventFcn) (void *processor_data, RTI_RoutingServiceRouteEvent *route_event, RTI_RoutingServiceEnvironment *env)
 Prototype of the function that processes an event that occurred in the Route where the Processor is installed. More...
 
typedef void(* RTI_RoutingServiceProcessor_UpdateFcn) (void *processor_data, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
 Prototype of the function that updates a Processor configuration. More...
 
typedef struct RTI_RoutingServiceProcessorPlugin *(* RTI_RoutingServiceProcessorPlugin_CreateFcn) (const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
 Prototype of the function that creates a ProcessorPlugin. More...
 
typedef void(* RTI_RoutingServiceProcessorPlugin_DeleteFcn) (struct RTI_RoutingServiceProcessorPlugin *plugin, RTI_RoutingServiceEnvironment *env)
 Prototype of the function that deletes a ProcessorPlugin. More...
 
typedef struct RTI_RoutingServiceProcessor *(* RTI_RoutingServiceProcessorPlugin_CreateProcessorFcn) (void *processor_plugin_data, RTI_RoutingServiceRoute *route, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)
 Prototype of the function that creates a route Processor. More...
 

Enumerations

enum  RTI_RoutingServiceRouteEventKind
 Representation of the different event kinds triggered for a Route. More...
 

Functions

const char * RTI_RoutingServiceInput_get_name (RTI_RoutingServiceInput *self)
 Returns the name of the specified input. More...
 
const struct RTI_RoutingServiceStreamInfoRTI_RoutingServiceInput_get_stream_info (RTI_RoutingServiceInput *self)
 
DDS_Boolean RTI_RoutingServiceInput_is_active (RTI_RoutingServiceInput *self)
 Checks whether an Input is active. More...
 
DDS_Boolean RTI_RoutingServiceInput_take (RTI_RoutingServiceInput *self, struct RTI_RoutingServiceLoanedSamples *loaned_samples)
 Takes all the available samples in this Input into the specified loaned samples instance. More...
 
DDS_Boolean RTI_RoutingServiceInput_take_w_selector (RTI_RoutingServiceInput *self, struct RTI_RoutingServiceLoanedSamples *loaned_samples, const struct RTI_RoutingServiceSelectorState *selector)
 Takes all the available samples in this Input into the specified loaned samples instance, filtering samples based on the given data selector. More...
 
DDS_Boolean RTI_RoutingServiceInput_read (RTI_RoutingServiceInput *self, struct RTI_RoutingServiceLoanedSamples *loaned_samples)
 Reads all the available samples in this Input into the specified loaned samples instance. More...
 
DDS_Boolean RTI_RoutingServiceInput_read_w_selector (RTI_RoutingServiceInput *self, struct RTI_RoutingServiceLoanedSamples *loaned_samples, const struct RTI_RoutingServiceSelectorState *selector)
 Reads all the available samples in this Input into the specified loaned samples instance, filtering samples based on the given data selector. Cannot be null. More...
 
DDS_Boolean RTI_RoutingServiceInput_return_loan (RTI_RoutingServiceInput *self, struct RTI_RoutingServiceLoanedSamples *loaned_samples)
 Returns a loan on the read or taken samples. More...
 
RTI_RoutingServiceSelectorStateQueryData RTI_RoutingServiceInput_create_content_query (RTI_RoutingServiceInput *self, RTI_RoutingServiceSelectorStateQueryData old_query_data, const struct RTI_RoutingServiceSelectorContent *content)
 Creates a query object that selects the data with the specified filter. More...
 
DDS_Boolean RTI_RoutingServiceInput_delete_content_query (RTI_RoutingServiceInput *self, RTI_RoutingServiceSelectorStateQueryData query_data)
 Deletes a content query created from this Input. More...
 
const char * RTI_RoutingServiceOutput_get_name (RTI_RoutingServiceOutput *self)
 Returns the name of the specified output. More...
 
const struct RTI_RoutingServiceStreamInfoRTI_RoutingServiceOutput_get_stream_info (RTI_RoutingServiceOutput *self)
 Returns the type information associated with the specified Output. The type information refers to the format of the stream that this Output's write operation expects to receive from the processor of the route. More...
 
DDS_Boolean RTI_RoutingServiceOutput_write (RTI_RoutingServiceOutput *self, const RTI_RoutingServiceSample *sample_array, const RTI_RoutingServiceSampleInfo *sample_info_array, int *array_length)
 Writes a list of data and information samples. More...
 
DDS_Boolean RTI_RoutingServiceOutput_write_sample (RTI_RoutingServiceOutput *self, const RTI_RoutingServiceSample data, const RTI_RoutingServiceSampleInfo info)
 Writes a single sample, optionally with metatada indicated by an info sample. More...
 
int RTI_RoutingServiceRoute_get_input_count (RTI_RoutingServiceRoute *self)
 Returns the number of inputs associated with this Route. More...
 
DDS_Boolean RTI_RoutingServiceRoute_is_input_enabled (RTI_RoutingServiceRoute *self, int index)
 Checks whether the Input with the specified index is enabled. More...
 
RTI_RoutingServiceInput * RTI_RoutingServiceRoute_get_input_at (RTI_RoutingServiceRoute *self, int index)
 Returns the Input at the specified index. More...
 
RTI_RoutingServiceInput * RTI_RoutingServiceRoute_lookup_input_by_name (RTI_RoutingServiceRoute *self, const char *input_name)
 Looks up the specified Input by its configuration name. More...
 
int RTI_RoutingServiceRoute_get_output_count (RTI_RoutingServiceRoute *self)
 Returns the number of outputs associated with this Route. More...
 
DDS_Boolean RTI_RoutingServiceRoute_is_output_enabled (RTI_RoutingServiceRoute *self, int index)
 Checks whether the Output at the specified index is enabled. More...
 
RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_get_output_at (RTI_RoutingServiceRoute *self, int index)
 Returns the Output at the specified index. More...
 
RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_lookup_output_by_name (RTI_RoutingServiceRoute *self, const char *output_name)
 Looks up the specified Output by its configuration name. More...
 
void RTI_RoutingServiceRoute_wakeup_route (RTI_RoutingServiceRoute *route)
 Sends a wakeup event to the specified Route. This operation can be safely called from any thread context. More...
 
void RTI_RoutingServiceRoute_get_period (RTI_RoutingServiceRoute *self, struct DDS_Duration_t *period)
 Get the current period of the periodic event for this Route. More...
 
void RTI_RoutingServiceRoute_set_period (RTI_RoutingServiceRoute *self, const struct DDS_Duration_t *period)
 Changes the periodic event period for this route. More...
 
RTI_RoutingServiceInput * RTI_RoutingServiceRoute_get_first_input (RTI_RoutingServiceRoute *self)
 Returns the first enabled Input in this route. More...
 
RTI_RoutingServiceInput * RTI_RoutingServiceRoute_get_next_input (RTI_RoutingServiceRoute *self, RTI_RoutingServiceInput *prev_input)
 Returns the next enabled Input sibling to the specified input. More...
 
RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_get_first_output (RTI_RoutingServiceRoute *self)
 Returns the first enabled output in this route. More...
 
RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_get_next_output (RTI_RoutingServiceRoute *self, RTI_RoutingServiceOutput *prev_output)
 Returns the next enabled Output sibling to the specified output. More...
 
const char * RTI_RoutingServiceRoute_get_full_name (RTI_RoutingServiceRoute *self)
 Returns the fully-qualified name of this Route, derived from the XML configuration. More...
 
RTI_RoutingServiceRouteEventKind RTI_RoutingServiceRouteEvent_get_kind (RTI_RoutingServiceRouteEvent *self)
 Returns the kind of this RouteEvent. More...
 
RTI_RoutingServiceRoute * RTI_RoutingServiceRouteEvent_get_route (RTI_RoutingServiceRouteEvent *self)
 Returns the Route that triggered the event. More...
 
void * RTI_RoutingServiceRouteEvent_get_event_data (RTI_RoutingServiceRouteEvent *self)
 Returns the data associated with the event. More...
 
void * RTI_RoutingServiceRouteEvent_get_affected_entity (RTI_RoutingServiceRouteEvent *self)
 Returns the entity that is directly affected by the event. More...
 

Detailed Description

Entity responsible for administering inputs and outputs.

Macro Definition Documentation

◆ RTI_RoutingServiceProcessorPlugin_initialize

#define RTI_RoutingServiceProcessorPlugin_initialize (   plugin)
Value:
{ \
struct RTI_RoutingServiceVersion rsVersion = RTI_ROUTING_SERVICE_VERSION; \
struct RTI_RoutingServiceVersion processorVersion = {0,0,0,0}; \
(plugin)->_init = RTI_ROUTING_SERVICE_PROCESSOR_PLUGIN_INIT_NUMBER; \
(plugin)->_rs_version = rsVersion; \
(plugin)->plugin_version = processorVersion; \
(plugin)->plugin_delete = 0; \
(plugin)->create_processor = 0; \
(plugin)->delete_processor = 0; \
(plugin)->processor_plugin_data = 0; \
}
Represents the version of a plugin or RTI Routing Service itself.
Definition: infrastructure.ifc:220

Utility macro to initialize a ProcessorPlugin object.

This macro must be called to initialize the value returned by RTI_RoutingServiceProcessorPlugin_CreateFcn.

Parameters
pluginPointer to the ProcessorPlugin object.
See also
RTI_RoutingServiceProcessorPlugin_CreateFcn

Typedef Documentation

◆ RTI_RoutingServiceProcessor_OnRouteEventFcn

typedef void(* RTI_RoutingServiceProcessor_OnRouteEventFcn) (void *processor_data, RTI_RoutingServiceRouteEvent *route_event, RTI_RoutingServiceEnvironment *env)

Prototype of the function that processes an event that occurred in the Route where the Processor is installed.

Parameters
processor_dataIn. Implementation data of the Processor associated with the Route that triggered the event.
route_eventIn. Event that was triggered within the Route.
envOut. Environment for error indications.

◆ RTI_RoutingServiceProcessor_UpdateFcn

typedef void(* RTI_RoutingServiceProcessor_UpdateFcn) (void *processor_data, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)

Prototype of the function that updates a Processor configuration.

Parameters
processor_dataIn. Implementation data.
propertiesIn. New configuration properties.
envOut. Environment for error indications.

◆ RTI_RoutingServiceProcessorPlugin_CreateFcn

typedef struct RTI_RoutingServiceProcessorPlugin *(* RTI_RoutingServiceProcessorPlugin_CreateFcn) (const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)

Prototype of the function that creates a ProcessorPlugin.

Parameters
propertiesIn. Configuration properties for the ProcessorPlugin.
envOut. Environment for error indications.
Returns
New ProcessorPlugin instance if successful. Otherwise, NULL.
See also
RTI_RoutingServiceProcessorPlugin_DeleteFcn

◆ RTI_RoutingServiceProcessorPlugin_DeleteFcn

typedef void(* RTI_RoutingServiceProcessorPlugin_DeleteFcn) (struct RTI_RoutingServiceProcessorPlugin *plugin, RTI_RoutingServiceEnvironment *env)

Prototype of the function that deletes a ProcessorPlugin.

Parameters
pluginIn. ProcessorPlugin to be deleted.
envOut. Environment for error indications.
See also
RTI_RoutingServiceProcessorPlugin_CreateFcn

◆ RTI_RoutingServiceProcessorPlugin_CreateProcessorFcn

typedef struct RTI_RoutingServiceProcessor *(* RTI_RoutingServiceProcessorPlugin_CreateProcessorFcn) (void *processor_plugin_data, RTI_RoutingServiceRoute *route, const struct RTI_RoutingServiceProperties *properties, RTI_RoutingServiceEnvironment *env)

Prototype of the function that creates a route Processor.

This function is called when a Processor is created.

Parameters
processor_plugin_dataimplementation data of the plugin from which the Processor is created
routeProcessor to be deleted.
propertiesConfiguration properties for the Processor. These properties correspond to the properties specified within the tag <processor>.
envEnvironment for error indications.
Returns
New processor if successful. Otherwise, error.
See also
RTI_RoutingServiceProcessorPlugin::DeleteProcessorFcn

Enumeration Type Documentation

◆ RTI_RoutingServiceRouteEventKind

Representation of the different event kinds triggered for a Route.

Function Documentation

◆ RTI_RoutingServiceInput_get_name()

const char * RTI_RoutingServiceInput_get_name ( RTI_RoutingServiceInput *  self)

Returns the name of the specified input.

The input name is given by the attribute of the corresponding XML tag in the configuration.

Parameters
selfIn. Input for which the name is returned.

◆ RTI_RoutingServiceInput_get_stream_info()

const struct RTI_RoutingServiceStreamInfo * RTI_RoutingServiceInput_get_stream_info ( RTI_RoutingServiceInput *  self)

Returns the type information associated with the specified Input. The TypeInformation refers to the format of the stream that the specified Input's read operation expects to receive.

Parameters
selfIn. Input for which the type information is returned.

◆ RTI_RoutingServiceInput_is_active()

DDS_Boolean RTI_RoutingServiceInput_is_active ( RTI_RoutingServiceInput *  self)

Checks whether an Input is active.

An Input is active when it has data available but not yet read. That is, the data available notification has been received but a call to read or take the samples has not been made.

Parameters
selfIn. Input to be checked. Cannot be null.
Returns
DDS_BOOLEAN_FALSE if the Input is inactive, otherwise, DDS_BOOLEAN_TRUE.

◆ RTI_RoutingServiceInput_take()

DDS_Boolean RTI_RoutingServiceInput_take ( RTI_RoutingServiceInput *  self,
struct RTI_RoutingServiceLoanedSamples loaned_samples 
)

Takes all the available samples in this Input into the specified loaned samples instance.

Precondition
Input is enabled

This operation will call take() on the underlying RTI_RoutingServiceStreamReader, and the samples will be loaned into the given loaned samples collection. Samples loaned have to be returned by calling RTI_RoutingServiceInput_return_loan().

Parameters
selfIn. Input to take the samples from. Cannot be null.
loaned_samplesOut. Samples taken will be stored here. Cannot be null.
Returns
DDS_BOOLEAN_FALSE if the samples could not be taken, DDS_BOOLEAN_TRUE otherwise.
See also
RTI_RoutingServiceLoanedSamples

◆ RTI_RoutingServiceInput_take_w_selector()

DDS_Boolean RTI_RoutingServiceInput_take_w_selector ( RTI_RoutingServiceInput *  self,
struct RTI_RoutingServiceLoanedSamples loaned_samples,
const struct RTI_RoutingServiceSelectorState *  selector 
)

Takes all the available samples in this Input into the specified loaned samples instance, filtering samples based on the given data selector.

Precondition
Input is enabled

This operation will call take() on the underlying RTI_RoutingServiceStreamReader, and the samples will be loaned into the given loaned samples collection. Samples loaned have to be returned by calling RTI_RoutingServiceInput_return_loan().

Parameters
selfIn. Input to take the samples from.
loaned_samplesOut. Samples taken will be stored here.
selectorIn. Selection criteria for the samples to be taken.
Returns
DDS_BOOLEAN_FALSE if the samples could not be taken, DDS_BOOLEAN_TRUE otherwise.
See also
RTI_RoutingServiceLoanedSamples
RTI_RoutingServiceSelectorState

◆ RTI_RoutingServiceInput_read()

DDS_Boolean RTI_RoutingServiceInput_read ( RTI_RoutingServiceInput *  self,
struct RTI_RoutingServiceLoanedSamples loaned_samples 
)

Reads all the available samples in this Input into the specified loaned samples instance.

Precondition
Input is enabled

This operation will call read() on the underlying RTI_RoutingServiceStreamReader, and the samples will be loaned into the given loaned samples collection. Samples loaned have to be returned by calling RTI_RoutingServiceInput_return_loan().

Parameters
selfIn. Input to read the samples from.
loaned_samplesOut. Samples read will be stored here.
Returns
DDS_BOOLEAN_FALSE) if the samples could not be read, DDS_BOOLEAN_TRUE otherwise.
See also
RTI_RoutingServiceLoanedSamples

◆ RTI_RoutingServiceInput_read_w_selector()

DDS_Boolean RTI_RoutingServiceInput_read_w_selector ( RTI_RoutingServiceInput *  self,
struct RTI_RoutingServiceLoanedSamples loaned_samples,
const struct RTI_RoutingServiceSelectorState *  selector 
)

Reads all the available samples in this Input into the specified loaned samples instance, filtering samples based on the given data selector. Cannot be null.

Precondition
Input is enabled

This operation will call read() on the underlying RTI_RoutingServiceStreamReader, and the samples will be loaned into the given loaned samples collection. Samples loaned have to be returned by calling RTI_RoutingServiceInput_return_loan().

Parameters
selfIn. Input to read the samples from. Cannot be null.
loaned_samplesOut. Samples taken will be stored here. Cannot be null.
selectorIn. Selection criteria for the samples to be taken.
Returns
DDS_BOOLEAN_FALSE if the samples could not be read, DDS_BOOLEAN_TRUE otherwise.
See also
RTI_RoutingServiceLoanedSamples
RTI_RoutingServiceSelectorState
RTI_RoutingServiceInput_return_loan

◆ RTI_RoutingServiceInput_return_loan()

DDS_Boolean RTI_RoutingServiceInput_return_loan ( RTI_RoutingServiceInput *  self,
struct RTI_RoutingServiceLoanedSamples loaned_samples 
)

Returns a loan on the read or taken samples.

Call this method to indicate that you're done accessing the collection of samples obtained by an earlier invocation of RTI_RoutingServiceInput_take(), RTI_RoutingServiceInput_take_w_selector(), RTI_RoutingServiceInput_read() or RTI_RoutingServiceInput_read_w_selector().

Parameters
selfIn. Input the samples were taken/read from. Cannot be null.
loaned_samplesInout. The loaned samples to be returned. Cannot be null.
Returns
DDS_BOOLEAN_FALSE if the samples could not be returned successfully, DDS_BOOLEAN_TRUE otherwise.
See also
RTI_RoutingServiceLoanedSamples

◆ RTI_RoutingServiceInput_create_content_query()

RTI_RoutingServiceSelectorStateQueryData RTI_RoutingServiceInput_create_content_query ( RTI_RoutingServiceInput *  self,
RTI_RoutingServiceSelectorStateQueryData  old_query_data,
const struct RTI_RoutingServiceSelectorContent *  content 
)

Creates a query object that selects the data with the specified filter.

Precondition
Input is enabled.

This operation allows reading data with a SelectorState that contains a query object returned by this operation.

A query object type is implementation-dependent and guaranteed to to be used only within the same StreamReader that created it. Because a query object may be an expensive resource, this operation allows receiving a previously created query for a potential reuse and update of its filter.

Parameters
selfIn. Input used to create the content query. Cannot be null.
old_query_dataInout. A previously created query object that is provided for potential reuse and update of its filter.
contentIn. The filter to be applied. Cannot be null.
Returns
The new or updated query object.
See also
RTI_RoutingServiceSelectorStateQueryData
RTI_RoutingServiceSelectorContent

◆ RTI_RoutingServiceInput_delete_content_query()

DDS_Boolean RTI_RoutingServiceInput_delete_content_query ( RTI_RoutingServiceInput *  self,
RTI_RoutingServiceSelectorStateQueryData  query_data 
)

Deletes a content query created from this Input.

Precondition
Input is enabled
Parameters
selfIn. Input used to create the content query. Cannot be null.
query_dataIn. The query object to be deleted. Cannot be null.
Returns
DDS_BOOLEAN_FALSE if the operation fails, DDS_BOOLEAN_TRUE otherwise.

◆ RTI_RoutingServiceOutput_get_name()

const char * RTI_RoutingServiceOutput_get_name ( RTI_RoutingServiceOutput *  self)

Returns the name of the specified output.

The output name is given by the attribute of the corresponding XML tag in the configuration.

Parameters
selfIn. Output for which the name is required.

◆ RTI_RoutingServiceOutput_get_stream_info()

const struct RTI_RoutingServiceStreamInfo * RTI_RoutingServiceOutput_get_stream_info ( RTI_RoutingServiceOutput *  self)

Returns the type information associated with the specified Output. The type information refers to the format of the stream that this Output's write operation expects to receive from the processor of the route.

The TypeInformation may be the one coming from the Transformation if this Output has one. In this case, the type information is the one corresponding to the Output side of the Transformation.

Parameters
selfIn. Output for which the type information is required. Cannot be null.

◆ RTI_RoutingServiceOutput_write()

DDS_Boolean RTI_RoutingServiceOutput_write ( RTI_RoutingServiceOutput *  self,
const RTI_RoutingServiceSample sample_array,
const RTI_RoutingServiceSampleInfo sample_info_array,
int *  array_length 
)

Writes a list of data and information samples.

Precondition
Output enabled
Parameters
selfIn. The Output where to write the samples. Cannot be null.
sample_arrayIn. Array of samples to write. Cannot be null.
sample_info_arrayIn. Array of information samples to write.
array_lengthInout. The length of the sample and info arrays. Output is the number of samples written. Cannot be null.
Returns
DDS_BOOLEAN_FALSE if the write operation was not successful. DDS_BOOLEAN_TRUE otherwise.

◆ RTI_RoutingServiceOutput_write_sample()

DDS_Boolean RTI_RoutingServiceOutput_write_sample ( RTI_RoutingServiceOutput *  self,
const RTI_RoutingServiceSample  data,
const RTI_RoutingServiceSampleInfo  info 
)

Writes a single sample, optionally with metatada indicated by an info sample.

Precondition
Output enabled
Parameters
selfIn. The Output where to write the samples. Cannot be null.
dataIn. Data sample to be written. Cannot be null.
infoIn. Associated information sample.
Returns
DDS_BOOLEAN_FALSE if the sample could not be written, DDS_BOOLEAN_TRUE otherwise.

◆ RTI_RoutingServiceRoute_get_input_count()

int RTI_RoutingServiceRoute_get_input_count ( RTI_RoutingServiceRoute *  self)

Returns the number of inputs associated with this Route.

◆ RTI_RoutingServiceRoute_is_input_enabled()

DDS_Boolean RTI_RoutingServiceRoute_is_input_enabled ( RTI_RoutingServiceRoute *  self,
int  index 
)

Checks whether the Input with the specified index is enabled.

Precondition
index >= 0 and index < RTI_RoutingServiceRoute_get_input_count(self)

Note: This function will return DDS_BOOLEAN_FALSE both when all the parameters are correct and the input is disabled, or when any of the parameters are incorrect. It's the responsibility of the caller to ensure the parameters are valid, so that the returned value is, too.

Parameters
selfIn. The Route for which to check the Input status. Cannot be null.
indexIn. The index, starting at 0, of the Input for which the status is required.

◆ RTI_RoutingServiceRoute_get_input_at()

RTI_RoutingServiceInput * RTI_RoutingServiceRoute_get_input_at ( RTI_RoutingServiceRoute *  self,
int  index 
)

Returns the Input at the specified index.

Precondition
index >= 0 and index < RTI_RoutingServiceRoute_get_input_count(self)

Inputs are ordered according to the order of input declarations in the XML configuration. Then indexes are assigned increasingly starting at zero from the first declaration.

Returns
The Input at the specified index, or NULL if the Input is not enabled or the index is out of bounds.

◆ RTI_RoutingServiceRoute_lookup_input_by_name()

RTI_RoutingServiceInput * RTI_RoutingServiceRoute_lookup_input_by_name ( RTI_RoutingServiceRoute *  self,
const char *  input_name 
)

Looks up the specified Input by its configuration name.

The Input configuration name is the value of the name attribute specified within the <input> tag in the XML configuration.

NOTE: The condition that the input must be enabled will be removed in a future version. This is being tracked with issue ID ROUTING-1131.

Parameters
selfIn. The Route for which to obtain the Input. Cannot be null.
input_nameIn. Name of the input configuration. Cannot be null.
Returns
The Input corresponding to the specified configuration name or NULL if it could not be found or if the input is not enabled.

◆ RTI_RoutingServiceRoute_get_output_count()

int RTI_RoutingServiceRoute_get_output_count ( RTI_RoutingServiceRoute *  self)

Returns the number of outputs associated with this Route.

◆ RTI_RoutingServiceRoute_is_output_enabled()

DDS_Boolean RTI_RoutingServiceRoute_is_output_enabled ( RTI_RoutingServiceRoute *  self,
int  index 
)

Checks whether the Output at the specified index is enabled.

Precondition
index >= 0 and index < RTI_RoutingServiceRoute_get_output_count(self)

Note: This function will return DDS_BOOLEAN_FALSE both when all the parameters are correct and the output is disabled, or when any of the parameters are incorrect. It's the responsibility of the caller to ensure the parameters are valid, so that the returned value is, too.

Parameters
selfIn. The Route for which to check the Output status. Cannot be null.
indexIn. The index, starting at 0, of the Output for which the status is required.

◆ RTI_RoutingServiceRoute_get_output_at()

RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_get_output_at ( RTI_RoutingServiceRoute *  self,
int  index 
)

Returns the Output at the specified index.

Precondition
index >= 0 and index < RTI_RoutingServiceRoute_get_output_count(self)

Outputs are ordered according to the order of output declarations in the XML configuration. Then indexes are assigned increasingly starting at zero from the first declaration.

Returns
The Output at the specified index, or NULL if the Output is not enabled or the index is out of bounds.

◆ RTI_RoutingServiceRoute_lookup_output_by_name()

RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_lookup_output_by_name ( RTI_RoutingServiceRoute *  self,
const char *  output_name 
)

Looks up the specified Output by its configuration name.

The Output configuration name is the value of the name attribute specified within the <output> tag in the XML configuration.

NOTE: The condition that the input must be enabled will be removed in a future version. This is being tracked with issue ID ROUTING-1131.

Parameters
selfIn. The Route for which to obtain the Output. Cannot be null.
output_nameIn. Name of the output configuration. Cannot be null.
Returns
The Output corresponding to the specified configuration name or NULL if it could not be found or if the output is not enabled.

◆ RTI_RoutingServiceRoute_wakeup_route()

void RTI_RoutingServiceRoute_wakeup_route ( RTI_RoutingServiceRoute *  route)

Sends a wakeup event to the specified Route. This operation can be safely called from any thread context.

◆ RTI_RoutingServiceRoute_get_period()

void RTI_RoutingServiceRoute_get_period ( RTI_RoutingServiceRoute *  self,
struct DDS_Duration_t *  period 
)

Get the current period of the periodic event for this Route.

Parameters
selfIn. The Route for which to obtain the period. Cannot be null.
periodOut. The current periodic event period.

◆ RTI_RoutingServiceRoute_set_period()

void RTI_RoutingServiceRoute_set_period ( RTI_RoutingServiceRoute *  self,
const struct DDS_Duration_t *  period 
)

Changes the periodic event period for this route.

Precondition
not DDS_Duration_is_zero(period)
not DDS_Duration_is_infinite(period)

This operation can be called many times within the same periodic event, in which only the last call will make effect.

The operation has no effect if the periodic event is not enabled in the route.

Parameters
selfIn. The Route for which to set the period. Cannot be null.
periodIn. New session period for periodic events.

◆ RTI_RoutingServiceRoute_get_first_input()

RTI_RoutingServiceInput * RTI_RoutingServiceRoute_get_first_input ( RTI_RoutingServiceRoute *  self)

Returns the first enabled Input in this route.

This function, along with RTI_RoutingServiceRoute_get_next_input(), provides iterator-based capabilities to iterate through a Route's enabled Inputs.

◆ RTI_RoutingServiceRoute_get_next_input()

RTI_RoutingServiceInput * RTI_RoutingServiceRoute_get_next_input ( RTI_RoutingServiceRoute *  self,
RTI_RoutingServiceInput *  prev_input 
)

Returns the next enabled Input sibling to the specified input.

This function, along with RTI_RoutingServiceRoute_get_first_input(), provides iterator-based capabilities to iterate through a Route's enabled Inputs.

◆ RTI_RoutingServiceRoute_get_first_output()

RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_get_first_output ( RTI_RoutingServiceRoute *  self)

Returns the first enabled output in this route.

This function, along with RTI_RoutingServiceRoute_get_next_output(), provides iterator-based capabilities to iterate through a Route's enabled Outputs.

◆ RTI_RoutingServiceRoute_get_next_output()

RTI_RoutingServiceOutput * RTI_RoutingServiceRoute_get_next_output ( RTI_RoutingServiceRoute *  self,
RTI_RoutingServiceOutput *  prev_output 
)

Returns the next enabled Output sibling to the specified output.

This function, along with RTI_RoutingServiceRoute_get_first_output(), provides iterator-based capabilities to iterate through a Route's enabled Outputs.

◆ RTI_RoutingServiceRoute_get_full_name()

const char * RTI_RoutingServiceRoute_get_full_name ( RTI_RoutingServiceRoute *  self)

Returns the fully-qualified name of this Route, derived from the XML configuration.

◆ RTI_RoutingServiceRouteEvent_get_kind()

RTI_RoutingServiceRouteEventKind RTI_RoutingServiceRouteEvent_get_kind ( RTI_RoutingServiceRouteEvent *  self)

Returns the kind of this RouteEvent.

Returns
The Route that triggered the event, or RTI_ROUTING_SERVICE_ROUTE_EVENT_NONE if the parameter passed is null.

◆ RTI_RoutingServiceRouteEvent_get_route()

RTI_RoutingServiceRoute * RTI_RoutingServiceRouteEvent_get_route ( RTI_RoutingServiceRouteEvent *  self)

Returns the Route that triggered the event.

Returns
The Route that triggered the event, or NULL if the parameter passed is null.

◆ RTI_RoutingServiceRouteEvent_get_event_data()

void * RTI_RoutingServiceRouteEvent_get_event_data ( RTI_RoutingServiceRouteEvent *  self)

Returns the data associated with the event.

The event data depends on the kind of events. See documentation of individual events for the type of event data they provide.

Returns
The data associated with the event, or NULL if the parameter passed is null.

◆ RTI_RoutingServiceRouteEvent_get_affected_entity()

void * RTI_RoutingServiceRouteEvent_get_affected_entity ( RTI_RoutingServiceRouteEvent *  self)

Returns the entity that is directly affected by the event.

Each kind of event can be affected by different types of entities. See documentation of individual events for the type of affected entity.

Returns
The entity affected by the event, or NULL if the parameter passed is null.