![]() |
Diffusion C API 6.12.0
|
Typedefs | |
| typedef struct DIFFUSION_REMOTE_SERVER_T | DIFFUSION_REMOTE_SERVER_T |
| Opaque remote server struct. | |
| typedef int(* | on_remote_server_created_cb) (DIFFUSION_REMOTE_SERVER_T *remote_server, LIST_T *errors, void *context) |
| Callback when a remote server creation attempt has been made. | |
| typedef int(* | on_remote_server_removed_cb) (void *context) |
| Callback when a remote server removal attempt has been made. | |
| typedef int(* | on_remote_servers_listed_cb) (LIST_T *remote_servers, void *context) |
| Callback when a response is received from the server, returning a list of remote servers. | |
| typedef struct DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T | DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T |
| Opaque check remote server response struct. | |
| typedef int(* | on_remote_server_checked_cb) (DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T *response, void *context) |
| Callback when a response is received from the server, returning the details of the remote server state. | |
Functions | |
| DIFFUSION_REMOTE_SERVER_TYPE_T | diffusion_remote_server_get_type (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the remote server type. | |
| char * | diffusion_remote_server_get_name (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the remote server name. | |
| LIST_T * | diffusion_remote_server_get_urls (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the urls for connection to secondary servers. | |
| char * | diffusion_remote_server_get_connector (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the connector that the primary initiator will use to establish a connection between the secondary server and the primary server. | |
| int | diffusion_remote_server_get_retry_delay (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the interval in milliseconds between connection retries. | |
| char * | diffusion_remote_server_get_url (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the url for connection to primary server. | |
| char * | diffusion_remote_server_get_principal (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the principal used for the remote server connection. | |
| CREDENTIALS_T * | diffusion_remote_server_get_credentials (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the credentials to use to authenticate the connection. | |
| HASH_NUM_T * | diffusion_remote_server_get_connection_options (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the remote server connection options. | |
| char * | diffusion_remote_server_get_missing_topic_notification_filter (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Return the missing topic notification filter expression or NULL if one has not been specified. | |
| char * | diffusion_remote_get_primary_host_name (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Returns the primary server host name used in SSL validation. | |
| void | diffusion_remote_server_free (DIFFUSION_REMOTE_SERVER_T *remote_server) |
| Free a remote server. | |
| bool | diffusion_create_remote_server (SESSION_T *session, const DIFFUSION_CREATE_REMOTE_SERVER_PARAMS_T params, DIFFUSION_API_ERROR *api_error) |
| Create a new remote server instance with default connection options. | |
| bool | diffusion_remove_remote_server (SESSION_T *session, const DIFFUSION_REMOVE_REMOTE_SERVER_PARAMS_T params, DIFFUSION_API_ERROR *api_error) |
| Remove a named remote server if it exists. | |
| bool | diffusion_list_remote_servers (SESSION_T *session, const DIFFUSION_LIST_REMOTE_SERVERS_PARAMS_T params, DIFFUSION_API_ERROR *api_error) |
| Lists all the remote servers that have been created. | |
| DIFFUSION_REMOTE_SERVER_CONNECTION_STATE_T | diffusion_check_remote_server_response_get_state (DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T *response) |
| Returns the state of the connection of the remote server. | |
| char * | diffusion_check_remote_server_response_get_failure_message (DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T *response) |
| Returns a memory allocated copy of the check remote server response failure message. | |
| bool | diffusion_check_remote_server (SESSION_T *session, const DIFFUSION_CHECK_REMOTE_SERVER_PARAMS_T params, DIFFUSION_API_ERROR *api_error) |
| Checks the current state of a named remote server. | |
| typedef struct DIFFUSION_REMOTE_SERVER_T DIFFUSION_REMOTE_SERVER_T |
Opaque remote server struct.
| typedef int(* on_remote_server_checked_cb) (DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T *response, void *context) |
Callback when a response is received from the server, returning the details of the remote server state.
| response | The response from the server |
| context | User supplied context. |
| typedef int(* on_remote_server_created_cb) (DIFFUSION_REMOTE_SERVER_T *remote_server, LIST_T *errors, void *context) |
Callback when a remote server creation attempt has been made.
If the remote server definition is nil, this could mean an error has occurred. These may include:
| remote_server | The remote server created if no errors are returned |
| errors | Errors encountered during the attempted creation of the remote server |
| context | User supplied context. |
| typedef int(* on_remote_server_removed_cb) (void *context) |
Callback when a remote server removal attempt has been made.
| context | User supplied context. |
| typedef int(* on_remote_servers_listed_cb) (LIST_T *remote_servers, void *context) |
Callback when a response is received from the server, returning a list of remote servers.
| remote_servers | The list of remote servers |
| context | User supplied context. |
| bool diffusion_check_remote_server | ( | SESSION_T * | session, |
| const DIFFUSION_CHECK_REMOTE_SERVER_PARAMS_T | params, | ||
| DIFFUSION_API_ERROR * | api_error ) |
Checks the current state of a named remote server.
| session | The current session. If NULL, this function returns immediately. |
| params | Parameters defining the diffusion_check_remote_server request and callbacks. |
| api_error | Populated on API error. Can be NULL. |
| char * diffusion_check_remote_server_response_get_failure_message | ( | DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T * | response | ) |
Returns a memory allocated copy of the check remote server response failure message.
free should be called on this pointer when no longer needed.
| response | the check remote server response |
| DIFFUSION_REMOTE_SERVER_CONNECTION_STATE_T diffusion_check_remote_server_response_get_state | ( | DIFFUSION_CHECK_REMOTE_SERVER_RESPONSE_T * | response | ) |
Returns the state of the connection of the remote server.
| response | the check remote server response |
| bool diffusion_create_remote_server | ( | SESSION_T * | session, |
| const DIFFUSION_CREATE_REMOTE_SERVER_PARAMS_T | params, | ||
| DIFFUSION_API_ERROR * | api_error ) |
Create a new remote server instance with default connection options.
If a remote server with the same name already exists an error will be returned.
| session | The current session. If NULL, this function returns immediately. |
| params | Parameters defining the diffusion_create_remote_server request and callbacks. |
| api_error | Populated on API error. Can be NULL. |
| bool diffusion_list_remote_servers | ( | SESSION_T * | session, |
| const DIFFUSION_LIST_REMOTE_SERVERS_PARAMS_T | params, | ||
| DIFFUSION_API_ERROR * | api_error ) |
Lists all the remote servers that have been created.
| session | The current session. If NULL, this function returns immediately. |
| params | Parameters defining the diffusion_list_remote_servers request and callbacks. |
| api_error | Populated on API error. Can be NULL. |
| char * diffusion_remote_get_primary_host_name | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the primary server host name used in SSL validation.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_ACCEPTOR, and will return NULL otherwise.
free should be called on this pointer when longer needed, if not NULL.
| remote_server | the secondary acceptor remote server. |
| void diffusion_remote_server_free | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Free a remote server.
| remote_server | the remote server. |
| HASH_NUM_T * diffusion_remote_server_get_connection_options | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the remote server connection options.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_INITIATOR or DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_ACCEPTOR, and will return NULL otherwise.
hash_num_free should be called on this pointer when no longer needed.
| remote_server | the remote server. |
| char * diffusion_remote_server_get_connector | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the connector that the primary initiator will use to establish a connection between the secondary server and the primary server.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_PRIMARY_INITIATOR, and will return NULL otherwise.
free should be called on this pointer when no longer needed, if not NULL.
| remote_server | the primary initiator remote server. |
| CREDENTIALS_T * diffusion_remote_server_get_credentials | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the credentials to use to authenticate the connection.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_INITIATOR or DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_ACCEPTOR, and will return NULL otherwise.
credentials_free should be called on this pointer when no longer needed.
| remote_server | the remote server. |
| char * diffusion_remote_server_get_missing_topic_notification_filter | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Return the missing topic notification filter expression or NULL if one has not been specified.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_INITIATOR or DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_ACCEPTOR, and will return NULL otherwise.
free should be called on this pointer when no longer needed, if not NULL.
| remote_server | the remote server. |
| char * diffusion_remote_server_get_name | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the remote server name.
free should be called on this pointer when no longer needed.
| remote_server | the remote server. |
| char * diffusion_remote_server_get_principal | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the principal used for the remote server connection.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_INITIATOR or DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_ACCEPTOR, and will return NULL otherwise.
free should be called on this pointer when no longer needed.
| remote_server | the remote server. |
| int diffusion_remote_server_get_retry_delay | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the interval in milliseconds between connection retries.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_PRIMARY_INITIATOR, and will return -1 otherwise.
If a primary initiator cannot connect to a secondary server, or loses the connection, this is the amount of time before it will try to connect again
| remote_server | the primary initiator remote server. |
| DIFFUSION_REMOTE_SERVER_TYPE_T diffusion_remote_server_get_type | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the remote server type.
| remote_server | the remote server. |
| char * diffusion_remote_server_get_url | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the url for connection to primary server.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_SECONDARY_INITIATOR, and will return NULL otherwise.
free should be called on this pointer when no longer needed.
| remote_server | the remote server. |
| LIST_T * diffusion_remote_server_get_urls | ( | DIFFUSION_REMOTE_SERVER_T * | remote_server | ) |
Returns the urls for connection to secondary servers.
This method is only applicable to DIFFUSION_REMOTE_SERVER_TYPE_PRIMARY_INITIATOR, and will return NULL otherwise.
list_free(free) should be called on this pointer when no longer needed, if not NULL.
| remote_server | the primary initiator remote server. |
| bool diffusion_remove_remote_server | ( | SESSION_T * | session, |
| const DIFFUSION_REMOVE_REMOTE_SERVER_PARAMS_T | params, | ||
| DIFFUSION_API_ERROR * | api_error ) |
Remove a named remote server if it exists.
If the named remote server does not exist the callback will return without an error
When a named remote server is removed, any components that specify it would be disabled.
| session | The current session. If NULL, this function returns immediately. |
| params | Parameters defining the diffusion_remove_remote_server request and callbacks. |
| api_error | Populated on API error. Can be NULL. |