RTI Connext Micro C API Version 4.3.0
Loading...
Searching...
No Matches
UDP Transform API

Data Structures

struct  UDP_Transform
 Base-class for instances of a transformation library. More...
 
struct  UDP_TransformProperty
 Properties for the transformation library. More...
 
struct  UDP_TransformRule
 Transformation Rule. More...
 
struct  UDP_TransformRuleSeq
 <<eXtension>> Declares IDL sequence<UDP_TransformRule> More...
 

Macros

#define UDP_TransformProperty_INITIALIZER
 UDP_TransformProperty initializer.
 
#define UDP_TransformRuleSeq_INITIALIZER    REDA_DEFINE_SEQUENCE_INITIALIZER(struct UDP_TransformRule)
 UDP_TransformRuleSeq initializer.
 

Typedefs

typedef struct UDP_Transform UDP_Transform_T
 Base-class for instances of a transformation library.
 

Variables

RTI_INT32 UDP_TransformProperty::max_send_message_size
 The maximum size of messages that will be sent through this transformation, in bytes.
 
RTI_INT32 UDP_TransformProperty::max_receive_message_size
 The maximum size of messages that will be received through this transformation, in bytes.
 
UDP_TransformI_create_destination_transform UDP_TransformI::create_destination_transform
 Method to create a new destination transform.
 
UDP_TransformI_create_source_transform UDP_TransformI::create_source_transform
 Method to create a new source transform.
 
UDP_TransformI_transform_source UDP_TransformI::transform_source
 Method to transform a payload from a source.
 
UDP_TransformI_transform_destination UDP_TransformI::transform_destination
 Method to transform a payload to a destination.
 
UDP_TransformI_delete_destination_transform UDP_TransformI::delete_destination_transform
 Method to delete a destination transform.
 
UDP_TransformI_delete_source_transform UDP_TransformI::delete_source_transform
 Method to delete a source transform.
 
struct NETIO_Address UDP_TransformRule::address
 The address the rule applies to.
 
struct NETIO_Netmask UDP_TransformRule::netmask
 The netmask to apply to the address.
 
RT_ComponentFactoryId_T UDP_TransformRule::transformation
 The transformation to apply to a matching address after the netmask has been applied.
 
void * UDP_TransformRule::user_data
 An opaque user_data pointer passed to the transformation function.
 

Detailed Description

<<eXtension>> <<cert>> The UDP transform API enables custom transformation of UDP incoming and outgoing UDP datagrams. Please refer to User Manual for the User Manual and how to use the UDP transforms.

Macro Definition Documentation

◆ UDP_TransformProperty_INITIALIZER

#define UDP_TransformProperty_INITIALIZER
Value:
{ \
RT_ComponentProperty_INITIALIZER,\
-1,\
-1 \
}

UDP_TransformProperty initializer.

◆ UDP_TransformRuleSeq_INITIALIZER

#define UDP_TransformRuleSeq_INITIALIZER    REDA_DEFINE_SEQUENCE_INITIALIZER(struct UDP_TransformRule)

UDP_TransformRuleSeq initializer.

Typedef Documentation

◆ UDP_Transform_T

Base-class for instances of a transformation library.

Variable Documentation

◆ max_send_message_size

RTI_INT32 UDP_TransformProperty::max_send_message_size

The maximum size of messages that will be sent through this transformation, in bytes.

◆ max_receive_message_size

RTI_INT32 UDP_TransformProperty::max_receive_message_size

The maximum size of messages that will be received through this transformation, in bytes.

◆ create_destination_transform

UDP_TransformI_create_destination_transform UDP_TransformI::create_destination_transform

Method to create a new destination transform.

Initialize a transformation context for outgoing packets to a specific destination address.

Parameters
[in]selfUDP Transform instance that creates the transformation.
[out]contextPointer to a transformation context.
[in]destinationDestination address for the transformation.
[in]user_dataThe user_data the rule was asserted with.
[in]propertyUDP transform specific properties
[out]ecUser defined error code.
Returns
RTI_TRUE on success, RTI_FALSE on failure.
See also
UDP_TransformProperty

◆ create_source_transform

UDP_TransformI_create_source_transform UDP_TransformI::create_source_transform

Method to create a new source transform.

Initialize a transformation context for incoming packets from a specific source address.

This method is called once per source when the first packet is received from that source.

