RTI Connext DDS Micro C API
Version 4.1.0
|
NETIO Zero Copy v2 interface. More...
Data Structures | |
struct | ZCOPY_NotifMechanismProperty |
Notification mechanism property for the default implementation. More... | |
struct | ZCOPY_NotifInterfaceFactoryProperty |
Notification interface property. More... | |
struct | ZCOPY_NotifUserInterfaceI |
Notification mechanism user interface. More... |
Macros | |
#define | ZCOPY_NotifInterfaceFactoryProperty_INITIALIZER |
Constant to initialize a ZCOPY_NotifInterfaceFactoryProperty. |
Typedefs | |
typedef RTI_BOOL(* | NETIO_Interface_resolve_addressFunc )(NETIO_Interface_T *netio_intf, const char *address_string, struct NETIO_Address *address_value, RTI_BOOL *invalid) |
Resolve an address of a user interface. | |
typedef RTI_BOOL(* | NETIO_Interface_get_route_tableFunc )(NETIO_Interface_T *netio_intf, struct NETIO_AddressSeq *address, struct NETIO_NetmaskSeq *netmask) |
Get the route table. | |
typedef NETIO_Interface_T *(* | ZCOPY_NotifUserInterface_createFunc )(NETIO_Interface_T *upstream, void *user_property) |
Create an instance of a user interface with upstream as the owner. | |
typedef void(* | ZCOPY_NotifUserInterface_deleteFunc )(NETIO_Interface_T *user_intf) |
Delete an instance of a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_reserve_addressFunc )(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr, void **port_entry_out) |
Reserve an address on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_release_addressFunc )(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr, void *port_entry) |
Release an address on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_add_routeFunc )(NETIO_Interface_T *user_intf, struct NETIO_Address *source, struct NETIO_Address *destination, void **route_entry_out) |
Add a route on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_delete_routeFunc )(NETIO_Interface_T *user_intf, struct NETIO_Address *source, struct NETIO_Address *destination, void *route_entry) |
Delete a route on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_sendFunc )(NETIO_Interface_T *self, struct NETIO_Address *source, struct NETIO_Address *destination, void *route_entry) |
Send a notification on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_bindFunc )(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr, struct NETIO_Address *dst_addr, void *port_entry, void **bind_entry_out) |
Bind an address on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_unbindFunc )(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr, struct NETIO_Address *dst_addr, void *port_entry, void *bind_entry) |
Unbind an address on a user interface. | |
typedef RTI_BOOL(* | ZCOPY_NotifUserInterface_notify_portFunc )(NETIO_Interface_T *user_intf, void *port_entry) |
Notify a specific receive port. |
Functions | |
NETIO_ZCOPYDllExport RTI_BOOL | NDDS_Transport_ZeroCopy_initialize (RT_Registry_T *registry, const char *transport_name, struct ZCOPY_NotifInterfaceFactoryProperty *property) |
Initialize the NDDS transport with Zero Copy support. | |
NETIO_ZCOPYDllExport RTI_BOOL | NDDS_Transport_ZeroCopy_finalize (RT_Registry_T *registry, const char *transport_name) |
Finalize the Zero Copy NDDS transport. | |
NETIO_ZCOPYDllExport struct RT_ComponentFactoryI * | ZCOPY_NotifInterfaceFactory_get_interface (void) |
Gets the singleton instance of the notification interface factory. | |
RTI_BOOL | ZCOPY_NotifMechanism_register (RT_Registry_T *registry, const char *name, struct ZCOPY_NotifInterfaceFactoryProperty *property) |
Register a notification transport using the notification mechanism. | |
RTI_BOOL | ZCOPY_NotifMechanism_unregister (RT_Registry_T *registry, const char *name) |
Unregister a notification transport. | |
RTI_BOOL | ZCOPY_NotifInterface_receive (NETIO_Interface_T *netio_intf, const struct NETIO_Address *port, RTI_BOOL *has_more_data_out) |
Definition of the NETIO_InterfaceI receive method. | |
RTI_BOOL | ZCOPY_NotifInterfaceFactory_register (RT_Registry_T *registry, const char *name, struct ZCOPY_NotifInterfaceFactoryProperty *property) |
Register the notification interface factory with a factory property. | |
RTI_BOOL | ZCOPY_NotifInterfaceFactory_unregister (RT_Registry_T *registry, const char *name) |
Unregister the notification interface factory. | |
struct ZCOPY_NotifUserInterfaceI * | ZCOPY_NotifUserInterface_get_interface (void) |
Gets the interface from the notification mechanism. | |
void * | ZCOPY_NotifUserInterface_get_property (void) |
Gets the property from the notification mechanism. |
NETIO Zero Copy v2 interface.
<<eXtension>> <<cert>> The NETIO Zero Copy v2 module implements the RTI Connext DDS Micro Zero Copy v2 interface.
#define ZCOPY_NotifInterfaceFactoryProperty_INITIALIZER |
Constant to initialize a ZCOPY_NotifInterfaceFactoryProperty.
typedef RTI_BOOL(* NETIO_Interface_resolve_addressFunc)(NETIO_Interface_T *netio_intf, const char *address_string, struct NETIO_Address *address_value, RTI_BOOL *invalid) |
Resolve an address of a user interface.
Instruct the notification mechanism interface specified by user_intf to determine if the address string address_string is a valid address and return the result in address_value.
typedef RTI_BOOL(* NETIO_Interface_get_route_tableFunc)(NETIO_Interface_T *netio_intf, struct NETIO_AddressSeq *address, struct NETIO_NetmaskSeq *netmask) |
Get the route table.
Instruct the notification mechanism interface netio_intf to return a sequence of address and netmask pairs this interface can send to.
typedef NETIO_Interface_T*(* ZCOPY_NotifUserInterface_createFunc)(NETIO_Interface_T *upstream, void *user_property) |
Create an instance of a user interface with upstream as the owner.
typedef void(* ZCOPY_NotifUserInterface_deleteFunc)(NETIO_Interface_T *user_intf) |
Delete an instance of a user interface.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_reserve_addressFunc)(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr, void **port_entry_out) |
Reserve an address on a user interface.
Instruct the notification mechanism interface specified by user_intf to setup resources for listening to messages on the address src_addr and return a port_entry_out. The port_entry_out will be provided to a bind call.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_release_addressFunc)(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr, void *port_entry) |
Release an address on a user interface.
Instruct the notification mechanism interface specified by user_intf to release resources for listening to messages on the address src_addr.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_add_routeFunc)(NETIO_Interface_T *user_intf, struct NETIO_Address *source, struct NETIO_Address *destination, void **route_entry_out) |
Add a route on a user interface.
Instruct the notification mechanism interface specified by user_intf to add a route from the source to the destination. The route_entry_out will be provided to the user later when calling send.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_delete_routeFunc)(NETIO_Interface_T *user_intf, struct NETIO_Address *source, struct NETIO_Address *destination, void *route_entry) |
Delete a route on a user interface.
Not available in CERT.
Instruct the notification mechanism interface specified by user_intf to remove a route from the source to the destination.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_sendFunc)(NETIO_Interface_T *self, struct NETIO_Address *source, struct NETIO_Address *destination, void *route_entry) |
Send a notification on a user interface.
Instruct the notification mechanism interface specified by user_intf to send a notification to the destination using the route_entry.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_bindFunc)(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr,struct NETIO_Address *dst_addr,void *port_entry, void **bind_entry_out) |
Bind an address on a user interface.
Instruct the notification mechanism interface specified by user_intf to start listening for messages on the address specified by src_addr on the given port_entry.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_unbindFunc)(NETIO_Interface_T *user_intf, struct NETIO_Address *src_addr,struct NETIO_Address *dst_addr,void *port_entry, void *bind_entry) |
Unbind an address on a user interface.
Instruct the notification mechanism interface specified by user_intf to stop listening for messages on the address specified by src_addr.
typedef RTI_BOOL(* ZCOPY_NotifUserInterface_notify_portFunc)(NETIO_Interface_T *user_intf, void *port_entry) |
Notify a specific receive port.
Instruct the notification mechanism interface specified by user_intf to notify the receive port specified by port_entry.
NETIO_ZCOPYDllExport RTI_BOOL NDDS_Transport_ZeroCopy_initialize | ( | RT_Registry_T * | registry, |
const char * | transport_name, | ||
struct ZCOPY_NotifInterfaceFactoryProperty * | property | ||
) |
Initialize the NDDS transport with Zero Copy support.
This function initializes the NDDS transport with Zero Copy support by registering the transport and associated history factories in the provided registry. It also allows you to specify the transport name and a set of properties for the Zero Copy notification interface.
[in] | registry | The registry where the transport and history factories will be registered. |
[in] | transport_name | The name of the transport. If NULL, the default transport name will be used. |
[in] | property | A pointer to the properties for the Zero Copy notification interface. If NULL, the transport will not be registered. |
transport_name
and property
to be NULL. If transport_name
is NULL, the default transport name is used. If property
is NULL, the transport is not registered. NETIO_ZCOPYDllExport RTI_BOOL NDDS_Transport_ZeroCopy_finalize | ( | RT_Registry_T * | registry, |
const char * | transport_name | ||
) |
Finalize the Zero Copy NDDS transport.
This function finalizes the Zero Copy NDDS transport by unregistering the transport and associated history factories.
[in] | registry | The registry where the transport and history factories will be unregistered. |
[in] | transport_name | The name of the transport to unregister. |
transport_name
to be NULL. If transport_name
is NULL we will only unregister the associated history factories
|
read |
Gets the singleton instance of the notification interface factory.
RTI_BOOL ZCOPY_NotifMechanism_register | ( | RT_Registry_T * | registry, |
const char * | name, | ||
struct ZCOPY_NotifInterfaceFactoryProperty * | property | ||
) |
Register a notification transport using the notification mechanism.
[in] | registry | Registry used to register the transport. |
[in] | name | Name of the transport. |
[in] | property | Transport property. |
RTI_BOOL ZCOPY_NotifMechanism_unregister | ( | RT_Registry_T * | registry, |
const char * | name | ||
) |
Unregister a notification transport.
[in] | registry | Registry used to unregister the transport. |
[in] | name | Name of the transport. |
RTI_BOOL ZCOPY_NotifInterface_receive | ( | NETIO_Interface_T * | netio_intf, |
const struct NETIO_Address * | port, | ||
RTI_BOOL * | has_more_data_out | ||
) |
Definition of the NETIO_InterfaceI receive method.
[in] | netio_intf | The notification interface to receive on. |
[in] | port | The port to receive on. |
[out] | has_more_data_out | Whether there is more data to receive. |
See Also NETIO_Interface_receive, NETIO_InterfaceI.
RTI_BOOL ZCOPY_NotifInterfaceFactory_register | ( | RT_Registry_T * | registry, |
const char * | name, | ||
struct ZCOPY_NotifInterfaceFactoryProperty * | property | ||
) |
Register the notification interface factory with a factory property.
[in] | registry | The registry used to register the factory. |
[in] | name | The name used to register the factory. |
[in] | property | The property used to register the factory. |
RTI_BOOL ZCOPY_NotifInterfaceFactory_unregister | ( | RT_Registry_T * | registry, |
const char * | name | ||
) |
Unregister the notification interface factory.
[in] | registry | The registry used to unregister the factory. |
[in] | name | The name used to unregister the factory. |
|
read |
Gets the interface from the notification mechanism.
Returns the interface for the default implementation of the notification mechanism
void* ZCOPY_NotifUserInterface_get_property | ( | void | ) |
Gets the property from the notification mechanism.
Returns the default properties for the default implementation of the notification mechansim.