For those rare applications whose architecture requires an RTclient to have connections to more than one RTserver, those RTclients can use multiple connections instead of a single global connection. The multiple connections use the TipcSrvConn API. The TipcSrvConn API allows distinct connections to multiple RTservers with each connection having its own set of subscriptions and callbacks. You should not mix types of connections within an RTclient. An RTclient should connect to RTservers either with a single global connection or with multiple connections. For more information on the enumerated types and callbacks used by global connections, see Global Connections on page 17.
An RTclient process can have server create callbacks and server close callbacks. Each callback type has a callback function type and callback data type.
When using multiple connections, the server open callback may be used. This is how the server open callback data structures are defined:
typedef void (*T_IPC_SRV_OPEN_CB_FUNC) (T_IPC_SRV srv, T_IPC_SRV_OPEN_CB_DATA data, T_CB_ARG arg); typedef struct T_IPC_SRV_OPEN_CB_DATA_STRUCT T_IPC_SRV_OPEN_CB_DATA_STRUCT, *T_IPC_SRV_OPEN_CB_DATA; struct T_IPC_SRV_OPEN_CB_DATA_STRUCT { T_CB cb; T_IPC_SRV_CONN_STATUS old_conn_status; T_IPC_SRV_CONN_STATUS new_conn_status; };
When using multiple connections, the server close callback may be used. This is how the server close callback data structures are defined:
typedef void (*T_IPC_SRV_CLOSE_CB_FUNC) (T_IPC_SRV srv, T_IPC_SRV_CLOSE_CB_DATA data, T_CB_ARG arg); typedef struct T_IPC_SRV_CLOSE_CB_DATA_STRUCT T_IPC_SRV_CLOSE_CB_DATA_STRUCT, *T_IPC_SRV_CLOSE_CB_DATA; struct T_IPC_SRV_CLOSE_CB_DATA_STRUCT { T_CB cb; T_IPC_SRV_CONN_STATUS old_conn_status; T_IPC_SRV_CONN_STATUS new_conn_status; };
Each event has an associated dispatch function defined as:
typedef void (*T_IPC_EVENT_FUNC) (T_IPC_EVENT event, T_IPC_EVENT_DATA data, T_PTR arg); typedef struct T_IPC_EVENT_DATA_STRUCT T_IPC_EVENT_DATA_STRUCT, *T_IPC_EVENT_DATA; struct T_IPC_EVENT_DATA_STRUCT { T_IPC_EVENT_TYPE type; T_PTR data; T_INT4 socket; T_IO_CHECK_MODE check_mode; T_REAL8 interval; T_IPC_CONN conn; T_IPC_MSG msg; }; typedef enum { T_IPC_EVENT_USER, T_IPC_EVENT_TIMER, T_IPC_EVENT_SOCKET, T_IPC_EVENT_CONN, T_IPC_EVENT_MSG, T_IPC_EVENT_MSG_TYPE } T_IPC_EVENT_TYPE;
TIBCO SmartSockets™ Application Programming Interface Software Release 6.8, July 2006 Copyright © TIBCO Software Inc. All rights reserved www.tibco.com |