Parameters
[in]selfUDP Transform instance that creates the transformation.
[out]contextPointer to a transformation context.
[in]sourceSource address for the transformation.
[in]netmaskThe netmask from the rule that matched.
[in]user_dataThe user_data for the asserted rule.
[in]propertyUDP transform specific properties
[out]ecUser defined error code.
Returns
RTI_TRUE on success, RTI_FALSE on failure.
See also
delete_source_transform

◆ transform_source

UDP_TransformI_transform_source UDP_TransformI::transform_source

Method to transform a payload from a source.

Transform an incoming packet received from a source address.

This method is called for every incoming packet that matches a source transformation rule. The implementation should transform the input packet and provide the result in the output packet.

Parameters
[in]selfUDP_Transform_T that performs the transformation.
[in]contextReference to context created by create_source_transform().
[in]sourceSource address for the transformation.
[in]in_packetThe NETIO packet to transform. This packet is owned by the caller.
[out]out_packetThe transformed NETIO packet.
[out]ecUser defined error code.
Returns
RTI_TRUE on success, RTI_FALSE on failure

◆ transform_destination

UDP_TransformI_transform_destination UDP_TransformI::transform_destination

Method to transform a payload to a destination.

Transform an outgoing packet being sent to a destination address.

This method is called for every outgoing packet that matches a destination transformation rule. The implementation should transform the input packet and provide the result in the output packet.

Parameters
[in]selfUDP_Transform_T that performs the transformation.
[in]contextReference to context created by create_destination_transform().
[in]destinationDestination address for the transformation.
[in]in_packetThe NETIO packet to transform. This packet is owned by the caller.
[out]out_packetThe transformed NETIO packet.
[out]ecUser defined error code.
Returns
RTI_TRUE on success, RTI_FALSE on failure

◆ delete_destination_transform

UDP_TransformI_delete_destination_transform UDP_TransformI::delete_destination_transform

Method to delete a destination transform.

Clean up and destroy a destination transformation context.

This method is called when a destination route is removed or when the transform is no longer needed. The implementation should free all resources associated with the context.

Parameters
[in]selfUDP Transform instance that created the transformation.
[in,out]contextPointer to the transformation context to delete.
[in]destinationDestination address for the transformation.
[in]netmaskThe netmask from the rule that matched.
[out]ecUser defined error code.
Returns
RTI_TRUE on success, RTI_FALSE on failure
See also
create_destination_transform

◆ delete_source_transform

UDP_TransformI_delete_source_transform UDP_TransformI::delete_source_transform

Method to delete a source transform.

Clean up and destroy a source transformation context.

Parameters
[in]selfUDP Transform instance that created the transformation.
[in,out]contextPointer to the transformation context to delete.
[in]sourceSource address for the transformation.
[in]netmaskThe netmask from the rule that matched.
[out]ecUser defined error code. Set to 0 on success, non-zero on failure. Even if this method returns RTI_FALSE, the context will be considered deleted.
Returns
RTI_TRUE on success, RTI_FALSE on failure

◆ address

struct NETIO_Address UDP_TransformRule::address

The address the rule applies to.

The network address for this transformation rule.

This address is combined with the netmask to determine which network addresses match this rule. The address should represent the network or host being matched.

◆ netmask

struct NETIO_Netmask UDP_TransformRule::netmask

The netmask to apply to the address.

The network mask determining the range of addresses matched by this rule.

◆ transformation

RT_ComponentFactoryId_T UDP_TransformRule::transformation

The transformation to apply to a matching address after the netmask has been applied.

The name of the transformation to use for this rule.

This must match the name used when registering the transformation factory with RT_Registry_register(). The plugin will look up this name and create an instance of the corresponding transform.

Example:

/* Assuming "AES256Transform" was registered previously */ rule.transformation = "AES256Transform";
Note
The transformation name is case-sensitive and must exactly match the registered factory name.
Multiple rules can reference the same transformation. The system creates one transform instance shared across all rules using that transformation.
See also
UDP_Transform
RT_Registry_register

◆ user_data

void* UDP_TransformRule::user_data

An opaque user_data pointer passed to the transformation function.

Optional user-defined data passed to transformation operations.

This pointer is provided to create_*_transform() methods and can be used to pass configuration data, keys, or other context-specific information to the transformation.

See also
UDP_TransformI::create_destination_transform
UDP_TransformI::create_source_transform