![]() |
Diffusion C API 6.11.5
|
This feature allows a client session to manage remote servers. More...
Data Structures | |
struct | diffusion_create_remote_server_params_s |
struct | diffusion_remove_remote_server_params_s |
struct | diffusion_list_remote_servers_params_s |
struct | diffusion_check_remote_server_params_s |
Typedefs | |
typedef struct DIFFUSION_REMOTE_SERVER_T | DIFFUSION_REMOTE_SERVER_T |
Opaque remote server struct. | |
typedef struct DIFFUSION_REMOTE_SERVER_BUILDER_T | DIFFUSION_REMOTE_SERVER_BUILDER_T |
Opaque remote server builder 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. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_init (void) |
Initialize a new remote server builder. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_reset (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder) |
Reset the builder. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_retry_delay (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, int delay_ms, DIFFUSION_API_ERROR *api_error) |
Specifies the delay after losing a connection before attempting a reconnection. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_principal (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *principal) |
Specifies the name of a principal used by the remote server to connect to the primary server. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_credentials (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, CREDENTIALS_T *credentials) |
Specifies the credentials to use when connecting to the primary server. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_connection_option (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, DIFFUSION_REMOTE_SERVER_CONNECTION_OPTION_T option, char *value) |
Specifies a single connection option. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_connection_options (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, HASH_NUM_T *connection_options) |
Specifies a map of DIFFUSION_REMOTE_SERVER_CONNECTION_OPTION_T settings. | |
DIFFUSION_REMOTE_SERVER_BUILDER_T * | diffusion_remote_server_builder_missing_topic_notification_filter (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *filter) |
Specifies a topic selector expression which will filter missing topic notifications propagated from secondary to primary server. | |
void | diffusion_remote_server_builder_free (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder) |
Free a remote server builder. | |
DIFFUSION_REMOTE_SERVER_T * | diffusion_remote_server_builder_create_primary_initiator (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *name, LIST_T *urls, char *connector, DIFFUSION_API_ERROR *api_error) |
Builds a primary initiator using the current values known to this builder. | |
DIFFUSION_REMOTE_SERVER_T * | diffusion_remote_server_builder_create_secondary_initiator (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *name, char *url, DIFFUSION_API_ERROR *api_error) |
Builds a secondary initiator using the current values known to this builder. | |
DIFFUSION_REMOTE_SERVER_T * | diffusion_remote_server_builder_create_secondary_acceptor (DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *name, char *primary_host_name, DIFFUSION_API_ERROR *api_error) |
Builds a secondary acceptor using the current values known to this builder. | |
DEPRECATED (DIFFUSION_REMOTE_SERVER_T *diffusion_remote_server_builder_create(DIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *name, char *url, DIFFUSION_API_ERROR *api_error)) | |
Creates a remote server struct using the current values known to this builder. | |
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. | |
This feature allows a client session to manage remote servers.
This feature provides the ability to configure the various modes of operation for the use of remote topic views. This is the ability for a topic view specification to indicate that the source topics for the view are to come from another server in a different Diffusion cluster. The server where the topic views are configured is referred to as the 'secondary server' and the server where the actual topics are is referred to as the 'primary server'.
The typical configuration for a remote server is that there is only configuration at the secondary server (the configuration is automatically distributed to all members of the secondary cluster). In this case, each secondary server connects to a server in the primary cluster (typically via a load-balancer).
Remote topic views can specify the use of such remote servers by name. The connection and disconnection is handled automatically by the server (or servers in the same cluster) where the remote servers are defined.
A component can specify a remote server by name even if it does not exist (has not yet been created) and when the remote server is created the connection will take place automatically.
If a remote server is removed and there are topic views that depend upon it, those topic views will be disabled.
This form of connection is provided by a Remote Server of type SECONDARY_INITIATOR.
Such a remote server can be built using a DIFFUSION_REMOTE_SERVER_BUILDER_T
, via diffusion_remote_server_builder_create_secondary_initiator
. It may then be added to the server (cluster) using diffusion_create_remote_server
.
In this mode a connection from secondary to primary server is only maintained when there is a topic view that depends upon it. There will be no connections if there are no topic views that specify the remote server.
In some cases it may be preferred that the connection is initiated by the primary server, connecting to the secondary server cluster. In this case a single primary server will connect to all members of the secondary cluster.
This form of connection is provided by a Remote Server of type PRIMARY_INITIATOR
. This can be built using a DIFFUSION_REMOTE_SERVER_BUILDER_T
, via diffusion_remote_server_builder_create_primary_initiator
. It may then be added to the primary server (cluster) using diffusion_create_remote_server
.
Secondly a Remote Server of type SECONDARY_ACCEPTOR
should be created in the secondary server (cluster) with the same name as the primary initiator. Such a remote server can be built using a DIFFUSION_REMOTE_SERVER_BUILDER_T
via diffusion_remote_server_builder_create_secondary_acceptor
. It may then be added to the secondary server (cluster) using diffusion_create_remote_server
.
Unlike the secondary initiator mode, this mode of connection will establish connections even if there are no topic views in the secondary server (cluster) that name the remote server. If the connection is lost any topic views that depend upon it will be disabled and the primary initiator will attempt to re-establish the connection(s). Topic views depending upon the remote server will only be enabled when the connection is re-established.
Remote server configurations created through this feature are replicated across a cluster and persisted to disk.
The following access control restrictions are applied:
GLOBAL_PERMISSION_CONTROL_SERVER
permission. GLOBAL_PERMISSION_VIEW_SERVER
permission. Opaque remote server builder struct.
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:
GLOBAL_PERMISSION_CONTROL_SERVER
permission 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. |
DEPRECATED | ( | DIFFUSION_REMOTE_SERVER_T * | diffusion_remote_server_builder_createDIFFUSION_REMOTE_SERVER_BUILDER_T *builder, char *name, char *url, DIFFUSION_API_ERROR *api_error | ) |
Creates a remote server struct using the current values known to this builder.
builder | the remote server builder. |
name | the name of the remote server. |
url | the URL to use to connect to the primary server. |
api_error | populated on API error. Can be NULL. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
.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. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
. 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. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
. 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. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
. 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. |
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_connection_option | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
DIFFUSION_REMOTE_SERVER_CONNECTION_OPTION_T | option, | ||
char * | value | ||
) |
Specifies a single connection option.
This will add to the options currently specified to this builder, or will replace a value if it has already been specified.
builder | the remote server builder. |
option | the connection option |
value | the connection option value or NULL to remove the option. |
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_connection_options | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
HASH_NUM_T * | connection_options | ||
) |
Specifies a map of DIFFUSION_REMOTE_SERVER_CONNECTION_OPTION_T
settings.
This will replace any options currently set for this builder. Any options not supplied will take their default values. If no connection options are specified, either using this method or diffusion_remote_server_builder_connection_option
then all options will take their default value.
builder | the remote server builder. |
connection_options | map of options. |
DIFFUSION_REMOTE_SERVER_T * diffusion_remote_server_builder_create_primary_initiator | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
char * | name, | ||
LIST_T * | urls, | ||
char * | connector, | ||
DIFFUSION_API_ERROR * | api_error | ||
) |
Builds a primary initiator using the current values known to this builder.
builder | the remote server builder. |
name | the name of the primary initiator which must correspond to the name of a Secondary Acceptor Remote Server defined on the secondary server. |
urls | the list of URLs to use to initiate connections to the secondary servers. |
connector | the name of the connector used to establish the connection with the secondary server. |
api_error | populated on API error. Can be NULL. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
.DIFFUSION_REMOTE_SERVER_T * diffusion_remote_server_builder_create_secondary_acceptor | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
char * | name, | ||
char * | primary_host_name, | ||
DIFFUSION_API_ERROR * | api_error | ||
) |
Builds a secondary acceptor using the current values known to this builder.
builder | the remote server builder. |
name | the remote server name. A primary initiator of the same name will be able to connect to this acceptor. This is the name that will be specified in topic views. |
primary_host_name | the primary server host name that will be used in SSL validation of the primary server |
api_error | populated on API error. Can be NULL. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
.DIFFUSION_REMOTE_SERVER_T * diffusion_remote_server_builder_create_secondary_initiator | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
char * | name, | ||
char * | url, | ||
DIFFUSION_API_ERROR * | api_error | ||
) |
Builds a secondary initiator using the current values known to this builder.
builder | the remote server builder. |
name | the remote server name. This is the name that will be specified in topic views. |
url | the URL to use to connect to the primary server. |
api_error | populated on API error. Can be NULL. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
.DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_credentials | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
CREDENTIALS_T * | credentials | ||
) |
Specifies the credentials to use when connecting to the primary server.
The default, if not specified, is NONE
.
builder | the remote server builder. |
credentials | the credentials to use. |
void diffusion_remote_server_builder_free | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder | ) |
Free a remote server builder.
builder | the remote server builder. |
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_init | ( | void | ) |
Initialize a new remote server builder.
diffusion_remote_server_builder_free
should be called on this pointer when no longer needed.
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_missing_topic_notification_filter | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
char * | filter | ||
) |
Specifies a topic selector expression which will filter missing topic notifications propagated from secondary to primary server.
Missing topic notifications
are notified when a client subscribes using a topic selector that matches no existing topics. By specifying a missing topic selector filter, all notifications that match the filter on the secondary server will be propagated to the primary server.
A match occurs if the path prefix of the subscription selector matches the path prefix of the specified selector. If no filter is specified then no missing topic notifications will be propagated.
The special selector expressions *.*
may be used to indicate that all missing topic notifications should be propagated.
Only the path prefix of the specified selector(s) is considered when matching, therefore any use of regular expressions would be ignored.
builder | the remote server builder. |
filter | a topic selector expression specifying the filter to apply, or NULL to remove any existing filter. |
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_principal | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
char * | principal | ||
) |
Specifies the name of a principal used by the remote server to connect to the primary server.
The default, if not specified, is the anonymous principal.
builder | the remote server builder. |
principal | principal name or a zero length string to indicate an anonymous connection. |
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_reset | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder | ) |
Reset the builder.
builder | the remote server builder. |
DIFFUSION_REMOTE_SERVER_BUILDER_T * diffusion_remote_server_builder_retry_delay | ( | DIFFUSION_REMOTE_SERVER_BUILDER_T * | builder, |
int | delay_ms, | ||
DIFFUSION_API_ERROR * | api_error | ||
) |
Specifies the delay after losing a connection before attempting a reconnection.
The value is specified in milliseconds. Default 1000 (1 second).
For DIFFUSION_REMOTE_SERVER_PRIMARY_INITIATOR_T
remote servers only.
builder | the remote server builder. |
delay | delay in milliseconds after losing a connection before attempting a reconnection. |
api_error | populated on API error. Can be NULL. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
.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. |
api_error
pointer has been provided, this will be populated with the error information and should be freed with diffusion_api_error_free
.