![]() |
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. |